/home/bdqbpbxa/demo-subdomains/uniferx.goodface.com.ua/static/js/main.4fd70f77.js
/*! For license information please see main.4fd70f77.js.LICENSE.txt */
(()=>{var __webpack_modules__={756:e=>{"use strict";e.exports=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var r,i,a;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(i=r;0!==i--;)if(!e(t[i],n[i]))return!1;return!0}if(t instanceof Map&&n instanceof Map){if(t.size!==n.size)return!1;for(i of t.entries())if(!n.has(i[0]))return!1;for(i of t.entries())if(!e(i[1],n.get(i[0])))return!1;return!0}if(t instanceof Set&&n instanceof Set){if(t.size!==n.size)return!1;for(i of t.entries())if(!n.has(i[0]))return!1;return!0}if(ArrayBuffer.isView(t)&&ArrayBuffer.isView(n)){if((r=t.length)!=n.length)return!1;for(i=r;0!==i--;)if(t[i]!==n[i])return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(a=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(i=r;0!==i--;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=r;0!==i--;){var s=a[i];if(("_owner"!==s||!t.$$typeof)&&!e(t[s],n[s]))return!1}return!0}return t!==t&&n!==n}},219:(e,t,n)=>{"use strict";var r=n(763),i={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},s={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},o={};function l(e){return r.isMemo(e)?s:o[e.$$typeof]||i}o[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},o[r.Memo]=s;var c=Object.defineProperty,d=Object.getOwnPropertyNames,h=Object.getOwnPropertySymbols,u=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,f=Object.prototype;e.exports=function e(t,n,r){if("string"!==typeof n){if(f){var i=p(n);i&&i!==f&&e(t,i,r)}var s=d(n);h&&(s=s.concat(h(n)));for(var o=l(t),m=l(n),g=0;g<s.length;++g){var y=s[g];if(!a[y]&&(!r||!r[y])&&(!m||!m[y])&&(!o||!o[y])){var v=u(n,y);try{c(t,y,v)}catch(x){}}}}return t}},983:(e,t)=>{"use strict";var n="function"===typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,i=n?Symbol.for("react.portal"):60106,a=n?Symbol.for("react.fragment"):60107,s=n?Symbol.for("react.strict_mode"):60108,o=n?Symbol.for("react.profiler"):60114,l=n?Symbol.for("react.provider"):60109,c=n?Symbol.for("react.context"):60110,d=n?Symbol.for("react.async_mode"):60111,h=n?Symbol.for("react.concurrent_mode"):60111,u=n?Symbol.for("react.forward_ref"):60112,p=n?Symbol.for("react.suspense"):60113,f=n?Symbol.for("react.suspense_list"):60120,m=n?Symbol.for("react.memo"):60115,g=n?Symbol.for("react.lazy"):60116,y=n?Symbol.for("react.block"):60121,v=n?Symbol.for("react.fundamental"):60117,x=n?Symbol.for("react.responder"):60118,S=n?Symbol.for("react.scope"):60119;function A(e){if("object"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case d:case h:case a:case o:case s:case p:return e;default:switch(e=e&&e.$$typeof){case c:case u:case g:case m:case l:return e;default:return t}}case i:return t}}}function b(e){return A(e)===h}t.AsyncMode=d,t.ConcurrentMode=h,t.ContextConsumer=c,t.ContextProvider=l,t.Element=r,t.ForwardRef=u,t.Fragment=a,t.Lazy=g,t.Memo=m,t.Portal=i,t.Profiler=o,t.StrictMode=s,t.Suspense=p,t.isAsyncMode=function(e){return b(e)||A(e)===d},t.isConcurrentMode=b,t.isContextConsumer=function(e){return A(e)===c},t.isContextProvider=function(e){return A(e)===l},t.isElement=function(e){return"object"===typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return A(e)===u},t.isFragment=function(e){return A(e)===a},t.isLazy=function(e){return A(e)===g},t.isMemo=function(e){return A(e)===m},t.isPortal=function(e){return A(e)===i},t.isProfiler=function(e){return A(e)===o},t.isStrictMode=function(e){return A(e)===s},t.isSuspense=function(e){return A(e)===p},t.isValidElementType=function(e){return"string"===typeof e||"function"===typeof e||e===a||e===h||e===o||e===s||e===p||e===f||"object"===typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===m||e.$$typeof===l||e.$$typeof===c||e.$$typeof===u||e.$$typeof===v||e.$$typeof===x||e.$$typeof===S||e.$$typeof===y)},t.typeOf=A},763:(e,t,n)=>{"use strict";e.exports=n(983)},302:function(module,exports,__webpack_require__){var factory;"undefined"!==typeof navigator&&(factory=function(){"use strict";var svgNS="http://www.w3.org/2000/svg",locationHref="",_useWebWorker=!1,initialDefaultFrame=-999999,setWebWorker=function(e){_useWebWorker=!!e},getWebWorker=function(){return _useWebWorker},setLocationHref=function(e){locationHref=e},getLocationHref=function(){return locationHref};function createTag(e){return document.createElement(e)}function extendPrototype(e,t){var n,r,i=e.length;for(n=0;n<i;n+=1)for(var a in r=e[n].prototype)Object.prototype.hasOwnProperty.call(r,a)&&(t.prototype[a]=r[a])}function getDescriptor(e,t){return Object.getOwnPropertyDescriptor(e,t)}function createProxyFunction(e){function t(){}return t.prototype=e,t}var audioControllerFactory=function(){function e(e){this.audios=[],this.audioFactory=e,this._volume=1,this._isMuted=!1}return e.prototype={addAudio:function(e){this.audios.push(e)},pause:function(){var e,t=this.audios.length;for(e=0;e<t;e+=1)this.audios[e].pause()},resume:function(){var e,t=this.audios.length;for(e=0;e<t;e+=1)this.audios[e].resume()},setRate:function(e){var t,n=this.audios.length;for(t=0;t<n;t+=1)this.audios[t].setRate(e)},createAudio:function(e){return this.audioFactory?this.audioFactory(e):window.Howl?new window.Howl({src:[e]}):{isPlaying:!1,play:function(){this.isPlaying=!0},seek:function(){this.isPlaying=!1},playing:function(){},rate:function(){},setVolume:function(){}}},setAudioFactory:function(e){this.audioFactory=e},setVolume:function(e){this._volume=e,this._updateVolume()},mute:function(){this._isMuted=!0,this._updateVolume()},unmute:function(){this._isMuted=!1,this._updateVolume()},getVolume:function(){return this._volume},_updateVolume:function(){var e,t=this.audios.length;for(e=0;e<t;e+=1)this.audios[e].volume(this._volume*(this._isMuted?0:1))}},function(){return new e}}(),createTypedArray=function(){function e(e,t){var n,r=0,i=[];switch(e){case"int16":case"uint8c":n=1;break;default:n=1.1}for(r=0;r<t;r+=1)i.push(n);return i}return"function"===typeof Uint8ClampedArray&&"function"===typeof Float32Array?function(t,n){return"float32"===t?new Float32Array(n):"int16"===t?new Int16Array(n):"uint8c"===t?new Uint8ClampedArray(n):e(t,n)}:e}();function createSizedArray(e){return Array.apply(null,{length:e})}function _typeof$6(e){return _typeof$6="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$6(e)}var subframeEnabled=!0,expressionsPlugin=null,expressionsInterfaces=null,idPrefix$1="",isSafari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),_shouldRoundValues=!1,bmPow=Math.pow,bmSqrt=Math.sqrt,bmFloor=Math.floor,bmMax=Math.max,bmMin=Math.min,BMMath={};function ProjectInterface$1(){return{}}!function(){var e,t=["abs","acos","acosh","asin","asinh","atan","atanh","atan2","ceil","cbrt","expm1","clz32","cos","cosh","exp","floor","fround","hypot","imul","log","log1p","log2","log10","max","min","pow","random","round","sign","sin","sinh","sqrt","tan","tanh","trunc","E","LN10","LN2","LOG10E","LOG2E","PI","SQRT1_2","SQRT2"],n=t.length;for(e=0;e<n;e+=1)BMMath[t[e]]=Math[t[e]]}(),BMMath.random=Math.random,BMMath.abs=function(e){if("object"===_typeof$6(e)&&e.length){var t,n=createSizedArray(e.length),r=e.length;for(t=0;t<r;t+=1)n[t]=Math.abs(e[t]);return n}return Math.abs(e)};var defaultCurveSegments=150,degToRads=Math.PI/180,roundCorner=.5519;function roundValues(e){_shouldRoundValues=!!e}function bmRnd(e){return _shouldRoundValues?Math.round(e):e}function styleDiv(e){e.style.position="absolute",e.style.top=0,e.style.left=0,e.style.display="block",e.style.transformOrigin="0 0",e.style.webkitTransformOrigin="0 0",e.style.backfaceVisibility="visible",e.style.webkitBackfaceVisibility="visible",e.style.transformStyle="preserve-3d",e.style.webkitTransformStyle="preserve-3d",e.style.mozTransformStyle="preserve-3d"}function BMEnterFrameEvent(e,t,n,r){this.type=e,this.currentTime=t,this.totalTime=n,this.direction=r<0?-1:1}function BMCompleteEvent(e,t){this.type=e,this.direction=t<0?-1:1}function BMCompleteLoopEvent(e,t,n,r){this.type=e,this.currentLoop=n,this.totalLoops=t,this.direction=r<0?-1:1}function BMSegmentStartEvent(e,t,n){this.type=e,this.firstFrame=t,this.totalFrames=n}function BMDestroyEvent(e,t){this.type=e,this.target=t}function BMRenderFrameErrorEvent(e,t){this.type="renderFrameError",this.nativeError=e,this.currentTime=t}function BMConfigErrorEvent(e){this.type="configError",this.nativeError=e}function BMAnimationConfigErrorEvent(e,t){this.type=e,this.nativeError=t}var createElementID=function(){var e=0;return function(){return idPrefix$1+"__lottie_element_"+(e+=1)}}();function HSVtoRGB(e,t,n){var r,i,a,s,o,l,c,d;switch(l=n*(1-t),c=n*(1-(o=6*e-(s=Math.floor(6*e)))*t),d=n*(1-(1-o)*t),s%6){case 0:r=n,i=d,a=l;break;case 1:r=c,i=n,a=l;break;case 2:r=l,i=n,a=d;break;case 3:r=l,i=c,a=n;break;case 4:r=d,i=l,a=n;break;case 5:r=n,i=l,a=c}return[r,i,a]}function RGBtoHSV(e,t,n){var r,i=Math.max(e,t,n),a=Math.min(e,t,n),s=i-a,o=0===i?0:s/i,l=i/255;switch(i){case a:r=0;break;case e:r=t-n+s*(t<n?6:0),r/=6*s;break;case t:r=n-e+2*s,r/=6*s;break;case n:r=e-t+4*s,r/=6*s}return[r,o,l]}function addSaturationToRGB(e,t){var n=RGBtoHSV(255*e[0],255*e[1],255*e[2]);return n[1]+=t,n[1]>1?n[1]=1:n[1]<=0&&(n[1]=0),HSVtoRGB(n[0],n[1],n[2])}function addBrightnessToRGB(e,t){var n=RGBtoHSV(255*e[0],255*e[1],255*e[2]);return n[2]+=t,n[2]>1?n[2]=1:n[2]<0&&(n[2]=0),HSVtoRGB(n[0],n[1],n[2])}function addHueToRGB(e,t){var n=RGBtoHSV(255*e[0],255*e[1],255*e[2]);return n[0]+=t/360,n[0]>1?n[0]-=1:n[0]<0&&(n[0]+=1),HSVtoRGB(n[0],n[1],n[2])}var rgbToHex=function(){var e,t,n=[];for(e=0;e<256;e+=1)t=e.toString(16),n[e]=1===t.length?"0"+t:t;return function(e,t,r){return e<0&&(e=0),t<0&&(t=0),r<0&&(r=0),"#"+n[e]+n[t]+n[r]}}(),setSubframeEnabled=function(e){subframeEnabled=!!e},getSubframeEnabled=function(){return subframeEnabled},setExpressionsPlugin=function(e){expressionsPlugin=e},getExpressionsPlugin=function(){return expressionsPlugin},setExpressionInterfaces=function(e){expressionsInterfaces=e},getExpressionInterfaces=function(){return expressionsInterfaces},setDefaultCurveSegments=function(e){defaultCurveSegments=e},getDefaultCurveSegments=function(){return defaultCurveSegments},setIdPrefix=function(e){idPrefix$1=e},getIdPrefix=function(){return idPrefix$1};function createNS(e){return document.createElementNS(svgNS,e)}function _typeof$5(e){return _typeof$5="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$5(e)}var dataManager=function(){var e,t,n=1,r=[],i={onmessage:function(){},postMessage:function(t){e({data:t})}},a={postMessage:function(e){i.onmessage({data:e})}};function s(){t||(t=function(t){if(window.Worker&&window.Blob&&getWebWorker()){var n=new Blob(["var _workerSelf = self; self.onmessage = ",t.toString()],{type:"text/javascript"}),r=URL.createObjectURL(n);return new Worker(r)}return e=t,i}((function(e){if(a.dataManager||(a.dataManager=function(){function e(i,a){var s,o,l,c,h,u,p=i.length;for(o=0;o<p;o+=1)if("ks"in(s=i[o])&&!s.completed){if(s.completed=!0,s.hasMask){var f=s.masksProperties;for(c=f.length,l=0;l<c;l+=1)if(f[l].pt.k.i)r(f[l].pt.k);else for(u=f[l].pt.k.length,h=0;h<u;h+=1)f[l].pt.k[h].s&&r(f[l].pt.k[h].s[0]),f[l].pt.k[h].e&&r(f[l].pt.k[h].e[0])}0===s.ty?(s.layers=t(s.refId,a),e(s.layers,a)):4===s.ty?n(s.shapes):5===s.ty&&d(s)}}function t(e,t){var n=function(e,t){for(var n=0,r=t.length;n<r;){if(t[n].id===e)return t[n];n+=1}return null}(e,t);return n?n.layers.__used?JSON.parse(JSON.stringify(n.layers)):(n.layers.__used=!0,n.layers):null}function n(e){var t,i,a;for(t=e.length-1;t>=0;t-=1)if("sh"===e[t].ty)if(e[t].ks.k.i)r(e[t].ks.k);else for(a=e[t].ks.k.length,i=0;i<a;i+=1)e[t].ks.k[i].s&&r(e[t].ks.k[i].s[0]),e[t].ks.k[i].e&&r(e[t].ks.k[i].e[0]);else"gr"===e[t].ty&&n(e[t].it)}function r(e){var t,n=e.i.length;for(t=0;t<n;t+=1)e.i[t][0]+=e.v[t][0],e.i[t][1]+=e.v[t][1],e.o[t][0]+=e.v[t][0],e.o[t][1]+=e.v[t][1]}function i(e,t){var n=t?t.split("."):[100,100,100];return e[0]>n[0]||!(n[0]>e[0])&&(e[1]>n[1]||!(n[1]>e[1])&&(e[2]>n[2]||!(n[2]>e[2])&&null))}var a=function(){var e=[4,4,14];function t(e){var t=e.t.d;e.t.d={k:[{s:t,t:0}]}}function n(e){var n,r=e.length;for(n=0;n<r;n+=1)5===e[n].ty&&t(e[n])}return function(t){if(i(e,t.v)&&(n(t.layers),t.assets)){var r,a=t.assets.length;for(r=0;r<a;r+=1)t.assets[r].layers&&n(t.assets[r].layers)}}}(),s=function(){var e=[4,7,99];return function(t){if(t.chars&&!i(e,t.v)){var r,a=t.chars.length;for(r=0;r<a;r+=1){var s=t.chars[r];s.data&&s.data.shapes&&(n(s.data.shapes),s.data.ip=0,s.data.op=99999,s.data.st=0,s.data.sr=1,s.data.ks={p:{k:[0,0],a:0},s:{k:[100,100],a:0},a:{k:[0,0],a:0},r:{k:0,a:0},o:{k:100,a:0}},t.chars[r].t||(s.data.shapes.push({ty:"no"}),s.data.shapes[0].it.push({p:{k:[0,0],a:0},s:{k:[100,100],a:0},a:{k:[0,0],a:0},r:{k:0,a:0},o:{k:100,a:0},sk:{k:0,a:0},sa:{k:0,a:0},ty:"tr"})))}}}}(),o=function(){var e=[5,7,15];function t(e){var t=e.t.p;"number"===typeof t.a&&(t.a={a:0,k:t.a}),"number"===typeof t.p&&(t.p={a:0,k:t.p}),"number"===typeof t.r&&(t.r={a:0,k:t.r})}function n(e){var n,r=e.length;for(n=0;n<r;n+=1)5===e[n].ty&&t(e[n])}return function(t){if(i(e,t.v)&&(n(t.layers),t.assets)){var r,a=t.assets.length;for(r=0;r<a;r+=1)t.assets[r].layers&&n(t.assets[r].layers)}}}(),l=function(){var e=[4,1,9];function t(e){var n,r,i,a=e.length;for(n=0;n<a;n+=1)if("gr"===e[n].ty)t(e[n].it);else if("fl"===e[n].ty||"st"===e[n].ty)if(e[n].c.k&&e[n].c.k[0].i)for(i=e[n].c.k.length,r=0;r<i;r+=1)e[n].c.k[r].s&&(e[n].c.k[r].s[0]/=255,e[n].c.k[r].s[1]/=255,e[n].c.k[r].s[2]/=255,e[n].c.k[r].s[3]/=255),e[n].c.k[r].e&&(e[n].c.k[r].e[0]/=255,e[n].c.k[r].e[1]/=255,e[n].c.k[r].e[2]/=255,e[n].c.k[r].e[3]/=255);else e[n].c.k[0]/=255,e[n].c.k[1]/=255,e[n].c.k[2]/=255,e[n].c.k[3]/=255}function n(e){var n,r=e.length;for(n=0;n<r;n+=1)4===e[n].ty&&t(e[n].shapes)}return function(t){if(i(e,t.v)&&(n(t.layers),t.assets)){var r,a=t.assets.length;for(r=0;r<a;r+=1)t.assets[r].layers&&n(t.assets[r].layers)}}}(),c=function(){var e=[4,4,18];function t(e){var n,r,i;for(n=e.length-1;n>=0;n-=1)if("sh"===e[n].ty)if(e[n].ks.k.i)e[n].ks.k.c=e[n].closed;else for(i=e[n].ks.k.length,r=0;r<i;r+=1)e[n].ks.k[r].s&&(e[n].ks.k[r].s[0].c=e[n].closed),e[n].ks.k[r].e&&(e[n].ks.k[r].e[0].c=e[n].closed);else"gr"===e[n].ty&&t(e[n].it)}function n(e){var n,r,i,a,s,o,l=e.length;for(r=0;r<l;r+=1){if((n=e[r]).hasMask){var c=n.masksProperties;for(a=c.length,i=0;i<a;i+=1)if(c[i].pt.k.i)c[i].pt.k.c=c[i].cl;else for(o=c[i].pt.k.length,s=0;s<o;s+=1)c[i].pt.k[s].s&&(c[i].pt.k[s].s[0].c=c[i].cl),c[i].pt.k[s].e&&(c[i].pt.k[s].e[0].c=c[i].cl)}4===n.ty&&t(n.shapes)}}return function(t){if(i(e,t.v)&&(n(t.layers),t.assets)){var r,a=t.assets.length;for(r=0;r<a;r+=1)t.assets[r].layers&&n(t.assets[r].layers)}}}();function d(e){0===e.t.a.length&&e.t.p}var h={completeData:function(n){n.__complete||(l(n),a(n),s(n),o(n),c(n),e(n.layers,n.assets),function(n,r){if(n){var i=0,a=n.length;for(i=0;i<a;i+=1)1===n[i].t&&(n[i].data.layers=t(n[i].data.refId,r),e(n[i].data.layers,r))}}(n.chars,n.assets),n.__complete=!0)}};return h.checkColors=l,h.checkChars=s,h.checkPathProperties=o,h.checkShapes=c,h.completeLayers=e,h}()),a.assetLoader||(a.assetLoader=function(){function e(e){var t=e.getResponseHeader("content-type");return t&&"json"===e.responseType&&-1!==t.indexOf("json")||e.response&&"object"===_typeof$5(e.response)?e.response:e.response&&"string"===typeof e.response?JSON.parse(e.response):e.responseText?JSON.parse(e.responseText):null}return{load:function(t,n,r,i){var a,s=new XMLHttpRequest;try{s.responseType="json"}catch(o){}s.onreadystatechange=function(){if(4===s.readyState)if(200===s.status)a=e(s),r(a);else try{a=e(s),r(a)}catch(o){i&&i(o)}};try{s.open(["G","E","T"].join(""),t,!0)}catch(l){s.open(["G","E","T"].join(""),n+"/"+t,!0)}s.send()}}}()),"loadAnimation"===e.data.type)a.assetLoader.load(e.data.path,e.data.fullPath,(function(t){a.dataManager.completeData(t),a.postMessage({id:e.data.id,payload:t,status:"success"})}),(function(){a.postMessage({id:e.data.id,status:"error"})}));else if("complete"===e.data.type){var t=e.data.animation;a.dataManager.completeData(t),a.postMessage({id:e.data.id,payload:t,status:"success"})}else"loadData"===e.data.type&&a.assetLoader.load(e.data.path,e.data.fullPath,(function(t){a.postMessage({id:e.data.id,payload:t,status:"success"})}),(function(){a.postMessage({id:e.data.id,status:"error"})}))})),t.onmessage=function(e){var t=e.data,n=t.id,i=r[n];r[n]=null,"success"===t.status?i.onComplete(t.payload):i.onError&&i.onError()})}function o(e,t){var i="processId_"+(n+=1);return r[i]={onComplete:e,onError:t},i}return{loadAnimation:function(e,n,r){s();var i=o(n,r);t.postMessage({type:"loadAnimation",path:e,fullPath:window.location.origin+window.location.pathname,id:i})},loadData:function(e,n,r){s();var i=o(n,r);t.postMessage({type:"loadData",path:e,fullPath:window.location.origin+window.location.pathname,id:i})},completeAnimation:function(e,n,r){s();var i=o(n,r);t.postMessage({type:"complete",animation:e,id:i})}}}(),ImagePreloader=function(){var e=function(){var e=createTag("canvas");e.width=1,e.height=1;var t=e.getContext("2d");return t.fillStyle="rgba(0,0,0,0)",t.fillRect(0,0,1,1),e}();function t(){this.loadedAssets+=1,this.loadedAssets===this.totalImages&&this.loadedFootagesCount===this.totalFootages&&this.imagesLoadedCb&&this.imagesLoadedCb(null)}function n(){this.loadedFootagesCount+=1,this.loadedAssets===this.totalImages&&this.loadedFootagesCount===this.totalFootages&&this.imagesLoadedCb&&this.imagesLoadedCb(null)}function r(e,t,n){var r="";if(e.e)r=e.p;else if(t){var i=e.p;-1!==i.indexOf("images/")&&(i=i.split("/")[1]),r=t+i}else r=n,r+=e.u?e.u:"",r+=e.p;return r}function i(e){var t=0,n=setInterval(function(){(e.getBBox().width||t>500)&&(this._imageLoaded(),clearInterval(n)),t+=1}.bind(this),50)}function a(e){var t={assetData:e},n=r(e,this.assetsPath,this.path);return dataManager.loadData(n,function(e){t.img=e,this._footageLoaded()}.bind(this),function(){t.img={},this._footageLoaded()}.bind(this)),t}function s(){this._imageLoaded=t.bind(this),this._footageLoaded=n.bind(this),this.testImageLoaded=i.bind(this),this.createFootageData=a.bind(this),this.assetsPath="",this.path="",this.totalImages=0,this.totalFootages=0,this.loadedAssets=0,this.loadedFootagesCount=0,this.imagesLoadedCb=null,this.images=[]}return s.prototype={loadAssets:function(e,t){var n;this.imagesLoadedCb=t;var r=e.length;for(n=0;n<r;n+=1)e[n].layers||(e[n].t&&"seq"!==e[n].t?3===e[n].t&&(this.totalFootages+=1,this.images.push(this.createFootageData(e[n]))):(this.totalImages+=1,this.images.push(this._createImageData(e[n]))))},setAssetsPath:function(e){this.assetsPath=e||""},setPath:function(e){this.path=e||""},loadedImages:function(){return this.totalImages===this.loadedAssets},loadedFootages:function(){return this.totalFootages===this.loadedFootagesCount},destroy:function(){this.imagesLoadedCb=null,this.images.length=0},getAsset:function(e){for(var t=0,n=this.images.length;t<n;){if(this.images[t].assetData===e)return this.images[t].img;t+=1}return null},createImgData:function(t){var n=r(t,this.assetsPath,this.path),i=createTag("img");i.crossOrigin="anonymous",i.addEventListener("load",this._imageLoaded,!1),i.addEventListener("error",function(){a.img=e,this._imageLoaded()}.bind(this),!1),i.src=n;var a={img:i,assetData:t};return a},createImageData:function(t){var n=r(t,this.assetsPath,this.path),i=createNS("image");isSafari?this.testImageLoaded(i):i.addEventListener("load",this._imageLoaded,!1),i.addEventListener("error",function(){a.img=e,this._imageLoaded()}.bind(this),!1),i.setAttributeNS("http://www.w3.org/1999/xlink","href",n),this._elementHelper.append?this._elementHelper.append(i):this._elementHelper.appendChild(i);var a={img:i,assetData:t};return a},imageLoaded:t,footageLoaded:n,setCacheType:function(e,t){"svg"===e?(this._elementHelper=t,this._createImageData=this.createImageData.bind(this)):this._createImageData=this.createImgData.bind(this)}},s}();function BaseEvent(){}BaseEvent.prototype={triggerEvent:function(e,t){if(this._cbs[e])for(var n=this._cbs[e],r=0;r<n.length;r+=1)n[r](t)},addEventListener:function(e,t){return this._cbs[e]||(this._cbs[e]=[]),this._cbs[e].push(t),function(){this.removeEventListener(e,t)}.bind(this)},removeEventListener:function(e,t){if(t){if(this._cbs[e]){for(var n=0,r=this._cbs[e].length;n<r;)this._cbs[e][n]===t&&(this._cbs[e].splice(n,1),n-=1,r-=1),n+=1;this._cbs[e].length||(this._cbs[e]=null)}}else this._cbs[e]=null}};var markerParser=function(){function e(e){for(var t,n=e.split("\r\n"),r={},i=0,a=0;a<n.length;a+=1)2===(t=n[a].split(":")).length&&(r[t[0]]=t[1].trim(),i+=1);if(0===i)throw new Error;return r}return function(t){for(var n=[],r=0;r<t.length;r+=1){var i=t[r],a={time:i.tm,duration:i.dr};try{a.payload=JSON.parse(t[r].cm)}catch(s){try{a.payload=e(t[r].cm)}catch(o){a.payload={name:t[r].cm}}}n.push(a)}return n}}(),ProjectInterface=function(){function e(e){this.compositions.push(e)}return function(){function t(e){for(var t=0,n=this.compositions.length;t<n;){if(this.compositions[t].data&&this.compositions[t].data.nm===e)return this.compositions[t].prepareFrame&&this.compositions[t].data.xt&&this.compositions[t].prepareFrame(this.currentFrame),this.compositions[t].compInterface;t+=1}return null}return t.compositions=[],t.currentFrame=0,t.registerComposition=e,t}}(),renderers={},registerRenderer=function(e,t){renderers[e]=t};function getRenderer(e){return renderers[e]}function getRegisteredRenderer(){if(renderers.canvas)return"canvas";for(var e in renderers)if(renderers[e])return e;return""}function _typeof$4(e){return _typeof$4="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$4(e)}var AnimationItem=function(){this._cbs=[],this.name="",this.path="",this.isLoaded=!1,this.currentFrame=0,this.currentRawFrame=0,this.firstFrame=0,this.totalFrames=0,this.frameRate=0,this.frameMult=0,this.playSpeed=1,this.playDirection=1,this.playCount=0,this.animationData={},this.assets=[],this.isPaused=!0,this.autoplay=!1,this.loop=!0,this.renderer=null,this.animationID=createElementID(),this.assetsPath="",this.timeCompleted=0,this.segmentPos=0,this.isSubframeEnabled=getSubframeEnabled(),this.segments=[],this._idle=!0,this._completedLoop=!1,this.projectInterface=ProjectInterface(),this.imagePreloader=new ImagePreloader,this.audioController=audioControllerFactory(),this.markers=[],this.configAnimation=this.configAnimation.bind(this),this.onSetupError=this.onSetupError.bind(this),this.onSegmentComplete=this.onSegmentComplete.bind(this),this.drawnFrameEvent=new BMEnterFrameEvent("drawnFrame",0,0,0),this.expressionsPlugin=getExpressionsPlugin()};extendPrototype([BaseEvent],AnimationItem),AnimationItem.prototype.setParams=function(e){(e.wrapper||e.container)&&(this.wrapper=e.wrapper||e.container);var t="svg";e.animType?t=e.animType:e.renderer&&(t=e.renderer);var n=getRenderer(t);this.renderer=new n(this,e.rendererSettings),this.imagePreloader.setCacheType(t,this.renderer.globalData.defs),this.renderer.setProjectInterface(this.projectInterface),this.animType=t,""===e.loop||null===e.loop||void 0===e.loop||!0===e.loop?this.loop=!0:!1===e.loop?this.loop=!1:this.loop=parseInt(e.loop,10),this.autoplay=!("autoplay"in e)||e.autoplay,this.name=e.name?e.name:"",this.autoloadSegments=!Object.prototype.hasOwnProperty.call(e,"autoloadSegments")||e.autoloadSegments,this.assetsPath=e.assetsPath,this.initialSegment=e.initialSegment,e.audioFactory&&this.audioController.setAudioFactory(e.audioFactory),e.animationData?this.setupAnimation(e.animationData):e.path&&(-1!==e.path.lastIndexOf("\\")?this.path=e.path.substr(0,e.path.lastIndexOf("\\")+1):this.path=e.path.substr(0,e.path.lastIndexOf("/")+1),this.fileName=e.path.substr(e.path.lastIndexOf("/")+1),this.fileName=this.fileName.substr(0,this.fileName.lastIndexOf(".json")),dataManager.loadAnimation(e.path,this.configAnimation,this.onSetupError))},AnimationItem.prototype.onSetupError=function(){this.trigger("data_failed")},AnimationItem.prototype.setupAnimation=function(e){dataManager.completeAnimation(e,this.configAnimation)},AnimationItem.prototype.setData=function(e,t){t&&"object"!==_typeof$4(t)&&(t=JSON.parse(t));var n={wrapper:e,animationData:t},r=e.attributes;n.path=r.getNamedItem("data-animation-path")?r.getNamedItem("data-animation-path").value:r.getNamedItem("data-bm-path")?r.getNamedItem("data-bm-path").value:r.getNamedItem("bm-path")?r.getNamedItem("bm-path").value:"",n.animType=r.getNamedItem("data-anim-type")?r.getNamedItem("data-anim-type").value:r.getNamedItem("data-bm-type")?r.getNamedItem("data-bm-type").value:r.getNamedItem("bm-type")?r.getNamedItem("bm-type").value:r.getNamedItem("data-bm-renderer")?r.getNamedItem("data-bm-renderer").value:r.getNamedItem("bm-renderer")?r.getNamedItem("bm-renderer").value:getRegisteredRenderer()||"canvas";var i=r.getNamedItem("data-anim-loop")?r.getNamedItem("data-anim-loop").value:r.getNamedItem("data-bm-loop")?r.getNamedItem("data-bm-loop").value:r.getNamedItem("bm-loop")?r.getNamedItem("bm-loop").value:"";"false"===i?n.loop=!1:"true"===i?n.loop=!0:""!==i&&(n.loop=parseInt(i,10));var a=r.getNamedItem("data-anim-autoplay")?r.getNamedItem("data-anim-autoplay").value:r.getNamedItem("data-bm-autoplay")?r.getNamedItem("data-bm-autoplay").value:!r.getNamedItem("bm-autoplay")||r.getNamedItem("bm-autoplay").value;n.autoplay="false"!==a,n.name=r.getNamedItem("data-name")?r.getNamedItem("data-name").value:r.getNamedItem("data-bm-name")?r.getNamedItem("data-bm-name").value:r.getNamedItem("bm-name")?r.getNamedItem("bm-name").value:"","false"===(r.getNamedItem("data-anim-prerender")?r.getNamedItem("data-anim-prerender").value:r.getNamedItem("data-bm-prerender")?r.getNamedItem("data-bm-prerender").value:r.getNamedItem("bm-prerender")?r.getNamedItem("bm-prerender").value:"")&&(n.prerender=!1),n.path?this.setParams(n):this.trigger("destroy")},AnimationItem.prototype.includeLayers=function(e){e.op>this.animationData.op&&(this.animationData.op=e.op,this.totalFrames=Math.floor(e.op-this.animationData.ip));var t,n,r=this.animationData.layers,i=r.length,a=e.layers,s=a.length;for(n=0;n<s;n+=1)for(t=0;t<i;){if(r[t].id===a[n].id){r[t]=a[n];break}t+=1}if((e.chars||e.fonts)&&(this.renderer.globalData.fontManager.addChars(e.chars),this.renderer.globalData.fontManager.addFonts(e.fonts,this.renderer.globalData.defs)),e.assets)for(i=e.assets.length,t=0;t<i;t+=1)this.animationData.assets.push(e.assets[t]);this.animationData.__complete=!1,dataManager.completeAnimation(this.animationData,this.onSegmentComplete)},AnimationItem.prototype.onSegmentComplete=function(e){this.animationData=e;var t=getExpressionsPlugin();t&&t.initExpressions(this),this.loadNextSegment()},AnimationItem.prototype.loadNextSegment=function(){var e=this.animationData.segments;if(!e||0===e.length||!this.autoloadSegments)return this.trigger("data_ready"),void(this.timeCompleted=this.totalFrames);var t=e.shift();this.timeCompleted=t.time*this.frameRate;var n=this.path+this.fileName+"_"+this.segmentPos+".json";this.segmentPos+=1,dataManager.loadData(n,this.includeLayers.bind(this),function(){this.trigger("data_failed")}.bind(this))},AnimationItem.prototype.loadSegments=function(){this.animationData.segments||(this.timeCompleted=this.totalFrames),this.loadNextSegment()},AnimationItem.prototype.imagesLoaded=function(){this.trigger("loaded_images"),this.checkLoaded()},AnimationItem.prototype.preloadImages=function(){this.imagePreloader.setAssetsPath(this.assetsPath),this.imagePreloader.setPath(this.path),this.imagePreloader.loadAssets(this.animationData.assets,this.imagesLoaded.bind(this))},AnimationItem.prototype.configAnimation=function(e){if(this.renderer)try{this.animationData=e,this.initialSegment?(this.totalFrames=Math.floor(this.initialSegment[1]-this.initialSegment[0]),this.firstFrame=Math.round(this.initialSegment[0])):(this.totalFrames=Math.floor(this.animationData.op-this.animationData.ip),this.firstFrame=Math.round(this.animationData.ip)),this.renderer.configAnimation(e),e.assets||(e.assets=[]),this.assets=this.animationData.assets,this.frameRate=this.animationData.fr,this.frameMult=this.animationData.fr/1e3,this.renderer.searchExtraCompositions(e.assets),this.markers=markerParser(e.markers||[]),this.trigger("config_ready"),this.preloadImages(),this.loadSegments(),this.updaFrameModifier(),this.waitForFontsLoaded(),this.isPaused&&this.audioController.pause()}catch(t){this.triggerConfigError(t)}},AnimationItem.prototype.waitForFontsLoaded=function(){this.renderer&&(this.renderer.globalData.fontManager.isLoaded?this.checkLoaded():setTimeout(this.waitForFontsLoaded.bind(this),20))},AnimationItem.prototype.checkLoaded=function(){if(!this.isLoaded&&this.renderer.globalData.fontManager.isLoaded&&(this.imagePreloader.loadedImages()||"canvas"!==this.renderer.rendererType)&&this.imagePreloader.loadedFootages()){this.isLoaded=!0;var e=getExpressionsPlugin();e&&e.initExpressions(this),this.renderer.initItems(),setTimeout(function(){this.trigger("DOMLoaded")}.bind(this),0),this.gotoFrame(),this.autoplay&&this.play()}},AnimationItem.prototype.resize=function(e,t){var n="number"===typeof e?e:void 0,r="number"===typeof t?t:void 0;this.renderer.updateContainerSize(n,r)},AnimationItem.prototype.setSubframe=function(e){this.isSubframeEnabled=!!e},AnimationItem.prototype.gotoFrame=function(){this.currentFrame=this.isSubframeEnabled?this.currentRawFrame:~~this.currentRawFrame,this.timeCompleted!==this.totalFrames&&this.currentFrame>this.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame(),this.trigger("drawnFrame")},AnimationItem.prototype.renderFrame=function(){if(!1!==this.isLoaded&&this.renderer)try{this.expressionsPlugin&&this.expressionsPlugin.resetFrame(),this.renderer.renderFrame(this.currentFrame+this.firstFrame)}catch(e){this.triggerRenderFrameError(e)}},AnimationItem.prototype.play=function(e){e&&this.name!==e||!0===this.isPaused&&(this.isPaused=!1,this.trigger("_play"),this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger("_active")))},AnimationItem.prototype.pause=function(e){e&&this.name!==e||!1===this.isPaused&&(this.isPaused=!0,this.trigger("_pause"),this._idle=!0,this.trigger("_idle"),this.audioController.pause())},AnimationItem.prototype.togglePause=function(e){e&&this.name!==e||(!0===this.isPaused?this.play():this.pause())},AnimationItem.prototype.stop=function(e){e&&this.name!==e||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0))},AnimationItem.prototype.getMarkerData=function(e){for(var t,n=0;n<this.markers.length;n+=1)if((t=this.markers[n]).payload&&t.payload.name===e)return t;return null},AnimationItem.prototype.goToAndStop=function(e,t,n){if(!n||this.name===n){var r=Number(e);if(isNaN(r)){var i=this.getMarkerData(e);i&&this.goToAndStop(i.time,!0)}else t?this.setCurrentRawFrameValue(e):this.setCurrentRawFrameValue(e*this.frameModifier);this.pause()}},AnimationItem.prototype.goToAndPlay=function(e,t,n){if(!n||this.name===n){var r=Number(e);if(isNaN(r)){var i=this.getMarkerData(e);i&&(i.duration?this.playSegments([i.time,i.time+i.duration],!0):this.goToAndStop(i.time,!0))}else this.goToAndStop(r,t,n);this.play()}},AnimationItem.prototype.advanceTime=function(e){if(!0!==this.isPaused&&!1!==this.isLoaded){var t=this.currentRawFrame+e*this.frameModifier,n=!1;t>=this.totalFrames-1&&this.frameModifier>0?this.loop&&this.playCount!==this.loop?t>=this.totalFrames?(this.playCount+=1,this.checkSegments(t%this.totalFrames)||(this.setCurrentRawFrameValue(t%this.totalFrames),this._completedLoop=!0,this.trigger("loopComplete"))):this.setCurrentRawFrameValue(t):this.checkSegments(t>this.totalFrames?t%this.totalFrames:0)||(n=!0,t=this.totalFrames-1):t<0?this.checkSegments(t%this.totalFrames)||(!this.loop||this.playCount--<=0&&!0!==this.loop?(n=!0,t=0):(this.setCurrentRawFrameValue(this.totalFrames+t%this.totalFrames),this._completedLoop?this.trigger("loopComplete"):this._completedLoop=!0)):this.setCurrentRawFrameValue(t),n&&(this.setCurrentRawFrameValue(t),this.pause(),this.trigger("complete"))}},AnimationItem.prototype.adjustSegment=function(e,t){this.playCount=0,e[1]<e[0]?(this.frameModifier>0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(-1)),this.totalFrames=e[0]-e[1],this.timeCompleted=this.totalFrames,this.firstFrame=e[1],this.setCurrentRawFrameValue(this.totalFrames-.001-t)):e[1]>e[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=e[1]-e[0],this.timeCompleted=this.totalFrames,this.firstFrame=e[0],this.setCurrentRawFrameValue(.001+t)),this.trigger("segmentStart")},AnimationItem.prototype.setSegment=function(e,t){var n=-1;this.isPaused&&(this.currentRawFrame+this.firstFrame<e?n=e:this.currentRawFrame+this.firstFrame>t&&(n=t-e)),this.firstFrame=e,this.totalFrames=t-e,this.timeCompleted=this.totalFrames,-1!==n&&this.goToAndStop(n,!0)},AnimationItem.prototype.playSegments=function(e,t){if(t&&(this.segments.length=0),"object"===_typeof$4(e[0])){var n,r=e.length;for(n=0;n<r;n+=1)this.segments.push(e[n])}else this.segments.push(e);this.segments.length&&t&&this.adjustSegment(this.segments.shift(),0),this.isPaused&&this.play()},AnimationItem.prototype.resetSegments=function(e){this.segments.length=0,this.segments.push([this.animationData.ip,this.animationData.op]),e&&this.checkSegments(0)},AnimationItem.prototype.checkSegments=function(e){return!!this.segments.length&&(this.adjustSegment(this.segments.shift(),e),!0)},AnimationItem.prototype.destroy=function(e){e&&this.name!==e||!this.renderer||(this.renderer.destroy(),this.imagePreloader.destroy(),this.trigger("destroy"),this._cbs=null,this.onEnterFrame=null,this.onLoopComplete=null,this.onComplete=null,this.onSegmentStart=null,this.onDestroy=null,this.renderer=null,this.expressionsPlugin=null,this.imagePreloader=null,this.projectInterface=null)},AnimationItem.prototype.setCurrentRawFrameValue=function(e){this.currentRawFrame=e,this.gotoFrame()},AnimationItem.prototype.setSpeed=function(e){this.playSpeed=e,this.updaFrameModifier()},AnimationItem.prototype.setDirection=function(e){this.playDirection=e<0?-1:1,this.updaFrameModifier()},AnimationItem.prototype.setLoop=function(e){this.loop=e},AnimationItem.prototype.setVolume=function(e,t){t&&this.name!==t||this.audioController.setVolume(e)},AnimationItem.prototype.getVolume=function(){return this.audioController.getVolume()},AnimationItem.prototype.mute=function(e){e&&this.name!==e||this.audioController.mute()},AnimationItem.prototype.unmute=function(e){e&&this.name!==e||this.audioController.unmute()},AnimationItem.prototype.updaFrameModifier=function(){this.frameModifier=this.frameMult*this.playSpeed*this.playDirection,this.audioController.setRate(this.playSpeed*this.playDirection)},AnimationItem.prototype.getPath=function(){return this.path},AnimationItem.prototype.getAssetsPath=function(e){var t="";if(e.e)t=e.p;else if(this.assetsPath){var n=e.p;-1!==n.indexOf("images/")&&(n=n.split("/")[1]),t=this.assetsPath+n}else t=this.path,t+=e.u?e.u:"",t+=e.p;return t},AnimationItem.prototype.getAssetData=function(e){for(var t=0,n=this.assets.length;t<n;){if(e===this.assets[t].id)return this.assets[t];t+=1}return null},AnimationItem.prototype.hide=function(){this.renderer.hide()},AnimationItem.prototype.show=function(){this.renderer.show()},AnimationItem.prototype.getDuration=function(e){return e?this.totalFrames:this.totalFrames/this.frameRate},AnimationItem.prototype.updateDocumentData=function(e,t,n){try{this.renderer.getElementByPath(e).updateDocumentData(t,n)}catch(r){}},AnimationItem.prototype.trigger=function(e){if(this._cbs&&this._cbs[e])switch(e){case"enterFrame":this.triggerEvent(e,new BMEnterFrameEvent(e,this.currentFrame,this.totalFrames,this.frameModifier));break;case"drawnFrame":this.drawnFrameEvent.currentTime=this.currentFrame,this.drawnFrameEvent.totalTime=this.totalFrames,this.drawnFrameEvent.direction=this.frameModifier,this.triggerEvent(e,this.drawnFrameEvent);break;case"loopComplete":this.triggerEvent(e,new BMCompleteLoopEvent(e,this.loop,this.playCount,this.frameMult));break;case"complete":this.triggerEvent(e,new BMCompleteEvent(e,this.frameMult));break;case"segmentStart":this.triggerEvent(e,new BMSegmentStartEvent(e,this.firstFrame,this.totalFrames));break;case"destroy":this.triggerEvent(e,new BMDestroyEvent(e,this));break;default:this.triggerEvent(e)}"enterFrame"===e&&this.onEnterFrame&&this.onEnterFrame.call(this,new BMEnterFrameEvent(e,this.currentFrame,this.totalFrames,this.frameMult)),"loopComplete"===e&&this.onLoopComplete&&this.onLoopComplete.call(this,new BMCompleteLoopEvent(e,this.loop,this.playCount,this.frameMult)),"complete"===e&&this.onComplete&&this.onComplete.call(this,new BMCompleteEvent(e,this.frameMult)),"segmentStart"===e&&this.onSegmentStart&&this.onSegmentStart.call(this,new BMSegmentStartEvent(e,this.firstFrame,this.totalFrames)),"destroy"===e&&this.onDestroy&&this.onDestroy.call(this,new BMDestroyEvent(e,this))},AnimationItem.prototype.triggerRenderFrameError=function(e){var t=new BMRenderFrameErrorEvent(e,this.currentFrame);this.triggerEvent("error",t),this.onError&&this.onError.call(this,t)},AnimationItem.prototype.triggerConfigError=function(e){var t=new BMConfigErrorEvent(e,this.currentFrame);this.triggerEvent("error",t),this.onError&&this.onError.call(this,t)};var animationManager=function(){var e={},t=[],n=0,r=0,i=0,a=!0,s=!1;function o(e){for(var n=0,i=e.target;n<r;)t[n].animation===i&&(t.splice(n,1),n-=1,r-=1,i.isPaused||d()),n+=1}function l(e,n){if(!e)return null;for(var i=0;i<r;){if(t[i].elem===e&&null!==t[i].elem)return t[i].animation;i+=1}var a=new AnimationItem;return h(a,e),a.setData(e,n),a}function c(){i+=1,f()}function d(){i-=1}function h(e,n){e.addEventListener("destroy",o),e.addEventListener("_active",c),e.addEventListener("_idle",d),t.push({elem:n,animation:e}),r+=1}function u(e){var o,l=e-n;for(o=0;o<r;o+=1)t[o].animation.advanceTime(l);n=e,i&&!s?window.requestAnimationFrame(u):a=!0}function p(e){n=e,window.requestAnimationFrame(u)}function f(){!s&&i&&a&&(window.requestAnimationFrame(p),a=!1)}return e.registerAnimation=l,e.loadAnimation=function(e){var t=new AnimationItem;return h(t,null),t.setParams(e),t},e.setSpeed=function(e,n){var i;for(i=0;i<r;i+=1)t[i].animation.setSpeed(e,n)},e.setDirection=function(e,n){var i;for(i=0;i<r;i+=1)t[i].animation.setDirection(e,n)},e.play=function(e){var n;for(n=0;n<r;n+=1)t[n].animation.play(e)},e.pause=function(e){var n;for(n=0;n<r;n+=1)t[n].animation.pause(e)},e.stop=function(e){var n;for(n=0;n<r;n+=1)t[n].animation.stop(e)},e.togglePause=function(e){var n;for(n=0;n<r;n+=1)t[n].animation.togglePause(e)},e.searchAnimations=function(e,t,n){var r,i=[].concat([].slice.call(document.getElementsByClassName("lottie")),[].slice.call(document.getElementsByClassName("bodymovin"))),a=i.length;for(r=0;r<a;r+=1)n&&i[r].setAttribute("data-bm-type",n),l(i[r],e);if(t&&0===a){n||(n="svg");var s=document.getElementsByTagName("body")[0];s.innerText="";var o=createTag("div");o.style.width="100%",o.style.height="100%",o.setAttribute("data-bm-type",n),s.appendChild(o),l(o,e)}},e.resize=function(){var e;for(e=0;e<r;e+=1)t[e].animation.resize()},e.goToAndStop=function(e,n,i){var a;for(a=0;a<r;a+=1)t[a].animation.goToAndStop(e,n,i)},e.destroy=function(e){var n;for(n=r-1;n>=0;n-=1)t[n].animation.destroy(e)},e.freeze=function(){s=!0},e.unfreeze=function(){s=!1,f()},e.setVolume=function(e,n){var i;for(i=0;i<r;i+=1)t[i].animation.setVolume(e,n)},e.mute=function(e){var n;for(n=0;n<r;n+=1)t[n].animation.mute(e)},e.unmute=function(e){var n;for(n=0;n<r;n+=1)t[n].animation.unmute(e)},e.getRegisteredAnimations=function(){var e,n=t.length,r=[];for(e=0;e<n;e+=1)r.push(t[e].animation);return r},e}(),BezierFactory=function(){var e={getBezierEasing:function(e,n,r,i,a){var s=a||("bez_"+e+"_"+n+"_"+r+"_"+i).replace(/\./g,"p");if(t[s])return t[s];var o=new d([e,n,r,i]);return t[s]=o,o}},t={},n=11,r=1/(n-1),i="function"===typeof Float32Array;function a(e,t){return 1-3*t+3*e}function s(e,t){return 3*t-6*e}function o(e){return 3*e}function l(e,t,n){return((a(t,n)*e+s(t,n))*e+o(t))*e}function c(e,t,n){return 3*a(t,n)*e*e+2*s(t,n)*e+o(t)}function d(e){this._p=e,this._mSampleValues=i?new Float32Array(n):new Array(n),this._precomputed=!1,this.get=this.get.bind(this)}return d.prototype={get:function(e){var t=this._p[0],n=this._p[1],r=this._p[2],i=this._p[3];return this._precomputed||this._precompute(),t===n&&r===i?e:0===e?0:1===e?1:l(this._getTForX(e),n,i)},_precompute:function(){var e=this._p[0],t=this._p[1],n=this._p[2],r=this._p[3];this._precomputed=!0,e===t&&n===r||this._calcSampleValues()},_calcSampleValues:function(){for(var e=this._p[0],t=this._p[2],i=0;i<n;++i)this._mSampleValues[i]=l(i*r,e,t)},_getTForX:function(e){for(var t=this._p[0],i=this._p[2],a=this._mSampleValues,s=0,o=1,d=n-1;o!==d&&a[o]<=e;++o)s+=r;var h=s+(e-a[--o])/(a[o+1]-a[o])*r,u=c(h,t,i);return u>=.001?function(e,t,n,r){for(var i=0;i<4;++i){var a=c(t,n,r);if(0===a)return t;t-=(l(t,n,r)-e)/a}return t}(e,h,t,i):0===u?h:function(e,t,n,r,i){var a,s,o=0;do{(a=l(s=t+(n-t)/2,r,i)-e)>0?n=s:t=s}while(Math.abs(a)>1e-7&&++o<10);return s}(e,s,s+r,t,i)}},e}(),pooling={double:function(e){return e.concat(createSizedArray(e.length))}},poolFactory=function(e,t,n){var r=0,i=e,a=createSizedArray(i);return{newElement:function(){return r?a[r-=1]:t()},release:function(e){r===i&&(a=pooling.double(a),i*=2),n&&n(e),a[r]=e,r+=1}}},bezierLengthPool=poolFactory(8,(function(){return{addedLength:0,percents:createTypedArray("float32",getDefaultCurveSegments()),lengths:createTypedArray("float32",getDefaultCurveSegments())}})),segmentsLengthPool=poolFactory(8,(function(){return{lengths:[],totalLength:0}}),(function(e){var t,n=e.lengths.length;for(t=0;t<n;t+=1)bezierLengthPool.release(e.lengths[t]);e.lengths.length=0}));function bezFunction(){var e=Math;function t(e,t,n,r,i,a){var s=e*r+t*i+n*a-i*r-a*e-n*t;return s>-.001&&s<.001}var n=function(e,t,n,r){var i,a,s,o,l,c,d=getDefaultCurveSegments(),h=0,u=[],p=[],f=bezierLengthPool.newElement();for(s=n.length,i=0;i<d;i+=1){for(l=i/(d-1),c=0,a=0;a<s;a+=1)o=bmPow(1-l,3)*e[a]+3*bmPow(1-l,2)*l*n[a]+3*(1-l)*bmPow(l,2)*r[a]+bmPow(l,3)*t[a],u[a]=o,null!==p[a]&&(c+=bmPow(u[a]-p[a],2)),p[a]=u[a];c&&(h+=c=bmSqrt(c)),f.percents[i]=l,f.lengths[i]=h}return f.addedLength=h,f};function r(e){this.segmentLength=0,this.points=new Array(e)}function i(e,t){this.partialLength=e,this.point=t}var a=function(){var e={};return function(n,a,s,o){var l=(n[0]+"_"+n[1]+"_"+a[0]+"_"+a[1]+"_"+s[0]+"_"+s[1]+"_"+o[0]+"_"+o[1]).replace(/\./g,"p");if(!e[l]){var c,d,h,u,p,f,m,g=getDefaultCurveSegments(),y=0,v=null;2===n.length&&(n[0]!==a[0]||n[1]!==a[1])&&t(n[0],n[1],a[0],a[1],n[0]+s[0],n[1]+s[1])&&t(n[0],n[1],a[0],a[1],a[0]+o[0],a[1]+o[1])&&(g=2);var x=new r(g);for(h=s.length,c=0;c<g;c+=1){for(m=createSizedArray(h),p=c/(g-1),f=0,d=0;d<h;d+=1)u=bmPow(1-p,3)*n[d]+3*bmPow(1-p,2)*p*(n[d]+s[d])+3*(1-p)*bmPow(p,2)*(a[d]+o[d])+bmPow(p,3)*a[d],m[d]=u,null!==v&&(f+=bmPow(m[d]-v[d],2));y+=f=bmSqrt(f),x.points[c]=new i(f,m),v=m}x.segmentLength=y,e[l]=x}return e[l]}}();function s(e,t){var n=t.percents,r=t.lengths,i=n.length,a=bmFloor((i-1)*e),s=e*t.addedLength,o=0;if(a===i-1||0===a||s===r[a])return n[a];for(var l=r[a]>s?-1:1,c=!0;c;)if(r[a]<=s&&r[a+1]>s?(o=(s-r[a])/(r[a+1]-r[a]),c=!1):a+=l,a<0||a>=i-1){if(a===i-1)return n[a];c=!1}return n[a]+(n[a+1]-n[a])*o}var o=createTypedArray("float32",8);return{getSegmentsLength:function(e){var t,r=segmentsLengthPool.newElement(),i=e.c,a=e.v,s=e.o,o=e.i,l=e._length,c=r.lengths,d=0;for(t=0;t<l-1;t+=1)c[t]=n(a[t],a[t+1],s[t],o[t+1]),d+=c[t].addedLength;return i&&l&&(c[t]=n(a[t],a[0],s[t],o[0]),d+=c[t].addedLength),r.totalLength=d,r},getNewSegment:function(t,n,r,i,a,l,c){a<0?a=0:a>1&&(a=1);var d,h=s(a,c),u=s(l=l>1?1:l,c),p=t.length,f=1-h,m=1-u,g=f*f*f,y=h*f*f*3,v=h*h*f*3,x=h*h*h,S=f*f*m,A=h*f*m+f*h*m+f*f*u,b=h*h*m+f*h*u+h*f*u,k=h*h*u,w=f*m*m,j=h*m*m+f*u*m+f*m*u,M=h*u*m+f*u*u+h*m*u,P=h*u*u,O=m*m*m,T=u*m*m+m*u*m+m*m*u,I=u*u*m+m*u*u+u*m*u,C=u*u*u;for(d=0;d<p;d+=1)o[4*d]=e.round(1e3*(g*t[d]+y*r[d]+v*i[d]+x*n[d]))/1e3,o[4*d+1]=e.round(1e3*(S*t[d]+A*r[d]+b*i[d]+k*n[d]))/1e3,o[4*d+2]=e.round(1e3*(w*t[d]+j*r[d]+M*i[d]+P*n[d]))/1e3,o[4*d+3]=e.round(1e3*(O*t[d]+T*r[d]+I*i[d]+C*n[d]))/1e3;return o},getPointInSegment:function(t,n,r,i,a,o){var l=s(a,o),c=1-l;return[e.round(1e3*(c*c*c*t[0]+(l*c*c+c*l*c+c*c*l)*r[0]+(l*l*c+c*l*l+l*c*l)*i[0]+l*l*l*n[0]))/1e3,e.round(1e3*(c*c*c*t[1]+(l*c*c+c*l*c+c*c*l)*r[1]+(l*l*c+c*l*l+l*c*l)*i[1]+l*l*l*n[1]))/1e3]},buildBezierData:a,pointOnLine2D:t,pointOnLine3D:function(n,r,i,a,s,o,l,c,d){if(0===i&&0===o&&0===d)return t(n,r,a,s,l,c);var h,u=e.sqrt(e.pow(a-n,2)+e.pow(s-r,2)+e.pow(o-i,2)),p=e.sqrt(e.pow(l-n,2)+e.pow(c-r,2)+e.pow(d-i,2)),f=e.sqrt(e.pow(l-a,2)+e.pow(c-s,2)+e.pow(d-o,2));return(h=u>p?u>f?u-p-f:f-p-u:f>p?f-p-u:p-u-f)>-1e-4&&h<1e-4}}}var bez=bezFunction(),initFrame=initialDefaultFrame,mathAbs=Math.abs;function interpolateValue(e,t){var n,r=this.offsetTime;"multidimensional"===this.propType&&(n=createTypedArray("float32",this.pv.length));for(var i,a,s,o,l,c,d,h,u,p=t.lastIndex,f=p,m=this.keyframes.length-1,g=!0;g;){if(i=this.keyframes[f],a=this.keyframes[f+1],f===m-1&&e>=a.t-r){i.h&&(i=a),p=0;break}if(a.t-r>e){p=f;break}f<m-1?f+=1:(p=0,g=!1)}s=this.keyframesMetadata[f]||{};var y,v=a.t-r,x=i.t-r;if(i.to){s.bezierData||(s.bezierData=bez.buildBezierData(i.s,a.s||i.e,i.to,i.ti));var S=s.bezierData;if(e>=v||e<x){var A=e>=v?S.points.length-1:0;for(l=S.points[A].point.length,o=0;o<l;o+=1)n[o]=S.points[A].point[o]}else{s.__fnct?u=s.__fnct:(u=BezierFactory.getBezierEasing(i.o.x,i.o.y,i.i.x,i.i.y,i.n).get,s.__fnct=u),c=u((e-x)/(v-x));var b,k=S.segmentLength*c,w=t.lastFrame<e&&t._lastKeyframeIndex===f?t._lastAddedLength:0;for(h=t.lastFrame<e&&t._lastKeyframeIndex===f?t._lastPoint:0,g=!0,d=S.points.length;g;){if(w+=S.points[h].partialLength,0===k||0===c||h===S.points.length-1){for(l=S.points[h].point.length,o=0;o<l;o+=1)n[o]=S.points[h].point[o];break}if(k>=w&&k<w+S.points[h+1].partialLength){for(b=(k-w)/S.points[h+1].partialLength,l=S.points[h].point.length,o=0;o<l;o+=1)n[o]=S.points[h].point[o]+(S.points[h+1].point[o]-S.points[h].point[o])*b;break}h<d-1?h+=1:g=!1}t._lastPoint=h,t._lastAddedLength=w-S.points[h].partialLength,t._lastKeyframeIndex=f}}else{var j,M,P,O,T;if(m=i.s.length,y=a.s||i.e,this.sh&&1!==i.h)e>=v?(n[0]=y[0],n[1]=y[1],n[2]=y[2]):e<=x?(n[0]=i.s[0],n[1]=i.s[1],n[2]=i.s[2]):quaternionToEuler(n,slerp(createQuaternion(i.s),createQuaternion(y),(e-x)/(v-x)));else for(f=0;f<m;f+=1)1!==i.h&&(e>=v?c=1:e<x?c=0:(i.o.x.constructor===Array?(s.__fnct||(s.__fnct=[]),s.__fnct[f]?u=s.__fnct[f]:(j=void 0===i.o.x[f]?i.o.x[0]:i.o.x[f],M=void 0===i.o.y[f]?i.o.y[0]:i.o.y[f],P=void 0===i.i.x[f]?i.i.x[0]:i.i.x[f],O=void 0===i.i.y[f]?i.i.y[0]:i.i.y[f],u=BezierFactory.getBezierEasing(j,M,P,O).get,s.__fnct[f]=u)):s.__fnct?u=s.__fnct:(j=i.o.x,M=i.o.y,P=i.i.x,O=i.i.y,u=BezierFactory.getBezierEasing(j,M,P,O).get,i.keyframeMetadata=u),c=u((e-x)/(v-x)))),y=a.s||i.e,T=1===i.h?i.s[f]:i.s[f]+(y[f]-i.s[f])*c,"multidimensional"===this.propType?n[f]=T:n=T}return t.lastIndex=p,n}function slerp(e,t,n){var r,i,a,s,o,l=[],c=e[0],d=e[1],h=e[2],u=e[3],p=t[0],f=t[1],m=t[2],g=t[3];return(i=c*p+d*f+h*m+u*g)<0&&(i=-i,p=-p,f=-f,m=-m,g=-g),1-i>1e-6?(r=Math.acos(i),a=Math.sin(r),s=Math.sin((1-n)*r)/a,o=Math.sin(n*r)/a):(s=1-n,o=n),l[0]=s*c+o*p,l[1]=s*d+o*f,l[2]=s*h+o*m,l[3]=s*u+o*g,l}function quaternionToEuler(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],s=Math.atan2(2*r*a-2*n*i,1-2*r*r-2*i*i),o=Math.asin(2*n*r+2*i*a),l=Math.atan2(2*n*a-2*r*i,1-2*n*n-2*i*i);e[0]=s/degToRads,e[1]=o/degToRads,e[2]=l/degToRads}function createQuaternion(e){var t=e[0]*degToRads,n=e[1]*degToRads,r=e[2]*degToRads,i=Math.cos(t/2),a=Math.cos(n/2),s=Math.cos(r/2),o=Math.sin(t/2),l=Math.sin(n/2),c=Math.sin(r/2);return[o*l*s+i*a*c,o*a*s+i*l*c,i*l*s-o*a*c,i*a*s-o*l*c]}function getValueAtCurrentTime(){var e=this.comp.renderedFrame-this.offsetTime,t=this.keyframes[0].t-this.offsetTime,n=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(e===this._caching.lastFrame||this._caching.lastFrame!==initFrame&&(this._caching.lastFrame>=n&&e>=n||this._caching.lastFrame<t&&e<t))){this._caching.lastFrame>=e&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var r=this.interpolateValue(e,this._caching);this.pv=r}return this._caching.lastFrame=e,this.pv}function setVValue(e){var t;if("unidimensional"===this.propType)t=e*this.mult,mathAbs(this.v-t)>1e-5&&(this.v=t,this._mdf=!0);else for(var n=0,r=this.v.length;n<r;)t=e[n]*this.mult,mathAbs(this.v[n]-t)>1e-5&&(this.v[n]=t,this._mdf=!0),n+=1}function processEffectsSequence(){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length)if(this.lock)this.setVValue(this.pv);else{var e;this.lock=!0,this._mdf=this._isFirstFrame;var t=this.effectsSequence.length,n=this.kf?this.pv:this.data.k;for(e=0;e<t;e+=1)n=this.effectsSequence[e](n);this.setVValue(n),this._isFirstFrame=!1,this.lock=!1,this.frameId=this.elem.globalData.frameId}}function addEffect(e){this.effectsSequence.push(e),this.container.addDynamicProperty(this)}function ValueProperty(e,t,n,r){this.propType="unidimensional",this.mult=n||1,this.data=t,this.v=n?t.k*n:t.k,this.pv=t.k,this._mdf=!1,this.elem=e,this.container=r,this.comp=e.comp,this.k=!1,this.kf=!1,this.vel=0,this.effectsSequence=[],this._isFirstFrame=!0,this.getValue=processEffectsSequence,this.setVValue=setVValue,this.addEffect=addEffect}function MultiDimensionalProperty(e,t,n,r){var i;this.propType="multidimensional",this.mult=n||1,this.data=t,this._mdf=!1,this.elem=e,this.container=r,this.comp=e.comp,this.k=!1,this.kf=!1,this.frameId=-1;var a=t.k.length;for(this.v=createTypedArray("float32",a),this.pv=createTypedArray("float32",a),this.vel=createTypedArray("float32",a),i=0;i<a;i+=1)this.v[i]=t.k[i]*this.mult,this.pv[i]=t.k[i];this._isFirstFrame=!0,this.effectsSequence=[],this.getValue=processEffectsSequence,this.setVValue=setVValue,this.addEffect=addEffect}function KeyframedValueProperty(e,t,n,r){this.propType="unidimensional",this.keyframes=t.k,this.keyframesMetadata=[],this.offsetTime=e.data.st,this.frameId=-1,this._caching={lastFrame:initFrame,lastIndex:0,value:0,_lastKeyframeIndex:-1},this.k=!0,this.kf=!0,this.data=t,this.mult=n||1,this.elem=e,this.container=r,this.comp=e.comp,this.v=initFrame,this.pv=initFrame,this._isFirstFrame=!0,this.getValue=processEffectsSequence,this.setVValue=setVValue,this.interpolateValue=interpolateValue,this.effectsSequence=[getValueAtCurrentTime.bind(this)],this.addEffect=addEffect}function KeyframedMultidimensionalProperty(e,t,n,r){var i;this.propType="multidimensional";var a,s,o,l,c=t.k.length;for(i=0;i<c-1;i+=1)t.k[i].to&&t.k[i].s&&t.k[i+1]&&t.k[i+1].s&&(a=t.k[i].s,s=t.k[i+1].s,o=t.k[i].to,l=t.k[i].ti,(2===a.length&&(a[0]!==s[0]||a[1]!==s[1])&&bez.pointOnLine2D(a[0],a[1],s[0],s[1],a[0]+o[0],a[1]+o[1])&&bez.pointOnLine2D(a[0],a[1],s[0],s[1],s[0]+l[0],s[1]+l[1])||3===a.length&&(a[0]!==s[0]||a[1]!==s[1]||a[2]!==s[2])&&bez.pointOnLine3D(a[0],a[1],a[2],s[0],s[1],s[2],a[0]+o[0],a[1]+o[1],a[2]+o[2])&&bez.pointOnLine3D(a[0],a[1],a[2],s[0],s[1],s[2],s[0]+l[0],s[1]+l[1],s[2]+l[2]))&&(t.k[i].to=null,t.k[i].ti=null),a[0]===s[0]&&a[1]===s[1]&&0===o[0]&&0===o[1]&&0===l[0]&&0===l[1]&&(2===a.length||a[2]===s[2]&&0===o[2]&&0===l[2])&&(t.k[i].to=null,t.k[i].ti=null));this.effectsSequence=[getValueAtCurrentTime.bind(this)],this.data=t,this.keyframes=t.k,this.keyframesMetadata=[],this.offsetTime=e.data.st,this.k=!0,this.kf=!0,this._isFirstFrame=!0,this.mult=n||1,this.elem=e,this.container=r,this.comp=e.comp,this.getValue=processEffectsSequence,this.setVValue=setVValue,this.interpolateValue=interpolateValue,this.frameId=-1;var d=t.k[0].s.length;for(this.v=createTypedArray("float32",d),this.pv=createTypedArray("float32",d),i=0;i<d;i+=1)this.v[i]=initFrame,this.pv[i]=initFrame;this._caching={lastFrame:initFrame,lastIndex:0,value:createTypedArray("float32",d)},this.addEffect=addEffect}var PropertyFactory={getProp:function(e,t,n,r,i){var a;if(t.sid&&(t=e.globalData.slotManager.getProp(t)),t.k.length)if("number"===typeof t.k[0])a=new MultiDimensionalProperty(e,t,r,i);else switch(n){case 0:a=new KeyframedValueProperty(e,t,r,i);break;case 1:a=new KeyframedMultidimensionalProperty(e,t,r,i)}else a=new ValueProperty(e,t,r,i);return a.effectsSequence.length&&i.addDynamicProperty(a),a}};function DynamicPropertyContainer(){}DynamicPropertyContainer.prototype={addDynamicProperty:function(e){-1===this.dynamicProperties.indexOf(e)&&(this.dynamicProperties.push(e),this.container.addDynamicProperty(this),this._isAnimated=!0)},iterateDynamicProperties:function(){var e;this._mdf=!1;var t=this.dynamicProperties.length;for(e=0;e<t;e+=1)this.dynamicProperties[e].getValue(),this.dynamicProperties[e]._mdf&&(this._mdf=!0)},initDynamicPropertyContainer:function(e){this.container=e,this.dynamicProperties=[],this._mdf=!1,this._isAnimated=!1}};var pointPool=poolFactory(8,(function(){return createTypedArray("float32",2)}));function ShapePath(){this.c=!1,this._length=0,this._maxLength=8,this.v=createSizedArray(this._maxLength),this.o=createSizedArray(this._maxLength),this.i=createSizedArray(this._maxLength)}ShapePath.prototype.setPathData=function(e,t){this.c=e,this.setLength(t);for(var n=0;n<t;)this.v[n]=pointPool.newElement(),this.o[n]=pointPool.newElement(),this.i[n]=pointPool.newElement(),n+=1},ShapePath.prototype.setLength=function(e){for(;this._maxLength<e;)this.doubleArrayLength();this._length=e},ShapePath.prototype.doubleArrayLength=function(){this.v=this.v.concat(createSizedArray(this._maxLength)),this.i=this.i.concat(createSizedArray(this._maxLength)),this.o=this.o.concat(createSizedArray(this._maxLength)),this._maxLength*=2},ShapePath.prototype.setXYAt=function(e,t,n,r,i){var a;switch(this._length=Math.max(this._length,r+1),this._length>=this._maxLength&&this.doubleArrayLength(),n){case"v":a=this.v;break;case"i":a=this.i;break;case"o":a=this.o;break;default:a=[]}(!a[r]||a[r]&&!i)&&(a[r]=pointPool.newElement()),a[r][0]=e,a[r][1]=t},ShapePath.prototype.setTripleAt=function(e,t,n,r,i,a,s,o){this.setXYAt(e,t,"v",s,o),this.setXYAt(n,r,"o",s,o),this.setXYAt(i,a,"i",s,o)},ShapePath.prototype.reverse=function(){var e=new ShapePath;e.setPathData(this.c,this._length);var t=this.v,n=this.o,r=this.i,i=0;this.c&&(e.setTripleAt(t[0][0],t[0][1],r[0][0],r[0][1],n[0][0],n[0][1],0,!1),i=1);var a,s=this._length-1,o=this._length;for(a=i;a<o;a+=1)e.setTripleAt(t[s][0],t[s][1],r[s][0],r[s][1],n[s][0],n[s][1],a,!1),s-=1;return e},ShapePath.prototype.length=function(){return this._length};var shapePool=function(){var e=poolFactory(4,(function(){return new ShapePath}),(function(e){var t,n=e._length;for(t=0;t<n;t+=1)pointPool.release(e.v[t]),pointPool.release(e.i[t]),pointPool.release(e.o[t]),e.v[t]=null,e.i[t]=null,e.o[t]=null;e._length=0,e.c=!1}));return e.clone=function(t){var n,r=e.newElement(),i=void 0===t._length?t.v.length:t._length;for(r.setLength(i),r.c=t.c,n=0;n<i;n+=1)r.setTripleAt(t.v[n][0],t.v[n][1],t.o[n][0],t.o[n][1],t.i[n][0],t.i[n][1],n);return r},e}();function ShapeCollection(){this._length=0,this._maxLength=4,this.shapes=createSizedArray(this._maxLength)}ShapeCollection.prototype.addShape=function(e){this._length===this._maxLength&&(this.shapes=this.shapes.concat(createSizedArray(this._maxLength)),this._maxLength*=2),this.shapes[this._length]=e,this._length+=1},ShapeCollection.prototype.releaseShapes=function(){var e;for(e=0;e<this._length;e+=1)shapePool.release(this.shapes[e]);this._length=0};var shapeCollectionPool=function(){var e={newShapeCollection:function(){return t?r[t-=1]:new ShapeCollection},release:function(e){var i,a=e._length;for(i=0;i<a;i+=1)shapePool.release(e.shapes[i]);e._length=0,t===n&&(r=pooling.double(r),n*=2),r[t]=e,t+=1}},t=0,n=4,r=createSizedArray(n);return e}(),ShapePropertyFactory=function(){var e=-999999;function t(e,t,n){var r,i,a,s,o,l,c,d,h,u=n.lastIndex,p=this.keyframes;if(e<p[0].t-this.offsetTime)r=p[0].s[0],a=!0,u=0;else if(e>=p[p.length-1].t-this.offsetTime)r=p[p.length-1].s?p[p.length-1].s[0]:p[p.length-2].e[0],a=!0;else{for(var f,m,g,y=u,v=p.length-1,x=!0;x&&(f=p[y],!((m=p[y+1]).t-this.offsetTime>e));)y<v-1?y+=1:x=!1;if(g=this.keyframesMetadata[y]||{},u=y,!(a=1===f.h)){if(e>=m.t-this.offsetTime)d=1;else if(e<f.t-this.offsetTime)d=0;else{var S;g.__fnct?S=g.__fnct:(S=BezierFactory.getBezierEasing(f.o.x,f.o.y,f.i.x,f.i.y).get,g.__fnct=S),d=S((e-(f.t-this.offsetTime))/(m.t-this.offsetTime-(f.t-this.offsetTime)))}i=m.s?m.s[0]:f.e[0]}r=f.s[0]}for(l=t._length,c=r.i[0].length,n.lastIndex=u,s=0;s<l;s+=1)for(o=0;o<c;o+=1)h=a?r.i[s][o]:r.i[s][o]+(i.i[s][o]-r.i[s][o])*d,t.i[s][o]=h,h=a?r.o[s][o]:r.o[s][o]+(i.o[s][o]-r.o[s][o])*d,t.o[s][o]=h,h=a?r.v[s][o]:r.v[s][o]+(i.v[s][o]-r.v[s][o])*d,t.v[s][o]=h}function n(){var t=this.comp.renderedFrame-this.offsetTime,n=this.keyframes[0].t-this.offsetTime,r=this.keyframes[this.keyframes.length-1].t-this.offsetTime,i=this._caching.lastFrame;return i!==e&&(i<n&&t<n||i>r&&t>r)||(this._caching.lastIndex=i<t?this._caching.lastIndex:0,this.interpolateShape(t,this.pv,this._caching)),this._caching.lastFrame=t,this.pv}function r(){this.paths=this.localShapeCollection}function i(e){(function(e,t){if(e._length!==t._length||e.c!==t.c)return!1;var n,r=e._length;for(n=0;n<r;n+=1)if(e.v[n][0]!==t.v[n][0]||e.v[n][1]!==t.v[n][1]||e.o[n][0]!==t.o[n][0]||e.o[n][1]!==t.o[n][1]||e.i[n][0]!==t.i[n][0]||e.i[n][1]!==t.i[n][1])return!1;return!0})(this.v,e)||(this.v=shapePool.clone(e),this.localShapeCollection.releaseShapes(),this.localShapeCollection.addShape(this.v),this._mdf=!0,this.paths=this.localShapeCollection)}function a(){if(this.elem.globalData.frameId!==this.frameId)if(this.effectsSequence.length)if(this.lock)this.setVValue(this.pv);else{var e,t;this.lock=!0,this._mdf=!1,e=this.kf?this.pv:this.data.ks?this.data.ks.k:this.data.pt.k;var n=this.effectsSequence.length;for(t=0;t<n;t+=1)e=this.effectsSequence[t](e);this.setVValue(e),this.lock=!1,this.frameId=this.elem.globalData.frameId}else this._mdf=!1}function s(e,t,n){this.propType="shape",this.comp=e.comp,this.container=e,this.elem=e,this.data=t,this.k=!1,this.kf=!1,this._mdf=!1;var i=3===n?t.pt.k:t.ks.k;this.v=shapePool.clone(i),this.pv=shapePool.clone(this.v),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.paths.addShape(this.v),this.reset=r,this.effectsSequence=[]}function o(e){this.effectsSequence.push(e),this.container.addDynamicProperty(this)}function l(t,i,a){this.propType="shape",this.comp=t.comp,this.elem=t,this.container=t,this.offsetTime=t.data.st,this.keyframes=3===a?i.pt.k:i.ks.k,this.keyframesMetadata=[],this.k=!0,this.kf=!0;var s=this.keyframes[0].s[0].i.length;this.v=shapePool.newElement(),this.v.setPathData(this.keyframes[0].s[0].c,s),this.pv=shapePool.clone(this.v),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.paths.addShape(this.v),this.lastFrame=e,this.reset=r,this._caching={lastFrame:e,lastIndex:0},this.effectsSequence=[n.bind(this)]}s.prototype.interpolateShape=t,s.prototype.getValue=a,s.prototype.setVValue=i,s.prototype.addEffect=o,l.prototype.getValue=a,l.prototype.interpolateShape=t,l.prototype.setVValue=i,l.prototype.addEffect=o;var c=function(){var e=roundCorner;function t(e,t){this.v=shapePool.newElement(),this.v.setPathData(!0,4),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.localShapeCollection.addShape(this.v),this.d=t.d,this.elem=e,this.comp=e.comp,this.frameId=-1,this.initDynamicPropertyContainer(e),this.p=PropertyFactory.getProp(e,t.p,1,0,this),this.s=PropertyFactory.getProp(e,t.s,1,0,this),this.dynamicProperties.length?this.k=!0:(this.k=!1,this.convertEllToPath())}return t.prototype={reset:r,getValue:function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf&&this.convertEllToPath())},convertEllToPath:function(){var t=this.p.v[0],n=this.p.v[1],r=this.s.v[0]/2,i=this.s.v[1]/2,a=3!==this.d,s=this.v;s.v[0][0]=t,s.v[0][1]=n-i,s.v[1][0]=a?t+r:t-r,s.v[1][1]=n,s.v[2][0]=t,s.v[2][1]=n+i,s.v[3][0]=a?t-r:t+r,s.v[3][1]=n,s.i[0][0]=a?t-r*e:t+r*e,s.i[0][1]=n-i,s.i[1][0]=a?t+r:t-r,s.i[1][1]=n-i*e,s.i[2][0]=a?t+r*e:t-r*e,s.i[2][1]=n+i,s.i[3][0]=a?t-r:t+r,s.i[3][1]=n+i*e,s.o[0][0]=a?t+r*e:t-r*e,s.o[0][1]=n-i,s.o[1][0]=a?t+r:t-r,s.o[1][1]=n+i*e,s.o[2][0]=a?t-r*e:t+r*e,s.o[2][1]=n+i,s.o[3][0]=a?t-r:t+r,s.o[3][1]=n-i*e}},extendPrototype([DynamicPropertyContainer],t),t}(),d=function(){function e(e,t){this.v=shapePool.newElement(),this.v.setPathData(!0,0),this.elem=e,this.comp=e.comp,this.data=t,this.frameId=-1,this.d=t.d,this.initDynamicPropertyContainer(e),1===t.sy?(this.ir=PropertyFactory.getProp(e,t.ir,0,0,this),this.is=PropertyFactory.getProp(e,t.is,0,.01,this),this.convertToPath=this.convertStarToPath):this.convertToPath=this.convertPolygonToPath,this.pt=PropertyFactory.getProp(e,t.pt,0,0,this),this.p=PropertyFactory.getProp(e,t.p,1,0,this),this.r=PropertyFactory.getProp(e,t.r,0,degToRads,this),this.or=PropertyFactory.getProp(e,t.or,0,0,this),this.os=PropertyFactory.getProp(e,t.os,0,.01,this),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.localShapeCollection.addShape(this.v),this.paths=this.localShapeCollection,this.dynamicProperties.length?this.k=!0:(this.k=!1,this.convertToPath())}return e.prototype={reset:r,getValue:function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf&&this.convertToPath())},convertStarToPath:function(){var e,t,n,r,i=2*Math.floor(this.pt.v),a=2*Math.PI/i,s=!0,o=this.or.v,l=this.ir.v,c=this.os.v,d=this.is.v,h=2*Math.PI*o/(2*i),u=2*Math.PI*l/(2*i),p=-Math.PI/2;p+=this.r.v;var f=3===this.data.d?-1:1;for(this.v._length=0,e=0;e<i;e+=1){n=s?c:d,r=s?h:u;var m=(t=s?o:l)*Math.cos(p),g=t*Math.sin(p),y=0===m&&0===g?0:g/Math.sqrt(m*m+g*g),v=0===m&&0===g?0:-m/Math.sqrt(m*m+g*g);m+=+this.p.v[0],g+=+this.p.v[1],this.v.setTripleAt(m,g,m-y*r*n*f,g-v*r*n*f,m+y*r*n*f,g+v*r*n*f,e,!0),s=!s,p+=a*f}},convertPolygonToPath:function(){var e,t=Math.floor(this.pt.v),n=2*Math.PI/t,r=this.or.v,i=this.os.v,a=2*Math.PI*r/(4*t),s=.5*-Math.PI,o=3===this.data.d?-1:1;for(s+=this.r.v,this.v._length=0,e=0;e<t;e+=1){var l=r*Math.cos(s),c=r*Math.sin(s),d=0===l&&0===c?0:c/Math.sqrt(l*l+c*c),h=0===l&&0===c?0:-l/Math.sqrt(l*l+c*c);l+=+this.p.v[0],c+=+this.p.v[1],this.v.setTripleAt(l,c,l-d*a*i*o,c-h*a*i*o,l+d*a*i*o,c+h*a*i*o,e,!0),s+=n*o}this.paths.length=0,this.paths[0]=this.v}},extendPrototype([DynamicPropertyContainer],e),e}(),h=function(){function e(e,t){this.v=shapePool.newElement(),this.v.c=!0,this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.localShapeCollection.addShape(this.v),this.paths=this.localShapeCollection,this.elem=e,this.comp=e.comp,this.frameId=-1,this.d=t.d,this.initDynamicPropertyContainer(e),this.p=PropertyFactory.getProp(e,t.p,1,0,this),this.s=PropertyFactory.getProp(e,t.s,1,0,this),this.r=PropertyFactory.getProp(e,t.r,0,0,this),this.dynamicProperties.length?this.k=!0:(this.k=!1,this.convertRectToPath())}return e.prototype={convertRectToPath:function(){var e=this.p.v[0],t=this.p.v[1],n=this.s.v[0]/2,r=this.s.v[1]/2,i=bmMin(n,r,this.r.v),a=i*(1-roundCorner);this.v._length=0,2===this.d||1===this.d?(this.v.setTripleAt(e+n,t-r+i,e+n,t-r+i,e+n,t-r+a,0,!0),this.v.setTripleAt(e+n,t+r-i,e+n,t+r-a,e+n,t+r-i,1,!0),0!==i?(this.v.setTripleAt(e+n-i,t+r,e+n-i,t+r,e+n-a,t+r,2,!0),this.v.setTripleAt(e-n+i,t+r,e-n+a,t+r,e-n+i,t+r,3,!0),this.v.setTripleAt(e-n,t+r-i,e-n,t+r-i,e-n,t+r-a,4,!0),this.v.setTripleAt(e-n,t-r+i,e-n,t-r+a,e-n,t-r+i,5,!0),this.v.setTripleAt(e-n+i,t-r,e-n+i,t-r,e-n+a,t-r,6,!0),this.v.setTripleAt(e+n-i,t-r,e+n-a,t-r,e+n-i,t-r,7,!0)):(this.v.setTripleAt(e-n,t+r,e-n+a,t+r,e-n,t+r,2),this.v.setTripleAt(e-n,t-r,e-n,t-r+a,e-n,t-r,3))):(this.v.setTripleAt(e+n,t-r+i,e+n,t-r+a,e+n,t-r+i,0,!0),0!==i?(this.v.setTripleAt(e+n-i,t-r,e+n-i,t-r,e+n-a,t-r,1,!0),this.v.setTripleAt(e-n+i,t-r,e-n+a,t-r,e-n+i,t-r,2,!0),this.v.setTripleAt(e-n,t-r+i,e-n,t-r+i,e-n,t-r+a,3,!0),this.v.setTripleAt(e-n,t+r-i,e-n,t+r-a,e-n,t+r-i,4,!0),this.v.setTripleAt(e-n+i,t+r,e-n+i,t+r,e-n+a,t+r,5,!0),this.v.setTripleAt(e+n-i,t+r,e+n-a,t+r,e+n-i,t+r,6,!0),this.v.setTripleAt(e+n,t+r-i,e+n,t+r-i,e+n,t+r-a,7,!0)):(this.v.setTripleAt(e-n,t-r,e-n+a,t-r,e-n,t-r,1,!0),this.v.setTripleAt(e-n,t+r,e-n,t+r-a,e-n,t+r,2,!0),this.v.setTripleAt(e+n,t+r,e+n-a,t+r,e+n,t+r,3,!0)))},getValue:function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf&&this.convertRectToPath())},reset:r},extendPrototype([DynamicPropertyContainer],e),e}(),u={getShapeProp:function(e,t,n){var r;return 3===n||4===n?r=(3===n?t.pt:t.ks).k.length?new l(e,t,n):new s(e,t,n):5===n?r=new h(e,t):6===n?r=new c(e,t):7===n&&(r=new d(e,t)),r.k&&e.addDynamicProperty(r),r},getConstructorFunction:function(){return s},getKeyframedConstructorFunction:function(){return l}};return u}(),Matrix=function(){var e=Math.cos,t=Math.sin,n=Math.tan,r=Math.round;function i(){return this.props[0]=1,this.props[1]=0,this.props[2]=0,this.props[3]=0,this.props[4]=0,this.props[5]=1,this.props[6]=0,this.props[7]=0,this.props[8]=0,this.props[9]=0,this.props[10]=1,this.props[11]=0,this.props[12]=0,this.props[13]=0,this.props[14]=0,this.props[15]=1,this}function a(n){if(0===n)return this;var r=e(n),i=t(n);return this._t(r,-i,0,0,i,r,0,0,0,0,1,0,0,0,0,1)}function s(n){if(0===n)return this;var r=e(n),i=t(n);return this._t(1,0,0,0,0,r,-i,0,0,i,r,0,0,0,0,1)}function o(n){if(0===n)return this;var r=e(n),i=t(n);return this._t(r,0,i,0,0,1,0,0,-i,0,r,0,0,0,0,1)}function l(n){if(0===n)return this;var r=e(n),i=t(n);return this._t(r,-i,0,0,i,r,0,0,0,0,1,0,0,0,0,1)}function c(e,t){return this._t(1,t,e,1,0,0)}function d(e,t){return this.shear(n(e),n(t))}function h(r,i){var a=e(i),s=t(i);return this._t(a,s,0,0,-s,a,0,0,0,0,1,0,0,0,0,1)._t(1,0,0,0,n(r),1,0,0,0,0,1,0,0,0,0,1)._t(a,-s,0,0,s,a,0,0,0,0,1,0,0,0,0,1)}function u(e,t,n){return n||0===n||(n=1),1===e&&1===t&&1===n?this:this._t(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1)}function p(e,t,n,r,i,a,s,o,l,c,d,h,u,p,f,m){return this.props[0]=e,this.props[1]=t,this.props[2]=n,this.props[3]=r,this.props[4]=i,this.props[5]=a,this.props[6]=s,this.props[7]=o,this.props[8]=l,this.props[9]=c,this.props[10]=d,this.props[11]=h,this.props[12]=u,this.props[13]=p,this.props[14]=f,this.props[15]=m,this}function f(e,t,n){return n=n||0,0!==e||0!==t||0!==n?this._t(1,0,0,0,0,1,0,0,0,0,1,0,e,t,n,1):this}function m(e,t,n,r,i,a,s,o,l,c,d,h,u,p,f,m){var g=this.props;if(1===e&&0===t&&0===n&&0===r&&0===i&&1===a&&0===s&&0===o&&0===l&&0===c&&1===d&&0===h)return g[12]=g[12]*e+g[15]*u,g[13]=g[13]*a+g[15]*p,g[14]=g[14]*d+g[15]*f,g[15]*=m,this._identityCalculated=!1,this;var y=g[0],v=g[1],x=g[2],S=g[3],A=g[4],b=g[5],k=g[6],w=g[7],j=g[8],M=g[9],P=g[10],O=g[11],T=g[12],I=g[13],C=g[14],E=g[15];return g[0]=y*e+v*i+x*l+S*u,g[1]=y*t+v*a+x*c+S*p,g[2]=y*n+v*s+x*d+S*f,g[3]=y*r+v*o+x*h+S*m,g[4]=A*e+b*i+k*l+w*u,g[5]=A*t+b*a+k*c+w*p,g[6]=A*n+b*s+k*d+w*f,g[7]=A*r+b*o+k*h+w*m,g[8]=j*e+M*i+P*l+O*u,g[9]=j*t+M*a+P*c+O*p,g[10]=j*n+M*s+P*d+O*f,g[11]=j*r+M*o+P*h+O*m,g[12]=T*e+I*i+C*l+E*u,g[13]=T*t+I*a+C*c+E*p,g[14]=T*n+I*s+C*d+E*f,g[15]=T*r+I*o+C*h+E*m,this._identityCalculated=!1,this}function g(e){var t=e.props;return this.transform(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])}function y(){return this._identityCalculated||(this._identity=!(1!==this.props[0]||0!==this.props[1]||0!==this.props[2]||0!==this.props[3]||0!==this.props[4]||1!==this.props[5]||0!==this.props[6]||0!==this.props[7]||0!==this.props[8]||0!==this.props[9]||1!==this.props[10]||0!==this.props[11]||0!==this.props[12]||0!==this.props[13]||0!==this.props[14]||1!==this.props[15]),this._identityCalculated=!0),this._identity}function v(e){for(var t=0;t<16;){if(e.props[t]!==this.props[t])return!1;t+=1}return!0}function x(e){var t;for(t=0;t<16;t+=1)e.props[t]=this.props[t];return e}function S(e){var t;for(t=0;t<16;t+=1)this.props[t]=e[t]}function A(e,t,n){return{x:e*this.props[0]+t*this.props[4]+n*this.props[8]+this.props[12],y:e*this.props[1]+t*this.props[5]+n*this.props[9]+this.props[13],z:e*this.props[2]+t*this.props[6]+n*this.props[10]+this.props[14]}}function b(e,t,n){return e*this.props[0]+t*this.props[4]+n*this.props[8]+this.props[12]}function k(e,t,n){return e*this.props[1]+t*this.props[5]+n*this.props[9]+this.props[13]}function w(e,t,n){return e*this.props[2]+t*this.props[6]+n*this.props[10]+this.props[14]}function j(){var e=this.props[0]*this.props[5]-this.props[1]*this.props[4],t=this.props[5]/e,n=-this.props[1]/e,r=-this.props[4]/e,i=this.props[0]/e,a=(this.props[4]*this.props[13]-this.props[5]*this.props[12])/e,s=-(this.props[0]*this.props[13]-this.props[1]*this.props[12])/e,o=new Matrix;return o.props[0]=t,o.props[1]=n,o.props[4]=r,o.props[5]=i,o.props[12]=a,o.props[13]=s,o}function M(e){return this.getInverseMatrix().applyToPointArray(e[0],e[1],e[2]||0)}function P(e){var t,n=e.length,r=[];for(t=0;t<n;t+=1)r[t]=M(e[t]);return r}function O(e,t,n){var r=createTypedArray("float32",6);if(this.isIdentity())r[0]=e[0],r[1]=e[1],r[2]=t[0],r[3]=t[1],r[4]=n[0],r[5]=n[1];else{var i=this.props[0],a=this.props[1],s=this.props[4],o=this.props[5],l=this.props[12],c=this.props[13];r[0]=e[0]*i+e[1]*s+l,r[1]=e[0]*a+e[1]*o+c,r[2]=t[0]*i+t[1]*s+l,r[3]=t[0]*a+t[1]*o+c,r[4]=n[0]*i+n[1]*s+l,r[5]=n[0]*a+n[1]*o+c}return r}function T(e,t,n){return this.isIdentity()?[e,t,n]:[e*this.props[0]+t*this.props[4]+n*this.props[8]+this.props[12],e*this.props[1]+t*this.props[5]+n*this.props[9]+this.props[13],e*this.props[2]+t*this.props[6]+n*this.props[10]+this.props[14]]}function I(e,t){if(this.isIdentity())return e+","+t;var n=this.props;return Math.round(100*(e*n[0]+t*n[4]+n[12]))/100+","+Math.round(100*(e*n[1]+t*n[5]+n[13]))/100}function C(){for(var e=0,t=this.props,n="matrix3d(";e<16;)n+=r(1e4*t[e])/1e4,n+=15===e?")":",",e+=1;return n}function E(e){return e<1e-6&&e>0||e>-1e-6&&e<0?r(1e4*e)/1e4:e}function V(){var e=this.props;return"matrix("+E(e[0])+","+E(e[1])+","+E(e[4])+","+E(e[5])+","+E(e[12])+","+E(e[13])+")"}return function(){this.reset=i,this.rotate=a,this.rotateX=s,this.rotateY=o,this.rotateZ=l,this.skew=d,this.skewFromAxis=h,this.shear=c,this.scale=u,this.setTransform=p,this.translate=f,this.transform=m,this.multiply=g,this.applyToPoint=A,this.applyToX=b,this.applyToY=k,this.applyToZ=w,this.applyToPointArray=T,this.applyToTriplePoints=O,this.applyToPointStringified=I,this.toCSS=C,this.to2dCSS=V,this.clone=x,this.cloneFromProps=S,this.equals=v,this.inversePoints=P,this.inversePoint=M,this.getInverseMatrix=j,this._t=this.transform,this.isIdentity=y,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray("float32",16),this.reset()}}();function _typeof$3(e){return _typeof$3="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$3(e)}var lottie={},standalone="__[STANDALONE]__",animationData="__[ANIMATIONDATA]__",renderer="";function setLocation(e){setLocationHref(e)}function searchAnimations(){!0===standalone?animationManager.searchAnimations(animationData,standalone,renderer):animationManager.searchAnimations()}function setSubframeRendering(e){setSubframeEnabled(e)}function setPrefix(e){setIdPrefix(e)}function loadAnimation(e){return!0===standalone&&(e.animationData=JSON.parse(animationData)),animationManager.loadAnimation(e)}function setQuality(e){if("string"===typeof e)switch(e){case"high":setDefaultCurveSegments(200);break;default:case"medium":setDefaultCurveSegments(50);break;case"low":setDefaultCurveSegments(10)}else!isNaN(e)&&e>1&&setDefaultCurveSegments(e);getDefaultCurveSegments()>=50?roundValues(!1):roundValues(!0)}function inBrowser(){return"undefined"!==typeof navigator}function installPlugin(e,t){"expressions"===e&&setExpressionsPlugin(t)}function getFactory(e){switch(e){case"propertyFactory":return PropertyFactory;case"shapePropertyFactory":return ShapePropertyFactory;case"matrix":return Matrix;default:return null}}function checkReady(){"complete"===document.readyState&&(clearInterval(readyStateCheckInterval),searchAnimations())}function getQueryVariable(e){for(var t=queryString.split("&"),n=0;n<t.length;n+=1){var r=t[n].split("=");if(decodeURIComponent(r[0])==e)return decodeURIComponent(r[1])}return null}lottie.play=animationManager.play,lottie.pause=animationManager.pause,lottie.setLocationHref=setLocation,lottie.togglePause=animationManager.togglePause,lottie.setSpeed=animationManager.setSpeed,lottie.setDirection=animationManager.setDirection,lottie.stop=animationManager.stop,lottie.searchAnimations=searchAnimations,lottie.registerAnimation=animationManager.registerAnimation,lottie.loadAnimation=loadAnimation,lottie.setSubframeRendering=setSubframeRendering,lottie.resize=animationManager.resize,lottie.goToAndStop=animationManager.goToAndStop,lottie.destroy=animationManager.destroy,lottie.setQuality=setQuality,lottie.inBrowser=inBrowser,lottie.installPlugin=installPlugin,lottie.freeze=animationManager.freeze,lottie.unfreeze=animationManager.unfreeze,lottie.setVolume=animationManager.setVolume,lottie.mute=animationManager.mute,lottie.unmute=animationManager.unmute,lottie.getRegisteredAnimations=animationManager.getRegisteredAnimations,lottie.useWebWorker=setWebWorker,lottie.setIDPrefix=setPrefix,lottie.__getFactory=getFactory,lottie.version="5.12.2";var queryString="";if(standalone){var scripts=document.getElementsByTagName("script"),index=scripts.length-1,myScript=scripts[index]||{src:""};queryString=myScript.src?myScript.src.replace(/^[^\?]+\??/,""):"",renderer=getQueryVariable("renderer")}var readyStateCheckInterval=setInterval(checkReady,100);try{"object"!==_typeof$3(exports)&&__webpack_require__.amdO}catch(err){}var ShapeModifiers=function(){var e={},t={};return e.registerModifier=function(e,n){t[e]||(t[e]=n)},e.getModifier=function(e,n,r){return new t[e](n,r)},e}();function ShapeModifier(){}function TrimModifier(){}function PuckerAndBloatModifier(){}ShapeModifier.prototype.initModifierProperties=function(){},ShapeModifier.prototype.addShapeToModifier=function(){},ShapeModifier.prototype.addShape=function(e){if(!this.closed){e.sh.container.addDynamicProperty(e.sh);var t={shape:e.sh,data:e,localShapeCollection:shapeCollectionPool.newShapeCollection()};this.shapes.push(t),this.addShapeToModifier(t),this._isAnimated&&e.setAsAnimated()}},ShapeModifier.prototype.init=function(e,t){this.shapes=[],this.elem=e,this.initDynamicPropertyContainer(e),this.initModifierProperties(e,t),this.frameId=initialDefaultFrame,this.closed=!1,this.k=!1,this.dynamicProperties.length?this.k=!0:this.getValue(!0)},ShapeModifier.prototype.processKeys=function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties())},extendPrototype([DynamicPropertyContainer],ShapeModifier),extendPrototype([ShapeModifier],TrimModifier),TrimModifier.prototype.initModifierProperties=function(e,t){this.s=PropertyFactory.getProp(e,t.s,0,.01,this),this.e=PropertyFactory.getProp(e,t.e,0,.01,this),this.o=PropertyFactory.getProp(e,t.o,0,0,this),this.sValue=0,this.eValue=0,this.getValue=this.processKeys,this.m=t.m,this._isAnimated=!!this.s.effectsSequence.length||!!this.e.effectsSequence.length||!!this.o.effectsSequence.length},TrimModifier.prototype.addShapeToModifier=function(e){e.pathsData=[]},TrimModifier.prototype.calculateShapeEdges=function(e,t,n,r,i){var a=[];t<=1?a.push({s:e,e:t}):e>=1?a.push({s:e-1,e:t-1}):(a.push({s:e,e:1}),a.push({s:0,e:t-1}));var s,o,l=[],c=a.length;for(s=0;s<c;s+=1){var d,h;(o=a[s]).e*i<r||o.s*i>r+n||(d=o.s*i<=r?0:(o.s*i-r)/n,h=o.e*i>=r+n?1:(o.e*i-r)/n,l.push([d,h]))}return l.length||l.push([0,0]),l},TrimModifier.prototype.releasePathsData=function(e){var t,n=e.length;for(t=0;t<n;t+=1)segmentsLengthPool.release(e[t]);return e.length=0,e},TrimModifier.prototype.processShapes=function(e){var t,n,r,i;if(this._mdf||e){var a=this.o.v%360/360;if(a<0&&(a+=1),(t=this.s.v>1?1+a:this.s.v<0?0+a:this.s.v+a)>(n=this.e.v>1?1+a:this.e.v<0?0+a:this.e.v+a)){var s=t;t=n,n=s}t=1e-4*Math.round(1e4*t),n=1e-4*Math.round(1e4*n),this.sValue=t,this.eValue=n}else t=this.sValue,n=this.eValue;var o,l,c,d,h,u=this.shapes.length,p=0;if(n===t)for(i=0;i<u;i+=1)this.shapes[i].localShapeCollection.releaseShapes(),this.shapes[i].shape._mdf=!0,this.shapes[i].shape.paths=this.shapes[i].localShapeCollection,this._mdf&&(this.shapes[i].pathsData.length=0);else if(1===n&&0===t||0===n&&1===t){if(this._mdf)for(i=0;i<u;i+=1)this.shapes[i].pathsData.length=0,this.shapes[i].shape._mdf=!0}else{var f,m,g=[];for(i=0;i<u;i+=1)if((f=this.shapes[i]).shape._mdf||this._mdf||e||2===this.m){if(l=(r=f.shape.paths)._length,h=0,!f.shape._mdf&&f.pathsData.length)h=f.totalShapeLength;else{for(c=this.releasePathsData(f.pathsData),o=0;o<l;o+=1)d=bez.getSegmentsLength(r.shapes[o]),c.push(d),h+=d.totalLength;f.totalShapeLength=h,f.pathsData=c}p+=h,f.shape._mdf=!0}else f.shape.paths=f.localShapeCollection;var y,v=t,x=n,S=0;for(i=u-1;i>=0;i-=1)if((f=this.shapes[i]).shape._mdf){for((m=f.localShapeCollection).releaseShapes(),2===this.m&&u>1?(y=this.calculateShapeEdges(t,n,f.totalShapeLength,S,p),S+=f.totalShapeLength):y=[[v,x]],l=y.length,o=0;o<l;o+=1){v=y[o][0],x=y[o][1],g.length=0,x<=1?g.push({s:f.totalShapeLength*v,e:f.totalShapeLength*x}):v>=1?g.push({s:f.totalShapeLength*(v-1),e:f.totalShapeLength*(x-1)}):(g.push({s:f.totalShapeLength*v,e:f.totalShapeLength}),g.push({s:0,e:f.totalShapeLength*(x-1)}));var A=this.addShapes(f,g[0]);if(g[0].s!==g[0].e){if(g.length>1)if(f.shape.paths.shapes[f.shape.paths._length-1].c){var b=A.pop();this.addPaths(A,m),A=this.addShapes(f,g[1],b)}else this.addPaths(A,m),A=this.addShapes(f,g[1]);this.addPaths(A,m)}}f.shape.paths=m}}},TrimModifier.prototype.addPaths=function(e,t){var n,r=e.length;for(n=0;n<r;n+=1)t.addShape(e[n])},TrimModifier.prototype.addSegment=function(e,t,n,r,i,a,s){i.setXYAt(t[0],t[1],"o",a),i.setXYAt(n[0],n[1],"i",a+1),s&&i.setXYAt(e[0],e[1],"v",a),i.setXYAt(r[0],r[1],"v",a+1)},TrimModifier.prototype.addSegmentFromArray=function(e,t,n,r){t.setXYAt(e[1],e[5],"o",n),t.setXYAt(e[2],e[6],"i",n+1),r&&t.setXYAt(e[0],e[4],"v",n),t.setXYAt(e[3],e[7],"v",n+1)},TrimModifier.prototype.addShapes=function(e,t,n){var r,i,a,s,o,l,c,d,h=e.pathsData,u=e.shape.paths.shapes,p=e.shape.paths._length,f=0,m=[],g=!0;for(n?(o=n._length,d=n._length):(n=shapePool.newElement(),o=0,d=0),m.push(n),r=0;r<p;r+=1){for(l=h[r].lengths,n.c=u[r].c,a=u[r].c?l.length:l.length+1,i=1;i<a;i+=1)if(f+(s=l[i-1]).addedLength<t.s)f+=s.addedLength,n.c=!1;else{if(f>t.e){n.c=!1;break}t.s<=f&&t.e>=f+s.addedLength?(this.addSegment(u[r].v[i-1],u[r].o[i-1],u[r].i[i],u[r].v[i],n,o,g),g=!1):(c=bez.getNewSegment(u[r].v[i-1],u[r].v[i],u[r].o[i-1],u[r].i[i],(t.s-f)/s.addedLength,(t.e-f)/s.addedLength,l[i-1]),this.addSegmentFromArray(c,n,o,g),g=!1,n.c=!1),f+=s.addedLength,o+=1}if(u[r].c&&l.length){if(s=l[i-1],f<=t.e){var y=l[i-1].addedLength;t.s<=f&&t.e>=f+y?(this.addSegment(u[r].v[i-1],u[r].o[i-1],u[r].i[0],u[r].v[0],n,o,g),g=!1):(c=bez.getNewSegment(u[r].v[i-1],u[r].v[0],u[r].o[i-1],u[r].i[0],(t.s-f)/y,(t.e-f)/y,l[i-1]),this.addSegmentFromArray(c,n,o,g),g=!1,n.c=!1)}else n.c=!1;f+=s.addedLength,o+=1}if(n._length&&(n.setXYAt(n.v[d][0],n.v[d][1],"i",d),n.setXYAt(n.v[n._length-1][0],n.v[n._length-1][1],"o",n._length-1)),f>t.e)break;r<p-1&&(n=shapePool.newElement(),g=!0,m.push(n),o=0)}return m},extendPrototype([ShapeModifier],PuckerAndBloatModifier),PuckerAndBloatModifier.prototype.initModifierProperties=function(e,t){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(e,t.a,0,null,this),this._isAnimated=!!this.amount.effectsSequence.length},PuckerAndBloatModifier.prototype.processPath=function(e,t){var n=t/100,r=[0,0],i=e._length,a=0;for(a=0;a<i;a+=1)r[0]+=e.v[a][0],r[1]+=e.v[a][1];r[0]/=i,r[1]/=i;var s,o,l,c,d,h,u=shapePool.newElement();for(u.c=e.c,a=0;a<i;a+=1)s=e.v[a][0]+(r[0]-e.v[a][0])*n,o=e.v[a][1]+(r[1]-e.v[a][1])*n,l=e.o[a][0]+(r[0]-e.o[a][0])*-n,c=e.o[a][1]+(r[1]-e.o[a][1])*-n,d=e.i[a][0]+(r[0]-e.i[a][0])*-n,h=e.i[a][1]+(r[1]-e.i[a][1])*-n,u.setTripleAt(s,o,l,c,d,h,a);return u},PuckerAndBloatModifier.prototype.processShapes=function(e){var t,n,r,i,a,s,o=this.shapes.length,l=this.amount.v;if(0!==l)for(n=0;n<o;n+=1){if(s=(a=this.shapes[n]).localShapeCollection,a.shape._mdf||this._mdf||e)for(s.releaseShapes(),a.shape._mdf=!0,t=a.shape.paths.shapes,i=a.shape.paths._length,r=0;r<i;r+=1)s.addShape(this.processPath(t[r],l));a.shape.paths=a.localShapeCollection}this.dynamicProperties.length||(this._mdf=!1)};var TransformPropertyFactory=function(){var e=[0,0];function t(e,t,n){if(this.elem=e,this.frameId=-1,this.propType="transform",this.data=t,this.v=new Matrix,this.pre=new Matrix,this.appliedTransformations=0,this.initDynamicPropertyContainer(n||e),t.p&&t.p.s?(this.px=PropertyFactory.getProp(e,t.p.x,0,0,this),this.py=PropertyFactory.getProp(e,t.p.y,0,0,this),t.p.z&&(this.pz=PropertyFactory.getProp(e,t.p.z,0,0,this))):this.p=PropertyFactory.getProp(e,t.p||{k:[0,0,0]},1,0,this),t.rx){if(this.rx=PropertyFactory.getProp(e,t.rx,0,degToRads,this),this.ry=PropertyFactory.getProp(e,t.ry,0,degToRads,this),this.rz=PropertyFactory.getProp(e,t.rz,0,degToRads,this),t.or.k[0].ti){var r,i=t.or.k.length;for(r=0;r<i;r+=1)t.or.k[r].to=null,t.or.k[r].ti=null}this.or=PropertyFactory.getProp(e,t.or,1,degToRads,this),this.or.sh=!0}else this.r=PropertyFactory.getProp(e,t.r||{k:0},0,degToRads,this);t.sk&&(this.sk=PropertyFactory.getProp(e,t.sk,0,degToRads,this),this.sa=PropertyFactory.getProp(e,t.sa,0,degToRads,this)),this.a=PropertyFactory.getProp(e,t.a||{k:[0,0,0]},1,0,this),this.s=PropertyFactory.getProp(e,t.s||{k:[100,100,100]},1,.01,this),t.o?this.o=PropertyFactory.getProp(e,t.o,0,.01,e):this.o={_mdf:!1,v:1},this._isDirty=!0,this.dynamicProperties.length||this.getValue(!0)}return t.prototype={applyToMatrix:function(e){var t=this._mdf;this.iterateDynamicProperties(),this._mdf=this._mdf||t,this.a&&e.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.s&&e.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.sk&&e.skewFromAxis(-this.sk.v,this.sa.v),this.r?e.rotate(-this.r.v):e.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.data.p.s?this.data.p.z?e.translate(this.px.v,this.py.v,-this.pz.v):e.translate(this.px.v,this.py.v,0):e.translate(this.p.v[0],this.p.v[1],-this.p.v[2])},getValue:function(t){if(this.elem.globalData.frameId!==this.frameId){if(this._isDirty&&(this.precalculateMatrix(),this._isDirty=!1),this.iterateDynamicProperties(),this._mdf||t){var n;if(this.v.cloneFromProps(this.pre.props),this.appliedTransformations<1&&this.v.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations<2&&this.v.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.sk&&this.appliedTransformations<3&&this.v.skewFromAxis(-this.sk.v,this.sa.v),this.r&&this.appliedTransformations<4?this.v.rotate(-this.r.v):!this.r&&this.appliedTransformations<4&&this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.autoOriented){var r,i;if(n=this.elem.globalData.frameRate,this.p&&this.p.keyframes&&this.p.getValueAtTime)this.p._caching.lastFrame+this.p.offsetTime<=this.p.keyframes[0].t?(r=this.p.getValueAtTime((this.p.keyframes[0].t+.01)/n,0),i=this.p.getValueAtTime(this.p.keyframes[0].t/n,0)):this.p._caching.lastFrame+this.p.offsetTime>=this.p.keyframes[this.p.keyframes.length-1].t?(r=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/n,0),i=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/n,0)):(r=this.p.pv,i=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/n,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){r=[],i=[];var a=this.px,s=this.py;a._caching.lastFrame+a.offsetTime<=a.keyframes[0].t?(r[0]=a.getValueAtTime((a.keyframes[0].t+.01)/n,0),r[1]=s.getValueAtTime((s.keyframes[0].t+.01)/n,0),i[0]=a.getValueAtTime(a.keyframes[0].t/n,0),i[1]=s.getValueAtTime(s.keyframes[0].t/n,0)):a._caching.lastFrame+a.offsetTime>=a.keyframes[a.keyframes.length-1].t?(r[0]=a.getValueAtTime(a.keyframes[a.keyframes.length-1].t/n,0),r[1]=s.getValueAtTime(s.keyframes[s.keyframes.length-1].t/n,0),i[0]=a.getValueAtTime((a.keyframes[a.keyframes.length-1].t-.01)/n,0),i[1]=s.getValueAtTime((s.keyframes[s.keyframes.length-1].t-.01)/n,0)):(r=[a.pv,s.pv],i[0]=a.getValueAtTime((a._caching.lastFrame+a.offsetTime-.01)/n,a.offsetTime),i[1]=s.getValueAtTime((s._caching.lastFrame+s.offsetTime-.01)/n,s.offsetTime))}else r=i=e;this.v.rotate(-Math.atan2(r[1]-i[1],r[0]-i[0]))}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}this.frameId=this.elem.globalData.frameId}},precalculateMatrix:function(){if(this.appliedTransformations=0,this.pre.reset(),!this.a.effectsSequence.length&&(this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1,!this.s.effectsSequence.length)){if(this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2,this.sk){if(this.sk.effectsSequence.length||this.sa.effectsSequence.length)return;this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3}this.r?this.r.effectsSequence.length||(this.pre.rotate(-this.r.v),this.appliedTransformations=4):this.rz.effectsSequence.length||this.ry.effectsSequence.length||this.rx.effectsSequence.length||this.or.effectsSequence.length||(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4)}},autoOrient:function(){}},extendPrototype([DynamicPropertyContainer],t),t.prototype.addDynamicProperty=function(e){this._addDynamicProperty(e),this.elem.addDynamicProperty(e),this._isDirty=!0},t.prototype._addDynamicProperty=DynamicPropertyContainer.prototype.addDynamicProperty,{getTransformProperty:function(e,n,r){return new t(e,n,r)}}}();function RepeaterModifier(){}function RoundCornersModifier(){}function floatEqual(e,t){return 1e5*Math.abs(e-t)<=Math.min(Math.abs(e),Math.abs(t))}function floatZero(e){return Math.abs(e)<=1e-5}function lerp(e,t,n){return e*(1-n)+t*n}function lerpPoint(e,t,n){return[lerp(e[0],t[0],n),lerp(e[1],t[1],n)]}function quadRoots(e,t,n){if(0===e)return[];var r=t*t-4*e*n;if(r<0)return[];var i=-t/(2*e);if(0===r)return[i];var a=Math.sqrt(r)/(2*e);return[i-a,i+a]}function polynomialCoefficients(e,t,n,r){return[3*t-e-3*n+r,3*e-6*t+3*n,-3*e+3*t,e]}function singlePoint(e){return new PolynomialBezier(e,e,e,e,!1)}function PolynomialBezier(e,t,n,r,i){i&&pointEqual(e,t)&&(t=lerpPoint(e,r,1/3)),i&&pointEqual(n,r)&&(n=lerpPoint(e,r,2/3));var a=polynomialCoefficients(e[0],t[0],n[0],r[0]),s=polynomialCoefficients(e[1],t[1],n[1],r[1]);this.a=[a[0],s[0]],this.b=[a[1],s[1]],this.c=[a[2],s[2]],this.d=[a[3],s[3]],this.points=[e,t,n,r]}function extrema(e,t){var n=e.points[0][t],r=e.points[e.points.length-1][t];if(n>r){var i=r;r=n,n=i}for(var a=quadRoots(3*e.a[t],2*e.b[t],e.c[t]),s=0;s<a.length;s+=1)if(a[s]>0&&a[s]<1){var o=e.point(a[s])[t];o<n?n=o:o>r&&(r=o)}return{min:n,max:r}}function intersectData(e,t,n){var r=e.boundingBox();return{cx:r.cx,cy:r.cy,width:r.width,height:r.height,bez:e,t:(t+n)/2,t1:t,t2:n}}function splitData(e){var t=e.bez.split(.5);return[intersectData(t[0],e.t1,e.t),intersectData(t[1],e.t,e.t2)]}function boxIntersect(e,t){return 2*Math.abs(e.cx-t.cx)<e.width+t.width&&2*Math.abs(e.cy-t.cy)<e.height+t.height}function intersectsImpl(e,t,n,r,i,a){if(boxIntersect(e,t))if(n>=a||e.width<=r&&e.height<=r&&t.width<=r&&t.height<=r)i.push([e.t,t.t]);else{var s=splitData(e),o=splitData(t);intersectsImpl(s[0],o[0],n+1,r,i,a),intersectsImpl(s[0],o[1],n+1,r,i,a),intersectsImpl(s[1],o[0],n+1,r,i,a),intersectsImpl(s[1],o[1],n+1,r,i,a)}}function crossProduct(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function lineIntersection(e,t,n,r){var i=[e[0],e[1],1],a=[t[0],t[1],1],s=[n[0],n[1],1],o=[r[0],r[1],1],l=crossProduct(crossProduct(i,a),crossProduct(s,o));return floatZero(l[2])?null:[l[0]/l[2],l[1]/l[2]]}function polarOffset(e,t,n){return[e[0]+Math.cos(t)*n,e[1]-Math.sin(t)*n]}function pointDistance(e,t){return Math.hypot(e[0]-t[0],e[1]-t[1])}function pointEqual(e,t){return floatEqual(e[0],t[0])&&floatEqual(e[1],t[1])}function ZigZagModifier(){}function setPoint(e,t,n,r,i,a,s){var o=n-Math.PI/2,l=n+Math.PI/2,c=t[0]+Math.cos(n)*r*i,d=t[1]-Math.sin(n)*r*i;e.setTripleAt(c,d,c+Math.cos(o)*a,d-Math.sin(o)*a,c+Math.cos(l)*s,d-Math.sin(l)*s,e.length())}function getPerpendicularVector(e,t){var n=[t[0]-e[0],t[1]-e[1]],r=.5*-Math.PI;return[Math.cos(r)*n[0]-Math.sin(r)*n[1],Math.sin(r)*n[0]+Math.cos(r)*n[1]]}function getProjectingAngle(e,t){var n=0===t?e.length()-1:t-1,r=(t+1)%e.length(),i=getPerpendicularVector(e.v[n],e.v[r]);return Math.atan2(0,1)-Math.atan2(i[1],i[0])}function zigZagCorner(e,t,n,r,i,a,s){var o=getProjectingAngle(t,n),l=t.v[n%t._length],c=t.v[0===n?t._length-1:n-1],d=t.v[(n+1)%t._length],h=2===a?Math.sqrt(Math.pow(l[0]-c[0],2)+Math.pow(l[1]-c[1],2)):0,u=2===a?Math.sqrt(Math.pow(l[0]-d[0],2)+Math.pow(l[1]-d[1],2)):0;setPoint(e,t.v[n%t._length],o,s,r,u/(2*(i+1)),h/(2*(i+1)),a)}function zigZagSegment(e,t,n,r,i,a){for(var s=0;s<r;s+=1){var o=(s+1)/(r+1),l=2===i?Math.sqrt(Math.pow(t.points[3][0]-t.points[0][0],2)+Math.pow(t.points[3][1]-t.points[0][1],2)):0,c=t.normalAngle(o);setPoint(e,t.point(o),c,a,n,l/(2*(r+1)),l/(2*(r+1)),i),a=-a}return a}function linearOffset(e,t,n){var r=Math.atan2(t[0]-e[0],t[1]-e[1]);return[polarOffset(e,r,n),polarOffset(t,r,n)]}function offsetSegment(e,t){var n,r,i,a,s,o,l;n=(l=linearOffset(e.points[0],e.points[1],t))[0],r=l[1],i=(l=linearOffset(e.points[1],e.points[2],t))[0],a=l[1],s=(l=linearOffset(e.points[2],e.points[3],t))[0],o=l[1];var c=lineIntersection(n,r,i,a);null===c&&(c=r);var d=lineIntersection(s,o,i,a);return null===d&&(d=s),new PolynomialBezier(n,c,d,o)}function joinLines(e,t,n,r,i){var a=t.points[3],s=n.points[0];if(3===r)return a;if(pointEqual(a,s))return a;if(2===r){var o=-t.tangentAngle(1),l=-n.tangentAngle(0)+Math.PI,c=lineIntersection(a,polarOffset(a,o+Math.PI/2,100),s,polarOffset(s,o+Math.PI/2,100)),d=c?pointDistance(c,a):pointDistance(a,s)/2,h=polarOffset(a,o,2*d*roundCorner);return e.setXYAt(h[0],h[1],"o",e.length()-1),h=polarOffset(s,l,2*d*roundCorner),e.setTripleAt(s[0],s[1],s[0],s[1],h[0],h[1],e.length()),s}var u=lineIntersection(pointEqual(a,t.points[2])?t.points[0]:t.points[2],a,s,pointEqual(s,n.points[1])?n.points[3]:n.points[1]);return u&&pointDistance(u,a)<i?(e.setTripleAt(u[0],u[1],u[0],u[1],u[0],u[1],e.length()),u):a}function getIntersection(e,t){var n=e.intersections(t);return n.length&&floatEqual(n[0][0],1)&&n.shift(),n.length?n[0]:null}function pruneSegmentIntersection(e,t){var n=e.slice(),r=t.slice(),i=getIntersection(e[e.length-1],t[0]);return i&&(n[e.length-1]=e[e.length-1].split(i[0])[0],r[0]=t[0].split(i[1])[1]),e.length>1&&t.length>1&&(i=getIntersection(e[0],t[t.length-1]))?[[e[0].split(i[0])[0]],[t[t.length-1].split(i[1])[1]]]:[n,r]}function pruneIntersections(e){for(var t,n=1;n<e.length;n+=1)t=pruneSegmentIntersection(e[n-1],e[n]),e[n-1]=t[0],e[n]=t[1];return e.length>1&&(t=pruneSegmentIntersection(e[e.length-1],e[0]),e[e.length-1]=t[0],e[0]=t[1]),e}function offsetSegmentSplit(e,t){var n,r,i,a,s=e.inflectionPoints();if(0===s.length)return[offsetSegment(e,t)];if(1===s.length||floatEqual(s[1],1))return n=(i=e.split(s[0]))[0],r=i[1],[offsetSegment(n,t),offsetSegment(r,t)];n=(i=e.split(s[0]))[0];var o=(s[1]-s[0])/(1-s[0]);return a=(i=i[1].split(o))[0],r=i[1],[offsetSegment(n,t),offsetSegment(a,t),offsetSegment(r,t)]}function OffsetPathModifier(){}function getFontProperties(e){for(var t=e.fStyle?e.fStyle.split(" "):[],n="normal",r="normal",i=t.length,a=0;a<i;a+=1)switch(t[a].toLowerCase()){case"italic":r="italic";break;case"bold":n="700";break;case"black":n="900";break;case"medium":n="500";break;case"regular":case"normal":n="400";break;case"light":case"thin":n="200"}return{style:r,weight:e.fWeight||n}}extendPrototype([ShapeModifier],RepeaterModifier),RepeaterModifier.prototype.initModifierProperties=function(e,t){this.getValue=this.processKeys,this.c=PropertyFactory.getProp(e,t.c,0,null,this),this.o=PropertyFactory.getProp(e,t.o,0,null,this),this.tr=TransformPropertyFactory.getTransformProperty(e,t.tr,this),this.so=PropertyFactory.getProp(e,t.tr.so,0,.01,this),this.eo=PropertyFactory.getProp(e,t.tr.eo,0,.01,this),this.data=t,this.dynamicProperties.length||this.getValue(!0),this._isAnimated=!!this.dynamicProperties.length,this.pMatrix=new Matrix,this.rMatrix=new Matrix,this.sMatrix=new Matrix,this.tMatrix=new Matrix,this.matrix=new Matrix},RepeaterModifier.prototype.applyTransforms=function(e,t,n,r,i,a){var s=a?-1:1,o=r.s.v[0]+(1-r.s.v[0])*(1-i),l=r.s.v[1]+(1-r.s.v[1])*(1-i);e.translate(r.p.v[0]*s*i,r.p.v[1]*s*i,r.p.v[2]),t.translate(-r.a.v[0],-r.a.v[1],r.a.v[2]),t.rotate(-r.r.v*s*i),t.translate(r.a.v[0],r.a.v[1],r.a.v[2]),n.translate(-r.a.v[0],-r.a.v[1],r.a.v[2]),n.scale(a?1/o:o,a?1/l:l),n.translate(r.a.v[0],r.a.v[1],r.a.v[2])},RepeaterModifier.prototype.init=function(e,t,n,r){for(this.elem=e,this.arr=t,this.pos=n,this.elemsData=r,this._currentCopies=0,this._elements=[],this._groups=[],this.frameId=-1,this.initDynamicPropertyContainer(e),this.initModifierProperties(e,t[n]);n>0;)n-=1,this._elements.unshift(t[n]);this.dynamicProperties.length?this.k=!0:this.getValue(!0)},RepeaterModifier.prototype.resetElements=function(e){var t,n=e.length;for(t=0;t<n;t+=1)e[t]._processed=!1,"gr"===e[t].ty&&this.resetElements(e[t].it)},RepeaterModifier.prototype.cloneElements=function(e){var t=JSON.parse(JSON.stringify(e));return this.resetElements(t),t},RepeaterModifier.prototype.changeGroupRender=function(e,t){var n,r=e.length;for(n=0;n<r;n+=1)e[n]._render=t,"gr"===e[n].ty&&this.changeGroupRender(e[n].it,t)},RepeaterModifier.prototype.processShapes=function(e){var t,n,r,i,a,s=!1;if(this._mdf||e){var o,l=Math.ceil(this.c.v);if(this._groups.length<l){for(;this._groups.length<l;){var c={it:this.cloneElements(this._elements),ty:"gr"};c.it.push({a:{a:0,ix:1,k:[0,0]},nm:"Transform",o:{a:0,ix:7,k:100},p:{a:0,ix:2,k:[0,0]},r:{a:1,ix:6,k:[{s:0,e:0,t:0},{s:0,e:0,t:1}]},s:{a:0,ix:3,k:[100,100]},sa:{a:0,ix:5,k:0},sk:{a:0,ix:4,k:0},ty:"tr"}),this.arr.splice(0,0,c),this._groups.splice(0,0,c),this._currentCopies+=1}this.elem.reloadShapes(),s=!0}for(a=0,r=0;r<=this._groups.length-1;r+=1){if(o=a<l,this._groups[r]._render=o,this.changeGroupRender(this._groups[r].it,o),!o){var d=this.elemsData[r].it,h=d[d.length-1];0!==h.transform.op.v?(h.transform.op._mdf=!0,h.transform.op.v=0):h.transform.op._mdf=!1}a+=1}this._currentCopies=l;var u=this.o.v,p=u%1,f=u>0?Math.floor(u):Math.ceil(u),m=this.pMatrix.props,g=this.rMatrix.props,y=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var v,x,S=0;if(u>0){for(;S<f;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),S+=1;p&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,p,!1),S+=p)}else if(u<0){for(;S>f;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),S-=1;p&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-p,!0),S-=p)}for(r=1===this.data.m?0:this._currentCopies-1,i=1===this.data.m?1:-1,a=this._currentCopies;a;){if(x=(n=(t=this.elemsData[r].it)[t.length-1].transform.mProps.v.props).length,t[t.length-1].transform.mProps._mdf=!0,t[t.length-1].transform.op._mdf=!0,t[t.length-1].transform.op.v=1===this._currentCopies?this.so.v:this.so.v+(this.eo.v-this.so.v)*(r/(this._currentCopies-1)),0!==S){for((0!==r&&1===i||r!==this._currentCopies-1&&-1===i)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(g[0],g[1],g[2],g[3],g[4],g[5],g[6],g[7],g[8],g[9],g[10],g[11],g[12],g[13],g[14],g[15]),this.matrix.transform(y[0],y[1],y[2],y[3],y[4],y[5],y[6],y[7],y[8],y[9],y[10],y[11],y[12],y[13],y[14],y[15]),this.matrix.transform(m[0],m[1],m[2],m[3],m[4],m[5],m[6],m[7],m[8],m[9],m[10],m[11],m[12],m[13],m[14],m[15]),v=0;v<x;v+=1)n[v]=this.matrix.props[v];this.matrix.reset()}else for(this.matrix.reset(),v=0;v<x;v+=1)n[v]=this.matrix.props[v];S+=1,a-=1,r+=i}}else for(a=this._currentCopies,r=0,i=1;a;)n=(t=this.elemsData[r].it)[t.length-1].transform.mProps.v.props,t[t.length-1].transform.mProps._mdf=!1,t[t.length-1].transform.op._mdf=!1,a-=1,r+=i;return s},RepeaterModifier.prototype.addShape=function(){},extendPrototype([ShapeModifier],RoundCornersModifier),RoundCornersModifier.prototype.initModifierProperties=function(e,t){this.getValue=this.processKeys,this.rd=PropertyFactory.getProp(e,t.r,0,null,this),this._isAnimated=!!this.rd.effectsSequence.length},RoundCornersModifier.prototype.processPath=function(e,t){var n,r=shapePool.newElement();r.c=e.c;var i,a,s,o,l,c,d,h,u,p,f,m,g=e._length,y=0;for(n=0;n<g;n+=1)i=e.v[n],s=e.o[n],a=e.i[n],i[0]===s[0]&&i[1]===s[1]&&i[0]===a[0]&&i[1]===a[1]?0!==n&&n!==g-1||e.c?(o=0===n?e.v[g-1]:e.v[n-1],c=(l=Math.sqrt(Math.pow(i[0]-o[0],2)+Math.pow(i[1]-o[1],2)))?Math.min(l/2,t)/l:0,d=f=i[0]+(o[0]-i[0])*c,h=m=i[1]-(i[1]-o[1])*c,u=d-(d-i[0])*roundCorner,p=h-(h-i[1])*roundCorner,r.setTripleAt(d,h,u,p,f,m,y),y+=1,o=n===g-1?e.v[0]:e.v[n+1],c=(l=Math.sqrt(Math.pow(i[0]-o[0],2)+Math.pow(i[1]-o[1],2)))?Math.min(l/2,t)/l:0,d=u=i[0]+(o[0]-i[0])*c,h=p=i[1]+(o[1]-i[1])*c,f=d-(d-i[0])*roundCorner,m=h-(h-i[1])*roundCorner,r.setTripleAt(d,h,u,p,f,m,y),y+=1):(r.setTripleAt(i[0],i[1],s[0],s[1],a[0],a[1],y),y+=1):(r.setTripleAt(e.v[n][0],e.v[n][1],e.o[n][0],e.o[n][1],e.i[n][0],e.i[n][1],y),y+=1);return r},RoundCornersModifier.prototype.processShapes=function(e){var t,n,r,i,a,s,o=this.shapes.length,l=this.rd.v;if(0!==l)for(n=0;n<o;n+=1){if(s=(a=this.shapes[n]).localShapeCollection,a.shape._mdf||this._mdf||e)for(s.releaseShapes(),a.shape._mdf=!0,t=a.shape.paths.shapes,i=a.shape.paths._length,r=0;r<i;r+=1)s.addShape(this.processPath(t[r],l));a.shape.paths=a.localShapeCollection}this.dynamicProperties.length||(this._mdf=!1)},PolynomialBezier.prototype.point=function(e){return[((this.a[0]*e+this.b[0])*e+this.c[0])*e+this.d[0],((this.a[1]*e+this.b[1])*e+this.c[1])*e+this.d[1]]},PolynomialBezier.prototype.derivative=function(e){return[(3*e*this.a[0]+2*this.b[0])*e+this.c[0],(3*e*this.a[1]+2*this.b[1])*e+this.c[1]]},PolynomialBezier.prototype.tangentAngle=function(e){var t=this.derivative(e);return Math.atan2(t[1],t[0])},PolynomialBezier.prototype.normalAngle=function(e){var t=this.derivative(e);return Math.atan2(t[0],t[1])},PolynomialBezier.prototype.inflectionPoints=function(){var e=this.a[1]*this.b[0]-this.a[0]*this.b[1];if(floatZero(e))return[];var t=-.5*(this.a[1]*this.c[0]-this.a[0]*this.c[1])/e,n=t*t-1/3*(this.b[1]*this.c[0]-this.b[0]*this.c[1])/e;if(n<0)return[];var r=Math.sqrt(n);return floatZero(r)?r>0&&r<1?[t]:[]:[t-r,t+r].filter((function(e){return e>0&&e<1}))},PolynomialBezier.prototype.split=function(e){if(e<=0)return[singlePoint(this.points[0]),this];if(e>=1)return[this,singlePoint(this.points[this.points.length-1])];var t=lerpPoint(this.points[0],this.points[1],e),n=lerpPoint(this.points[1],this.points[2],e),r=lerpPoint(this.points[2],this.points[3],e),i=lerpPoint(t,n,e),a=lerpPoint(n,r,e),s=lerpPoint(i,a,e);return[new PolynomialBezier(this.points[0],t,i,s,!0),new PolynomialBezier(s,a,r,this.points[3],!0)]},PolynomialBezier.prototype.bounds=function(){return{x:extrema(this,0),y:extrema(this,1)}},PolynomialBezier.prototype.boundingBox=function(){var e=this.bounds();return{left:e.x.min,right:e.x.max,top:e.y.min,bottom:e.y.max,width:e.x.max-e.x.min,height:e.y.max-e.y.min,cx:(e.x.max+e.x.min)/2,cy:(e.y.max+e.y.min)/2}},PolynomialBezier.prototype.intersections=function(e,t,n){void 0===t&&(t=2),void 0===n&&(n=7);var r=[];return intersectsImpl(intersectData(this,0,1),intersectData(e,0,1),0,t,r,n),r},PolynomialBezier.shapeSegment=function(e,t){var n=(t+1)%e.length();return new PolynomialBezier(e.v[t],e.o[t],e.i[n],e.v[n],!0)},PolynomialBezier.shapeSegmentInverted=function(e,t){var n=(t+1)%e.length();return new PolynomialBezier(e.v[n],e.i[n],e.o[t],e.v[t],!0)},extendPrototype([ShapeModifier],ZigZagModifier),ZigZagModifier.prototype.initModifierProperties=function(e,t){this.getValue=this.processKeys,this.amplitude=PropertyFactory.getProp(e,t.s,0,null,this),this.frequency=PropertyFactory.getProp(e,t.r,0,null,this),this.pointsType=PropertyFactory.getProp(e,t.pt,0,null,this),this._isAnimated=0!==this.amplitude.effectsSequence.length||0!==this.frequency.effectsSequence.length||0!==this.pointsType.effectsSequence.length},ZigZagModifier.prototype.processPath=function(e,t,n,r){var i=e._length,a=shapePool.newElement();if(a.c=e.c,e.c||(i-=1),0===i)return a;var s=-1,o=PolynomialBezier.shapeSegment(e,0);zigZagCorner(a,e,0,t,n,r,s);for(var l=0;l<i;l+=1)s=zigZagSegment(a,o,t,n,r,-s),o=l!==i-1||e.c?PolynomialBezier.shapeSegment(e,(l+1)%i):null,zigZagCorner(a,e,l+1,t,n,r,s);return a},ZigZagModifier.prototype.processShapes=function(e){var t,n,r,i,a,s,o=this.shapes.length,l=this.amplitude.v,c=Math.max(0,Math.round(this.frequency.v)),d=this.pointsType.v;if(0!==l)for(n=0;n<o;n+=1){if(s=(a=this.shapes[n]).localShapeCollection,a.shape._mdf||this._mdf||e)for(s.releaseShapes(),a.shape._mdf=!0,t=a.shape.paths.shapes,i=a.shape.paths._length,r=0;r<i;r+=1)s.addShape(this.processPath(t[r],l,c,d));a.shape.paths=a.localShapeCollection}this.dynamicProperties.length||(this._mdf=!1)},extendPrototype([ShapeModifier],OffsetPathModifier),OffsetPathModifier.prototype.initModifierProperties=function(e,t){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(e,t.a,0,null,this),this.miterLimit=PropertyFactory.getProp(e,t.ml,0,null,this),this.lineJoin=t.lj,this._isAnimated=0!==this.amount.effectsSequence.length},OffsetPathModifier.prototype.processPath=function(e,t,n,r){var i=shapePool.newElement();i.c=e.c;var a,s,o,l=e.length();e.c||(l-=1);var c=[];for(a=0;a<l;a+=1)o=PolynomialBezier.shapeSegment(e,a),c.push(offsetSegmentSplit(o,t));if(!e.c)for(a=l-1;a>=0;a-=1)o=PolynomialBezier.shapeSegmentInverted(e,a),c.push(offsetSegmentSplit(o,t));c=pruneIntersections(c);var d=null,h=null;for(a=0;a<c.length;a+=1){var u=c[a];for(h&&(d=joinLines(i,h,u[0],n,r)),h=u[u.length-1],s=0;s<u.length;s+=1)o=u[s],d&&pointEqual(o.points[0],d)?i.setXYAt(o.points[1][0],o.points[1][1],"o",i.length()-1):i.setTripleAt(o.points[0][0],o.points[0][1],o.points[1][0],o.points[1][1],o.points[0][0],o.points[0][1],i.length()),i.setTripleAt(o.points[3][0],o.points[3][1],o.points[3][0],o.points[3][1],o.points[2][0],o.points[2][1],i.length()),d=o.points[3]}return c.length&&joinLines(i,h,c[0][0],n,r),i},OffsetPathModifier.prototype.processShapes=function(e){var t,n,r,i,a,s,o=this.shapes.length,l=this.amount.v,c=this.miterLimit.v,d=this.lineJoin;if(0!==l)for(n=0;n<o;n+=1){if(s=(a=this.shapes[n]).localShapeCollection,a.shape._mdf||this._mdf||e)for(s.releaseShapes(),a.shape._mdf=!0,t=a.shape.paths.shapes,i=a.shape.paths._length,r=0;r<i;r+=1)s.addShape(this.processPath(t[r],l,d,c));a.shape.paths=a.localShapeCollection}this.dynamicProperties.length||(this._mdf=!1)};var FontManager=function(){var e={w:0,size:0,shapes:[],data:{shapes:[]}},t=[];t=t.concat([2304,2305,2306,2307,2362,2363,2364,2364,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2387,2388,2389,2390,2391,2402,2403]);var n=127988,r=127462,i=127487,a=["d83cdffb","d83cdffc","d83cdffd","d83cdffe","d83cdfff"];function s(e,t){var n=createTag("span");n.setAttribute("aria-hidden",!0),n.style.fontFamily=t;var r=createTag("span");r.innerText="giItT1WQy@!-/#",n.style.position="absolute",n.style.left="-10000px",n.style.top="-10000px",n.style.fontSize="300px",n.style.fontVariant="normal",n.style.fontStyle="normal",n.style.fontWeight="normal",n.style.letterSpacing="0",n.appendChild(r),document.body.appendChild(n);var i=r.offsetWidth;return r.style.fontFamily=function(e){var t,n=e.split(","),r=n.length,i=[];for(t=0;t<r;t+=1)"sans-serif"!==n[t]&&"monospace"!==n[t]&&i.push(n[t]);return i.join(",")}(e)+", "+t,{node:r,w:i,parent:n}}function o(e,t){var n,r=document.body&&t?"svg":"canvas",i=getFontProperties(e);if("svg"===r){var a=createNS("text");a.style.fontSize="100px",a.setAttribute("font-family",e.fFamily),a.setAttribute("font-style",i.style),a.setAttribute("font-weight",i.weight),a.textContent="1",e.fClass?(a.style.fontFamily="inherit",a.setAttribute("class",e.fClass)):a.style.fontFamily=e.fFamily,t.appendChild(a),n=a}else{var s=new OffscreenCanvas(500,500).getContext("2d");s.font=i.style+" "+i.weight+" 100px "+e.fFamily,n=s}return{measureText:function(e){return"svg"===r?(n.textContent=e,n.getComputedTextLength()):n.measureText(e).width}}}function l(e){var t=0,n=e.charCodeAt(0);if(n>=55296&&n<=56319){var r=e.charCodeAt(1);r>=56320&&r<=57343&&(t=1024*(n-55296)+r-56320+65536)}return t}function c(e){var t=l(e);return t>=r&&t<=i}var d=function(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this)};d.isModifier=function(e,t){var n=e.toString(16)+t.toString(16);return-1!==a.indexOf(n)},d.isZeroWidthJoiner=function(e){return 8205===e},d.isFlagEmoji=function(e){return c(e.substr(0,2))&&c(e.substr(2,2))},d.isRegionalCode=c,d.isCombinedCharacter=function(e){return-1!==t.indexOf(e)},d.isRegionalFlag=function(e,t){var r=l(e.substr(t,2));if(r!==n)return!1;var i=0;for(t+=2;i<5;){if((r=l(e.substr(t,2)))<917601||r>917626)return!1;i+=1,t+=2}return 917631===l(e.substr(t,2))},d.isVariationSelector=function(e){return 65039===e},d.BLACK_FLAG_CODE_POINT=n;var h={addChars:function(e){if(e){var t;this.chars||(this.chars=[]);var n,r,i=e.length,a=this.chars.length;for(t=0;t<i;t+=1){for(n=0,r=!1;n<a;)this.chars[n].style===e[t].style&&this.chars[n].fFamily===e[t].fFamily&&this.chars[n].ch===e[t].ch&&(r=!0),n+=1;r||(this.chars.push(e[t]),a+=1)}}},addFonts:function(e,t){if(e){if(this.chars)return this.isLoaded=!0,void(this.fonts=e.list);if(!document.body)return this.isLoaded=!0,e.list.forEach((function(e){e.helper=o(e),e.cache={}})),void(this.fonts=e.list);var n,r=e.list,i=r.length,a=i;for(n=0;n<i;n+=1){var l,c,d=!0;if(r[n].loaded=!1,r[n].monoCase=s(r[n].fFamily,"monospace"),r[n].sansCase=s(r[n].fFamily,"sans-serif"),r[n].fPath){if("p"===r[n].fOrigin||3===r[n].origin){if((l=document.querySelectorAll('style[f-forigin="p"][f-family="'+r[n].fFamily+'"], style[f-origin="3"][f-family="'+r[n].fFamily+'"]')).length>0&&(d=!1),d){var h=createTag("style");h.setAttribute("f-forigin",r[n].fOrigin),h.setAttribute("f-origin",r[n].origin),h.setAttribute("f-family",r[n].fFamily),h.type="text/css",h.innerText="@font-face {font-family: "+r[n].fFamily+"; font-style: normal; src: url('"+r[n].fPath+"');}",t.appendChild(h)}}else if("g"===r[n].fOrigin||1===r[n].origin){for(l=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'),c=0;c<l.length;c+=1)-1!==l[c].href.indexOf(r[n].fPath)&&(d=!1);if(d){var u=createTag("link");u.setAttribute("f-forigin",r[n].fOrigin),u.setAttribute("f-origin",r[n].origin),u.type="text/css",u.rel="stylesheet",u.href=r[n].fPath,document.body.appendChild(u)}}else if("t"===r[n].fOrigin||2===r[n].origin){for(l=document.querySelectorAll('script[f-forigin="t"], script[f-origin="2"]'),c=0;c<l.length;c+=1)r[n].fPath===l[c].src&&(d=!1);if(d){var p=createTag("link");p.setAttribute("f-forigin",r[n].fOrigin),p.setAttribute("f-origin",r[n].origin),p.setAttribute("rel","stylesheet"),p.setAttribute("href",r[n].fPath),t.appendChild(p)}}}else r[n].loaded=!0,a-=1;r[n].helper=o(r[n],t),r[n].cache={},this.fonts.push(r[n])}0===a?this.isLoaded=!0:setTimeout(this.checkLoadedFonts.bind(this),100)}else this.isLoaded=!0},getCharData:function(t,n,r){for(var i=0,a=this.chars.length;i<a;){if(this.chars[i].ch===t&&this.chars[i].style===n&&this.chars[i].fFamily===r)return this.chars[i];i+=1}return("string"===typeof t&&13!==t.charCodeAt(0)||!t)&&console&&console.warn&&!this._warned&&(this._warned=!0,console.warn("Missing character from exported characters list: ",t,n,r)),e},getFontByName:function(e){for(var t=0,n=this.fonts.length;t<n;){if(this.fonts[t].fName===e)return this.fonts[t];t+=1}return this.fonts[0]},measureText:function(e,t,n){var r=this.getFontByName(t),i=e;if(!r.cache[i]){var a=r.helper;if(" "===e){var s=a.measureText("|"+e+"|"),o=a.measureText("||");r.cache[i]=(s-o)/100}else r.cache[i]=a.measureText(e)/100}return r.cache[i]*n},checkLoadedFonts:function(){var e,t,n,r=this.fonts.length,i=r;for(e=0;e<r;e+=1)this.fonts[e].loaded?i-=1:"n"===this.fonts[e].fOrigin||0===this.fonts[e].origin?this.fonts[e].loaded=!0:(t=this.fonts[e].monoCase.node,n=this.fonts[e].monoCase.w,t.offsetWidth!==n?(i-=1,this.fonts[e].loaded=!0):(t=this.fonts[e].sansCase.node,n=this.fonts[e].sansCase.w,t.offsetWidth!==n&&(i-=1,this.fonts[e].loaded=!0)),this.fonts[e].loaded&&(this.fonts[e].sansCase.parent.parentNode.removeChild(this.fonts[e].sansCase.parent),this.fonts[e].monoCase.parent.parentNode.removeChild(this.fonts[e].monoCase.parent)));0!==i&&Date.now()-this.initTime<5e3?setTimeout(this.checkLoadedFontsBinded,20):setTimeout(this.setIsLoadedBinded,10)},setIsLoaded:function(){this.isLoaded=!0}};return d.prototype=h,d}();function SlotManager(e){this.animationData=e}function slotFactory(e){return new SlotManager(e)}function RenderableElement(){}SlotManager.prototype.getProp=function(e){return this.animationData.slots&&this.animationData.slots[e.sid]?Object.assign(e,this.animationData.slots[e.sid].p):e},RenderableElement.prototype={initRenderable:function(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[]},addRenderableComponent:function(e){-1===this.renderableComponents.indexOf(e)&&this.renderableComponents.push(e)},removeRenderableComponent:function(e){-1!==this.renderableComponents.indexOf(e)&&this.renderableComponents.splice(this.renderableComponents.indexOf(e),1)},prepareRenderableFrame:function(e){this.checkLayerLimits(e)},checkTransparency:function(){this.finalTransform.mProp.o.v<=0?!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent&&(this.isTransparent=!0,this.hide()):this.isTransparent&&(this.isTransparent=!1,this.show())},checkLayerLimits:function(e){this.data.ip-this.data.st<=e&&this.data.op-this.data.st>e?!0!==this.isInRange&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):!1!==this.isInRange&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide())},renderRenderable:function(){var e,t=this.renderableComponents.length;for(e=0;e<t;e+=1)this.renderableComponents[e].renderFrame(this._isFirstFrame)},sourceRectAtTime:function(){return{top:0,left:0,width:100,height:100}},getLayerSize:function(){return 5===this.data.ty?{w:this.data.textData.width,h:this.data.textData.height}:{w:this.data.width,h:this.data.height}}};var getBlendMode=function(){var e={0:"source-over",1:"multiply",2:"screen",3:"overlay",4:"darken",5:"lighten",6:"color-dodge",7:"color-burn",8:"hard-light",9:"soft-light",10:"difference",11:"exclusion",12:"hue",13:"saturation",14:"color",15:"luminosity"};return function(t){return e[t]||""}}();function SliderEffect(e,t,n){this.p=PropertyFactory.getProp(t,e.v,0,0,n)}function AngleEffect(e,t,n){this.p=PropertyFactory.getProp(t,e.v,0,0,n)}function ColorEffect(e,t,n){this.p=PropertyFactory.getProp(t,e.v,1,0,n)}function PointEffect(e,t,n){this.p=PropertyFactory.getProp(t,e.v,1,0,n)}function LayerIndexEffect(e,t,n){this.p=PropertyFactory.getProp(t,e.v,0,0,n)}function MaskIndexEffect(e,t,n){this.p=PropertyFactory.getProp(t,e.v,0,0,n)}function CheckboxEffect(e,t,n){this.p=PropertyFactory.getProp(t,e.v,0,0,n)}function NoValueEffect(){this.p={}}function EffectsManager(e,t){var n,r=e.ef||[];this.effectElements=[];var i,a=r.length;for(n=0;n<a;n+=1)i=new GroupEffect(r[n],t),this.effectElements.push(i)}function GroupEffect(e,t){this.init(e,t)}function BaseElement(){}function FrameElement(){}function FootageElement(e,t,n){this.initFrame(),this.initRenderable(),this.assetData=t.getAssetData(e.refId),this.footageData=t.imageLoader.getAsset(this.assetData),this.initBaseData(e,t,n)}function AudioElement(e,t,n){this.initFrame(),this.initRenderable(),this.assetData=t.getAssetData(e.refId),this.initBaseData(e,t,n),this._isPlaying=!1,this._canPlay=!1;var r=this.globalData.getAssetsPath(this.assetData);this.audio=this.globalData.audioController.createAudio(r),this._currentTime=0,this.globalData.audioController.addAudio(this),this._volumeMultiplier=1,this._volume=1,this._previousVolume=null,this.tm=e.tm?PropertyFactory.getProp(this,e.tm,0,t.frameRate,this):{_placeholder:!0},this.lv=PropertyFactory.getProp(this,e.au&&e.au.lv?e.au.lv:{k:[100]},1,.01,this)}function BaseRenderer(){}extendPrototype([DynamicPropertyContainer],GroupEffect),GroupEffect.prototype.getValue=GroupEffect.prototype.iterateDynamicProperties,GroupEffect.prototype.init=function(e,t){var n;this.data=e,this.effectElements=[],this.initDynamicPropertyContainer(t);var r,i=this.data.ef.length,a=this.data.ef;for(n=0;n<i;n+=1){switch(r=null,a[n].ty){case 0:r=new SliderEffect(a[n],t,this);break;case 1:r=new AngleEffect(a[n],t,this);break;case 2:r=new ColorEffect(a[n],t,this);break;case 3:r=new PointEffect(a[n],t,this);break;case 4:case 7:r=new CheckboxEffect(a[n],t,this);break;case 10:r=new LayerIndexEffect(a[n],t,this);break;case 11:r=new MaskIndexEffect(a[n],t,this);break;case 5:r=new EffectsManager(a[n],t,this);break;default:r=new NoValueEffect(a[n],t,this)}r&&this.effectElements.push(r)}},BaseElement.prototype={checkMasks:function(){if(!this.data.hasMask)return!1;for(var e=0,t=this.data.masksProperties.length;e<t;){if("n"!==this.data.masksProperties[e].mode&&!1!==this.data.masksProperties[e].cl)return!0;e+=1}return!1},initExpressions:function(){var e=getExpressionInterfaces();if(e){var t=e("layer"),n=e("effects"),r=e("shape"),i=e("text"),a=e("comp");this.layerInterface=t(this),this.data.hasMask&&this.maskManager&&this.layerInterface.registerMaskInterface(this.maskManager);var s=n.createEffectsInterface(this,this.layerInterface);this.layerInterface.registerEffectsInterface(s),0===this.data.ty||this.data.xt?this.compInterface=a(this):4===this.data.ty?(this.layerInterface.shapeInterface=r(this.shapesData,this.itemsData,this.layerInterface),this.layerInterface.content=this.layerInterface.shapeInterface):5===this.data.ty&&(this.layerInterface.textInterface=i(this),this.layerInterface.text=this.layerInterface.textInterface)}},setBlendMode:function(){var e=getBlendMode(this.data.bm);(this.baseElement||this.layerElement).style["mix-blend-mode"]=e},initBaseData:function(e,t,n){this.globalData=t,this.comp=n,this.data=e,this.layerId=createElementID(),this.data.sr||(this.data.sr=1),this.effectsManager=new EffectsManager(this.data,this,this.dynamicProperties)},getType:function(){return this.type},sourceRectAtTime:function(){}},FrameElement.prototype={initFrame:function(){this._isFirstFrame=!1,this.dynamicProperties=[],this._mdf=!1},prepareProperties:function(e,t){var n,r=this.dynamicProperties.length;for(n=0;n<r;n+=1)(t||this._isParent&&"transform"===this.dynamicProperties[n].propType)&&(this.dynamicProperties[n].getValue(),this.dynamicProperties[n]._mdf&&(this.globalData._mdf=!0,this._mdf=!0))},addDynamicProperty:function(e){-1===this.dynamicProperties.indexOf(e)&&this.dynamicProperties.push(e)}},FootageElement.prototype.prepareFrame=function(){},extendPrototype([RenderableElement,BaseElement,FrameElement],FootageElement),FootageElement.prototype.getBaseElement=function(){return null},FootageElement.prototype.renderFrame=function(){},FootageElement.prototype.destroy=function(){},FootageElement.prototype.initExpressions=function(){var e=getExpressionInterfaces();if(e){var t=e("footage");this.layerInterface=t(this)}},FootageElement.prototype.getFootageData=function(){return this.footageData},AudioElement.prototype.prepareFrame=function(e){if(this.prepareRenderableFrame(e,!0),this.prepareProperties(e,!0),this.tm._placeholder)this._currentTime=e/this.data.sr;else{var t=this.tm.v;this._currentTime=t}this._volume=this.lv.v[0];var n=this._volume*this._volumeMultiplier;this._previousVolume!==n&&(this._previousVolume=n,this.audio.volume(n))},extendPrototype([RenderableElement,BaseElement,FrameElement],AudioElement),AudioElement.prototype.renderFrame=function(){this.isInRange&&this._canPlay&&(this._isPlaying?(!this.audio.playing()||Math.abs(this._currentTime/this.globalData.frameRate-this.audio.seek())>.1)&&this.audio.seek(this._currentTime/this.globalData.frameRate):(this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0))},AudioElement.prototype.show=function(){},AudioElement.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1},AudioElement.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1},AudioElement.prototype.resume=function(){this._canPlay=!0},AudioElement.prototype.setRate=function(e){this.audio.rate(e)},AudioElement.prototype.volume=function(e){this._volumeMultiplier=e,this._previousVolume=e*this._volume,this.audio.volume(this._previousVolume)},AudioElement.prototype.getBaseElement=function(){return null},AudioElement.prototype.destroy=function(){},AudioElement.prototype.sourceRectAtTime=function(){},AudioElement.prototype.initExpressions=function(){},BaseRenderer.prototype.checkLayers=function(e){var t,n,r=this.layers.length;for(this.completeLayers=!0,t=r-1;t>=0;t-=1)this.elements[t]||(n=this.layers[t]).ip-n.st<=e-this.layers[t].st&&n.op-n.st>e-this.layers[t].st&&this.buildItem(t),this.completeLayers=!!this.elements[t]&&this.completeLayers;this.checkPendingElements()},BaseRenderer.prototype.createItem=function(e){switch(e.ty){case 2:return this.createImage(e);case 0:return this.createComp(e);case 1:return this.createSolid(e);case 3:default:return this.createNull(e);case 4:return this.createShape(e);case 5:return this.createText(e);case 6:return this.createAudio(e);case 13:return this.createCamera(e);case 15:return this.createFootage(e)}},BaseRenderer.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},BaseRenderer.prototype.createAudio=function(e){return new AudioElement(e,this.globalData,this)},BaseRenderer.prototype.createFootage=function(e){return new FootageElement(e,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var e,t=this.layers.length;for(e=0;e<t;e+=1)this.buildItem(e);this.checkPendingElements()},BaseRenderer.prototype.includeLayers=function(e){var t;this.completeLayers=!1;var n,r=e.length,i=this.layers.length;for(t=0;t<r;t+=1)for(n=0;n<i;){if(this.layers[n].id===e[t].id){this.layers[n]=e[t];break}n+=1}},BaseRenderer.prototype.setProjectInterface=function(e){this.globalData.projectInterface=e},BaseRenderer.prototype.initItems=function(){this.globalData.progressiveLoad||this.buildAllItems()},BaseRenderer.prototype.buildElementParenting=function(e,t,n){for(var r=this.elements,i=this.layers,a=0,s=i.length;a<s;)i[a].ind==t&&(r[a]&&!0!==r[a]?(n.push(r[a]),r[a].setAsParent(),void 0!==i[a].parent?this.buildElementParenting(e,i[a].parent,n):e.setHierarchy(n)):(this.buildItem(a),this.addPendingElement(e))),a+=1},BaseRenderer.prototype.addPendingElement=function(e){this.pendingElements.push(e)},BaseRenderer.prototype.searchExtraCompositions=function(e){var t,n=e.length;for(t=0;t<n;t+=1)if(e[t].xt){var r=this.createComp(e[t]);r.initExpressions(),this.globalData.projectInterface.registerComposition(r)}},BaseRenderer.prototype.getElementById=function(e){var t,n=this.elements.length;for(t=0;t<n;t+=1)if(this.elements[t].data.ind===e)return this.elements[t];return null},BaseRenderer.prototype.getElementByPath=function(e){var t,n=e.shift();if("number"===typeof n)t=this.elements[n];else{var r,i=this.elements.length;for(r=0;r<i;r+=1)if(this.elements[r].data.nm===n){t=this.elements[r];break}}return 0===e.length?t:t.getElementByPath(e)},BaseRenderer.prototype.setupGlobalData=function(e,t){this.globalData.fontManager=new FontManager,this.globalData.slotManager=slotFactory(e),this.globalData.fontManager.addChars(e.chars),this.globalData.fontManager.addFonts(e.fonts,t),this.globalData.getAssetData=this.animationItem.getAssetData.bind(this.animationItem),this.globalData.getAssetsPath=this.animationItem.getAssetsPath.bind(this.animationItem),this.globalData.imageLoader=this.animationItem.imagePreloader,this.globalData.audioController=this.animationItem.audioController,this.globalData.frameId=0,this.globalData.frameRate=e.fr,this.globalData.nm=e.nm,this.globalData.compSize={w:e.w,h:e.h}};var effectTypes={TRANSFORM_EFFECT:"transformEFfect"};function TransformElement(){}function MaskElement(e,t,n){this.data=e,this.element=t,this.globalData=n,this.storedData=[],this.masksProperties=this.data.masksProperties||[],this.maskElement=null;var r,i,a=this.globalData.defs,s=this.masksProperties?this.masksProperties.length:0;this.viewData=createSizedArray(s),this.solidPath="";var o,l,c,d,h,u,p=this.masksProperties,f=0,m=[],g=createElementID(),y="clipPath",v="clip-path";for(r=0;r<s;r+=1)if(("a"!==p[r].mode&&"n"!==p[r].mode||p[r].inv||100!==p[r].o.k||p[r].o.x)&&(y="mask",v="mask"),"s"!==p[r].mode&&"i"!==p[r].mode||0!==f?c=null:((c=createNS("rect")).setAttribute("fill","#ffffff"),c.setAttribute("width",this.element.comp.data.w||0),c.setAttribute("height",this.element.comp.data.h||0),m.push(c)),i=createNS("path"),"n"===p[r].mode)this.viewData[r]={op:PropertyFactory.getProp(this.element,p[r].o,0,.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,p[r],3),elem:i,lastPath:""},a.appendChild(i);else{var x;if(f+=1,i.setAttribute("fill","s"===p[r].mode?"#000000":"#ffffff"),i.setAttribute("clip-rule","nonzero"),0!==p[r].x.k?(y="mask",v="mask",u=PropertyFactory.getProp(this.element,p[r].x,0,null,this.element),x=createElementID(),(d=createNS("filter")).setAttribute("id",x),(h=createNS("feMorphology")).setAttribute("operator","erode"),h.setAttribute("in","SourceGraphic"),h.setAttribute("radius","0"),d.appendChild(h),a.appendChild(d),i.setAttribute("stroke","s"===p[r].mode?"#000000":"#ffffff")):(h=null,u=null),this.storedData[r]={elem:i,x:u,expan:h,lastPath:"",lastOperator:"",filterId:x,lastRadius:0},"i"===p[r].mode){l=m.length;var S=createNS("g");for(o=0;o<l;o+=1)S.appendChild(m[o]);var A=createNS("mask");A.setAttribute("mask-type","alpha"),A.setAttribute("id",g+"_"+f),A.appendChild(i),a.appendChild(A),S.setAttribute("mask","url("+getLocationHref()+"#"+g+"_"+f+")"),m.length=0,m.push(S)}else m.push(i);p[r].inv&&!this.solidPath&&(this.solidPath=this.createLayerSolidPath()),this.viewData[r]={elem:i,lastPath:"",op:PropertyFactory.getProp(this.element,p[r].o,0,.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,p[r],3),invRect:c},this.viewData[r].prop.k||this.drawPath(p[r],this.viewData[r].prop.v,this.viewData[r])}for(this.maskElement=createNS(y),s=m.length,r=0;r<s;r+=1)this.maskElement.appendChild(m[r]);f>0&&(this.maskElement.setAttribute("id",g),this.element.maskedElement.setAttribute(v,"url("+getLocationHref()+"#"+g+")"),a.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this)}TransformElement.prototype={initTransform:function(){var e=new Matrix;this.finalTransform={mProp:this.data.ks?TransformPropertyFactory.getTransformProperty(this,this.data.ks,this):{o:0},_matMdf:!1,_localMatMdf:!1,_opMdf:!1,mat:e,localMat:e,localOpacity:1},this.data.ao&&(this.finalTransform.mProp.autoOriented=!0),this.data.ty},renderTransform:function(){if(this.finalTransform._opMdf=this.finalTransform.mProp.o._mdf||this._isFirstFrame,this.finalTransform._matMdf=this.finalTransform.mProp._mdf||this._isFirstFrame,this.hierarchy){var e,t=this.finalTransform.mat,n=0,r=this.hierarchy.length;if(!this.finalTransform._matMdf)for(;n<r;){if(this.hierarchy[n].finalTransform.mProp._mdf){this.finalTransform._matMdf=!0;break}n+=1}if(this.finalTransform._matMdf)for(e=this.finalTransform.mProp.v.props,t.cloneFromProps(e),n=0;n<r;n+=1)t.multiply(this.hierarchy[n].finalTransform.mProp.v)}this.finalTransform._matMdf&&(this.finalTransform._localMatMdf=this.finalTransform._matMdf),this.finalTransform._opMdf&&(this.finalTransform.localOpacity=this.finalTransform.mProp.o.v)},renderLocalTransform:function(){if(this.localTransforms){var e=0,t=this.localTransforms.length;if(this.finalTransform._localMatMdf=this.finalTransform._matMdf,!this.finalTransform._localMatMdf||!this.finalTransform._opMdf)for(;e<t;)this.localTransforms[e]._mdf&&(this.finalTransform._localMatMdf=!0),this.localTransforms[e]._opMdf&&!this.finalTransform._opMdf&&(this.finalTransform.localOpacity=this.finalTransform.mProp.o.v,this.finalTransform._opMdf=!0),e+=1;if(this.finalTransform._localMatMdf){var n=this.finalTransform.localMat;for(this.localTransforms[0].matrix.clone(n),e=1;e<t;e+=1){var r=this.localTransforms[e].matrix;n.multiply(r)}n.multiply(this.finalTransform.mat)}if(this.finalTransform._opMdf){var i=this.finalTransform.localOpacity;for(e=0;e<t;e+=1)i*=.01*this.localTransforms[e].opacity;this.finalTransform.localOpacity=i}}},searchEffectTransforms:function(){if(this.renderableEffectsManager){var e=this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);if(e.length){this.localTransforms=[],this.finalTransform.localMat=new Matrix;var t=0,n=e.length;for(t=0;t<n;t+=1)this.localTransforms.push(e[t])}}},globalToLocal:function(e){var t=[];t.push(this.finalTransform);for(var n,r=!0,i=this.comp;r;)i.finalTransform?(i.data.hasMask&&t.splice(0,0,i.finalTransform),i=i.comp):r=!1;var a,s=t.length;for(n=0;n<s;n+=1)a=t[n].mat.applyToPointArray(0,0,0),e=[e[0]-a[0],e[1]-a[1],0];return e},mHelper:new Matrix},MaskElement.prototype.getMaskProperty=function(e){return this.viewData[e].prop},MaskElement.prototype.renderFrame=function(e){var t,n=this.element.finalTransform.mat,r=this.masksProperties.length;for(t=0;t<r;t+=1)if((this.viewData[t].prop._mdf||e)&&this.drawPath(this.masksProperties[t],this.viewData[t].prop.v,this.viewData[t]),(this.viewData[t].op._mdf||e)&&this.viewData[t].elem.setAttribute("fill-opacity",this.viewData[t].op.v),"n"!==this.masksProperties[t].mode&&(this.viewData[t].invRect&&(this.element.finalTransform.mProp._mdf||e)&&this.viewData[t].invRect.setAttribute("transform",n.getInverseMatrix().to2dCSS()),this.storedData[t].x&&(this.storedData[t].x._mdf||e))){var i=this.storedData[t].expan;this.storedData[t].x.v<0?("erode"!==this.storedData[t].lastOperator&&(this.storedData[t].lastOperator="erode",this.storedData[t].elem.setAttribute("filter","url("+getLocationHref()+"#"+this.storedData[t].filterId+")")),i.setAttribute("radius",-this.storedData[t].x.v)):("dilate"!==this.storedData[t].lastOperator&&(this.storedData[t].lastOperator="dilate",this.storedData[t].elem.setAttribute("filter",null)),this.storedData[t].elem.setAttribute("stroke-width",2*this.storedData[t].x.v))}},MaskElement.prototype.getMaskelement=function(){return this.maskElement},MaskElement.prototype.createLayerSolidPath=function(){var e="M0,0 ";return e+=" h"+this.globalData.compSize.w,e+=" v"+this.globalData.compSize.h,e+=" h-"+this.globalData.compSize.w,e+=" v-"+this.globalData.compSize.h+" "},MaskElement.prototype.drawPath=function(e,t,n){var r,i,a=" M"+t.v[0][0]+","+t.v[0][1];for(i=t._length,r=1;r<i;r+=1)a+=" C"+t.o[r-1][0]+","+t.o[r-1][1]+" "+t.i[r][0]+","+t.i[r][1]+" "+t.v[r][0]+","+t.v[r][1];if(t.c&&i>1&&(a+=" C"+t.o[r-1][0]+","+t.o[r-1][1]+" "+t.i[0][0]+","+t.i[0][1]+" "+t.v[0][0]+","+t.v[0][1]),n.lastPath!==a){var s="";n.elem&&(t.c&&(s=e.inv?this.solidPath+a:a),n.elem.setAttribute("d",s)),n.lastPath=a}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null};var filtersFactory=function(){var e={createFilter:function(e,t){var n=createNS("filter");return n.setAttribute("id",e),!0!==t&&(n.setAttribute("filterUnits","objectBoundingBox"),n.setAttribute("x","0%"),n.setAttribute("y","0%"),n.setAttribute("width","100%"),n.setAttribute("height","100%")),n},createAlphaToLuminanceFilter:function(){var e=createNS("feColorMatrix");return e.setAttribute("type","matrix"),e.setAttribute("color-interpolation-filters","sRGB"),e.setAttribute("values","0 0 0 1 0  0 0 0 1 0  0 0 0 1 0  0 0 0 1 1"),e}};return e}(),featureSupport=function(){var e={maskType:!0,svgLumaHidden:!0,offscreenCanvas:"undefined"!==typeof OffscreenCanvas};return(/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(e.maskType=!1),/firefox/i.test(navigator.userAgent)&&(e.svgLumaHidden=!1),e}(),registeredEffects$1={},idPrefix="filter_result_";function SVGEffects(e){var t,n,r="SourceGraphic",i=e.data.ef?e.data.ef.length:0,a=createElementID(),s=filtersFactory.createFilter(a,!0),o=0;for(this.filters=[],t=0;t<i;t+=1){n=null;var l=e.data.ef[t].ty;registeredEffects$1[l]&&(n=new(0,registeredEffects$1[l].effect)(s,e.effectsManager.effectElements[t],e,idPrefix+o,r),r=idPrefix+o,registeredEffects$1[l].countsAsEffect&&(o+=1)),n&&this.filters.push(n)}o&&(e.globalData.defs.appendChild(s),e.layerElement.setAttribute("filter","url("+getLocationHref()+"#"+a+")")),this.filters.length&&e.addRenderableComponent(this)}function registerEffect$1(e,t,n){registeredEffects$1[e]={effect:t,countsAsEffect:n}}function SVGBaseElement(){}function HierarchyElement(){}function RenderableDOMElement(){}function IImageElement(e,t,n){this.assetData=t.getAssetData(e.refId),this.assetData&&this.assetData.sid&&(this.assetData=t.slotManager.getProp(this.assetData)),this.initElement(e,t,n),this.sourceRect={top:0,left:0,width:this.assetData.w,height:this.assetData.h}}function ProcessedElement(e,t){this.elem=e,this.pos=t}function IShapeElement(){}SVGEffects.prototype.renderFrame=function(e){var t,n=this.filters.length;for(t=0;t<n;t+=1)this.filters[t].renderFrame(e)},SVGEffects.prototype.getEffects=function(e){var t,n=this.filters.length,r=[];for(t=0;t<n;t+=1)this.filters[t].type===e&&r.push(this.filters[t]);return r},SVGBaseElement.prototype={initRendererElement:function(){this.layerElement=createNS("g")},createContainerElements:function(){this.matteElement=createNS("g"),this.transformedElement=this.layerElement,this.maskedElement=this.layerElement,this._sizeChanged=!1;var e=null;if(this.data.td){this.matteMasks={};var t=createNS("g");t.setAttribute("id",this.layerId),t.appendChild(this.layerElement),e=t,this.globalData.defs.appendChild(t)}else this.data.tt?(this.matteElement.appendChild(this.layerElement),e=this.matteElement,this.baseElement=this.matteElement):this.baseElement=this.layerElement;if(this.data.ln&&this.layerElement.setAttribute("id",this.data.ln),this.data.cl&&this.layerElement.setAttribute("class",this.data.cl),0===this.data.ty&&!this.data.hd){var n=createNS("clipPath"),r=createNS("path");r.setAttribute("d","M0,0 L"+this.data.w+",0 L"+this.data.w+","+this.data.h+" L0,"+this.data.h+"z");var i=createElementID();if(n.setAttribute("id",i),n.appendChild(r),this.globalData.defs.appendChild(n),this.checkMasks()){var a=createNS("g");a.setAttribute("clip-path","url("+getLocationHref()+"#"+i+")"),a.appendChild(this.layerElement),this.transformedElement=a,e?e.appendChild(this.transformedElement):this.baseElement=this.transformedElement}else this.layerElement.setAttribute("clip-path","url("+getLocationHref()+"#"+i+")")}0!==this.data.bm&&this.setBlendMode()},renderElement:function(){this.finalTransform._localMatMdf&&this.transformedElement.setAttribute("transform",this.finalTransform.localMat.to2dCSS()),this.finalTransform._opMdf&&this.transformedElement.setAttribute("opacity",this.finalTransform.localOpacity)},destroyBaseElement:function(){this.layerElement=null,this.matteElement=null,this.maskManager.destroy()},getBaseElement:function(){return this.data.hd?null:this.baseElement},createRenderableComponents:function(){this.maskManager=new MaskElement(this.data,this,this.globalData),this.renderableEffectsManager=new SVGEffects(this),this.searchEffectTransforms()},getMatte:function(e){if(this.matteMasks||(this.matteMasks={}),!this.matteMasks[e]){var t,n,r,i,a=this.layerId+"_"+e;if(1===e||3===e){var s=createNS("mask");s.setAttribute("id",a),s.setAttribute("mask-type",3===e?"luminance":"alpha"),(r=createNS("use")).setAttributeNS("http://www.w3.org/1999/xlink","href","#"+this.layerId),s.appendChild(r),this.globalData.defs.appendChild(s),featureSupport.maskType||1!==e||(s.setAttribute("mask-type","luminance"),t=createElementID(),n=filtersFactory.createFilter(t),this.globalData.defs.appendChild(n),n.appendChild(filtersFactory.createAlphaToLuminanceFilter()),(i=createNS("g")).appendChild(r),s.appendChild(i),i.setAttribute("filter","url("+getLocationHref()+"#"+t+")"))}else if(2===e){var o=createNS("mask");o.setAttribute("id",a),o.setAttribute("mask-type","alpha");var l=createNS("g");o.appendChild(l),t=createElementID(),n=filtersFactory.createFilter(t);var c=createNS("feComponentTransfer");c.setAttribute("in","SourceGraphic"),n.appendChild(c);var d=createNS("feFuncA");d.setAttribute("type","table"),d.setAttribute("tableValues","1.0 0.0"),c.appendChild(d),this.globalData.defs.appendChild(n);var h=createNS("rect");h.setAttribute("width",this.comp.data.w),h.setAttribute("height",this.comp.data.h),h.setAttribute("x","0"),h.setAttribute("y","0"),h.setAttribute("fill","#ffffff"),h.setAttribute("opacity","0"),l.setAttribute("filter","url("+getLocationHref()+"#"+t+")"),l.appendChild(h),(r=createNS("use")).setAttributeNS("http://www.w3.org/1999/xlink","href","#"+this.layerId),l.appendChild(r),featureSupport.maskType||(o.setAttribute("mask-type","luminance"),n.appendChild(filtersFactory.createAlphaToLuminanceFilter()),i=createNS("g"),l.appendChild(h),i.appendChild(this.layerElement),l.appendChild(i)),this.globalData.defs.appendChild(o)}this.matteMasks[e]=a}return this.matteMasks[e]},setMatte:function(e){this.matteElement&&this.matteElement.setAttribute("mask","url("+getLocationHref()+"#"+e+")")}},HierarchyElement.prototype={initHierarchy:function(){this.hierarchy=[],this._isParent=!1,this.checkParenting()},setHierarchy:function(e){this.hierarchy=e},setAsParent:function(){this._isParent=!0},checkParenting:function(){void 0!==this.data.parent&&this.comp.buildElementParenting(this,this.data.parent,[])}},extendPrototype([RenderableElement,createProxyFunction({initElement:function(e,t,n){this.initFrame(),this.initBaseData(e,t,n),this.initTransform(e,t,n),this.initHierarchy(),this.initRenderable(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.createContent(),this.hide()},hide:function(){this.hidden||this.isInRange&&!this.isTransparent||((this.baseElement||this.layerElement).style.display="none",this.hidden=!0)},show:function(){this.isInRange&&!this.isTransparent&&(this.data.hd||((this.baseElement||this.layerElement).style.display="block"),this.hidden=!1,this._isFirstFrame=!0)},renderFrame:function(){this.data.hd||this.hidden||(this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame&&(this._isFirstFrame=!1))},renderInnerContent:function(){},prepareFrame:function(e){this._mdf=!1,this.prepareRenderableFrame(e),this.prepareProperties(e,this.isInRange),this.checkTransparency()},destroy:function(){this.innerElem=null,this.destroyBaseElement()}})],RenderableDOMElement),extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],IImageElement),IImageElement.prototype.createContent=function(){var e=this.globalData.getAssetsPath(this.assetData);this.innerElem=createNS("image"),this.innerElem.setAttribute("width",this.assetData.w+"px"),this.innerElem.setAttribute("height",this.assetData.h+"px"),this.innerElem.setAttribute("preserveAspectRatio",this.assetData.pr||this.globalData.renderConfig.imagePreserveAspectRatio),this.innerElem.setAttributeNS("http://www.w3.org/1999/xlink","href",e),this.layerElement.appendChild(this.innerElem)},IImageElement.prototype.sourceRectAtTime=function(){return this.sourceRect},IShapeElement.prototype={addShapeToModifiers:function(e){var t,n=this.shapeModifiers.length;for(t=0;t<n;t+=1)this.shapeModifiers[t].addShape(e)},isShapeInAnimatedModifiers:function(e){for(var t=this.shapeModifiers.length;0<t;)if(this.shapeModifiers[0].isAnimatedWithShape(e))return!0;return!1},renderModifiers:function(){if(this.shapeModifiers.length){var e,t=this.shapes.length;for(e=0;e<t;e+=1)this.shapes[e].sh.reset();for(e=(t=this.shapeModifiers.length)-1;e>=0&&!this.shapeModifiers[e].processShapes(this._isFirstFrame);e-=1);}},searchProcessedElement:function(e){for(var t=this.processedElements,n=0,r=t.length;n<r;){if(t[n].elem===e)return t[n].pos;n+=1}return 0},addProcessedElement:function(e,t){for(var n=this.processedElements,r=n.length;r;)if(n[r-=1].elem===e)return void(n[r].pos=t);n.push(new ProcessedElement(e,t))},prepareFrame:function(e){this.prepareRenderableFrame(e),this.prepareProperties(e,this.isInRange)}};var lineCapEnum={1:"butt",2:"round",3:"square"},lineJoinEnum={1:"miter",2:"round",3:"bevel"};function SVGShapeData(e,t,n){this.caches=[],this.styles=[],this.transformers=e,this.lStr="",this.sh=n,this.lvl=t,this._isAnimated=!!n.k;for(var r=0,i=e.length;r<i;){if(e[r].mProps.dynamicProperties.length){this._isAnimated=!0;break}r+=1}}function SVGStyleData(e,t){this.data=e,this.type=e.ty,this.d="",this.lvl=t,this._mdf=!1,this.closed=!0===e.hd,this.pElem=createNS("path"),this.msElem=null}function DashProperty(e,t,n,r){var i;this.elem=e,this.frameId=-1,this.dataProps=createSizedArray(t.length),this.renderer=n,this.k=!1,this.dashStr="",this.dashArray=createTypedArray("float32",t.length?t.length-1:0),this.dashoffset=createTypedArray("float32",1),this.initDynamicPropertyContainer(r);var a,s=t.length||0;for(i=0;i<s;i+=1)a=PropertyFactory.getProp(e,t[i].v,0,0,this),this.k=a.k||this.k,this.dataProps[i]={n:t[i].n,p:a};this.k||this.getValue(!0),this._isAnimated=this.k}function SVGStrokeStyleData(e,t,n){this.initDynamicPropertyContainer(e),this.getValue=this.iterateDynamicProperties,this.o=PropertyFactory.getProp(e,t.o,0,.01,this),this.w=PropertyFactory.getProp(e,t.w,0,null,this),this.d=new DashProperty(e,t.d||{},"svg",this),this.c=PropertyFactory.getProp(e,t.c,1,255,this),this.style=n,this._isAnimated=!!this._isAnimated}function SVGFillStyleData(e,t,n){this.initDynamicPropertyContainer(e),this.getValue=this.iterateDynamicProperties,this.o=PropertyFactory.getProp(e,t.o,0,.01,this),this.c=PropertyFactory.getProp(e,t.c,1,255,this),this.style=n}function SVGNoStyleData(e,t,n){this.initDynamicPropertyContainer(e),this.getValue=this.iterateDynamicProperties,this.style=n}function GradientProperty(e,t,n){this.data=t,this.c=createTypedArray("uint8c",4*t.p);var r=t.k.k[0].s?t.k.k[0].s.length-4*t.p:t.k.k.length-4*t.p;this.o=createTypedArray("float32",r),this._cmdf=!1,this._omdf=!1,this._collapsable=this.checkCollapsable(),this._hasOpacity=r,this.initDynamicPropertyContainer(n),this.prop=PropertyFactory.getProp(e,t.k,1,null,this),this.k=this.prop.k,this.getValue(!0)}function SVGGradientFillStyleData(e,t,n){this.initDynamicPropertyContainer(e),this.getValue=this.iterateDynamicProperties,this.initGradientData(e,t,n)}function SVGGradientStrokeStyleData(e,t,n){this.initDynamicPropertyContainer(e),this.getValue=this.iterateDynamicProperties,this.w=PropertyFactory.getProp(e,t.w,0,null,this),this.d=new DashProperty(e,t.d||{},"svg",this),this.initGradientData(e,t,n),this._isAnimated=!!this._isAnimated}function ShapeGroupData(){this.it=[],this.prevViewData=[],this.gr=createNS("g")}function SVGTransformData(e,t,n){this.transform={mProps:e,op:t,container:n},this.elements=[],this._isAnimated=this.transform.mProps.dynamicProperties.length||this.transform.op.effectsSequence.length}SVGShapeData.prototype.setAsAnimated=function(){this._isAnimated=!0},SVGStyleData.prototype.reset=function(){this.d="",this._mdf=!1},DashProperty.prototype.getValue=function(e){if((this.elem.globalData.frameId!==this.frameId||e)&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf=this._mdf||e,this._mdf)){var t=0,n=this.dataProps.length;for("svg"===this.renderer&&(this.dashStr=""),t=0;t<n;t+=1)"o"!==this.dataProps[t].n?"svg"===this.renderer?this.dashStr+=" "+this.dataProps[t].p.v:this.dashArray[t]=this.dataProps[t].p.v:this.dashoffset[0]=this.dataProps[t].p.v}},extendPrototype([DynamicPropertyContainer],DashProperty),extendPrototype([DynamicPropertyContainer],SVGStrokeStyleData),extendPrototype([DynamicPropertyContainer],SVGFillStyleData),extendPrototype([DynamicPropertyContainer],SVGNoStyleData),GradientProperty.prototype.comparePoints=function(e,t){for(var n=0,r=this.o.length/2;n<r;){if(Math.abs(e[4*n]-e[4*t+2*n])>.01)return!1;n+=1}return!0},GradientProperty.prototype.checkCollapsable=function(){if(this.o.length/2!==this.c.length/4)return!1;if(this.data.k.k[0].s)for(var e=0,t=this.data.k.k.length;e<t;){if(!this.comparePoints(this.data.k.k[e].s,this.data.p))return!1;e+=1}else if(!this.comparePoints(this.data.k.k,this.data.p))return!1;return!0},GradientProperty.prototype.getValue=function(e){if(this.prop.getValue(),this._mdf=!1,this._cmdf=!1,this._omdf=!1,this.prop._mdf||e){var t,n,r,i=4*this.data.p;for(t=0;t<i;t+=1)n=t%4===0?100:255,r=Math.round(this.prop.v[t]*n),this.c[t]!==r&&(this.c[t]=r,this._cmdf=!e);if(this.o.length)for(i=this.prop.v.length,t=4*this.data.p;t<i;t+=1)n=t%2===0?100:1,r=t%2===0?Math.round(100*this.prop.v[t]):this.prop.v[t],this.o[t-4*this.data.p]!==r&&(this.o[t-4*this.data.p]=r,this._omdf=!e);this._mdf=!e}},extendPrototype([DynamicPropertyContainer],GradientProperty),SVGGradientFillStyleData.prototype.initGradientData=function(e,t,n){this.o=PropertyFactory.getProp(e,t.o,0,.01,this),this.s=PropertyFactory.getProp(e,t.s,1,null,this),this.e=PropertyFactory.getProp(e,t.e,1,null,this),this.h=PropertyFactory.getProp(e,t.h||{k:0},0,.01,this),this.a=PropertyFactory.getProp(e,t.a||{k:0},0,degToRads,this),this.g=new GradientProperty(e,t.g,this),this.style=n,this.stops=[],this.setGradientData(n.pElem,t),this.setGradientOpacity(t,n),this._isAnimated=!!this._isAnimated},SVGGradientFillStyleData.prototype.setGradientData=function(e,t){var n=createElementID(),r=createNS(1===t.t?"linearGradient":"radialGradient");r.setAttribute("id",n),r.setAttribute("spreadMethod","pad"),r.setAttribute("gradientUnits","userSpaceOnUse");var i,a,s,o=[];for(s=4*t.g.p,a=0;a<s;a+=4)i=createNS("stop"),r.appendChild(i),o.push(i);e.setAttribute("gf"===t.ty?"fill":"stroke","url("+getLocationHref()+"#"+n+")"),this.gf=r,this.cst=o},SVGGradientFillStyleData.prototype.setGradientOpacity=function(e,t){if(this.g._hasOpacity&&!this.g._collapsable){var n,r,i,a=createNS("mask"),s=createNS("path");a.appendChild(s);var o=createElementID(),l=createElementID();a.setAttribute("id",l);var c=createNS(1===e.t?"linearGradient":"radialGradient");c.setAttribute("id",o),c.setAttribute("spreadMethod","pad"),c.setAttribute("gradientUnits","userSpaceOnUse"),i=e.g.k.k[0].s?e.g.k.k[0].s.length:e.g.k.k.length;var d=this.stops;for(r=4*e.g.p;r<i;r+=2)(n=createNS("stop")).setAttribute("stop-color","rgb(255,255,255)"),c.appendChild(n),d.push(n);s.setAttribute("gf"===e.ty?"fill":"stroke","url("+getLocationHref()+"#"+o+")"),"gs"===e.ty&&(s.setAttribute("stroke-linecap",lineCapEnum[e.lc||2]),s.setAttribute("stroke-linejoin",lineJoinEnum[e.lj||2]),1===e.lj&&s.setAttribute("stroke-miterlimit",e.ml)),this.of=c,this.ms=a,this.ost=d,this.maskId=l,t.msElem=s}},extendPrototype([DynamicPropertyContainer],SVGGradientFillStyleData),extendPrototype([SVGGradientFillStyleData,DynamicPropertyContainer],SVGGradientStrokeStyleData);var buildShapeString=function(e,t,n,r){if(0===t)return"";var i,a=e.o,s=e.i,o=e.v,l=" M"+r.applyToPointStringified(o[0][0],o[0][1]);for(i=1;i<t;i+=1)l+=" C"+r.applyToPointStringified(a[i-1][0],a[i-1][1])+" "+r.applyToPointStringified(s[i][0],s[i][1])+" "+r.applyToPointStringified(o[i][0],o[i][1]);return n&&t&&(l+=" C"+r.applyToPointStringified(a[i-1][0],a[i-1][1])+" "+r.applyToPointStringified(s[0][0],s[0][1])+" "+r.applyToPointStringified(o[0][0],o[0][1]),l+="z"),l},SVGElementsRenderer=function(){var e=new Matrix,t=new Matrix;function n(e,t,n){(n||t.transform.op._mdf)&&t.transform.container.setAttribute("opacity",t.transform.op.v),(n||t.transform.mProps._mdf)&&t.transform.container.setAttribute("transform",t.transform.mProps.v.to2dCSS())}function r(){}function i(n,r,i){var a,s,o,l,c,d,h,u,p,f,m=r.styles.length,g=r.lvl;for(d=0;d<m;d+=1){if(l=r.sh._mdf||i,r.styles[d].lvl<g){for(u=t.reset(),p=g-r.styles[d].lvl,f=r.transformers.length-1;!l&&p>0;)l=r.transformers[f].mProps._mdf||l,p-=1,f-=1;if(l)for(p=g-r.styles[d].lvl,f=r.transformers.length-1;p>0;)u.multiply(r.transformers[f].mProps.v),p-=1,f-=1}else u=e;if(s=(h=r.sh.paths)._length,l){for(o="",a=0;a<s;a+=1)(c=h.shapes[a])&&c._length&&(o+=buildShapeString(c,c._length,c.c,u));r.caches[d]=o}else o=r.caches[d];r.styles[d].d+=!0===n.hd?"":o,r.styles[d]._mdf=l||r.styles[d]._mdf}}function a(e,t,n){var r=t.style;(t.c._mdf||n)&&r.pElem.setAttribute("fill","rgb("+bmFloor(t.c.v[0])+","+bmFloor(t.c.v[1])+","+bmFloor(t.c.v[2])+")"),(t.o._mdf||n)&&r.pElem.setAttribute("fill-opacity",t.o.v)}function s(e,t,n){o(e,t,n),l(0,t,n)}function o(e,t,n){var r,i,a,s,o,l=t.gf,c=t.g._hasOpacity,d=t.s.v,h=t.e.v;if(t.o._mdf||n){var u="gf"===e.ty?"fill-opacity":"stroke-opacity";t.style.pElem.setAttribute(u,t.o.v)}if(t.s._mdf||n){var p=1===e.t?"x1":"cx",f="x1"===p?"y1":"cy";l.setAttribute(p,d[0]),l.setAttribute(f,d[1]),c&&!t.g._collapsable&&(t.of.setAttribute(p,d[0]),t.of.setAttribute(f,d[1]))}if(t.g._cmdf||n){r=t.cst;var m=t.g.c;for(a=r.length,i=0;i<a;i+=1)(s=r[i]).setAttribute("offset",m[4*i]+"%"),s.setAttribute("stop-color","rgb("+m[4*i+1]+","+m[4*i+2]+","+m[4*i+3]+")")}if(c&&(t.g._omdf||n)){var g=t.g.o;for(a=(r=t.g._collapsable?t.cst:t.ost).length,i=0;i<a;i+=1)s=r[i],t.g._collapsable||s.setAttribute("offset",g[2*i]+"%"),s.setAttribute("stop-opacity",g[2*i+1])}if(1===e.t)(t.e._mdf||n)&&(l.setAttribute("x2",h[0]),l.setAttribute("y2",h[1]),c&&!t.g._collapsable&&(t.of.setAttribute("x2",h[0]),t.of.setAttribute("y2",h[1])));else if((t.s._mdf||t.e._mdf||n)&&(o=Math.sqrt(Math.pow(d[0]-h[0],2)+Math.pow(d[1]-h[1],2)),l.setAttribute("r",o),c&&!t.g._collapsable&&t.of.setAttribute("r",o)),t.e._mdf||t.h._mdf||t.a._mdf||n){o||(o=Math.sqrt(Math.pow(d[0]-h[0],2)+Math.pow(d[1]-h[1],2)));var y=Math.atan2(h[1]-d[1],h[0]-d[0]),v=t.h.v;v>=1?v=.99:v<=-1&&(v=-.99);var x=o*v,S=Math.cos(y+t.a.v)*x+d[0],A=Math.sin(y+t.a.v)*x+d[1];l.setAttribute("fx",S),l.setAttribute("fy",A),c&&!t.g._collapsable&&(t.of.setAttribute("fx",S),t.of.setAttribute("fy",A))}}function l(e,t,n){var r=t.style,i=t.d;i&&(i._mdf||n)&&i.dashStr&&(r.pElem.setAttribute("stroke-dasharray",i.dashStr),r.pElem.setAttribute("stroke-dashoffset",i.dashoffset[0])),t.c&&(t.c._mdf||n)&&r.pElem.setAttribute("stroke","rgb("+bmFloor(t.c.v[0])+","+bmFloor(t.c.v[1])+","+bmFloor(t.c.v[2])+")"),(t.o._mdf||n)&&r.pElem.setAttribute("stroke-opacity",t.o.v),(t.w._mdf||n)&&(r.pElem.setAttribute("stroke-width",t.w.v),r.msElem&&r.msElem.setAttribute("stroke-width",t.w.v))}return{createRenderFunction:function(e){switch(e.ty){case"fl":return a;case"gf":return o;case"gs":return s;case"st":return l;case"sh":case"el":case"rc":case"sr":return i;case"tr":return n;case"no":return r;default:return null}}}}();function SVGShapeElement(e,t,n){this.shapes=[],this.shapesData=e.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(e,t,n),this.prevViewData=[]}function LetterProps(e,t,n,r,i,a){this.o=e,this.sw=t,this.sc=n,this.fc=r,this.m=i,this.p=a,this._mdf={o:!0,sw:!!t,sc:!!n,fc:!!r,m:!0,p:!0}}function TextProperty(e,t){this._frameId=initialDefaultFrame,this.pv="",this.v="",this.kf=!1,this._isFirstFrame=!0,this._mdf=!1,t.d&&t.d.sid&&(t.d=e.globalData.slotManager.getProp(t.d)),this.data=t,this.elem=e,this.comp=this.elem.comp,this.keysIndex=0,this.canResize=!1,this.minimumFontSize=1,this.effectsSequence=[],this.currentData={ascent:0,boxWidth:this.defaultBoxWidth,f:"",fStyle:"",fWeight:"",fc:"",j:"",justifyOffset:"",l:[],lh:0,lineWidths:[],ls:"",of:"",s:"",sc:"",sw:0,t:0,tr:0,sz:0,ps:null,fillColorAnim:!1,strokeColorAnim:!1,strokeWidthAnim:!1,yOffset:0,finalSize:0,finalText:[],finalLineHeight:0,__complete:!1},this.copyData(this.currentData,this.data.d.k[0].s),this.searchProperty()||this.completeTextData(this.currentData)}extendPrototype([BaseElement,TransformElement,SVGBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableDOMElement],SVGShapeElement),SVGShapeElement.prototype.initSecondaryElement=function(){},SVGShapeElement.prototype.identityMatrix=new Matrix,SVGShapeElement.prototype.buildExpressionInterface=function(){},SVGShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes()},SVGShapeElement.prototype.filterUniqueShapes=function(){var e,t,n,r,i=this.shapes.length,a=this.stylesList.length,s=[],o=!1;for(n=0;n<a;n+=1){for(r=this.stylesList[n],o=!1,s.length=0,e=0;e<i;e+=1)-1!==(t=this.shapes[e]).styles.indexOf(r)&&(s.push(t),o=t._isAnimated||o);s.length>1&&o&&this.setShapesAsAnimated(s)}},SVGShapeElement.prototype.setShapesAsAnimated=function(e){var t,n=e.length;for(t=0;t<n;t+=1)e[t].setAsAnimated()},SVGShapeElement.prototype.createStyleElement=function(e,t){var n,r=new SVGStyleData(e,t),i=r.pElem;return"st"===e.ty?n=new SVGStrokeStyleData(this,e,r):"fl"===e.ty?n=new SVGFillStyleData(this,e,r):"gf"===e.ty||"gs"===e.ty?(n=new("gf"===e.ty?SVGGradientFillStyleData:SVGGradientStrokeStyleData)(this,e,r),this.globalData.defs.appendChild(n.gf),n.maskId&&(this.globalData.defs.appendChild(n.ms),this.globalData.defs.appendChild(n.of),i.setAttribute("mask","url("+getLocationHref()+"#"+n.maskId+")"))):"no"===e.ty&&(n=new SVGNoStyleData(this,e,r)),"st"!==e.ty&&"gs"!==e.ty||(i.setAttribute("stroke-linecap",lineCapEnum[e.lc||2]),i.setAttribute("stroke-linejoin",lineJoinEnum[e.lj||2]),i.setAttribute("fill-opacity","0"),1===e.lj&&i.setAttribute("stroke-miterlimit",e.ml)),2===e.r&&i.setAttribute("fill-rule","evenodd"),e.ln&&i.setAttribute("id",e.ln),e.cl&&i.setAttribute("class",e.cl),e.bm&&(i.style["mix-blend-mode"]=getBlendMode(e.bm)),this.stylesList.push(r),this.addToAnimatedContents(e,n),n},SVGShapeElement.prototype.createGroupElement=function(e){var t=new ShapeGroupData;return e.ln&&t.gr.setAttribute("id",e.ln),e.cl&&t.gr.setAttribute("class",e.cl),e.bm&&(t.gr.style["mix-blend-mode"]=getBlendMode(e.bm)),t},SVGShapeElement.prototype.createTransformElement=function(e,t){var n=TransformPropertyFactory.getTransformProperty(this,e,this),r=new SVGTransformData(n,n.o,t);return this.addToAnimatedContents(e,r),r},SVGShapeElement.prototype.createShapeElement=function(e,t,n){var r=4;"rc"===e.ty?r=5:"el"===e.ty?r=6:"sr"===e.ty&&(r=7);var i=new SVGShapeData(t,n,ShapePropertyFactory.getShapeProp(this,e,r,this));return this.shapes.push(i),this.addShapeToModifiers(i),this.addToAnimatedContents(e,i),i},SVGShapeElement.prototype.addToAnimatedContents=function(e,t){for(var n=0,r=this.animatedContents.length;n<r;){if(this.animatedContents[n].element===t)return;n+=1}this.animatedContents.push({fn:SVGElementsRenderer.createRenderFunction(e),element:t,data:e})},SVGShapeElement.prototype.setElementStyles=function(e){var t,n=e.styles,r=this.stylesList.length;for(t=0;t<r;t+=1)this.stylesList[t].closed||n.push(this.stylesList[t])},SVGShapeElement.prototype.reloadShapes=function(){var e;this._isFirstFrame=!0;var t=this.itemsData.length;for(e=0;e<t;e+=1)this.prevViewData[e]=this.itemsData[e];for(this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes(),t=this.dynamicProperties.length,e=0;e<t;e+=1)this.dynamicProperties[e].getValue();this.renderModifiers()},SVGShapeElement.prototype.searchShapes=function(e,t,n,r,i,a,s){var o,l,c,d,h,u,p=[].concat(a),f=e.length-1,m=[],g=[];for(o=f;o>=0;o-=1){if((u=this.searchProcessedElement(e[o]))?t[o]=n[u-1]:e[o]._render=s,"fl"===e[o].ty||"st"===e[o].ty||"gf"===e[o].ty||"gs"===e[o].ty||"no"===e[o].ty)u?t[o].style.closed=!1:t[o]=this.createStyleElement(e[o],i),e[o]._render&&t[o].style.pElem.parentNode!==r&&r.appendChild(t[o].style.pElem),m.push(t[o].style);else if("gr"===e[o].ty){if(u)for(c=t[o].it.length,l=0;l<c;l+=1)t[o].prevViewData[l]=t[o].it[l];else t[o]=this.createGroupElement(e[o]);this.searchShapes(e[o].it,t[o].it,t[o].prevViewData,t[o].gr,i+1,p,s),e[o]._render&&t[o].gr.parentNode!==r&&r.appendChild(t[o].gr)}else"tr"===e[o].ty?(u||(t[o]=this.createTransformElement(e[o],r)),d=t[o].transform,p.push(d)):"sh"===e[o].ty||"rc"===e[o].ty||"el"===e[o].ty||"sr"===e[o].ty?(u||(t[o]=this.createShapeElement(e[o],p,i)),this.setElementStyles(t[o])):"tm"===e[o].ty||"rd"===e[o].ty||"ms"===e[o].ty||"pb"===e[o].ty||"zz"===e[o].ty||"op"===e[o].ty?(u?(h=t[o]).closed=!1:((h=ShapeModifiers.getModifier(e[o].ty)).init(this,e[o]),t[o]=h,this.shapeModifiers.push(h)),g.push(h)):"rp"===e[o].ty&&(u?(h=t[o]).closed=!0:(h=ShapeModifiers.getModifier(e[o].ty),t[o]=h,h.init(this,e,o,t),this.shapeModifiers.push(h),s=!1),g.push(h));this.addProcessedElement(e[o],o+1)}for(f=m.length,o=0;o<f;o+=1)m[o].closed=!0;for(f=g.length,o=0;o<f;o+=1)g[o].closed=!0},SVGShapeElement.prototype.renderInnerContent=function(){var e;this.renderModifiers();var t=this.stylesList.length;for(e=0;e<t;e+=1)this.stylesList[e].reset();for(this.renderShape(),e=0;e<t;e+=1)(this.stylesList[e]._mdf||this._isFirstFrame)&&(this.stylesList[e].msElem&&(this.stylesList[e].msElem.setAttribute("d",this.stylesList[e].d),this.stylesList[e].d="M0 0"+this.stylesList[e].d),this.stylesList[e].pElem.setAttribute("d",this.stylesList[e].d||"M0 0"))},SVGShapeElement.prototype.renderShape=function(){var e,t,n=this.animatedContents.length;for(e=0;e<n;e+=1)t=this.animatedContents[e],(this._isFirstFrame||t.element._isAnimated)&&!0!==t.data&&t.fn(t.data,t.element,this._isFirstFrame)},SVGShapeElement.prototype.destroy=function(){this.destroyBaseElement(),this.shapesData=null,this.itemsData=null},LetterProps.prototype.update=function(e,t,n,r,i,a){this._mdf.o=!1,this._mdf.sw=!1,this._mdf.sc=!1,this._mdf.fc=!1,this._mdf.m=!1,this._mdf.p=!1;var s=!1;return this.o!==e&&(this.o=e,this._mdf.o=!0,s=!0),this.sw!==t&&(this.sw=t,this._mdf.sw=!0,s=!0),this.sc!==n&&(this.sc=n,this._mdf.sc=!0,s=!0),this.fc!==r&&(this.fc=r,this._mdf.fc=!0,s=!0),this.m!==i&&(this.m=i,this._mdf.m=!0,s=!0),!a.length||this.p[0]===a[0]&&this.p[1]===a[1]&&this.p[4]===a[4]&&this.p[5]===a[5]&&this.p[12]===a[12]&&this.p[13]===a[13]||(this.p=a,this._mdf.p=!0,s=!0),s},TextProperty.prototype.defaultBoxWidth=[0,0],TextProperty.prototype.copyData=function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},TextProperty.prototype.setCurrentData=function(e){e.__complete||this.completeTextData(e),this.currentData=e,this.currentData.boxWidth=this.currentData.boxWidth||this.defaultBoxWidth,this._mdf=!0},TextProperty.prototype.searchProperty=function(){return this.searchKeyframes()},TextProperty.prototype.searchKeyframes=function(){return this.kf=this.data.d.k.length>1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},TextProperty.prototype.addEffect=function(e){this.effectsSequence.push(e),this.elem.addDynamicProperty(this)},TextProperty.prototype.getValue=function(e){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length||e){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var t=this.currentData,n=this.keysIndex;if(this.lock)this.setCurrentData(this.currentData);else{var r;this.lock=!0,this._mdf=!1;var i=this.effectsSequence.length,a=e||this.data.d.k[this.keysIndex].s;for(r=0;r<i;r+=1)a=n!==this.keysIndex?this.effectsSequence[r](a,a.t):this.effectsSequence[r](this.currentData,a.t);t!==a&&this.setCurrentData(a),this.v=this.currentData,this.pv=this.v,this.lock=!1,this.frameId=this.elem.globalData.frameId}}},TextProperty.prototype.getKeyframeValue=function(){for(var e=this.data.d.k,t=this.elem.comp.renderedFrame,n=0,r=e.length;n<=r-1&&!(n===r-1||e[n+1].t>t);)n+=1;return this.keysIndex!==n&&(this.keysIndex=n),this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(e){for(var t,n,r=[],i=0,a=e.length,s=!1,o=!1,l="";i<a;)s=o,o=!1,t=e.charCodeAt(i),l=e.charAt(i),FontManager.isCombinedCharacter(t)?s=!0:t>=55296&&t<=56319?FontManager.isRegionalFlag(e,i)?l=e.substr(i,14):(n=e.charCodeAt(i+1))>=56320&&n<=57343&&(FontManager.isModifier(t,n)?(l=e.substr(i,2),s=!0):l=FontManager.isFlagEmoji(e.substr(i,4))?e.substr(i,4):e.substr(i,2)):t>56319?(n=e.charCodeAt(i+1),FontManager.isVariationSelector(t)&&(s=!0)):FontManager.isZeroWidthJoiner(t)&&(s=!0,o=!0),s?(r[r.length-1]+=l,s=!1):r.push(l),i+=l.length;return r},TextProperty.prototype.completeTextData=function(e){e.__complete=!0;var t,n,r,i,a,s,o,l=this.elem.globalData.fontManager,c=this.data,d=[],h=0,u=c.m.g,p=0,f=0,m=0,g=[],y=0,v=0,x=l.getFontByName(e.f),S=0,A=getFontProperties(x);e.fWeight=A.weight,e.fStyle=A.style,e.finalSize=e.s,e.finalText=this.buildFinalText(e.t),n=e.finalText.length,e.finalLineHeight=e.lh;var b,k=e.tr/1e3*e.finalSize;if(e.sz)for(var w,j,M=!0,P=e.sz[0],O=e.sz[1];M;){w=0,y=0,n=(j=this.buildFinalText(e.t)).length,k=e.tr/1e3*e.finalSize;var T=-1;for(t=0;t<n;t+=1)b=j[t].charCodeAt(0),r=!1," "===j[t]?T=t:13!==b&&3!==b||(y=0,r=!0,w+=e.finalLineHeight||1.2*e.finalSize),l.chars?(o=l.getCharData(j[t],x.fStyle,x.fFamily),S=r?0:o.w*e.finalSize/100):S=l.measureText(j[t],e.f,e.finalSize),y+S>P&&" "!==j[t]?(-1===T?n+=1:t=T,w+=e.finalLineHeight||1.2*e.finalSize,j.splice(t,T===t?1:0,"\r"),T=-1,y=0):(y+=S,y+=k);w+=x.ascent*e.finalSize/100,this.canResize&&e.finalSize>this.minimumFontSize&&O<w?(e.finalSize-=1,e.finalLineHeight=e.finalSize*e.lh/e.s):(e.finalText=j,n=e.finalText.length,M=!1)}y=-k,S=0;var I,C=0;for(t=0;t<n;t+=1)if(r=!1,13===(b=(I=e.finalText[t]).charCodeAt(0))||3===b?(C=0,g.push(y),v=y>v?y:v,y=-2*k,i="",r=!0,m+=1):i=I,l.chars?(o=l.getCharData(I,x.fStyle,l.getFontByName(e.f).fFamily),S=r?0:o.w*e.finalSize/100):S=l.measureText(i,e.f,e.finalSize)," "===I?C+=S+k:(y+=S+k+C,C=0),d.push({l:S,an:S,add:p,n:r,anIndexes:[],val:i,line:m,animatorJustifyOffset:0}),2==u){if(p+=S,""===i||" "===i||t===n-1){for(""!==i&&" "!==i||(p-=S);f<=t;)d[f].an=p,d[f].ind=h,d[f].extra=S,f+=1;h+=1,p=0}}else if(3==u){if(p+=S,""===i||t===n-1){for(""===i&&(p-=S);f<=t;)d[f].an=p,d[f].ind=h,d[f].extra=S,f+=1;p=0,h+=1}}else d[h].ind=h,d[h].extra=0,h+=1;if(e.l=d,v=y>v?y:v,g.push(y),e.sz)e.boxWidth=e.sz[0],e.justifyOffset=0;else switch(e.boxWidth=v,e.j){case 1:e.justifyOffset=-e.boxWidth;break;case 2:e.justifyOffset=-e.boxWidth/2;break;default:e.justifyOffset=0}e.lineWidths=g;var E,V,R,D,B=c.a;s=B.length;var G=[];for(a=0;a<s;a+=1){for((E=B[a]).a.sc&&(e.strokeColorAnim=!0),E.a.sw&&(e.strokeWidthAnim=!0),(E.a.fc||E.a.fh||E.a.fs||E.a.fb)&&(e.fillColorAnim=!0),D=0,R=E.s.b,t=0;t<n;t+=1)(V=d[t]).anIndexes[a]=D,(1==R&&""!==V.val||2==R&&""!==V.val&&" "!==V.val||3==R&&(V.n||" "==V.val||t==n-1)||4==R&&(V.n||t==n-1))&&(1===E.s.rn&&G.push(D),D+=1);c.a[a].s.totalChars=D;var q,H=-1;if(1===E.s.rn)for(t=0;t<n;t+=1)H!=(V=d[t]).anIndexes[a]&&(H=V.anIndexes[a],q=G.splice(Math.floor(Math.random()*G.length),1)[0]),V.anIndexes[a]=q}e.yOffset=e.finalLineHeight||1.2*e.finalSize,e.ls=e.ls||0,e.ascent=x.ascent*e.finalSize/100},TextProperty.prototype.updateDocumentData=function(e,t){t=void 0===t?this.keysIndex:t;var n=this.copyData({},this.data.d.k[t].s);n=this.copyData(n,e),this.data.d.k[t].s=n,this.recalculate(t),this.setCurrentData(n),this.elem.addDynamicProperty(this)},TextProperty.prototype.recalculate=function(e){var t=this.data.d.k[e].s;t.__complete=!1,this.keysIndex=0,this._isFirstFrame=!0,this.getValue(t)},TextProperty.prototype.canResizeFont=function(e){this.canResize=e,this.recalculate(this.keysIndex),this.elem.addDynamicProperty(this)},TextProperty.prototype.setMinimumFontSize=function(e){this.minimumFontSize=Math.floor(e)||1,this.recalculate(this.keysIndex),this.elem.addDynamicProperty(this)};var TextSelectorProp=function(){var e=Math.max,t=Math.min,n=Math.floor;function r(e,t){this._currentTextLength=-1,this.k=!1,this.data=t,this.elem=e,this.comp=e.comp,this.finalS=0,this.finalE=0,this.initDynamicPropertyContainer(e),this.s=PropertyFactory.getProp(e,t.s||{k:0},0,0,this),this.e="e"in t?PropertyFactory.getProp(e,t.e,0,0,this):{v:100},this.o=PropertyFactory.getProp(e,t.o||{k:0},0,0,this),this.xe=PropertyFactory.getProp(e,t.xe||{k:0},0,0,this),this.ne=PropertyFactory.getProp(e,t.ne||{k:0},0,0,this),this.sm=PropertyFactory.getProp(e,t.sm||{k:100},0,0,this),this.a=PropertyFactory.getProp(e,t.a,0,.01,this),this.dynamicProperties.length||this.getValue()}return r.prototype={getMult:function(r){this._currentTextLength!==this.elem.textProperty.currentData.l.length&&this.getValue();var i=0,a=0,s=1,o=1;this.ne.v>0?i=this.ne.v/100:a=-this.ne.v/100,this.xe.v>0?s=1-this.xe.v/100:o=1+this.xe.v/100;var l=BezierFactory.getBezierEasing(i,a,s,o).get,c=0,d=this.finalS,h=this.finalE,u=this.data.sh;if(2===u)c=l(c=h===d?r>=h?1:0:e(0,t(.5/(h-d)+(r-d)/(h-d),1)));else if(3===u)c=l(c=h===d?r>=h?0:1:1-e(0,t(.5/(h-d)+(r-d)/(h-d),1)));else if(4===u)h===d?c=0:(c=e(0,t(.5/(h-d)+(r-d)/(h-d),1)))<.5?c*=2:c=1-2*(c-.5),c=l(c);else if(5===u){if(h===d)c=0;else{var p=h-d,f=-p/2+(r=t(e(0,r+.5-d),h-d)),m=p/2;c=Math.sqrt(1-f*f/(m*m))}c=l(c)}else 6===u?(h===d?c=0:(r=t(e(0,r+.5-d),h-d),c=(1+Math.cos(Math.PI+2*Math.PI*r/(h-d)))/2),c=l(c)):(r>=n(d)&&(c=e(0,t(r-d<0?t(h,1)-(d-r):h-r,1))),c=l(c));if(100!==this.sm.v){var g=.01*this.sm.v;0===g&&(g=1e-8);var y=.5-.5*g;c<y?c=0:(c=(c-y)/g)>1&&(c=1)}return c*this.a.v},getValue:function(e){this.iterateDynamicProperties(),this._mdf=e||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,e&&2===this.data.r&&(this.e.v=this._currentTextLength);var t=2===this.data.r?1:100/this.data.totalChars,n=this.o.v/t,r=this.s.v/t+n,i=this.e.v/t+n;if(r>i){var a=r;r=i,i=a}this.finalS=r,this.finalE=i}},extendPrototype([DynamicPropertyContainer],r),{getTextSelectorProp:function(e,t,n){return new r(e,t,n)}}}();function TextAnimatorDataProperty(e,t,n){var r={propType:!1},i=PropertyFactory.getProp,a=t.a;this.a={r:a.r?i(e,a.r,0,degToRads,n):r,rx:a.rx?i(e,a.rx,0,degToRads,n):r,ry:a.ry?i(e,a.ry,0,degToRads,n):r,sk:a.sk?i(e,a.sk,0,degToRads,n):r,sa:a.sa?i(e,a.sa,0,degToRads,n):r,s:a.s?i(e,a.s,1,.01,n):r,a:a.a?i(e,a.a,1,0,n):r,o:a.o?i(e,a.o,0,.01,n):r,p:a.p?i(e,a.p,1,0,n):r,sw:a.sw?i(e,a.sw,0,0,n):r,sc:a.sc?i(e,a.sc,1,0,n):r,fc:a.fc?i(e,a.fc,1,0,n):r,fh:a.fh?i(e,a.fh,0,0,n):r,fs:a.fs?i(e,a.fs,0,.01,n):r,fb:a.fb?i(e,a.fb,0,.01,n):r,t:a.t?i(e,a.t,0,0,n):r},this.s=TextSelectorProp.getTextSelectorProp(e,t.s,n),this.s.t=t.s.t}function TextAnimatorProperty(e,t,n){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=e,this._renderType=t,this._elem=n,this._animatorsData=createSizedArray(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(n)}function ITextElement(){}TextAnimatorProperty.prototype.searchProperties=function(){var e,t,n=this._textData.a.length,r=PropertyFactory.getProp;for(e=0;e<n;e+=1)t=this._textData.a[e],this._animatorsData[e]=new TextAnimatorDataProperty(this._elem,t,this);this._textData.p&&"m"in this._textData.p?(this._pathData={a:r(this._elem,this._textData.p.a,0,0,this),f:r(this._elem,this._textData.p.f,0,0,this),l:r(this._elem,this._textData.p.l,0,0,this),r:r(this._elem,this._textData.p.r,0,0,this),p:r(this._elem,this._textData.p.p,0,0,this),m:this._elem.maskManager.getMaskProperty(this._textData.p.m)},this._hasMaskedPath=!0):this._hasMaskedPath=!1,this._moreOptions.alignment=r(this._elem,this._textData.m.a,1,0,this)},TextAnimatorProperty.prototype.getMeasures=function(e,t){if(this.lettersChangedFlag=t,this._mdf||this._isFirstFrame||t||this._hasMaskedPath&&this._pathData.m._mdf){this._isFirstFrame=!1;var n,r,i,a,s,o,l,c,d,h,u,p,f,m,g,y,v,x,S,A=this._moreOptions.alignment.v,b=this._animatorsData,k=this._textData,w=this.mHelper,j=this._renderType,M=this.renderedLetters.length,P=e.l;if(this._hasMaskedPath){if(S=this._pathData.m,!this._pathData.n||this._pathData._mdf){var O,T=S.v;for(this._pathData.r.v&&(T=T.reverse()),s={tLength:0,segments:[]},a=T._length-1,y=0,i=0;i<a;i+=1)O=bez.buildBezierData(T.v[i],T.v[i+1],[T.o[i][0]-T.v[i][0],T.o[i][1]-T.v[i][1]],[T.i[i+1][0]-T.v[i+1][0],T.i[i+1][1]-T.v[i+1][1]]),s.tLength+=O.segmentLength,s.segments.push(O),y+=O.segmentLength;i=a,S.v.c&&(O=bez.buildBezierData(T.v[i],T.v[0],[T.o[i][0]-T.v[i][0],T.o[i][1]-T.v[i][1]],[T.i[0][0]-T.v[0][0],T.i[0][1]-T.v[0][1]]),s.tLength+=O.segmentLength,s.segments.push(O),y+=O.segmentLength),this._pathData.pi=s}if(s=this._pathData.pi,o=this._pathData.f.v,u=0,h=1,c=0,d=!0,m=s.segments,o<0&&S.v.c)for(s.tLength<Math.abs(o)&&(o=-Math.abs(o)%s.tLength),h=(f=m[u=m.length-1].points).length-1;o<0;)o+=f[h].partialLength,(h-=1)<0&&(h=(f=m[u-=1].points).length-1);p=(f=m[u].points)[h-1],g=(l=f[h]).partialLength}a=P.length,n=0,r=0;var I,C,E,V,R,D=1.2*e.finalSize*.714,B=!0;E=b.length;var G,q,H,W,z,J,U,N,L,Y,F,Z,K=-1,Q=o,X=u,_=h,$=-1,ee="",te=this.defaultPropsArray;if(2===e.j||1===e.j){var ne=0,re=0,ie=2===e.j?-.5:-1,ae=0,se=!0;for(i=0;i<a;i+=1)if(P[i].n){for(ne&&(ne+=re);ae<i;)P[ae].animatorJustifyOffset=ne,ae+=1;ne=0,se=!0}else{for(C=0;C<E;C+=1)(I=b[C].a).t.propType&&(se&&2===e.j&&(re+=I.t.v*ie),(R=b[C].s.getMult(P[i].anIndexes[C],k.a[C].s.totalChars)).length?ne+=I.t.v*R[0]*ie:ne+=I.t.v*R*ie);se=!1}for(ne&&(ne+=re);ae<i;)P[ae].animatorJustifyOffset=ne,ae+=1}for(i=0;i<a;i+=1){if(w.reset(),W=1,P[i].n)n=0,r+=e.yOffset,r+=B?1:0,o=Q,B=!1,this._hasMaskedPath&&(h=_,p=(f=m[u=X].points)[h-1],g=(l=f[h]).partialLength,c=0),ee="",F="",L="",Z="",te=this.defaultPropsArray;else{if(this._hasMaskedPath){if($!==P[i].line){switch(e.j){case 1:o+=y-e.lineWidths[P[i].line];break;case 2:o+=(y-e.lineWidths[P[i].line])/2}$=P[i].line}K!==P[i].ind&&(P[K]&&(o+=P[K].extra),o+=P[i].an/2,K=P[i].ind),o+=A[0]*P[i].an*.005;var oe=0;for(C=0;C<E;C+=1)(I=b[C].a).p.propType&&((R=b[C].s.getMult(P[i].anIndexes[C],k.a[C].s.totalChars)).length?oe+=I.p.v[0]*R[0]:oe+=I.p.v[0]*R),I.a.propType&&((R=b[C].s.getMult(P[i].anIndexes[C],k.a[C].s.totalChars)).length?oe+=I.a.v[0]*R[0]:oe+=I.a.v[0]*R);for(d=!0,this._pathData.a.v&&(o=.5*P[0].an+(y-this._pathData.f.v-.5*P[0].an-.5*P[P.length-1].an)*K/(a-1),o+=this._pathData.f.v);d;)c+g>=o+oe||!f?(v=(o+oe-c)/l.partialLength,q=p.point[0]+(l.point[0]-p.point[0])*v,H=p.point[1]+(l.point[1]-p.point[1])*v,w.translate(-A[0]*P[i].an*.005,-A[1]*D*.01),d=!1):f&&(c+=l.partialLength,(h+=1)>=f.length&&(h=0,m[u+=1]?f=m[u].points:S.v.c?(h=0,f=m[u=0].points):(c-=l.partialLength,f=null)),f&&(p=l,g=(l=f[h]).partialLength));G=P[i].an/2-P[i].add,w.translate(-G,0,0)}else G=P[i].an/2-P[i].add,w.translate(-G,0,0),w.translate(-A[0]*P[i].an*.005,-A[1]*D*.01,0);for(C=0;C<E;C+=1)(I=b[C].a).t.propType&&(R=b[C].s.getMult(P[i].anIndexes[C],k.a[C].s.totalChars),0===n&&0===e.j||(this._hasMaskedPath?R.length?o+=I.t.v*R[0]:o+=I.t.v*R:R.length?n+=I.t.v*R[0]:n+=I.t.v*R));for(e.strokeWidthAnim&&(J=e.sw||0),e.strokeColorAnim&&(z=e.sc?[e.sc[0],e.sc[1],e.sc[2]]:[0,0,0]),e.fillColorAnim&&e.fc&&(U=[e.fc[0],e.fc[1],e.fc[2]]),C=0;C<E;C+=1)(I=b[C].a).a.propType&&((R=b[C].s.getMult(P[i].anIndexes[C],k.a[C].s.totalChars)).length?w.translate(-I.a.v[0]*R[0],-I.a.v[1]*R[1],I.a.v[2]*R[2]):w.translate(-I.a.v[0]*R,-I.a.v[1]*R,I.a.v[2]*R));for(C=0;C<E;C+=1)(I=b[C].a).s.propType&&((R=b[C].s.getMult(P[i].anIndexes[C],k.a[C].s.totalChars)).length?w.scale(1+(I.s.v[0]-1)*R[0],1+(I.s.v[1]-1)*R[1],1):w.scale(1+(I.s.v[0]-1)*R,1+(I.s.v[1]-1)*R,1));for(C=0;C<E;C+=1){if(I=b[C].a,R=b[C].s.getMult(P[i].anIndexes[C],k.a[C].s.totalChars),I.sk.propType&&(R.length?w.skewFromAxis(-I.sk.v*R[0],I.sa.v*R[1]):w.skewFromAxis(-I.sk.v*R,I.sa.v*R)),I.r.propType&&(R.length?w.rotateZ(-I.r.v*R[2]):w.rotateZ(-I.r.v*R)),I.ry.propType&&(R.length?w.rotateY(I.ry.v*R[1]):w.rotateY(I.ry.v*R)),I.rx.propType&&(R.length?w.rotateX(I.rx.v*R[0]):w.rotateX(I.rx.v*R)),I.o.propType&&(R.length?W+=(I.o.v*R[0]-W)*R[0]:W+=(I.o.v*R-W)*R),e.strokeWidthAnim&&I.sw.propType&&(R.length?J+=I.sw.v*R[0]:J+=I.sw.v*R),e.strokeColorAnim&&I.sc.propType)for(N=0;N<3;N+=1)R.length?z[N]+=(I.sc.v[N]-z[N])*R[0]:z[N]+=(I.sc.v[N]-z[N])*R;if(e.fillColorAnim&&e.fc){if(I.fc.propType)for(N=0;N<3;N+=1)R.length?U[N]+=(I.fc.v[N]-U[N])*R[0]:U[N]+=(I.fc.v[N]-U[N])*R;I.fh.propType&&(U=R.length?addHueToRGB(U,I.fh.v*R[0]):addHueToRGB(U,I.fh.v*R)),I.fs.propType&&(U=R.length?addSaturationToRGB(U,I.fs.v*R[0]):addSaturationToRGB(U,I.fs.v*R)),I.fb.propType&&(U=R.length?addBrightnessToRGB(U,I.fb.v*R[0]):addBrightnessToRGB(U,I.fb.v*R))}}for(C=0;C<E;C+=1)(I=b[C].a).p.propType&&(R=b[C].s.getMult(P[i].anIndexes[C],k.a[C].s.totalChars),this._hasMaskedPath?R.length?w.translate(0,I.p.v[1]*R[0],-I.p.v[2]*R[1]):w.translate(0,I.p.v[1]*R,-I.p.v[2]*R):R.length?w.translate(I.p.v[0]*R[0],I.p.v[1]*R[1],-I.p.v[2]*R[2]):w.translate(I.p.v[0]*R,I.p.v[1]*R,-I.p.v[2]*R));if(e.strokeWidthAnim&&(L=J<0?0:J),e.strokeColorAnim&&(Y="rgb("+Math.round(255*z[0])+","+Math.round(255*z[1])+","+Math.round(255*z[2])+")"),e.fillColorAnim&&e.fc&&(F="rgb("+Math.round(255*U[0])+","+Math.round(255*U[1])+","+Math.round(255*U[2])+")"),this._hasMaskedPath){if(w.translate(0,-e.ls),w.translate(0,A[1]*D*.01+r,0),this._pathData.p.v){x=(l.point[1]-p.point[1])/(l.point[0]-p.point[0]);var le=180*Math.atan(x)/Math.PI;l.point[0]<p.point[0]&&(le+=180),w.rotate(-le*Math.PI/180)}w.translate(q,H,0),o-=A[0]*P[i].an*.005,P[i+1]&&K!==P[i+1].ind&&(o+=P[i].an/2,o+=.001*e.tr*e.finalSize)}else{switch(w.translate(n,r,0),e.ps&&w.translate(e.ps[0],e.ps[1]+e.ascent,0),e.j){case 1:w.translate(P[i].animatorJustifyOffset+e.justifyOffset+(e.boxWidth-e.lineWidths[P[i].line]),0,0);break;case 2:w.translate(P[i].animatorJustifyOffset+e.justifyOffset+(e.boxWidth-e.lineWidths[P[i].line])/2,0,0)}w.translate(0,-e.ls),w.translate(G,0,0),w.translate(A[0]*P[i].an*.005,A[1]*D*.01,0),n+=P[i].l+.001*e.tr*e.finalSize}"html"===j?ee=w.toCSS():"svg"===j?ee=w.to2dCSS():te=[w.props[0],w.props[1],w.props[2],w.props[3],w.props[4],w.props[5],w.props[6],w.props[7],w.props[8],w.props[9],w.props[10],w.props[11],w.props[12],w.props[13],w.props[14],w.props[15]],Z=W}M<=i?(V=new LetterProps(Z,L,Y,F,ee,te),this.renderedLetters.push(V),M+=1,this.lettersChangedFlag=!0):(V=this.renderedLetters[i],this.lettersChangedFlag=V.update(Z,L,Y,F,ee,te)||this.lettersChangedFlag)}}},TextAnimatorProperty.prototype.getValue=function(){this._elem.globalData.frameId!==this._frameId&&(this._frameId=this._elem.globalData.frameId,this.iterateDynamicProperties())},TextAnimatorProperty.prototype.mHelper=new Matrix,TextAnimatorProperty.prototype.defaultPropsArray=[],extendPrototype([DynamicPropertyContainer],TextAnimatorProperty),ITextElement.prototype.initElement=function(e,t,n){this.lettersChangedFlag=!0,this.initFrame(),this.initBaseData(e,t,n),this.textProperty=new TextProperty(this,e.t,this.dynamicProperties),this.textAnimator=new TextAnimatorProperty(e.t,this.renderType,this),this.initTransform(e,t,n),this.initHierarchy(),this.initRenderable(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.createContent(),this.hide(),this.textAnimator.searchProperties(this.dynamicProperties)},ITextElement.prototype.prepareFrame=function(e){this._mdf=!1,this.prepareRenderableFrame(e),this.prepareProperties(e,this.isInRange)},ITextElement.prototype.createPathShape=function(e,t){var n,r,i=t.length,a="";for(n=0;n<i;n+=1)"sh"===t[n].ty&&(r=t[n].ks.k,a+=buildShapeString(r,r.i.length,!0,e));return a},ITextElement.prototype.updateDocumentData=function(e,t){this.textProperty.updateDocumentData(e,t)},ITextElement.prototype.canResizeFont=function(e){this.textProperty.canResizeFont(e)},ITextElement.prototype.setMinimumFontSize=function(e){this.textProperty.setMinimumFontSize(e)},ITextElement.prototype.applyTextPropertiesToMatrix=function(e,t,n,r,i){switch(e.ps&&t.translate(e.ps[0],e.ps[1]+e.ascent,0),t.translate(0,-e.ls,0),e.j){case 1:t.translate(e.justifyOffset+(e.boxWidth-e.lineWidths[n]),0,0);break;case 2:t.translate(e.justifyOffset+(e.boxWidth-e.lineWidths[n])/2,0,0)}t.translate(r,i,0)},ITextElement.prototype.buildColor=function(e){return"rgb("+Math.round(255*e[0])+","+Math.round(255*e[1])+","+Math.round(255*e[2])+")"},ITextElement.prototype.emptyProp=new LetterProps,ITextElement.prototype.destroy=function(){},ITextElement.prototype.validateText=function(){(this.textProperty._mdf||this.textProperty._isFirstFrame)&&(this.buildNewText(),this.textProperty._isFirstFrame=!1,this.textProperty._mdf=!1)};var emptyShapeData={shapes:[]};function SVGTextLottieElement(e,t,n){this.textSpans=[],this.renderType="svg",this.initElement(e,t,n)}function ISolidElement(e,t,n){this.initElement(e,t,n)}function NullElement(e,t,n){this.initFrame(),this.initBaseData(e,t,n),this.initFrame(),this.initTransform(e,t,n),this.initHierarchy()}function SVGRendererBase(){}function ICompElement(){}function SVGCompElement(e,t,n){this.layers=e.layers,this.supports3d=!0,this.completeLayers=!1,this.pendingElements=[],this.elements=this.layers?createSizedArray(this.layers.length):[],this.initElement(e,t,n),this.tm=e.tm?PropertyFactory.getProp(this,e.tm,0,t.frameRate,this):{_placeholder:!0}}function SVGRenderer(e,t){this.animationItem=e,this.layers=null,this.renderedFrame=-1,this.svgElement=createNS("svg");var n="";if(t&&t.title){var r=createNS("title"),i=createElementID();r.setAttribute("id",i),r.textContent=t.title,this.svgElement.appendChild(r),n+=i}if(t&&t.description){var a=createNS("desc"),s=createElementID();a.setAttribute("id",s),a.textContent=t.description,this.svgElement.appendChild(a),n+=" "+s}n&&this.svgElement.setAttribute("aria-labelledby",n);var o=createNS("defs");this.svgElement.appendChild(o);var l=createNS("g");this.svgElement.appendChild(l),this.layerElement=l,this.renderConfig={preserveAspectRatio:t&&t.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:t&&t.imagePreserveAspectRatio||"xMidYMid slice",contentVisibility:t&&t.contentVisibility||"visible",progressiveLoad:t&&t.progressiveLoad||!1,hideOnTransparent:!(t&&!1===t.hideOnTransparent),viewBoxOnly:t&&t.viewBoxOnly||!1,viewBoxSize:t&&t.viewBoxSize||!1,className:t&&t.className||"",id:t&&t.id||"",focusable:t&&t.focusable,filterSize:{width:t&&t.filterSize&&t.filterSize.width||"100%",height:t&&t.filterSize&&t.filterSize.height||"100%",x:t&&t.filterSize&&t.filterSize.x||"0%",y:t&&t.filterSize&&t.filterSize.y||"0%"},width:t&&t.width,height:t&&t.height,runExpressions:!t||void 0===t.runExpressions||t.runExpressions},this.globalData={_mdf:!1,frameNum:-1,defs:o,renderConfig:this.renderConfig},this.elements=[],this.pendingElements=[],this.destroyed=!1,this.rendererType="svg"}function ShapeTransformManager(){this.sequences={},this.sequenceList=[],this.transform_key_count=0}extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement],SVGTextLottieElement),SVGTextLottieElement.prototype.createContent=function(){this.data.singleShape&&!this.globalData.fontManager.chars&&(this.textContainer=createNS("text"))},SVGTextLottieElement.prototype.buildTextContents=function(e){for(var t=0,n=e.length,r=[],i="";t<n;)e[t]===String.fromCharCode(13)||e[t]===String.fromCharCode(3)?(r.push(i),i=""):i+=e[t],t+=1;return r.push(i),r},SVGTextLottieElement.prototype.buildShapeData=function(e,t){if(e.shapes&&e.shapes.length){var n=e.shapes[0];if(n.it){var r=n.it[n.it.length-1];r.s&&(r.s.k[0]=t,r.s.k[1]=t)}}return e},SVGTextLottieElement.prototype.buildNewText=function(){var e,t;this.addDynamicProperty(this);var n=this.textProperty.currentData;this.renderedLetters=createSizedArray(n?n.l.length:0),n.fc?this.layerElement.setAttribute("fill",this.buildColor(n.fc)):this.layerElement.setAttribute("fill","rgba(0,0,0,0)"),n.sc&&(this.layerElement.setAttribute("stroke",this.buildColor(n.sc)),this.layerElement.setAttribute("stroke-width",n.sw)),this.layerElement.setAttribute("font-size",n.finalSize);var r=this.globalData.fontManager.getFontByName(n.f);if(r.fClass)this.layerElement.setAttribute("class",r.fClass);else{this.layerElement.setAttribute("font-family",r.fFamily);var i=n.fWeight,a=n.fStyle;this.layerElement.setAttribute("font-style",a),this.layerElement.setAttribute("font-weight",i)}this.layerElement.setAttribute("aria-label",n.t);var s,o=n.l||[],l=!!this.globalData.fontManager.chars;t=o.length;var c=this.mHelper,d=this.data.singleShape,h=0,u=0,p=!0,f=.001*n.tr*n.finalSize;if(!d||l||n.sz){var m,g=this.textSpans.length;for(e=0;e<t;e+=1){if(this.textSpans[e]||(this.textSpans[e]={span:null,childSpan:null,glyph:null}),!l||!d||0===e){if(s=g>e?this.textSpans[e].span:createNS(l?"g":"text"),g<=e){if(s.setAttribute("stroke-linecap","butt"),s.setAttribute("stroke-linejoin","round"),s.setAttribute("stroke-miterlimit","4"),this.textSpans[e].span=s,l){var y=createNS("g");s.appendChild(y),this.textSpans[e].childSpan=y}this.textSpans[e].span=s,this.layerElement.appendChild(s)}s.style.display="inherit"}if(c.reset(),d&&(o[e].n&&(h=-f,u+=n.yOffset,u+=p?1:0,p=!1),this.applyTextPropertiesToMatrix(n,c,o[e].line,h,u),h+=o[e].l||0,h+=f),l){var v;if(1===(m=this.globalData.fontManager.getCharData(n.finalText[e],r.fStyle,this.globalData.fontManager.getFontByName(n.f).fFamily)).t)v=new SVGCompElement(m.data,this.globalData,this);else{var x=emptyShapeData;m.data&&m.data.shapes&&(x=this.buildShapeData(m.data,n.finalSize)),v=new SVGShapeElement(x,this.globalData,this)}if(this.textSpans[e].glyph){var S=this.textSpans[e].glyph;this.textSpans[e].childSpan.removeChild(S.layerElement),S.destroy()}this.textSpans[e].glyph=v,v._debug=!0,v.prepareFrame(0),v.renderFrame(),this.textSpans[e].childSpan.appendChild(v.layerElement),1===m.t&&this.textSpans[e].childSpan.setAttribute("transform","scale("+n.finalSize/100+","+n.finalSize/100+")")}else d&&s.setAttribute("transform","translate("+c.props[12]+","+c.props[13]+")"),s.textContent=o[e].val,s.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve")}d&&s&&s.setAttribute("d","")}else{var A=this.textContainer,b="start";switch(n.j){case 1:b="end";break;case 2:b="middle";break;default:b="start"}A.setAttribute("text-anchor",b),A.setAttribute("letter-spacing",f);var k=this.buildTextContents(n.finalText);for(t=k.length,u=n.ps?n.ps[1]+n.ascent:0,e=0;e<t;e+=1)(s=this.textSpans[e].span||createNS("tspan")).textContent=k[e],s.setAttribute("x",0),s.setAttribute("y",u),s.style.display="inherit",A.appendChild(s),this.textSpans[e]||(this.textSpans[e]={span:null,glyph:null}),this.textSpans[e].span=s,u+=n.finalLineHeight;this.layerElement.appendChild(A)}for(;e<this.textSpans.length;)this.textSpans[e].span.style.display="none",e+=1;this._sizeChanged=!0},SVGTextLottieElement.prototype.sourceRectAtTime=function(){if(this.prepareFrame(this.comp.renderedFrame-this.data.st),this.renderInnerContent(),this._sizeChanged){this._sizeChanged=!1;var e=this.layerElement.getBBox();this.bbox={top:e.y,left:e.x,width:e.width,height:e.height}}return this.bbox},SVGTextLottieElement.prototype.getValue=function(){var e,t,n=this.textSpans.length;for(this.renderedFrame=this.comp.renderedFrame,e=0;e<n;e+=1)(t=this.textSpans[e].glyph)&&(t.prepareFrame(this.comp.renderedFrame-this.data.st),t._mdf&&(this._mdf=!0))},SVGTextLottieElement.prototype.renderInnerContent=function(){if(this.validateText(),(!this.data.singleShape||this._mdf)&&(this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag),this.lettersChangedFlag||this.textAnimator.lettersChangedFlag)){var e,t;this._sizeChanged=!0;var n,r,i,a=this.textAnimator.renderedLetters,s=this.textProperty.currentData.l;for(t=s.length,e=0;e<t;e+=1)s[e].n||(n=a[e],r=this.textSpans[e].span,(i=this.textSpans[e].glyph)&&i.renderFrame(),n._mdf.m&&r.setAttribute("transform",n.m),n._mdf.o&&r.setAttribute("opacity",n.o),n._mdf.sw&&r.setAttribute("stroke-width",n.sw),n._mdf.sc&&r.setAttribute("stroke",n.sc),n._mdf.fc&&r.setAttribute("fill",n.fc))}},extendPrototype([IImageElement],ISolidElement),ISolidElement.prototype.createContent=function(){var e=createNS("rect");e.setAttribute("width",this.data.sw),e.setAttribute("height",this.data.sh),e.setAttribute("fill",this.data.sc),this.layerElement.appendChild(e)},NullElement.prototype.prepareFrame=function(e){this.prepareProperties(e,!0)},NullElement.prototype.renderFrame=function(){},NullElement.prototype.getBaseElement=function(){return null},NullElement.prototype.destroy=function(){},NullElement.prototype.sourceRectAtTime=function(){},NullElement.prototype.hide=function(){},extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement],NullElement),extendPrototype([BaseRenderer],SVGRendererBase),SVGRendererBase.prototype.createNull=function(e){return new NullElement(e,this.globalData,this)},SVGRendererBase.prototype.createShape=function(e){return new SVGShapeElement(e,this.globalData,this)},SVGRendererBase.prototype.createText=function(e){return new SVGTextLottieElement(e,this.globalData,this)},SVGRendererBase.prototype.createImage=function(e){return new IImageElement(e,this.globalData,this)},SVGRendererBase.prototype.createSolid=function(e){return new ISolidElement(e,this.globalData,this)},SVGRendererBase.prototype.configAnimation=function(e){this.svgElement.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.svgElement.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink"),this.renderConfig.viewBoxSize?this.svgElement.setAttribute("viewBox",this.renderConfig.viewBoxSize):this.svgElement.setAttribute("viewBox","0 0 "+e.w+" "+e.h),this.renderConfig.viewBoxOnly||(this.svgElement.setAttribute("width",e.w),this.svgElement.setAttribute("height",e.h),this.svgElement.style.width="100%",this.svgElement.style.height="100%",this.svgElement.style.transform="translate3d(0,0,0)",this.svgElement.style.contentVisibility=this.renderConfig.contentVisibility),this.renderConfig.width&&this.svgElement.setAttribute("width",this.renderConfig.width),this.renderConfig.height&&this.svgElement.setAttribute("height",this.renderConfig.height),this.renderConfig.className&&this.svgElement.setAttribute("class",this.renderConfig.className),this.renderConfig.id&&this.svgElement.setAttribute("id",this.renderConfig.id),void 0!==this.renderConfig.focusable&&this.svgElement.setAttribute("focusable",this.renderConfig.focusable),this.svgElement.setAttribute("preserveAspectRatio",this.renderConfig.preserveAspectRatio),this.animationItem.wrapper.appendChild(this.svgElement);var t=this.globalData.defs;this.setupGlobalData(e,t),this.globalData.progressiveLoad=this.renderConfig.progressiveLoad,this.data=e;var n=createNS("clipPath"),r=createNS("rect");r.setAttribute("width",e.w),r.setAttribute("height",e.h),r.setAttribute("x",0),r.setAttribute("y",0);var i=createElementID();n.setAttribute("id",i),n.appendChild(r),this.layerElement.setAttribute("clip-path","url("+getLocationHref()+"#"+i+")"),t.appendChild(n),this.layers=e.layers,this.elements=createSizedArray(e.layers.length)},SVGRendererBase.prototype.destroy=function(){var e;this.animationItem.wrapper&&(this.animationItem.wrapper.innerText=""),this.layerElement=null,this.globalData.defs=null;var t=this.layers?this.layers.length:0;for(e=0;e<t;e+=1)this.elements[e]&&this.elements[e].destroy&&this.elements[e].destroy();this.elements.length=0,this.destroyed=!0,this.animationItem=null},SVGRendererBase.prototype.updateContainerSize=function(){},SVGRendererBase.prototype.findIndexByInd=function(e){var t=0,n=this.layers.length;for(t=0;t<n;t+=1)if(this.layers[t].ind===e)return t;return-1},SVGRendererBase.prototype.buildItem=function(e){var t=this.elements;if(!t[e]&&99!==this.layers[e].ty){t[e]=!0;var n=this.createItem(this.layers[e]);if(t[e]=n,getExpressionsPlugin()&&(0===this.layers[e].ty&&this.globalData.projectInterface.registerComposition(n),n.initExpressions()),this.appendElementInPos(n,e),this.layers[e].tt){var r="tp"in this.layers[e]?this.findIndexByInd(this.layers[e].tp):e-1;if(-1===r)return;if(this.elements[r]&&!0!==this.elements[r]){var i=t[r].getMatte(this.layers[e].tt);n.setMatte(i)}else this.buildItem(r),this.addPendingElement(n)}}},SVGRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){var e=this.pendingElements.pop();if(e.checkParenting(),e.data.tt)for(var t=0,n=this.elements.length;t<n;){if(this.elements[t]===e){var r="tp"in e.data?this.findIndexByInd(e.data.tp):t-1,i=this.elements[r].getMatte(this.layers[t].tt);e.setMatte(i);break}t+=1}}},SVGRendererBase.prototype.renderFrame=function(e){if(this.renderedFrame!==e&&!this.destroyed){var t;null===e?e=this.renderedFrame:this.renderedFrame=e,this.globalData.frameNum=e,this.globalData.frameId+=1,this.globalData.projectInterface.currentFrame=e,this.globalData._mdf=!1;var n=this.layers.length;for(this.completeLayers||this.checkLayers(e),t=n-1;t>=0;t-=1)(this.completeLayers||this.elements[t])&&this.elements[t].prepareFrame(e-this.layers[t].st);if(this.globalData._mdf)for(t=0;t<n;t+=1)(this.completeLayers||this.elements[t])&&this.elements[t].renderFrame()}},SVGRendererBase.prototype.appendElementInPos=function(e,t){var n=e.getBaseElement();if(n){for(var r,i=0;i<t;)this.elements[i]&&!0!==this.elements[i]&&this.elements[i].getBaseElement()&&(r=this.elements[i].getBaseElement()),i+=1;r?this.layerElement.insertBefore(n,r):this.layerElement.appendChild(n)}},SVGRendererBase.prototype.hide=function(){this.layerElement.style.display="none"},SVGRendererBase.prototype.show=function(){this.layerElement.style.display="block"},extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement,RenderableDOMElement],ICompElement),ICompElement.prototype.initElement=function(e,t,n){this.initFrame(),this.initBaseData(e,t,n),this.initTransform(e,t,n),this.initRenderable(),this.initHierarchy(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),!this.data.xt&&t.progressiveLoad||this.buildAllItems(),this.hide()},ICompElement.prototype.prepareFrame=function(e){if(this._mdf=!1,this.prepareRenderableFrame(e),this.prepareProperties(e,this.isInRange),this.isInRange||this.data.xt){if(this.tm._placeholder)this.renderedFrame=e/this.data.sr;else{var t=this.tm.v;t===this.data.op&&(t=this.data.op-1),this.renderedFrame=t}var n,r=this.elements.length;for(this.completeLayers||this.checkLayers(this.renderedFrame),n=r-1;n>=0;n-=1)(this.completeLayers||this.elements[n])&&(this.elements[n].prepareFrame(this.renderedFrame-this.layers[n].st),this.elements[n]._mdf&&(this._mdf=!0))}},ICompElement.prototype.renderInnerContent=function(){var e,t=this.layers.length;for(e=0;e<t;e+=1)(this.completeLayers||this.elements[e])&&this.elements[e].renderFrame()},ICompElement.prototype.setElements=function(e){this.elements=e},ICompElement.prototype.getElements=function(){return this.elements},ICompElement.prototype.destroyElements=function(){var e,t=this.layers.length;for(e=0;e<t;e+=1)this.elements[e]&&this.elements[e].destroy()},ICompElement.prototype.destroy=function(){this.destroyElements(),this.destroyBaseElement()},extendPrototype([SVGRendererBase,ICompElement,SVGBaseElement],SVGCompElement),SVGCompElement.prototype.createComp=function(e){return new SVGCompElement(e,this.globalData,this)},extendPrototype([SVGRendererBase],SVGRenderer),SVGRenderer.prototype.createComp=function(e){return new SVGCompElement(e,this.globalData,this)},ShapeTransformManager.prototype={addTransformSequence:function(e){var t,n=e.length,r="_";for(t=0;t<n;t+=1)r+=e[t].transform.key+"_";var i=this.sequences[r];return i||(i={transforms:[].concat(e),finalTransform:new Matrix,_mdf:!1},this.sequences[r]=i,this.sequenceList.push(i)),i},processSequence:function(e,t){for(var n=0,r=e.transforms.length,i=t;n<r&&!t;){if(e.transforms[n].transform.mProps._mdf){i=!0;break}n+=1}if(i)for(e.finalTransform.reset(),n=r-1;n>=0;n-=1)e.finalTransform.multiply(e.transforms[n].transform.mProps.v);e._mdf=i},processSequences:function(e){var t,n=this.sequenceList.length;for(t=0;t<n;t+=1)this.processSequence(this.sequenceList[t],e)},getNewKey:function(){return this.transform_key_count+=1,"_"+this.transform_key_count}};var lumaLoader=function(){var e="__lottie_element_luma_buffer",t=null,n=null,r=null;function i(){t||(r=function(){var t=createNS("svg"),n=createNS("filter"),r=createNS("feColorMatrix");return n.setAttribute("id",e),r.setAttribute("type","matrix"),r.setAttribute("color-interpolation-filters","sRGB"),r.setAttribute("values","0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0"),n.appendChild(r),t.appendChild(n),t.setAttribute("id",e+"_svg"),featureSupport.svgLumaHidden&&(t.style.display="none"),t}(),document.body.appendChild(r),t=createTag("canvas"),(n=t.getContext("2d")).filter="url(#"+e+")",n.fillStyle="rgba(0,0,0,0)",n.fillRect(0,0,1,1))}return{load:i,get:function(r){return t||i(),t.width=r.width,t.height=r.height,n.filter="url(#"+e+")",t}}};function createCanvas(e,t){if(featureSupport.offscreenCanvas)return new OffscreenCanvas(e,t);var n=createTag("canvas");return n.width=e,n.height=t,n}var assetLoader={loadLumaCanvas:lumaLoader.load,getLumaCanvas:lumaLoader.get,createCanvas:createCanvas},registeredEffects={};function CVEffects(e){var t,n,r=e.data.ef?e.data.ef.length:0;for(this.filters=[],t=0;t<r;t+=1){n=null;var i=e.data.ef[t].ty;registeredEffects[i]&&(n=new(0,registeredEffects[i].effect)(e.effectsManager.effectElements[t],e)),n&&this.filters.push(n)}this.filters.length&&e.addRenderableComponent(this)}function registerEffect(e,t){registeredEffects[e]={effect:t}}function CVMaskElement(e,t){var n;this.data=e,this.element=t,this.masksProperties=this.data.masksProperties||[],this.viewData=createSizedArray(this.masksProperties.length);var r=this.masksProperties.length,i=!1;for(n=0;n<r;n+=1)"n"!==this.masksProperties[n].mode&&(i=!0),this.viewData[n]=ShapePropertyFactory.getShapeProp(this.element,this.masksProperties[n],3);this.hasMasks=i,i&&this.element.addRenderableComponent(this)}function CVBaseElement(){}CVEffects.prototype.renderFrame=function(e){var t,n=this.filters.length;for(t=0;t<n;t+=1)this.filters[t].renderFrame(e)},CVEffects.prototype.getEffects=function(e){var t,n=this.filters.length,r=[];for(t=0;t<n;t+=1)this.filters[t].type===e&&r.push(this.filters[t]);return r},CVMaskElement.prototype.renderFrame=function(){if(this.hasMasks){var e,t,n,r,i=this.element.finalTransform.mat,a=this.element.canvasContext,s=this.masksProperties.length;for(a.beginPath(),e=0;e<s;e+=1)if("n"!==this.masksProperties[e].mode){var o;this.masksProperties[e].inv&&(a.moveTo(0,0),a.lineTo(this.element.globalData.compSize.w,0),a.lineTo(this.element.globalData.compSize.w,this.element.globalData.compSize.h),a.lineTo(0,this.element.globalData.compSize.h),a.lineTo(0,0)),r=this.viewData[e].v,t=i.applyToPointArray(r.v[0][0],r.v[0][1],0),a.moveTo(t[0],t[1]);var l=r._length;for(o=1;o<l;o+=1)n=i.applyToTriplePoints(r.o[o-1],r.i[o],r.v[o]),a.bezierCurveTo(n[0],n[1],n[2],n[3],n[4],n[5]);n=i.applyToTriplePoints(r.o[o-1],r.i[0],r.v[0]),a.bezierCurveTo(n[0],n[1],n[2],n[3],n[4],n[5])}this.element.globalData.renderer.save(!0),a.clip()}},CVMaskElement.prototype.getMaskProperty=MaskElement.prototype.getMaskProperty,CVMaskElement.prototype.destroy=function(){this.element=null};var operationsMap={1:"source-in",2:"source-out",3:"source-in",4:"source-out"};function CVShapeData(e,t,n,r){this.styledShapes=[],this.tr=[0,0,0,0,0,0];var i,a=4;"rc"===t.ty?a=5:"el"===t.ty?a=6:"sr"===t.ty&&(a=7),this.sh=ShapePropertyFactory.getShapeProp(e,t,a,e);var s,o=n.length;for(i=0;i<o;i+=1)n[i].closed||(s={transforms:r.addTransformSequence(n[i].transforms),trNodes:[]},this.styledShapes.push(s),n[i].elements.push(s))}function CVShapeElement(e,t,n){this.shapes=[],this.shapesData=e.shapes,this.stylesList=[],this.itemsData=[],this.prevViewData=[],this.shapeModifiers=[],this.processedElements=[],this.transformsManager=new ShapeTransformManager,this.initElement(e,t,n)}function CVTextElement(e,t,n){this.textSpans=[],this.yOffset=0,this.fillColorAnim=!1,this.strokeColorAnim=!1,this.strokeWidthAnim=!1,this.stroke=!1,this.fill=!1,this.justifyOffset=0,this.currentRender=null,this.renderType="canvas",this.values={fill:"rgba(0,0,0,0)",stroke:"rgba(0,0,0,0)",sWidth:0,fValue:""},this.initElement(e,t,n)}function CVImageElement(e,t,n){this.assetData=t.getAssetData(e.refId),this.img=t.imageLoader.getAsset(this.assetData),this.initElement(e,t,n)}function CVSolidElement(e,t,n){this.initElement(e,t,n)}function CanvasRendererBase(){}function CanvasContext(){this.opacity=-1,this.transform=createTypedArray("float32",16),this.fillStyle="",this.strokeStyle="",this.lineWidth="",this.lineCap="",this.lineJoin="",this.miterLimit="",this.id=Math.random()}function CVContextData(){var e;for(this.stack=[],this.cArrPos=0,this.cTr=new Matrix,e=0;e<15;e+=1){var t=new CanvasContext;this.stack[e]=t}this._length=15,this.nativeContext=null,this.transformMat=new Matrix,this.currentOpacity=1,this.currentFillStyle="",this.appliedFillStyle="",this.currentStrokeStyle="",this.appliedStrokeStyle="",this.currentLineWidth="",this.appliedLineWidth="",this.currentLineCap="",this.appliedLineCap="",this.currentLineJoin="",this.appliedLineJoin="",this.appliedMiterLimit="",this.currentMiterLimit=""}function CVCompElement(e,t,n){this.completeLayers=!1,this.layers=e.layers,this.pendingElements=[],this.elements=createSizedArray(this.layers.length),this.initElement(e,t,n),this.tm=e.tm?PropertyFactory.getProp(this,e.tm,0,t.frameRate,this):{_placeholder:!0}}function CanvasRenderer(e,t){this.animationItem=e,this.renderConfig={clearCanvas:!t||void 0===t.clearCanvas||t.clearCanvas,context:t&&t.context||null,progressiveLoad:t&&t.progressiveLoad||!1,preserveAspectRatio:t&&t.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:t&&t.imagePreserveAspectRatio||"xMidYMid slice",contentVisibility:t&&t.contentVisibility||"visible",className:t&&t.className||"",id:t&&t.id||"",runExpressions:!t||void 0===t.runExpressions||t.runExpressions},this.renderConfig.dpr=t&&t.dpr||1,this.animationItem.wrapper&&(this.renderConfig.dpr=t&&t.dpr||window.devicePixelRatio||1),this.renderedFrame=-1,this.globalData={frameNum:-1,_mdf:!1,renderConfig:this.renderConfig,currentGlobalAlpha:-1},this.contextData=new CVContextData,this.elements=[],this.pendingElements=[],this.transformMat=new Matrix,this.completeLayers=!1,this.rendererType="canvas",this.renderConfig.clearCanvas&&(this.ctxTransform=this.contextData.transform.bind(this.contextData),this.ctxOpacity=this.contextData.opacity.bind(this.contextData),this.ctxFillStyle=this.contextData.fillStyle.bind(this.contextData),this.ctxStrokeStyle=this.contextData.strokeStyle.bind(this.contextData),this.ctxLineWidth=this.contextData.lineWidth.bind(this.contextData),this.ctxLineCap=this.contextData.lineCap.bind(this.contextData),this.ctxLineJoin=this.contextData.lineJoin.bind(this.contextData),this.ctxMiterLimit=this.contextData.miterLimit.bind(this.contextData),this.ctxFill=this.contextData.fill.bind(this.contextData),this.ctxFillRect=this.contextData.fillRect.bind(this.contextData),this.ctxStroke=this.contextData.stroke.bind(this.contextData),this.save=this.contextData.save.bind(this.contextData))}function HBaseElement(){}function HSolidElement(e,t,n){this.initElement(e,t,n)}function HShapeElement(e,t,n){this.shapes=[],this.shapesData=e.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.shapesContainer=createNS("g"),this.initElement(e,t,n),this.prevViewData=[],this.currentBBox={x:999999,y:-999999,h:0,w:0}}function HTextElement(e,t,n){this.textSpans=[],this.textPaths=[],this.currentBBox={x:999999,y:-999999,h:0,w:0},this.renderType="svg",this.isMasked=!1,this.initElement(e,t,n)}function HCameraElement(e,t,n){this.initFrame(),this.initBaseData(e,t,n),this.initHierarchy();var r=PropertyFactory.getProp;if(this.pe=r(this,e.pe,0,0,this),e.ks.p.s?(this.px=r(this,e.ks.p.x,1,0,this),this.py=r(this,e.ks.p.y,1,0,this),this.pz=r(this,e.ks.p.z,1,0,this)):this.p=r(this,e.ks.p,1,0,this),e.ks.a&&(this.a=r(this,e.ks.a,1,0,this)),e.ks.or.k.length&&e.ks.or.k[0].to){var i,a=e.ks.or.k.length;for(i=0;i<a;i+=1)e.ks.or.k[i].to=null,e.ks.or.k[i].ti=null}this.or=r(this,e.ks.or,1,degToRads,this),this.or.sh=!0,this.rx=r(this,e.ks.rx,0,degToRads,this),this.ry=r(this,e.ks.ry,0,degToRads,this),this.rz=r(this,e.ks.rz,0,degToRads,this),this.mat=new Matrix,this._prevMat=new Matrix,this._isFirstFrame=!0,this.finalTransform={mProp:this}}function HImageElement(e,t,n){this.assetData=t.getAssetData(e.refId),this.initElement(e,t,n)}function HybridRendererBase(e,t){this.animationItem=e,this.layers=null,this.renderedFrame=-1,this.renderConfig={className:t&&t.className||"",imagePreserveAspectRatio:t&&t.imagePreserveAspectRatio||"xMidYMid slice",hideOnTransparent:!(t&&!1===t.hideOnTransparent),filterSize:{width:t&&t.filterSize&&t.filterSize.width||"400%",height:t&&t.filterSize&&t.filterSize.height||"400%",x:t&&t.filterSize&&t.filterSize.x||"-100%",y:t&&t.filterSize&&t.filterSize.y||"-100%"}},this.globalData={_mdf:!1,frameNum:-1,renderConfig:this.renderConfig},this.pendingElements=[],this.elements=[],this.threeDElements=[],this.destroyed=!1,this.camera=null,this.supports3d=!0,this.rendererType="html"}function HCompElement(e,t,n){this.layers=e.layers,this.supports3d=!e.hasMask,this.completeLayers=!1,this.pendingElements=[],this.elements=this.layers?createSizedArray(this.layers.length):[],this.initElement(e,t,n),this.tm=e.tm?PropertyFactory.getProp(this,e.tm,0,t.frameRate,this):{_placeholder:!0}}function HybridRenderer(e,t){this.animationItem=e,this.layers=null,this.renderedFrame=-1,this.renderConfig={className:t&&t.className||"",imagePreserveAspectRatio:t&&t.imagePreserveAspectRatio||"xMidYMid slice",hideOnTransparent:!(t&&!1===t.hideOnTransparent),filterSize:{width:t&&t.filterSize&&t.filterSize.width||"400%",height:t&&t.filterSize&&t.filterSize.height||"400%",x:t&&t.filterSize&&t.filterSize.x||"-100%",y:t&&t.filterSize&&t.filterSize.y||"-100%"},runExpressions:!t||void 0===t.runExpressions||t.runExpressions},this.globalData={_mdf:!1,frameNum:-1,renderConfig:this.renderConfig},this.pendingElements=[],this.elements=[],this.threeDElements=[],this.destroyed=!1,this.camera=null,this.supports3d=!0,this.rendererType="html"}CVBaseElement.prototype={createElements:function(){},initRendererElement:function(){},createContainerElements:function(){if(this.data.tt>=1){this.buffers=[];var e=this.globalData.canvasContext,t=assetLoader.createCanvas(e.canvas.width,e.canvas.height);this.buffers.push(t);var n=assetLoader.createCanvas(e.canvas.width,e.canvas.height);this.buffers.push(n),this.data.tt>=3&&!document._isProxy&&assetLoader.loadLumaCanvas()}this.canvasContext=this.globalData.canvasContext,this.transformCanvas=this.globalData.transformCanvas,this.renderableEffectsManager=new CVEffects(this),this.searchEffectTransforms()},createContent:function(){},setBlendMode:function(){var e=this.globalData;if(e.blendMode!==this.data.bm){e.blendMode=this.data.bm;var t=getBlendMode(this.data.bm);e.canvasContext.globalCompositeOperation=t}},createRenderableComponents:function(){this.maskManager=new CVMaskElement(this.data,this),this.transformEffects=this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT)},hideElement:function(){this.hidden||this.isInRange&&!this.isTransparent||(this.hidden=!0)},showElement:function(){this.isInRange&&!this.isTransparent&&(this.hidden=!1,this._isFirstFrame=!0,this.maskManager._isFirstFrame=!0)},clearCanvas:function(e){e.clearRect(this.transformCanvas.tx,this.transformCanvas.ty,this.transformCanvas.w*this.transformCanvas.sx,this.transformCanvas.h*this.transformCanvas.sy)},prepareLayer:function(){if(this.data.tt>=1){var e=this.buffers[0].getContext("2d");this.clearCanvas(e),e.drawImage(this.canvasContext.canvas,0,0),this.currentTransform=this.canvasContext.getTransform(),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform)}},exitLayer:function(){if(this.data.tt>=1){var e=this.buffers[1],t=e.getContext("2d");if(this.clearCanvas(t),t.drawImage(this.canvasContext.canvas,0,0),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform),this.comp.getElementById("tp"in this.data?this.data.tp:this.data.ind-1).renderFrame(!0),this.canvasContext.setTransform(1,0,0,1,0,0),this.data.tt>=3&&!document._isProxy){var n=assetLoader.getLumaCanvas(this.canvasContext.canvas);n.getContext("2d").drawImage(this.canvasContext.canvas,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.drawImage(n,0,0)}this.canvasContext.globalCompositeOperation=operationsMap[this.data.tt],this.canvasContext.drawImage(e,0,0),this.canvasContext.globalCompositeOperation="destination-over",this.canvasContext.drawImage(this.buffers[0],0,0),this.canvasContext.setTransform(this.currentTransform),this.canvasContext.globalCompositeOperation="source-over"}},renderFrame:function(e){if(!this.hidden&&!this.data.hd&&(1!==this.data.td||e)){this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.setBlendMode();var t=0===this.data.ty;this.prepareLayer(),this.globalData.renderer.save(t),this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props),this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity),this.renderInnerContent(),this.globalData.renderer.restore(t),this.exitLayer(),this.maskManager.hasMasks&&this.globalData.renderer.restore(!0),this._isFirstFrame&&(this._isFirstFrame=!1)}},destroy:function(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager.destroy()},mHelper:new Matrix},CVBaseElement.prototype.hide=CVBaseElement.prototype.hideElement,CVBaseElement.prototype.show=CVBaseElement.prototype.showElement,CVShapeData.prototype.setAsAnimated=SVGShapeData.prototype.setAsAnimated,extendPrototype([BaseElement,TransformElement,CVBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableElement],CVShapeElement),CVShapeElement.prototype.initElement=RenderableDOMElement.prototype.initElement,CVShapeElement.prototype.transformHelper={opacity:1,_opMdf:!1},CVShapeElement.prototype.dashResetter=[],CVShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,!0,[])},CVShapeElement.prototype.createStyleElement=function(e,t){var n={data:e,type:e.ty,preTransforms:this.transformsManager.addTransformSequence(t),transforms:[],elements:[],closed:!0===e.hd},r={};if("fl"===e.ty||"st"===e.ty?(r.c=PropertyFactory.getProp(this,e.c,1,255,this),r.c.k||(n.co="rgb("+bmFloor(r.c.v[0])+","+bmFloor(r.c.v[1])+","+bmFloor(r.c.v[2])+")")):"gf"!==e.ty&&"gs"!==e.ty||(r.s=PropertyFactory.getProp(this,e.s,1,null,this),r.e=PropertyFactory.getProp(this,e.e,1,null,this),r.h=PropertyFactory.getProp(this,e.h||{k:0},0,.01,this),r.a=PropertyFactory.getProp(this,e.a||{k:0},0,degToRads,this),r.g=new GradientProperty(this,e.g,this)),r.o=PropertyFactory.getProp(this,e.o,0,.01,this),"st"===e.ty||"gs"===e.ty){if(n.lc=lineCapEnum[e.lc||2],n.lj=lineJoinEnum[e.lj||2],1==e.lj&&(n.ml=e.ml),r.w=PropertyFactory.getProp(this,e.w,0,null,this),r.w.k||(n.wi=r.w.v),e.d){var i=new DashProperty(this,e.d,"canvas",this);r.d=i,r.d.k||(n.da=r.d.dashArray,n.do=r.d.dashoffset[0])}}else n.r=2===e.r?"evenodd":"nonzero";return this.stylesList.push(n),r.style=n,r},CVShapeElement.prototype.createGroupElement=function(){return{it:[],prevViewData:[]}},CVShapeElement.prototype.createTransformElement=function(e){return{transform:{opacity:1,_opMdf:!1,key:this.transformsManager.getNewKey(),op:PropertyFactory.getProp(this,e.o,0,.01,this),mProps:TransformPropertyFactory.getTransformProperty(this,e,this)}}},CVShapeElement.prototype.createShapeElement=function(e){var t=new CVShapeData(this,e,this.stylesList,this.transformsManager);return this.shapes.push(t),this.addShapeToModifiers(t),t},CVShapeElement.prototype.reloadShapes=function(){var e;this._isFirstFrame=!0;var t=this.itemsData.length;for(e=0;e<t;e+=1)this.prevViewData[e]=this.itemsData[e];for(this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,!0,[]),t=this.dynamicProperties.length,e=0;e<t;e+=1)this.dynamicProperties[e].getValue();this.renderModifiers(),this.transformsManager.processSequences(this._isFirstFrame)},CVShapeElement.prototype.addTransformToStyleList=function(e){var t,n=this.stylesList.length;for(t=0;t<n;t+=1)this.stylesList[t].closed||this.stylesList[t].transforms.push(e)},CVShapeElement.prototype.removeTransformFromStyleList=function(){var e,t=this.stylesList.length;for(e=0;e<t;e+=1)this.stylesList[e].closed||this.stylesList[e].transforms.pop()},CVShapeElement.prototype.closeStyles=function(e){var t,n=e.length;for(t=0;t<n;t+=1)e[t].closed=!0},CVShapeElement.prototype.searchShapes=function(e,t,n,r,i){var a,s,o,l,c,d,h=e.length-1,u=[],p=[],f=[].concat(i);for(a=h;a>=0;a-=1){if((l=this.searchProcessedElement(e[a]))?t[a]=n[l-1]:e[a]._shouldRender=r,"fl"===e[a].ty||"st"===e[a].ty||"gf"===e[a].ty||"gs"===e[a].ty)l?t[a].style.closed=!1:t[a]=this.createStyleElement(e[a],f),u.push(t[a].style);else if("gr"===e[a].ty){if(l)for(o=t[a].it.length,s=0;s<o;s+=1)t[a].prevViewData[s]=t[a].it[s];else t[a]=this.createGroupElement(e[a]);this.searchShapes(e[a].it,t[a].it,t[a].prevViewData,r,f)}else"tr"===e[a].ty?(l||(d=this.createTransformElement(e[a]),t[a]=d),f.push(t[a]),this.addTransformToStyleList(t[a])):"sh"===e[a].ty||"rc"===e[a].ty||"el"===e[a].ty||"sr"===e[a].ty?l||(t[a]=this.createShapeElement(e[a])):"tm"===e[a].ty||"rd"===e[a].ty||"pb"===e[a].ty||"zz"===e[a].ty||"op"===e[a].ty?(l?(c=t[a]).closed=!1:((c=ShapeModifiers.getModifier(e[a].ty)).init(this,e[a]),t[a]=c,this.shapeModifiers.push(c)),p.push(c)):"rp"===e[a].ty&&(l?(c=t[a]).closed=!0:(c=ShapeModifiers.getModifier(e[a].ty),t[a]=c,c.init(this,e,a,t),this.shapeModifiers.push(c),r=!1),p.push(c));this.addProcessedElement(e[a],a+1)}for(this.removeTransformFromStyleList(),this.closeStyles(u),h=p.length,a=0;a<h;a+=1)p[a].closed=!0},CVShapeElement.prototype.renderInnerContent=function(){this.transformHelper.opacity=1,this.transformHelper._opMdf=!1,this.renderModifiers(),this.transformsManager.processSequences(this._isFirstFrame),this.renderShape(this.transformHelper,this.shapesData,this.itemsData,!0)},CVShapeElement.prototype.renderShapeTransform=function(e,t){(e._opMdf||t.op._mdf||this._isFirstFrame)&&(t.opacity=e.opacity,t.opacity*=t.op.v,t._opMdf=!0)},CVShapeElement.prototype.drawLayer=function(){var e,t,n,r,i,a,s,o,l,c=this.stylesList.length,d=this.globalData.renderer,h=this.globalData.canvasContext;for(e=0;e<c;e+=1)if(("st"!==(o=(l=this.stylesList[e]).type)&&"gs"!==o||0!==l.wi)&&l.data._shouldRender&&0!==l.coOp&&0!==this.globalData.currentGlobalAlpha){for(d.save(),a=l.elements,"st"===o||"gs"===o?(d.ctxStrokeStyle("st"===o?l.co:l.grd),d.ctxLineWidth(l.wi),d.ctxLineCap(l.lc),d.ctxLineJoin(l.lj),d.ctxMiterLimit(l.ml||0)):d.ctxFillStyle("fl"===o?l.co:l.grd),d.ctxOpacity(l.coOp),"st"!==o&&"gs"!==o&&h.beginPath(),d.ctxTransform(l.preTransforms.finalTransform.props),n=a.length,t=0;t<n;t+=1){for("st"!==o&&"gs"!==o||(h.beginPath(),l.da&&(h.setLineDash(l.da),h.lineDashOffset=l.do)),i=(s=a[t].trNodes).length,r=0;r<i;r+=1)"m"===s[r].t?h.moveTo(s[r].p[0],s[r].p[1]):"c"===s[r].t?h.bezierCurveTo(s[r].pts[0],s[r].pts[1],s[r].pts[2],s[r].pts[3],s[r].pts[4],s[r].pts[5]):h.closePath();"st"!==o&&"gs"!==o||(d.ctxStroke(),l.da&&h.setLineDash(this.dashResetter))}"st"!==o&&"gs"!==o&&this.globalData.renderer.ctxFill(l.r),d.restore()}},CVShapeElement.prototype.renderShape=function(e,t,n,r){var i,a;for(a=e,i=t.length-1;i>=0;i-=1)"tr"===t[i].ty?(a=n[i].transform,this.renderShapeTransform(e,a)):"sh"===t[i].ty||"el"===t[i].ty||"rc"===t[i].ty||"sr"===t[i].ty?this.renderPath(t[i],n[i]):"fl"===t[i].ty?this.renderFill(t[i],n[i],a):"st"===t[i].ty?this.renderStroke(t[i],n[i],a):"gf"===t[i].ty||"gs"===t[i].ty?this.renderGradientFill(t[i],n[i],a):"gr"===t[i].ty?this.renderShape(a,t[i].it,n[i].it):t[i].ty;r&&this.drawLayer()},CVShapeElement.prototype.renderStyledShape=function(e,t){if(this._isFirstFrame||t._mdf||e.transforms._mdf){var n,r,i,a=e.trNodes,s=t.paths,o=s._length;a.length=0;var l=e.transforms.finalTransform;for(i=0;i<o;i+=1){var c=s.shapes[i];if(c&&c.v){for(r=c._length,n=1;n<r;n+=1)1===n&&a.push({t:"m",p:l.applyToPointArray(c.v[0][0],c.v[0][1],0)}),a.push({t:"c",pts:l.applyToTriplePoints(c.o[n-1],c.i[n],c.v[n])});1===r&&a.push({t:"m",p:l.applyToPointArray(c.v[0][0],c.v[0][1],0)}),c.c&&r&&(a.push({t:"c",pts:l.applyToTriplePoints(c.o[n-1],c.i[0],c.v[0])}),a.push({t:"z"}))}}e.trNodes=a}},CVShapeElement.prototype.renderPath=function(e,t){if(!0!==e.hd&&e._shouldRender){var n,r=t.styledShapes.length;for(n=0;n<r;n+=1)this.renderStyledShape(t.styledShapes[n],t.sh)}},CVShapeElement.prototype.renderFill=function(e,t,n){var r=t.style;(t.c._mdf||this._isFirstFrame)&&(r.co="rgb("+bmFloor(t.c.v[0])+","+bmFloor(t.c.v[1])+","+bmFloor(t.c.v[2])+")"),(t.o._mdf||n._opMdf||this._isFirstFrame)&&(r.coOp=t.o.v*n.opacity)},CVShapeElement.prototype.renderGradientFill=function(e,t,n){var r,i=t.style;if(!i.grd||t.g._mdf||t.s._mdf||t.e._mdf||1!==e.t&&(t.h._mdf||t.a._mdf)){var a,s=this.globalData.canvasContext,o=t.s.v,l=t.e.v;if(1===e.t)r=s.createLinearGradient(o[0],o[1],l[0],l[1]);else{var c=Math.sqrt(Math.pow(o[0]-l[0],2)+Math.pow(o[1]-l[1],2)),d=Math.atan2(l[1]-o[1],l[0]-o[0]),h=t.h.v;h>=1?h=.99:h<=-1&&(h=-.99);var u=c*h,p=Math.cos(d+t.a.v)*u+o[0],f=Math.sin(d+t.a.v)*u+o[1];r=s.createRadialGradient(p,f,0,o[0],o[1],c)}var m=e.g.p,g=t.g.c,y=1;for(a=0;a<m;a+=1)t.g._hasOpacity&&t.g._collapsable&&(y=t.g.o[2*a+1]),r.addColorStop(g[4*a]/100,"rgba("+g[4*a+1]+","+g[4*a+2]+","+g[4*a+3]+","+y+")");i.grd=r}i.coOp=t.o.v*n.opacity},CVShapeElement.prototype.renderStroke=function(e,t,n){var r=t.style,i=t.d;i&&(i._mdf||this._isFirstFrame)&&(r.da=i.dashArray,r.do=i.dashoffset[0]),(t.c._mdf||this._isFirstFrame)&&(r.co="rgb("+bmFloor(t.c.v[0])+","+bmFloor(t.c.v[1])+","+bmFloor(t.c.v[2])+")"),(t.o._mdf||n._opMdf||this._isFirstFrame)&&(r.coOp=t.o.v*n.opacity),(t.w._mdf||this._isFirstFrame)&&(r.wi=t.w.v)},CVShapeElement.prototype.destroy=function(){this.shapesData=null,this.globalData=null,this.canvasContext=null,this.stylesList.length=0,this.itemsData.length=0},extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement,ITextElement],CVTextElement),CVTextElement.prototype.tHelper=createTag("canvas").getContext("2d"),CVTextElement.prototype.buildNewText=function(){var e=this.textProperty.currentData;this.renderedLetters=createSizedArray(e.l?e.l.length:0);var t=!1;e.fc?(t=!0,this.values.fill=this.buildColor(e.fc)):this.values.fill="rgba(0,0,0,0)",this.fill=t;var n=!1;e.sc&&(n=!0,this.values.stroke=this.buildColor(e.sc),this.values.sWidth=e.sw);var r,i,a,s,o,l,c,d,h,u,p,f,m=this.globalData.fontManager.getFontByName(e.f),g=e.l,y=this.mHelper;this.stroke=n,this.values.fValue=e.finalSize+"px "+this.globalData.fontManager.getFontByName(e.f).fFamily,i=e.finalText.length;var v=this.data.singleShape,x=.001*e.tr*e.finalSize,S=0,A=0,b=!0,k=0;for(r=0;r<i;r+=1){s=(a=this.globalData.fontManager.getCharData(e.finalText[r],m.fStyle,this.globalData.fontManager.getFontByName(e.f).fFamily))&&a.data||{},y.reset(),v&&g[r].n&&(S=-x,A+=e.yOffset,A+=b?1:0,b=!1),h=(c=s.shapes?s.shapes[0].it:[]).length,y.scale(e.finalSize/100,e.finalSize/100),v&&this.applyTextPropertiesToMatrix(e,y,g[r].line,S,A),p=createSizedArray(h-1);var w=0;for(d=0;d<h;d+=1)if("sh"===c[d].ty){for(l=c[d].ks.k.i.length,u=c[d].ks.k,f=[],o=1;o<l;o+=1)1===o&&f.push(y.applyToX(u.v[0][0],u.v[0][1],0),y.applyToY(u.v[0][0],u.v[0][1],0)),f.push(y.applyToX(u.o[o-1][0],u.o[o-1][1],0),y.applyToY(u.o[o-1][0],u.o[o-1][1],0),y.applyToX(u.i[o][0],u.i[o][1],0),y.applyToY(u.i[o][0],u.i[o][1],0),y.applyToX(u.v[o][0],u.v[o][1],0),y.applyToY(u.v[o][0],u.v[o][1],0));f.push(y.applyToX(u.o[o-1][0],u.o[o-1][1],0),y.applyToY(u.o[o-1][0],u.o[o-1][1],0),y.applyToX(u.i[0][0],u.i[0][1],0),y.applyToY(u.i[0][0],u.i[0][1],0),y.applyToX(u.v[0][0],u.v[0][1],0),y.applyToY(u.v[0][0],u.v[0][1],0)),p[w]=f,w+=1}v&&(S+=g[r].l,S+=x),this.textSpans[k]?this.textSpans[k].elem=p:this.textSpans[k]={elem:p},k+=1}},CVTextElement.prototype.renderInnerContent=function(){var e,t,n,r,i,a;this.validateText(),this.canvasContext.font=this.values.fValue,this.globalData.renderer.ctxLineCap("butt"),this.globalData.renderer.ctxLineJoin("miter"),this.globalData.renderer.ctxMiterLimit(4),this.data.singleShape||this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag);var s,o=this.textAnimator.renderedLetters,l=this.textProperty.currentData.l;t=l.length;var c,d,h=null,u=null,p=null,f=this.globalData.renderer;for(e=0;e<t;e+=1)if(!l[e].n){if((s=o[e])&&(f.save(),f.ctxTransform(s.p),f.ctxOpacity(s.o)),this.fill){for(s&&s.fc?h!==s.fc&&(f.ctxFillStyle(s.fc),h=s.fc):h!==this.values.fill&&(h=this.values.fill,f.ctxFillStyle(this.values.fill)),r=(c=this.textSpans[e].elem).length,this.globalData.canvasContext.beginPath(),n=0;n<r;n+=1)for(a=(d=c[n]).length,this.globalData.canvasContext.moveTo(d[0],d[1]),i=2;i<a;i+=6)this.globalData.canvasContext.bezierCurveTo(d[i],d[i+1],d[i+2],d[i+3],d[i+4],d[i+5]);this.globalData.canvasContext.closePath(),f.ctxFill()}if(this.stroke){for(s&&s.sw?p!==s.sw&&(p=s.sw,f.ctxLineWidth(s.sw)):p!==this.values.sWidth&&(p=this.values.sWidth,f.ctxLineWidth(this.values.sWidth)),s&&s.sc?u!==s.sc&&(u=s.sc,f.ctxStrokeStyle(s.sc)):u!==this.values.stroke&&(u=this.values.stroke,f.ctxStrokeStyle(this.values.stroke)),r=(c=this.textSpans[e].elem).length,this.globalData.canvasContext.beginPath(),n=0;n<r;n+=1)for(a=(d=c[n]).length,this.globalData.canvasContext.moveTo(d[0],d[1]),i=2;i<a;i+=6)this.globalData.canvasContext.bezierCurveTo(d[i],d[i+1],d[i+2],d[i+3],d[i+4],d[i+5]);this.globalData.canvasContext.closePath(),f.ctxStroke()}s&&this.globalData.renderer.restore()}},extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement],CVImageElement),CVImageElement.prototype.initElement=SVGShapeElement.prototype.initElement,CVImageElement.prototype.prepareFrame=IImageElement.prototype.prepareFrame,CVImageElement.prototype.createContent=function(){if(this.img.width&&(this.assetData.w!==this.img.width||this.assetData.h!==this.img.height)){var e=createTag("canvas");e.width=this.assetData.w,e.height=this.assetData.h;var t,n,r=e.getContext("2d"),i=this.img.width,a=this.img.height,s=i/a,o=this.assetData.w/this.assetData.h,l=this.assetData.pr||this.globalData.renderConfig.imagePreserveAspectRatio;s>o&&"xMidYMid slice"===l||s<o&&"xMidYMid slice"!==l?t=(n=a)*o:n=(t=i)/o,r.drawImage(this.img,(i-t)/2,(a-n)/2,t,n,0,0,this.assetData.w,this.assetData.h),this.img=e}},CVImageElement.prototype.renderInnerContent=function(){this.canvasContext.drawImage(this.img,0,0)},CVImageElement.prototype.destroy=function(){this.img=null},extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement],CVSolidElement),CVSolidElement.prototype.initElement=SVGShapeElement.prototype.initElement,CVSolidElement.prototype.prepareFrame=IImageElement.prototype.prepareFrame,CVSolidElement.prototype.renderInnerContent=function(){this.globalData.renderer.ctxFillStyle(this.data.sc),this.globalData.renderer.ctxFillRect(0,0,this.data.sw,this.data.sh)},extendPrototype([BaseRenderer],CanvasRendererBase),CanvasRendererBase.prototype.createShape=function(e){return new CVShapeElement(e,this.globalData,this)},CanvasRendererBase.prototype.createText=function(e){return new CVTextElement(e,this.globalData,this)},CanvasRendererBase.prototype.createImage=function(e){return new CVImageElement(e,this.globalData,this)},CanvasRendererBase.prototype.createSolid=function(e){return new CVSolidElement(e,this.globalData,this)},CanvasRendererBase.prototype.createNull=SVGRenderer.prototype.createNull,CanvasRendererBase.prototype.ctxTransform=function(e){1===e[0]&&0===e[1]&&0===e[4]&&1===e[5]&&0===e[12]&&0===e[13]||this.canvasContext.transform(e[0],e[1],e[4],e[5],e[12],e[13])},CanvasRendererBase.prototype.ctxOpacity=function(e){this.canvasContext.globalAlpha*=e<0?0:e},CanvasRendererBase.prototype.ctxFillStyle=function(e){this.canvasContext.fillStyle=e},CanvasRendererBase.prototype.ctxStrokeStyle=function(e){this.canvasContext.strokeStyle=e},CanvasRendererBase.prototype.ctxLineWidth=function(e){this.canvasContext.lineWidth=e},CanvasRendererBase.prototype.ctxLineCap=function(e){this.canvasContext.lineCap=e},CanvasRendererBase.prototype.ctxLineJoin=function(e){this.canvasContext.lineJoin=e},CanvasRendererBase.prototype.ctxMiterLimit=function(e){this.canvasContext.miterLimit=e},CanvasRendererBase.prototype.ctxFill=function(e){this.canvasContext.fill(e)},CanvasRendererBase.prototype.ctxFillRect=function(e,t,n,r){this.canvasContext.fillRect(e,t,n,r)},CanvasRendererBase.prototype.ctxStroke=function(){this.canvasContext.stroke()},CanvasRendererBase.prototype.reset=function(){this.renderConfig.clearCanvas?this.contextData.reset():this.canvasContext.restore()},CanvasRendererBase.prototype.save=function(){this.canvasContext.save()},CanvasRendererBase.prototype.restore=function(e){this.renderConfig.clearCanvas?(e&&(this.globalData.blendMode="source-over"),this.contextData.restore(e)):this.canvasContext.restore()},CanvasRendererBase.prototype.configAnimation=function(e){if(this.animationItem.wrapper){this.animationItem.container=createTag("canvas");var t=this.animationItem.container.style;t.width="100%",t.height="100%";var n="0px 0px 0px";t.transformOrigin=n,t.mozTransformOrigin=n,t.webkitTransformOrigin=n,t["-webkit-transform"]=n,t.contentVisibility=this.renderConfig.contentVisibility,this.animationItem.wrapper.appendChild(this.animationItem.container),this.canvasContext=this.animationItem.container.getContext("2d"),this.renderConfig.className&&this.animationItem.container.setAttribute("class",this.renderConfig.className),this.renderConfig.id&&this.animationItem.container.setAttribute("id",this.renderConfig.id)}else this.canvasContext=this.renderConfig.context;this.contextData.setContext(this.canvasContext),this.data=e,this.layers=e.layers,this.transformCanvas={w:e.w,h:e.h,sx:0,sy:0,tx:0,ty:0},this.setupGlobalData(e,document.body),this.globalData.canvasContext=this.canvasContext,this.globalData.renderer=this,this.globalData.isDashed=!1,this.globalData.progressiveLoad=this.renderConfig.progressiveLoad,this.globalData.transformCanvas=this.transformCanvas,this.elements=createSizedArray(e.layers.length),this.updateContainerSize()},CanvasRendererBase.prototype.updateContainerSize=function(e,t){var n,r,i,a;if(this.reset(),e?(n=e,r=t,this.canvasContext.canvas.width=n,this.canvasContext.canvas.height=r):(this.animationItem.wrapper&&this.animationItem.container?(n=this.animationItem.wrapper.offsetWidth,r=this.animationItem.wrapper.offsetHeight):(n=this.canvasContext.canvas.width,r=this.canvasContext.canvas.height),this.canvasContext.canvas.width=n*this.renderConfig.dpr,this.canvasContext.canvas.height=r*this.renderConfig.dpr),-1!==this.renderConfig.preserveAspectRatio.indexOf("meet")||-1!==this.renderConfig.preserveAspectRatio.indexOf("slice")){var s=this.renderConfig.preserveAspectRatio.split(" "),o=s[1]||"meet",l=s[0]||"xMidYMid",c=l.substr(0,4),d=l.substr(4);i=n/r,(a=this.transformCanvas.w/this.transformCanvas.h)>i&&"meet"===o||a<i&&"slice"===o?(this.transformCanvas.sx=n/(this.transformCanvas.w/this.renderConfig.dpr),this.transformCanvas.sy=n/(this.transformCanvas.w/this.renderConfig.dpr)):(this.transformCanvas.sx=r/(this.transformCanvas.h/this.renderConfig.dpr),this.transformCanvas.sy=r/(this.transformCanvas.h/this.renderConfig.dpr)),this.transformCanvas.tx="xMid"===c&&(a<i&&"meet"===o||a>i&&"slice"===o)?(n-this.transformCanvas.w*(r/this.transformCanvas.h))/2*this.renderConfig.dpr:"xMax"===c&&(a<i&&"meet"===o||a>i&&"slice"===o)?(n-this.transformCanvas.w*(r/this.transformCanvas.h))*this.renderConfig.dpr:0,this.transformCanvas.ty="YMid"===d&&(a>i&&"meet"===o||a<i&&"slice"===o)?(r-this.transformCanvas.h*(n/this.transformCanvas.w))/2*this.renderConfig.dpr:"YMax"===d&&(a>i&&"meet"===o||a<i&&"slice"===o)?(r-this.transformCanvas.h*(n/this.transformCanvas.w))*this.renderConfig.dpr:0}else"none"===this.renderConfig.preserveAspectRatio?(this.transformCanvas.sx=n/(this.transformCanvas.w/this.renderConfig.dpr),this.transformCanvas.sy=r/(this.transformCanvas.h/this.renderConfig.dpr),this.transformCanvas.tx=0,this.transformCanvas.ty=0):(this.transformCanvas.sx=this.renderConfig.dpr,this.transformCanvas.sy=this.renderConfig.dpr,this.transformCanvas.tx=0,this.transformCanvas.ty=0);this.transformCanvas.props=[this.transformCanvas.sx,0,0,0,0,this.transformCanvas.sy,0,0,0,0,1,0,this.transformCanvas.tx,this.transformCanvas.ty,0,1],this.ctxTransform(this.transformCanvas.props),this.canvasContext.beginPath(),this.canvasContext.rect(0,0,this.transformCanvas.w,this.transformCanvas.h),this.canvasContext.closePath(),this.canvasContext.clip(),this.renderFrame(this.renderedFrame,!0)},CanvasRendererBase.prototype.destroy=function(){var e;for(this.renderConfig.clearCanvas&&this.animationItem.wrapper&&(this.animationItem.wrapper.innerText=""),e=(this.layers?this.layers.length:0)-1;e>=0;e-=1)this.elements[e]&&this.elements[e].destroy&&this.elements[e].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0},CanvasRendererBase.prototype.renderFrame=function(e,t){if((this.renderedFrame!==e||!0!==this.renderConfig.clearCanvas||t)&&!this.destroyed&&-1!==e){var n;this.renderedFrame=e,this.globalData.frameNum=e-this.animationItem._isFirstFrame,this.globalData.frameId+=1,this.globalData._mdf=!this.renderConfig.clearCanvas||t,this.globalData.projectInterface.currentFrame=e;var r=this.layers.length;for(this.completeLayers||this.checkLayers(e),n=r-1;n>=0;n-=1)(this.completeLayers||this.elements[n])&&this.elements[n].prepareFrame(e-this.layers[n].st);if(this.globalData._mdf){for(!0===this.renderConfig.clearCanvas?this.canvasContext.clearRect(0,0,this.transformCanvas.w,this.transformCanvas.h):this.save(),n=r-1;n>=0;n-=1)(this.completeLayers||this.elements[n])&&this.elements[n].renderFrame();!0!==this.renderConfig.clearCanvas&&this.restore()}}},CanvasRendererBase.prototype.buildItem=function(e){var t=this.elements;if(!t[e]&&99!==this.layers[e].ty){var n=this.createItem(this.layers[e],this,this.globalData);t[e]=n,n.initExpressions()}},CanvasRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;)this.pendingElements.pop().checkParenting()},CanvasRendererBase.prototype.hide=function(){this.animationItem.container.style.display="none"},CanvasRendererBase.prototype.show=function(){this.animationItem.container.style.display="block"},CVContextData.prototype.duplicate=function(){var e=2*this._length,t=0;for(t=this._length;t<e;t+=1)this.stack[t]=new CanvasContext;this._length=e},CVContextData.prototype.reset=function(){this.cArrPos=0,this.cTr.reset(),this.stack[this.cArrPos].opacity=1},CVContextData.prototype.restore=function(e){this.cArrPos-=1;var t,n=this.stack[this.cArrPos],r=n.transform,i=this.cTr.props;for(t=0;t<16;t+=1)i[t]=r[t];if(e){this.nativeContext.restore();var a=this.stack[this.cArrPos+1];this.appliedFillStyle=a.fillStyle,this.appliedStrokeStyle=a.strokeStyle,this.appliedLineWidth=a.lineWidth,this.appliedLineCap=a.lineCap,this.appliedLineJoin=a.lineJoin,this.appliedMiterLimit=a.miterLimit}this.nativeContext.setTransform(r[0],r[1],r[4],r[5],r[12],r[13]),(e||-1!==n.opacity&&this.currentOpacity!==n.opacity)&&(this.nativeContext.globalAlpha=n.opacity,this.currentOpacity=n.opacity),this.currentFillStyle=n.fillStyle,this.currentStrokeStyle=n.strokeStyle,this.currentLineWidth=n.lineWidth,this.currentLineCap=n.lineCap,this.currentLineJoin=n.lineJoin,this.currentMiterLimit=n.miterLimit},CVContextData.prototype.save=function(e){e&&this.nativeContext.save();var t=this.cTr.props;this._length<=this.cArrPos&&this.duplicate();var n,r=this.stack[this.cArrPos];for(n=0;n<16;n+=1)r.transform[n]=t[n];this.cArrPos+=1;var i=this.stack[this.cArrPos];i.opacity=r.opacity,i.fillStyle=r.fillStyle,i.strokeStyle=r.strokeStyle,i.lineWidth=r.lineWidth,i.lineCap=r.lineCap,i.lineJoin=r.lineJoin,i.miterLimit=r.miterLimit},CVContextData.prototype.setOpacity=function(e){this.stack[this.cArrPos].opacity=e},CVContextData.prototype.setContext=function(e){this.nativeContext=e},CVContextData.prototype.fillStyle=function(e){this.stack[this.cArrPos].fillStyle!==e&&(this.currentFillStyle=e,this.stack[this.cArrPos].fillStyle=e)},CVContextData.prototype.strokeStyle=function(e){this.stack[this.cArrPos].strokeStyle!==e&&(this.currentStrokeStyle=e,this.stack[this.cArrPos].strokeStyle=e)},CVContextData.prototype.lineWidth=function(e){this.stack[this.cArrPos].lineWidth!==e&&(this.currentLineWidth=e,this.stack[this.cArrPos].lineWidth=e)},CVContextData.prototype.lineCap=function(e){this.stack[this.cArrPos].lineCap!==e&&(this.currentLineCap=e,this.stack[this.cArrPos].lineCap=e)},CVContextData.prototype.lineJoin=function(e){this.stack[this.cArrPos].lineJoin!==e&&(this.currentLineJoin=e,this.stack[this.cArrPos].lineJoin=e)},CVContextData.prototype.miterLimit=function(e){this.stack[this.cArrPos].miterLimit!==e&&(this.currentMiterLimit=e,this.stack[this.cArrPos].miterLimit=e)},CVContextData.prototype.transform=function(e){this.transformMat.cloneFromProps(e);var t=this.cTr;this.transformMat.multiply(t),t.cloneFromProps(this.transformMat.props);var n=t.props;this.nativeContext.setTransform(n[0],n[1],n[4],n[5],n[12],n[13])},CVContextData.prototype.opacity=function(e){var t=this.stack[this.cArrPos].opacity;t*=e<0?0:e,this.stack[this.cArrPos].opacity!==t&&(this.currentOpacity!==e&&(this.nativeContext.globalAlpha=e,this.currentOpacity=e),this.stack[this.cArrPos].opacity=t)},CVContextData.prototype.fill=function(e){this.appliedFillStyle!==this.currentFillStyle&&(this.appliedFillStyle=this.currentFillStyle,this.nativeContext.fillStyle=this.appliedFillStyle),this.nativeContext.fill(e)},CVContextData.prototype.fillRect=function(e,t,n,r){this.appliedFillStyle!==this.currentFillStyle&&(this.appliedFillStyle=this.currentFillStyle,this.nativeContext.fillStyle=this.appliedFillStyle),this.nativeContext.fillRect(e,t,n,r)},CVContextData.prototype.stroke=function(){this.appliedStrokeStyle!==this.currentStrokeStyle&&(this.appliedStrokeStyle=this.currentStrokeStyle,this.nativeContext.strokeStyle=this.appliedStrokeStyle),this.appliedLineWidth!==this.currentLineWidth&&(this.appliedLineWidth=this.currentLineWidth,this.nativeContext.lineWidth=this.appliedLineWidth),this.appliedLineCap!==this.currentLineCap&&(this.appliedLineCap=this.currentLineCap,this.nativeContext.lineCap=this.appliedLineCap),this.appliedLineJoin!==this.currentLineJoin&&(this.appliedLineJoin=this.currentLineJoin,this.nativeContext.lineJoin=this.appliedLineJoin),this.appliedMiterLimit!==this.currentMiterLimit&&(this.appliedMiterLimit=this.currentMiterLimit,this.nativeContext.miterLimit=this.appliedMiterLimit),this.nativeContext.stroke()},extendPrototype([CanvasRendererBase,ICompElement,CVBaseElement],CVCompElement),CVCompElement.prototype.renderInnerContent=function(){var e,t=this.canvasContext;for(t.beginPath(),t.moveTo(0,0),t.lineTo(this.data.w,0),t.lineTo(this.data.w,this.data.h),t.lineTo(0,this.data.h),t.lineTo(0,0),t.clip(),e=this.layers.length-1;e>=0;e-=1)(this.completeLayers||this.elements[e])&&this.elements[e].renderFrame()},CVCompElement.prototype.destroy=function(){var e;for(e=this.layers.length-1;e>=0;e-=1)this.elements[e]&&this.elements[e].destroy();this.layers=null,this.elements=null},CVCompElement.prototype.createComp=function(e){return new CVCompElement(e,this.globalData,this)},extendPrototype([CanvasRendererBase],CanvasRenderer),CanvasRenderer.prototype.createComp=function(e){return new CVCompElement(e,this.globalData,this)},HBaseElement.prototype={checkBlendMode:function(){},initRendererElement:function(){this.baseElement=createTag(this.data.tg||"div"),this.data.hasMask?(this.svgElement=createNS("svg"),this.layerElement=createNS("g"),this.maskedElement=this.layerElement,this.svgElement.appendChild(this.layerElement),this.baseElement.appendChild(this.svgElement)):this.layerElement=this.baseElement,styleDiv(this.baseElement)},createContainerElements:function(){this.renderableEffectsManager=new CVEffects(this),this.transformedElement=this.baseElement,this.maskedElement=this.layerElement,this.data.ln&&this.layerElement.setAttribute("id",this.data.ln),this.data.cl&&this.layerElement.setAttribute("class",this.data.cl),0!==this.data.bm&&this.setBlendMode()},renderElement:function(){var e=this.transformedElement?this.transformedElement.style:{};if(this.finalTransform._matMdf){var t=this.finalTransform.mat.toCSS();e.transform=t,e.webkitTransform=t}this.finalTransform._opMdf&&(e.opacity=this.finalTransform.mProp.o.v)},renderFrame:function(){this.data.hd||this.hidden||(this.renderTransform(),this.renderRenderable(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame&&(this._isFirstFrame=!1))},destroy:function(){this.layerElement=null,this.transformedElement=null,this.matteElement&&(this.matteElement=null),this.maskManager&&(this.maskManager.destroy(),this.maskManager=null)},createRenderableComponents:function(){this.maskManager=new MaskElement(this.data,this,this.globalData)},addEffects:function(){},setMatte:function(){}},HBaseElement.prototype.getBaseElement=SVGBaseElement.prototype.getBaseElement,HBaseElement.prototype.destroyBaseElement=HBaseElement.prototype.destroy,HBaseElement.prototype.buildElementParenting=BaseRenderer.prototype.buildElementParenting,extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],HSolidElement),HSolidElement.prototype.createContent=function(){var e;this.data.hasMask?((e=createNS("rect")).setAttribute("width",this.data.sw),e.setAttribute("height",this.data.sh),e.setAttribute("fill",this.data.sc),this.svgElement.setAttribute("width",this.data.sw),this.svgElement.setAttribute("height",this.data.sh)):((e=createTag("div")).style.width=this.data.sw+"px",e.style.height=this.data.sh+"px",e.style.backgroundColor=this.data.sc),this.layerElement.appendChild(e)},extendPrototype([BaseElement,TransformElement,HSolidElement,SVGShapeElement,HBaseElement,HierarchyElement,FrameElement,RenderableElement],HShapeElement),HShapeElement.prototype._renderShapeFrame=HShapeElement.prototype.renderInnerContent,HShapeElement.prototype.createContent=function(){var e;if(this.baseElement.style.fontSize=0,this.data.hasMask)this.layerElement.appendChild(this.shapesContainer),e=this.svgElement;else{e=createNS("svg");var t=this.comp.data?this.comp.data:this.globalData.compSize;e.setAttribute("width",t.w),e.setAttribute("height",t.h),e.appendChild(this.shapesContainer),this.layerElement.appendChild(e)}this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.shapesContainer,0,[],!0),this.filterUniqueShapes(),this.shapeCont=e},HShapeElement.prototype.getTransformedPoint=function(e,t){var n,r=e.length;for(n=0;n<r;n+=1)t=e[n].mProps.v.applyToPointArray(t[0],t[1],0);return t},HShapeElement.prototype.calculateShapeBoundingBox=function(e,t){var n,r,i,a,s,o=e.sh.v,l=e.transformers,c=o._length;if(!(c<=1)){for(n=0;n<c-1;n+=1)r=this.getTransformedPoint(l,o.v[n]),i=this.getTransformedPoint(l,o.o[n]),a=this.getTransformedPoint(l,o.i[n+1]),s=this.getTransformedPoint(l,o.v[n+1]),this.checkBounds(r,i,a,s,t);o.c&&(r=this.getTransformedPoint(l,o.v[n]),i=this.getTransformedPoint(l,o.o[n]),a=this.getTransformedPoint(l,o.i[0]),s=this.getTransformedPoint(l,o.v[0]),this.checkBounds(r,i,a,s,t))}},HShapeElement.prototype.checkBounds=function(e,t,n,r,i){this.getBoundsOfCurve(e,t,n,r);var a=this.shapeBoundingBox;i.x=bmMin(a.left,i.x),i.xMax=bmMax(a.right,i.xMax),i.y=bmMin(a.top,i.y),i.yMax=bmMax(a.bottom,i.yMax)},HShapeElement.prototype.shapeBoundingBox={left:0,right:0,top:0,bottom:0},HShapeElement.prototype.tempBoundingBox={x:0,xMax:0,y:0,yMax:0,width:0,height:0},HShapeElement.prototype.getBoundsOfCurve=function(e,t,n,r){for(var i,a,s,o,l,c,d,h=[[e[0],r[0]],[e[1],r[1]]],u=0;u<2;++u)a=6*e[u]-12*t[u]+6*n[u],i=-3*e[u]+9*t[u]-9*n[u]+3*r[u],s=3*t[u]-3*e[u],a|=0,s|=0,0===(i|=0)&&0===a||(0===i?(o=-s/a)>0&&o<1&&h[u].push(this.calculateF(o,e,t,n,r,u)):(l=a*a-4*s*i)>=0&&((c=(-a+bmSqrt(l))/(2*i))>0&&c<1&&h[u].push(this.calculateF(c,e,t,n,r,u)),(d=(-a-bmSqrt(l))/(2*i))>0&&d<1&&h[u].push(this.calculateF(d,e,t,n,r,u))));this.shapeBoundingBox.left=bmMin.apply(null,h[0]),this.shapeBoundingBox.top=bmMin.apply(null,h[1]),this.shapeBoundingBox.right=bmMax.apply(null,h[0]),this.shapeBoundingBox.bottom=bmMax.apply(null,h[1])},HShapeElement.prototype.calculateF=function(e,t,n,r,i,a){return bmPow(1-e,3)*t[a]+3*bmPow(1-e,2)*e*n[a]+3*(1-e)*bmPow(e,2)*r[a]+bmPow(e,3)*i[a]},HShapeElement.prototype.calculateBoundingBox=function(e,t){var n,r=e.length;for(n=0;n<r;n+=1)e[n]&&e[n].sh?this.calculateShapeBoundingBox(e[n],t):e[n]&&e[n].it?this.calculateBoundingBox(e[n].it,t):e[n]&&e[n].style&&e[n].w&&this.expandStrokeBoundingBox(e[n].w,t)},HShapeElement.prototype.expandStrokeBoundingBox=function(e,t){var n=0;if(e.keyframes){for(var r=0;r<e.keyframes.length;r+=1){var i=e.keyframes[r].s;i>n&&(n=i)}n*=e.mult}else n=e.v*e.mult;t.x-=n,t.xMax+=n,t.y-=n,t.yMax+=n},HShapeElement.prototype.currentBoxContains=function(e){return this.currentBBox.x<=e.x&&this.currentBBox.y<=e.y&&this.currentBBox.width+this.currentBBox.x>=e.x+e.width&&this.currentBBox.height+this.currentBBox.y>=e.y+e.height},HShapeElement.prototype.renderInnerContent=function(){if(this._renderShapeFrame(),!this.hidden&&(this._isFirstFrame||this._mdf)){var e=this.tempBoundingBox,t=999999;if(e.x=t,e.xMax=-t,e.y=t,e.yMax=-t,this.calculateBoundingBox(this.itemsData,e),e.width=e.xMax<e.x?0:e.xMax-e.x,e.height=e.yMax<e.y?0:e.yMax-e.y,this.currentBoxContains(e))return;var n=!1;if(this.currentBBox.w!==e.width&&(this.currentBBox.w=e.width,this.shapeCont.setAttribute("width",e.width),n=!0),this.currentBBox.h!==e.height&&(this.currentBBox.h=e.height,this.shapeCont.setAttribute("height",e.height),n=!0),n||this.currentBBox.x!==e.x||this.currentBBox.y!==e.y){this.currentBBox.w=e.width,this.currentBBox.h=e.height,this.currentBBox.x=e.x,this.currentBBox.y=e.y,this.shapeCont.setAttribute("viewBox",this.currentBBox.x+" "+this.currentBBox.y+" "+this.currentBBox.w+" "+this.currentBBox.h);var r=this.shapeCont.style,i="translate("+this.currentBBox.x+"px,"+this.currentBBox.y+"px)";r.transform=i,r.webkitTransform=i}}},extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement],HTextElement),HTextElement.prototype.createContent=function(){if(this.isMasked=this.checkMasks(),this.isMasked){this.renderType="svg",this.compW=this.comp.data.w,this.compH=this.comp.data.h,this.svgElement.setAttribute("width",this.compW),this.svgElement.setAttribute("height",this.compH);var e=createNS("g");this.maskedElement.appendChild(e),this.innerElem=e}else this.renderType="html",this.innerElem=this.layerElement;this.checkParenting()},HTextElement.prototype.buildNewText=function(){var e=this.textProperty.currentData;this.renderedLetters=createSizedArray(e.l?e.l.length:0);var t=this.innerElem.style,n=e.fc?this.buildColor(e.fc):"rgba(0,0,0,0)";t.fill=n,t.color=n,e.sc&&(t.stroke=this.buildColor(e.sc),t.strokeWidth=e.sw+"px");var r,i,a=this.globalData.fontManager.getFontByName(e.f);if(!this.globalData.fontManager.chars)if(t.fontSize=e.finalSize+"px",t.lineHeight=e.finalSize+"px",a.fClass)this.innerElem.className=a.fClass;else{t.fontFamily=a.fFamily;var s=e.fWeight,o=e.fStyle;t.fontStyle=o,t.fontWeight=s}var l,c,d,h=e.l;i=h.length;var u,p=this.mHelper,f="",m=0;for(r=0;r<i;r+=1){if(this.globalData.fontManager.chars?(this.textPaths[m]?l=this.textPaths[m]:((l=createNS("path")).setAttribute("stroke-linecap",lineCapEnum[1]),l.setAttribute("stroke-linejoin",lineJoinEnum[2]),l.setAttribute("stroke-miterlimit","4")),this.isMasked||(this.textSpans[m]?d=(c=this.textSpans[m]).children[0]:((c=createTag("div")).style.lineHeight=0,(d=createNS("svg")).appendChild(l),styleDiv(c)))):this.isMasked?l=this.textPaths[m]?this.textPaths[m]:createNS("text"):this.textSpans[m]?(c=this.textSpans[m],l=this.textPaths[m]):(styleDiv(c=createTag("span")),styleDiv(l=createTag("span")),c.appendChild(l)),this.globalData.fontManager.chars){var g,y=this.globalData.fontManager.getCharData(e.finalText[r],a.fStyle,this.globalData.fontManager.getFontByName(e.f).fFamily);if(g=y?y.data:null,p.reset(),g&&g.shapes&&g.shapes.length&&(u=g.shapes[0].it,p.scale(e.finalSize/100,e.finalSize/100),f=this.createPathShape(p,u),l.setAttribute("d",f)),this.isMasked)this.innerElem.appendChild(l);else{if(this.innerElem.appendChild(c),g&&g.shapes){document.body.appendChild(d);var v=d.getBBox();d.setAttribute("width",v.width+2),d.setAttribute("height",v.height+2),d.setAttribute("viewBox",v.x-1+" "+(v.y-1)+" "+(v.width+2)+" "+(v.height+2));var x=d.style,S="translate("+(v.x-1)+"px,"+(v.y-1)+"px)";x.transform=S,x.webkitTransform=S,h[r].yOffset=v.y-1}else d.setAttribute("width",1),d.setAttribute("height",1);c.appendChild(d)}}else if(l.textContent=h[r].val,l.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),this.isMasked)this.innerElem.appendChild(l);else{this.innerElem.appendChild(c);var A=l.style,b="translate3d(0,"+-e.finalSize/1.2+"px,0)";A.transform=b,A.webkitTransform=b}this.isMasked?this.textSpans[m]=l:this.textSpans[m]=c,this.textSpans[m].style.display="block",this.textPaths[m]=l,m+=1}for(;m<this.textSpans.length;)this.textSpans[m].style.display="none",m+=1},HTextElement.prototype.renderInnerContent=function(){var e;if(this.validateText(),this.data.singleShape){if(!this._isFirstFrame&&!this.lettersChangedFlag)return;if(this.isMasked&&this.finalTransform._matMdf){this.svgElement.setAttribute("viewBox",-this.finalTransform.mProp.p.v[0]+" "+-this.finalTransform.mProp.p.v[1]+" "+this.compW+" "+this.compH),e=this.svgElement.style;var t="translate("+-this.finalTransform.mProp.p.v[0]+"px,"+-this.finalTransform.mProp.p.v[1]+"px)";e.transform=t,e.webkitTransform=t}}if(this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag),this.lettersChangedFlag||this.textAnimator.lettersChangedFlag){var n,r,i,a,s,o=0,l=this.textAnimator.renderedLetters,c=this.textProperty.currentData.l;for(r=c.length,n=0;n<r;n+=1)c[n].n?o+=1:(a=this.textSpans[n],s=this.textPaths[n],i=l[o],o+=1,i._mdf.m&&(this.isMasked?a.setAttribute("transform",i.m):(a.style.webkitTransform=i.m,a.style.transform=i.m)),a.style.opacity=i.o,i.sw&&i._mdf.sw&&s.setAttribute("stroke-width",i.sw),i.sc&&i._mdf.sc&&s.setAttribute("stroke",i.sc),i.fc&&i._mdf.fc&&(s.setAttribute("fill",i.fc),s.style.color=i.fc));if(this.innerElem.getBBox&&!this.hidden&&(this._isFirstFrame||this._mdf)){var d=this.innerElem.getBBox();if(this.currentBBox.w!==d.width&&(this.currentBBox.w=d.width,this.svgElement.setAttribute("width",d.width)),this.currentBBox.h!==d.height&&(this.currentBBox.h=d.height,this.svgElement.setAttribute("height",d.height)),this.currentBBox.w!==d.width+2||this.currentBBox.h!==d.height+2||this.currentBBox.x!==d.x-1||this.currentBBox.y!==d.y-1){this.currentBBox.w=d.width+2,this.currentBBox.h=d.height+2,this.currentBBox.x=d.x-1,this.currentBBox.y=d.y-1,this.svgElement.setAttribute("viewBox",this.currentBBox.x+" "+this.currentBBox.y+" "+this.currentBBox.w+" "+this.currentBBox.h),e=this.svgElement.style;var h="translate("+this.currentBBox.x+"px,"+this.currentBBox.y+"px)";e.transform=h,e.webkitTransform=h}}}},extendPrototype([BaseElement,FrameElement,HierarchyElement],HCameraElement),HCameraElement.prototype.setup=function(){var e,t,n,r,i=this.comp.threeDElements.length;for(e=0;e<i;e+=1)if("3d"===(t=this.comp.threeDElements[e]).type){n=t.perspectiveElem.style,r=t.container.style;var a=this.pe.v+"px",s="0px 0px 0px",o="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";n.perspective=a,n.webkitPerspective=a,r.transformOrigin=s,r.mozTransformOrigin=s,r.webkitTransformOrigin=s,n.transform=o,n.webkitTransform=o}},HCameraElement.prototype.createElements=function(){},HCameraElement.prototype.hide=function(){},HCameraElement.prototype.renderFrame=function(){var e,t,n=this._isFirstFrame;if(this.hierarchy)for(t=this.hierarchy.length,e=0;e<t;e+=1)n=this.hierarchy[e].finalTransform.mProp._mdf||n;if(n||this.pe._mdf||this.p&&this.p._mdf||this.px&&(this.px._mdf||this.py._mdf||this.pz._mdf)||this.rx._mdf||this.ry._mdf||this.rz._mdf||this.or._mdf||this.a&&this.a._mdf){if(this.mat.reset(),this.hierarchy)for(e=t=this.hierarchy.length-1;e>=0;e-=1){var r=this.hierarchy[e].finalTransform.mProp;this.mat.translate(-r.p.v[0],-r.p.v[1],r.p.v[2]),this.mat.rotateX(-r.or.v[0]).rotateY(-r.or.v[1]).rotateZ(r.or.v[2]),this.mat.rotateX(-r.rx.v).rotateY(-r.ry.v).rotateZ(r.rz.v),this.mat.scale(1/r.s.v[0],1/r.s.v[1],1/r.s.v[2]),this.mat.translate(r.a.v[0],r.a.v[1],r.a.v[2])}if(this.p?this.mat.translate(-this.p.v[0],-this.p.v[1],this.p.v[2]):this.mat.translate(-this.px.v,-this.py.v,this.pz.v),this.a){var i;i=this.p?[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]]:[this.px.v-this.a.v[0],this.py.v-this.a.v[1],this.pz.v-this.a.v[2]];var a=Math.sqrt(Math.pow(i[0],2)+Math.pow(i[1],2)+Math.pow(i[2],2)),s=[i[0]/a,i[1]/a,i[2]/a],o=Math.sqrt(s[2]*s[2]+s[0]*s[0]),l=Math.atan2(s[1],o),c=Math.atan2(s[0],-s[2]);this.mat.rotateY(c).rotateX(-l)}this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v),this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]),this.mat.translate(this.globalData.compSize.w/2,this.globalData.compSize.h/2,0),this.mat.translate(0,0,this.pe.v);var d=!this._prevMat.equals(this.mat);if((d||this.pe._mdf)&&this.comp.threeDElements){var h,u,p;for(t=this.comp.threeDElements.length,e=0;e<t;e+=1)if("3d"===(h=this.comp.threeDElements[e]).type){if(d){var f=this.mat.toCSS();(p=h.container.style).transform=f,p.webkitTransform=f}this.pe._mdf&&((u=h.perspectiveElem.style).perspective=this.pe.v+"px",u.webkitPerspective=this.pe.v+"px")}this.mat.clone(this._prevMat)}}this._isFirstFrame=!1},HCameraElement.prototype.prepareFrame=function(e){this.prepareProperties(e,!0)},HCameraElement.prototype.destroy=function(){},HCameraElement.prototype.getBaseElement=function(){return null},extendPrototype([BaseElement,TransformElement,HBaseElement,HSolidElement,HierarchyElement,FrameElement,RenderableElement],HImageElement),HImageElement.prototype.createContent=function(){var e=this.globalData.getAssetsPath(this.assetData),t=new Image;this.data.hasMask?(this.imageElem=createNS("image"),this.imageElem.setAttribute("width",this.assetData.w+"px"),this.imageElem.setAttribute("height",this.assetData.h+"px"),this.imageElem.setAttributeNS("http://www.w3.org/1999/xlink","href",e),this.layerElement.appendChild(this.imageElem),this.baseElement.setAttribute("width",this.assetData.w),this.baseElement.setAttribute("height",this.assetData.h)):this.layerElement.appendChild(t),t.crossOrigin="anonymous",t.src=e,this.data.ln&&this.baseElement.setAttribute("id",this.data.ln)},extendPrototype([BaseRenderer],HybridRendererBase),HybridRendererBase.prototype.buildItem=SVGRenderer.prototype.buildItem,HybridRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;)this.pendingElements.pop().checkParenting()},HybridRendererBase.prototype.appendElementInPos=function(e,t){var n=e.getBaseElement();if(n){var r=this.layers[t];if(r.ddd&&this.supports3d)this.addTo3dContainer(n,t);else if(this.threeDElements)this.addTo3dContainer(n,t);else{for(var i,a,s=0;s<t;)this.elements[s]&&!0!==this.elements[s]&&this.elements[s].getBaseElement&&(a=this.elements[s],i=(this.layers[s].ddd?this.getThreeDContainerByPos(s):a.getBaseElement())||i),s+=1;i?r.ddd&&this.supports3d||this.layerElement.insertBefore(n,i):r.ddd&&this.supports3d||this.layerElement.appendChild(n)}}},HybridRendererBase.prototype.createShape=function(e){return this.supports3d?new HShapeElement(e,this.globalData,this):new SVGShapeElement(e,this.globalData,this)},HybridRendererBase.prototype.createText=function(e){return this.supports3d?new HTextElement(e,this.globalData,this):new SVGTextLottieElement(e,this.globalData,this)},HybridRendererBase.prototype.createCamera=function(e){return this.camera=new HCameraElement(e,this.globalData,this),this.camera},HybridRendererBase.prototype.createImage=function(e){return this.supports3d?new HImageElement(e,this.globalData,this):new IImageElement(e,this.globalData,this)},HybridRendererBase.prototype.createSolid=function(e){return this.supports3d?new HSolidElement(e,this.globalData,this):new ISolidElement(e,this.globalData,this)},HybridRendererBase.prototype.createNull=SVGRenderer.prototype.createNull,HybridRendererBase.prototype.getThreeDContainerByPos=function(e){for(var t=0,n=this.threeDElements.length;t<n;){if(this.threeDElements[t].startPos<=e&&this.threeDElements[t].endPos>=e)return this.threeDElements[t].perspectiveElem;t+=1}return null},HybridRendererBase.prototype.createThreeDContainer=function(e,t){var n,r,i=createTag("div");styleDiv(i);var a=createTag("div");if(styleDiv(a),"3d"===t){(n=i.style).width=this.globalData.compSize.w+"px",n.height=this.globalData.compSize.h+"px";var s="50% 50%";n.webkitTransformOrigin=s,n.mozTransformOrigin=s,n.transformOrigin=s;var o="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";(r=a.style).transform=o,r.webkitTransform=o}i.appendChild(a);var l={container:a,perspectiveElem:i,startPos:e,endPos:e,type:t};return this.threeDElements.push(l),l},HybridRendererBase.prototype.build3dContainers=function(){var e,t,n=this.layers.length,r="";for(e=0;e<n;e+=1)this.layers[e].ddd&&3!==this.layers[e].ty?("3d"!==r&&(r="3d",t=this.createThreeDContainer(e,"3d")),t.endPos=Math.max(t.endPos,e)):("2d"!==r&&(r="2d",t=this.createThreeDContainer(e,"2d")),t.endPos=Math.max(t.endPos,e));for(e=(n=this.threeDElements.length)-1;e>=0;e-=1)this.resizerElem.appendChild(this.threeDElements[e].perspectiveElem)},HybridRendererBase.prototype.addTo3dContainer=function(e,t){for(var n=0,r=this.threeDElements.length;n<r;){if(t<=this.threeDElements[n].endPos){for(var i,a=this.threeDElements[n].startPos;a<t;)this.elements[a]&&this.elements[a].getBaseElement&&(i=this.elements[a].getBaseElement()),a+=1;i?this.threeDElements[n].container.insertBefore(e,i):this.threeDElements[n].container.appendChild(e);break}n+=1}},HybridRendererBase.prototype.configAnimation=function(e){var t=createTag("div"),n=this.animationItem.wrapper,r=t.style;r.width=e.w+"px",r.height=e.h+"px",this.resizerElem=t,styleDiv(t),r.transformStyle="flat",r.mozTransformStyle="flat",r.webkitTransformStyle="flat",this.renderConfig.className&&t.setAttribute("class",this.renderConfig.className),n.appendChild(t),r.overflow="hidden";var i=createNS("svg");i.setAttribute("width","1"),i.setAttribute("height","1"),styleDiv(i),this.resizerElem.appendChild(i);var a=createNS("defs");i.appendChild(a),this.data=e,this.setupGlobalData(e,i),this.globalData.defs=a,this.layers=e.layers,this.layerElement=this.resizerElem,this.build3dContainers(),this.updateContainerSize()},HybridRendererBase.prototype.destroy=function(){var e;this.animationItem.wrapper&&(this.animationItem.wrapper.innerText=""),this.animationItem.container=null,this.globalData.defs=null;var t=this.layers?this.layers.length:0;for(e=0;e<t;e+=1)this.elements[e]&&this.elements[e].destroy&&this.elements[e].destroy();this.elements.length=0,this.destroyed=!0,this.animationItem=null},HybridRendererBase.prototype.updateContainerSize=function(){var e,t,n,r,i=this.animationItem.wrapper.offsetWidth,a=this.animationItem.wrapper.offsetHeight,s=i/a;this.globalData.compSize.w/this.globalData.compSize.h>s?(e=i/this.globalData.compSize.w,t=i/this.globalData.compSize.w,n=0,r=(a-this.globalData.compSize.h*(i/this.globalData.compSize.w))/2):(e=a/this.globalData.compSize.h,t=a/this.globalData.compSize.h,n=(i-this.globalData.compSize.w*(a/this.globalData.compSize.h))/2,r=0);var o=this.resizerElem.style;o.webkitTransform="matrix3d("+e+",0,0,0,0,"+t+",0,0,0,0,1,0,"+n+","+r+",0,1)",o.transform=o.webkitTransform},HybridRendererBase.prototype.renderFrame=SVGRenderer.prototype.renderFrame,HybridRendererBase.prototype.hide=function(){this.resizerElem.style.display="none"},HybridRendererBase.prototype.show=function(){this.resizerElem.style.display="block"},HybridRendererBase.prototype.initItems=function(){if(this.buildAllItems(),this.camera)this.camera.setup();else{var e,t=this.globalData.compSize.w,n=this.globalData.compSize.h,r=this.threeDElements.length;for(e=0;e<r;e+=1){var i=this.threeDElements[e].perspectiveElem.style;i.webkitPerspective=Math.sqrt(Math.pow(t,2)+Math.pow(n,2))+"px",i.perspective=i.webkitPerspective}}},HybridRendererBase.prototype.searchExtraCompositions=function(e){var t,n=e.length,r=createTag("div");for(t=0;t<n;t+=1)if(e[t].xt){var i=this.createComp(e[t],r,this.globalData.comp,null);i.initExpressions(),this.globalData.projectInterface.registerComposition(i)}},extendPrototype([HybridRendererBase,ICompElement,HBaseElement],HCompElement),HCompElement.prototype._createBaseContainerElements=HCompElement.prototype.createContainerElements,HCompElement.prototype.createContainerElements=function(){this._createBaseContainerElements(),this.data.hasMask?(this.svgElement.setAttribute("width",this.data.w),this.svgElement.setAttribute("height",this.data.h),this.transformedElement=this.baseElement):this.transformedElement=this.layerElement},HCompElement.prototype.addTo3dContainer=function(e,t){for(var n,r=0;r<t;)this.elements[r]&&this.elements[r].getBaseElement&&(n=this.elements[r].getBaseElement()),r+=1;n?this.layerElement.insertBefore(e,n):this.layerElement.appendChild(e)},HCompElement.prototype.createComp=function(e){return this.supports3d?new HCompElement(e,this.globalData,this):new SVGCompElement(e,this.globalData,this)},extendPrototype([HybridRendererBase],HybridRenderer),HybridRenderer.prototype.createComp=function(e){return this.supports3d?new HCompElement(e,this.globalData,this):new SVGCompElement(e,this.globalData,this)};var CompExpressionInterface=function(e){function t(t){for(var n=0,r=e.layers.length;n<r;){if(e.layers[n].nm===t||e.layers[n].ind===t)return e.elements[n].layerInterface;n+=1}return null}return Object.defineProperty(t,"_name",{value:e.data.nm}),t.layer=t,t.pixelAspect=1,t.height=e.data.h||e.globalData.compSize.h,t.width=e.data.w||e.globalData.compSize.w,t.pixelAspect=1,t.frameDuration=1/e.globalData.frameRate,t.displayStartTime=0,t.numLayers=e.layers.length,t};function _typeof$2(e){return _typeof$2="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$2(e)}function seedRandom(e,t){var n,r=this,i=256,a="random",s=t.pow(i,6),o=t.pow(2,52),l=2*o,c=i-1;function d(e){var t,n=e.length,r=this,a=0,s=r.i=r.j=0,o=r.S=[];for(n||(e=[n++]);a<i;)o[a]=a++;for(a=0;a<i;a++)o[a]=o[s=c&s+e[a%n]+(t=o[a])],o[s]=t;r.g=function(e){for(var t,n=0,a=r.i,s=r.j,o=r.S;e--;)t=o[a=c&a+1],n=n*i+o[c&(o[a]=o[s=c&s+t])+(o[s]=t)];return r.i=a,r.j=s,n}}function h(e,t){return t.i=e.i,t.j=e.j,t.S=e.S.slice(),t}function u(e,t){var n,r=[],i=_typeof$2(e);if(t&&"object"==i)for(n in e)try{r.push(u(e[n],t-1))}catch(a){}return r.length?r:"string"==i?e:e+"\0"}function p(e,t){for(var n,r=e+"",i=0;i<r.length;)t[c&i]=c&(n^=19*t[c&i])+r.charCodeAt(i++);return f(t)}function f(e){return String.fromCharCode.apply(0,e)}t["seed"+a]=function(c,m,g){var y=[],v=p(u((m=!0===m?{entropy:!0}:m||{}).entropy?[c,f(e)]:null===c?function(){try{if(n)return f(n.randomBytes(i));var t=new Uint8Array(i);return(r.crypto||r.msCrypto).getRandomValues(t),f(t)}catch(o){var a=r.navigator,s=a&&a.plugins;return[+new Date,r,s,r.screen,f(e)]}}():c,3),y),x=new d(y),S=function(){for(var e=x.g(6),t=s,n=0;e<o;)e=(e+n)*i,t*=i,n=x.g(1);for(;e>=l;)e/=2,t/=2,n>>>=1;return(e+n)/t};return S.int32=function(){return 0|x.g(4)},S.quick=function(){return x.g(4)/4294967296},S.double=S,p(f(x.S),e),(m.pass||g||function(e,n,r,i){return i&&(i.S&&h(i,x),e.state=function(){return h(x,{})}),r?(t[a]=e,n):e})(S,v,"global"in m?m.global:this==t,m.state)},p(t.random(),e)}function initialize$2(e){seedRandom([],e)}var propTypes={SHAPE:"shape"};function _typeof$1(e){return _typeof$1="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$1(e)}var ExpressionManager=function(){var ob={},Math=BMMath,window=null,document=null,XMLHttpRequest=null,fetch=null,frames=null,_lottieGlobal={};function resetFrame(){_lottieGlobal={}}function $bm_isInstanceOfArray(e){return e.constructor===Array||e.constructor===Float32Array}function isNumerable(e,t){return"number"===e||t instanceof Number||"boolean"===e||"string"===e}function $bm_neg(e){var t=_typeof$1(e);if("number"===t||e instanceof Number||"boolean"===t)return-e;if($bm_isInstanceOfArray(e)){var n,r=e.length,i=[];for(n=0;n<r;n+=1)i[n]=-e[n];return i}return e.propType?e.v:-e}initialize$2(BMMath);var easeInBez=BezierFactory.getBezierEasing(.333,0,.833,.833,"easeIn").get,easeOutBez=BezierFactory.getBezierEasing(.167,.167,.667,1,"easeOut").get,easeInOutBez=BezierFactory.getBezierEasing(.33,0,.667,1,"easeInOut").get;function sum(e,t){var n=_typeof$1(e),r=_typeof$1(t);if(isNumerable(n,e)&&isNumerable(r,t)||"string"===n||"string"===r)return e+t;if($bm_isInstanceOfArray(e)&&isNumerable(r,t))return(e=e.slice(0))[0]+=t,e;if(isNumerable(n,e)&&$bm_isInstanceOfArray(t))return(t=t.slice(0))[0]=e+t[0],t;if($bm_isInstanceOfArray(e)&&$bm_isInstanceOfArray(t)){for(var i=0,a=e.length,s=t.length,o=[];i<a||i<s;)("number"===typeof e[i]||e[i]instanceof Number)&&("number"===typeof t[i]||t[i]instanceof Number)?o[i]=e[i]+t[i]:o[i]=void 0===t[i]?e[i]:e[i]||t[i],i+=1;return o}return 0}var add=sum;function sub(e,t){var n=_typeof$1(e),r=_typeof$1(t);if(isNumerable(n,e)&&isNumerable(r,t))return"string"===n&&(e=parseInt(e,10)),"string"===r&&(t=parseInt(t,10)),e-t;if($bm_isInstanceOfArray(e)&&isNumerable(r,t))return(e=e.slice(0))[0]-=t,e;if(isNumerable(n,e)&&$bm_isInstanceOfArray(t))return(t=t.slice(0))[0]=e-t[0],t;if($bm_isInstanceOfArray(e)&&$bm_isInstanceOfArray(t)){for(var i=0,a=e.length,s=t.length,o=[];i<a||i<s;)("number"===typeof e[i]||e[i]instanceof Number)&&("number"===typeof t[i]||t[i]instanceof Number)?o[i]=e[i]-t[i]:o[i]=void 0===t[i]?e[i]:e[i]||t[i],i+=1;return o}return 0}function mul(e,t){var n,r,i,a=_typeof$1(e),s=_typeof$1(t);if(isNumerable(a,e)&&isNumerable(s,t))return e*t;if($bm_isInstanceOfArray(e)&&isNumerable(s,t)){for(i=e.length,n=createTypedArray("float32",i),r=0;r<i;r+=1)n[r]=e[r]*t;return n}if(isNumerable(a,e)&&$bm_isInstanceOfArray(t)){for(i=t.length,n=createTypedArray("float32",i),r=0;r<i;r+=1)n[r]=e*t[r];return n}return 0}function div(e,t){var n,r,i,a=_typeof$1(e),s=_typeof$1(t);if(isNumerable(a,e)&&isNumerable(s,t))return e/t;if($bm_isInstanceOfArray(e)&&isNumerable(s,t)){for(i=e.length,n=createTypedArray("float32",i),r=0;r<i;r+=1)n[r]=e[r]/t;return n}if(isNumerable(a,e)&&$bm_isInstanceOfArray(t)){for(i=t.length,n=createTypedArray("float32",i),r=0;r<i;r+=1)n[r]=e/t[r];return n}return 0}function mod(e,t){return"string"===typeof e&&(e=parseInt(e,10)),"string"===typeof t&&(t=parseInt(t,10)),e%t}var $bm_sum=sum,$bm_sub=sub,$bm_mul=mul,$bm_div=div,$bm_mod=mod;function clamp(e,t,n){if(t>n){var r=n;n=t,t=r}return Math.min(Math.max(e,t),n)}function radiansToDegrees(e){return e/degToRads}var radians_to_degrees=radiansToDegrees;function degreesToRadians(e){return e*degToRads}var degrees_to_radians=radiansToDegrees,helperLengthArray=[0,0,0,0,0,0];function length(e,t){if("number"===typeof e||e instanceof Number)return t=t||0,Math.abs(e-t);var n;t||(t=helperLengthArray);var r=Math.min(e.length,t.length),i=0;for(n=0;n<r;n+=1)i+=Math.pow(t[n]-e[n],2);return Math.sqrt(i)}function normalize(e){return div(e,length(e))}function rgbToHsl(e){var t,n,r=e[0],i=e[1],a=e[2],s=Math.max(r,i,a),o=Math.min(r,i,a),l=(s+o)/2;if(s===o)t=0,n=0;else{var c=s-o;switch(n=l>.5?c/(2-s-o):c/(s+o),s){case r:t=(i-a)/c+(i<a?6:0);break;case i:t=(a-r)/c+2;break;case a:t=(r-i)/c+4}t/=6}return[t,n,l,e[3]]}function hue2rgb(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function hslToRgb(e){var t,n,r,i=e[0],a=e[1],s=e[2];if(0===a)t=s,r=s,n=s;else{var o=s<.5?s*(1+a):s+a-s*a,l=2*s-o;t=hue2rgb(l,o,i+1/3),n=hue2rgb(l,o,i),r=hue2rgb(l,o,i-1/3)}return[t,n,r,e[3]]}function linear(e,t,n,r,i){if(void 0!==r&&void 0!==i||(r=t,i=n,t=0,n=1),n<t){var a=n;n=t,t=a}if(e<=t)return r;if(e>=n)return i;var s,o=n===t?0:(e-t)/(n-t);if(!r.length)return r+(i-r)*o;var l=r.length,c=createTypedArray("float32",l);for(s=0;s<l;s+=1)c[s]=r[s]+(i[s]-r[s])*o;return c}function random(e,t){if(void 0===t&&(void 0===e?(e=0,t=1):(t=e,e=void 0)),t.length){var n,r=t.length;e||(e=createTypedArray("float32",r));var i=createTypedArray("float32",r),a=BMMath.random();for(n=0;n<r;n+=1)i[n]=e[n]+a*(t[n]-e[n]);return i}return void 0===e&&(e=0),e+BMMath.random()*(t-e)}function createPath(e,t,n,r){var i,a=e.length,s=shapePool.newElement();s.setPathData(!!r,a);var o,l,c=[0,0];for(i=0;i<a;i+=1)o=t&&t[i]?t[i]:c,l=n&&n[i]?n[i]:c,s.setTripleAt(e[i][0],e[i][1],l[0]+e[i][0],l[1]+e[i][1],o[0]+e[i][0],o[1]+e[i][1],i,!0);return s}function initiateExpression(elem,data,property){function noOp(e){return e}if(!elem.globalData.renderConfig.runExpressions)return noOp;var val=data.x,needsVelocity=/velocity(?![\w\d])/.test(val),_needsRandom=-1!==val.indexOf("random"),elemType=elem.data.ty,transform,$bm_transform,content,effect,thisProperty=property;thisProperty.valueAtTime=thisProperty.getValueAtTime,Object.defineProperty(thisProperty,"value",{get:function(){return thisProperty.v}}),elem.comp.frameDuration=1/elem.comp.globalData.frameRate,elem.comp.displayStartTime=0;var inPoint=elem.data.ip/elem.comp.globalData.frameRate,outPoint=elem.data.op/elem.comp.globalData.frameRate,width=elem.data.sw?elem.data.sw:0,height=elem.data.sh?elem.data.sh:0,name=elem.data.nm,loopIn,loop_in,loopOut,loop_out,smooth,toWorld,fromWorld,fromComp,toComp,fromCompToSurface,position,rotation,anchorPoint,scale,thisLayer,thisComp,mask,valueAtTime,velocityAtTime,scoped_bm_rt,expression_function=eval("[function _expression_function(){"+val+";scoped_bm_rt=$bm_rt}]")[0],numKeys=property.kf?data.k.length:0,active=!this.data||!0!==this.data.hd,wiggle=function(e,t){var n,r,i=this.pv.length?this.pv.length:1,a=createTypedArray("float32",i),s=Math.floor(5*time);for(n=0,r=0;n<s;){for(r=0;r<i;r+=1)a[r]+=-t+2*t*BMMath.random();n+=1}var o=5*time,l=o-Math.floor(o),c=createTypedArray("float32",i);if(i>1){for(r=0;r<i;r+=1)c[r]=this.pv[r]+a[r]+(-t+2*t*BMMath.random())*l;return c}return this.pv+a[0]+(-t+2*t*BMMath.random())*l}.bind(this);function loopInDuration(e,t){return loopIn(e,t,!0)}function loopOutDuration(e,t){return loopOut(e,t,!0)}thisProperty.loopIn&&(loopIn=thisProperty.loopIn.bind(thisProperty),loop_in=loopIn),thisProperty.loopOut&&(loopOut=thisProperty.loopOut.bind(thisProperty),loop_out=loopOut),thisProperty.smooth&&(smooth=thisProperty.smooth.bind(thisProperty)),this.getValueAtTime&&(valueAtTime=this.getValueAtTime.bind(this)),this.getVelocityAtTime&&(velocityAtTime=this.getVelocityAtTime.bind(this));var comp=elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface),time,velocity,value,text,textIndex,textTotal,selectorValue;function lookAt(e,t){var n=[t[0]-e[0],t[1]-e[1],t[2]-e[2]],r=Math.atan2(n[0],Math.sqrt(n[1]*n[1]+n[2]*n[2]))/degToRads;return[-Math.atan2(n[1],n[2])/degToRads,r,0]}function easeOut(e,t,n,r,i){return applyEase(easeOutBez,e,t,n,r,i)}function easeIn(e,t,n,r,i){return applyEase(easeInBez,e,t,n,r,i)}function ease(e,t,n,r,i){return applyEase(easeInOutBez,e,t,n,r,i)}function applyEase(e,t,n,r,i,a){void 0===i?(i=n,a=r):t=(t-n)/(r-n),t>1?t=1:t<0&&(t=0);var s=e(t);if($bm_isInstanceOfArray(i)){var o,l=i.length,c=createTypedArray("float32",l);for(o=0;o<l;o+=1)c[o]=(a[o]-i[o])*s+i[o];return c}return(a-i)*s+i}function nearestKey(e){var t,n,r,i=data.k.length;if(data.k.length&&"number"!==typeof data.k[0])if(n=-1,(e*=elem.comp.globalData.frameRate)<data.k[0].t)n=1,r=data.k[0].t;else{for(t=0;t<i-1;t+=1){if(e===data.k[t].t){n=t+1,r=data.k[t].t;break}if(e>data.k[t].t&&e<data.k[t+1].t){e-data.k[t].t>data.k[t+1].t-e?(n=t+2,r=data.k[t+1].t):(n=t+1,r=data.k[t].t);break}}-1===n&&(n=t+1,r=data.k[t].t)}else n=0,r=0;var a={};return a.index=n,a.time=r/elem.comp.globalData.frameRate,a}function key(e){var t,n,r;if(!data.k.length||"number"===typeof data.k[0])throw new Error("The property has no keyframe at index "+e);e-=1,t={time:data.k[e].t/elem.comp.globalData.frameRate,value:[]};var i=Object.prototype.hasOwnProperty.call(data.k[e],"s")?data.k[e].s:data.k[e-1].e;for(r=i.length,n=0;n<r;n+=1)t[n]=i[n],t.value[n]=i[n];return t}function framesToTime(e,t){return t||(t=elem.comp.globalData.frameRate),e/t}function timeToFrames(e,t){return e||0===e||(e=time),t||(t=elem.comp.globalData.frameRate),e*t}function seedRandom(e){BMMath.seedrandom(randSeed+e)}function sourceRectAtTime(){return elem.sourceRectAtTime()}function substring(e,t){return"string"===typeof value?void 0===t?value.substring(e):value.substring(e,t):""}function substr(e,t){return"string"===typeof value?void 0===t?value.substr(e):value.substr(e,t):""}function posterizeTime(e){time=0===e?0:Math.floor(time*e)/e,value=valueAtTime(time)}var index=elem.data.ind,hasParent=!(!elem.hierarchy||!elem.hierarchy.length),parent,randSeed=Math.floor(1e6*Math.random()),globalData=elem.globalData;function executeExpression(e){return value=e,this.frameExpressionId===elem.globalData.frameId&&"textSelector"!==this.propType?value:("textSelector"===this.propType&&(textIndex=this.textIndex,textTotal=this.textTotal,selectorValue=this.selectorValue),thisLayer||(text=elem.layerInterface.text,thisLayer=elem.layerInterface,thisComp=elem.comp.compInterface,toWorld=thisLayer.toWorld.bind(thisLayer),fromWorld=thisLayer.fromWorld.bind(thisLayer),fromComp=thisLayer.fromComp.bind(thisLayer),toComp=thisLayer.toComp.bind(thisLayer),mask=thisLayer.mask?thisLayer.mask.bind(thisLayer):null,fromCompToSurface=fromComp),transform||(transform=elem.layerInterface("ADBE Transform Group"),$bm_transform=transform,transform&&(anchorPoint=transform.anchorPoint)),4!==elemType||content||(content=thisLayer("ADBE Root Vectors Group")),effect||(effect=thisLayer(4)),(hasParent=!(!elem.hierarchy||!elem.hierarchy.length))&&!parent&&(parent=elem.hierarchy[0].layerInterface),time=this.comp.renderedFrame/this.comp.globalData.frameRate,_needsRandom&&seedRandom(randSeed+time),needsVelocity&&(velocity=velocityAtTime(time)),expression_function(),this.frameExpressionId=elem.globalData.frameId,scoped_bm_rt=scoped_bm_rt.propType===propTypes.SHAPE?scoped_bm_rt.v:scoped_bm_rt)}return executeExpression.__preventDeadCodeRemoval=[$bm_transform,anchorPoint,time,velocity,inPoint,outPoint,width,height,name,loop_in,loop_out,smooth,toComp,fromCompToSurface,toWorld,fromWorld,mask,position,rotation,scale,thisComp,numKeys,active,wiggle,loopInDuration,loopOutDuration,comp,lookAt,easeOut,easeIn,ease,nearestKey,key,text,textIndex,textTotal,selectorValue,framesToTime,timeToFrames,sourceRectAtTime,substring,substr,posterizeTime,index,globalData],executeExpression}return ob.initiateExpression=initiateExpression,ob.__preventDeadCodeRemoval=[window,document,XMLHttpRequest,fetch,frames,$bm_neg,add,$bm_sum,$bm_sub,$bm_mul,$bm_div,$bm_mod,clamp,radians_to_degrees,degreesToRadians,degrees_to_radians,normalize,rgbToHsl,hslToRgb,linear,random,createPath,_lottieGlobal],ob.resetFrame=resetFrame,ob}(),Expressions=function(){var e={initExpressions:function(e){var t=0,n=[];e.renderer.compInterface=CompExpressionInterface(e.renderer),e.renderer.globalData.projectInterface.registerComposition(e.renderer),e.renderer.globalData.pushExpression=function(){t+=1},e.renderer.globalData.popExpression=function(){0===(t-=1)&&function(){var e,t=n.length;for(e=0;e<t;e+=1)n[e].release();n.length=0}()},e.renderer.globalData.registerExpressionProperty=function(e){-1===n.indexOf(e)&&n.push(e)}}};return e.resetFrame=ExpressionManager.resetFrame,e}(),MaskManagerInterface=function(){function e(e,t){this._mask=e,this._data=t}return Object.defineProperty(e.prototype,"maskPath",{get:function(){return this._mask.prop.k&&this._mask.prop.getValue(),this._mask.prop}}),Object.defineProperty(e.prototype,"maskOpacity",{get:function(){return this._mask.op.k&&this._mask.op.getValue(),100*this._mask.op.v}}),function(t){var n,r=createSizedArray(t.viewData.length),i=t.viewData.length;for(n=0;n<i;n+=1)r[n]=new e(t.viewData[n],t.masksProperties[n]);return function(e){for(n=0;n<i;){if(t.masksProperties[n].nm===e)return r[n];n+=1}return null}}}(),ExpressionPropertyInterface=function(){var e={pv:0,v:0,mult:1},t={pv:[0,0,0],v:[0,0,0],mult:1};function n(e,t,n){Object.defineProperty(e,"velocity",{get:function(){return t.getVelocityAtTime(t.comp.currentFrame)}}),e.numKeys=t.keyframes?t.keyframes.length:0,e.key=function(r){if(!e.numKeys)return 0;var i="";i="s"in t.keyframes[r-1]?t.keyframes[r-1].s:"e"in t.keyframes[r-2]?t.keyframes[r-2].e:t.keyframes[r-2].s;var a="unidimensional"===n?new Number(i):Object.assign({},i);return a.time=t.keyframes[r-1].t/t.elem.comp.globalData.frameRate,a.value="unidimensional"===n?i[0]:i,a},e.valueAtTime=t.getValueAtTime,e.speedAtTime=t.getSpeedAtTime,e.velocityAtTime=t.getVelocityAtTime,e.propertyGroup=t.propertyGroup}function r(){return e}return function(i){return i?"unidimensional"===i.propType?function(t){t&&"pv"in t||(t=e);var r=1/t.mult,i=t.pv*r,a=new Number(i);return a.value=i,n(a,t,"unidimensional"),function(){return t.k&&t.getValue(),i=t.v*r,a.value!==i&&((a=new Number(i)).value=i,n(a,t,"unidimensional")),a}}(i):function(e){e&&"pv"in e||(e=t);var r=1/e.mult,i=e.data&&e.data.l||e.pv.length,a=createTypedArray("float32",i),s=createTypedArray("float32",i);return a.value=s,n(a,e,"multidimensional"),function(){e.k&&e.getValue();for(var t=0;t<i;t+=1)s[t]=e.v[t]*r,a[t]=s[t];return a}}(i):r}}(),TransformExpressionInterface=function(e){function t(e){switch(e){case"scale":case"Scale":case"ADBE Scale":case 6:return t.scale;case"rotation":case"Rotation":case"ADBE Rotation":case"ADBE Rotate Z":case 10:return t.rotation;case"ADBE Rotate X":return t.xRotation;case"ADBE Rotate Y":return t.yRotation;case"position":case"Position":case"ADBE Position":case 2:return t.position;case"ADBE Position_0":return t.xPosition;case"ADBE Position_1":return t.yPosition;case"ADBE Position_2":return t.zPosition;case"anchorPoint":case"AnchorPoint":case"Anchor Point":case"ADBE AnchorPoint":case 1:return t.anchorPoint;case"opacity":case"Opacity":case 11:return t.opacity;default:return null}}var n,r,i,a;return Object.defineProperty(t,"rotation",{get:ExpressionPropertyInterface(e.r||e.rz)}),Object.defineProperty(t,"zRotation",{get:ExpressionPropertyInterface(e.rz||e.r)}),Object.defineProperty(t,"xRotation",{get:ExpressionPropertyInterface(e.rx)}),Object.defineProperty(t,"yRotation",{get:ExpressionPropertyInterface(e.ry)}),Object.defineProperty(t,"scale",{get:ExpressionPropertyInterface(e.s)}),e.p?a=ExpressionPropertyInterface(e.p):(n=ExpressionPropertyInterface(e.px),r=ExpressionPropertyInterface(e.py),e.pz&&(i=ExpressionPropertyInterface(e.pz))),Object.defineProperty(t,"position",{get:function(){return e.p?a():[n(),r(),i?i():0]}}),Object.defineProperty(t,"xPosition",{get:ExpressionPropertyInterface(e.px)}),Object.defineProperty(t,"yPosition",{get:ExpressionPropertyInterface(e.py)}),Object.defineProperty(t,"zPosition",{get:ExpressionPropertyInterface(e.pz)}),Object.defineProperty(t,"anchorPoint",{get:ExpressionPropertyInterface(e.a)}),Object.defineProperty(t,"opacity",{get:ExpressionPropertyInterface(e.o)}),Object.defineProperty(t,"skew",{get:ExpressionPropertyInterface(e.sk)}),Object.defineProperty(t,"skewAxis",{get:ExpressionPropertyInterface(e.sa)}),Object.defineProperty(t,"orientation",{get:ExpressionPropertyInterface(e.or)}),t},LayerExpressionInterface=function(){function e(e){var t=new Matrix;return void 0!==e?this._elem.finalTransform.mProp.getValueAtTime(e).clone(t):this._elem.finalTransform.mProp.applyToMatrix(t),t}function t(e,t){var n=this.getMatrix(t);return n.props[12]=0,n.props[13]=0,n.props[14]=0,this.applyPoint(n,e)}function n(e,t){var n=this.getMatrix(t);return this.applyPoint(n,e)}function r(e,t){var n=this.getMatrix(t);return n.props[12]=0,n.props[13]=0,n.props[14]=0,this.invertPoint(n,e)}function i(e,t){var n=this.getMatrix(t);return this.invertPoint(n,e)}function a(e,t){if(this._elem.hierarchy&&this._elem.hierarchy.length){var n,r=this._elem.hierarchy.length;for(n=0;n<r;n+=1)this._elem.hierarchy[n].finalTransform.mProp.applyToMatrix(e)}return e.applyToPointArray(t[0],t[1],t[2]||0)}function s(e,t){if(this._elem.hierarchy&&this._elem.hierarchy.length){var n,r=this._elem.hierarchy.length;for(n=0;n<r;n+=1)this._elem.hierarchy[n].finalTransform.mProp.applyToMatrix(e)}return e.inversePoint(t)}function o(e){var t=new Matrix;if(t.reset(),this._elem.finalTransform.mProp.applyToMatrix(t),this._elem.hierarchy&&this._elem.hierarchy.length){var n,r=this._elem.hierarchy.length;for(n=0;n<r;n+=1)this._elem.hierarchy[n].finalTransform.mProp.applyToMatrix(t);return t.inversePoint(e)}return t.inversePoint(e)}function l(){return[1,1,1,1]}return function(c){var d;function h(e){switch(e){case"ADBE Root Vectors Group":case"Contents":case 2:return h.shapeInterface;case 1:case 6:case"Transform":case"transform":case"ADBE Transform Group":return d;case 4:case"ADBE Effect Parade":case"effects":case"Effects":return h.effect;case"ADBE Text Properties":return h.textInterface;default:return null}}h.getMatrix=e,h.invertPoint=s,h.applyPoint=a,h.toWorld=n,h.toWorldVec=t,h.fromWorld=i,h.fromWorldVec=r,h.toComp=n,h.fromComp=o,h.sampleImage=l,h.sourceRectAtTime=c.sourceRectAtTime.bind(c),h._elem=c;var u=getDescriptor(d=TransformExpressionInterface(c.finalTransform.mProp),"anchorPoint");return Object.defineProperties(h,{hasParent:{get:function(){return c.hierarchy.length}},parent:{get:function(){return c.hierarchy[0].layerInterface}},rotation:getDescriptor(d,"rotation"),scale:getDescriptor(d,"scale"),position:getDescriptor(d,"position"),opacity:getDescriptor(d,"opacity"),anchorPoint:u,anchor_point:u,transform:{get:function(){return d}},active:{get:function(){return c.isInRange}}}),h.startTime=c.data.st,h.index=c.data.ind,h.source=c.data.refId,h.height=0===c.data.ty?c.data.h:100,h.width=0===c.data.ty?c.data.w:100,h.inPoint=c.data.ip/c.comp.globalData.frameRate,h.outPoint=c.data.op/c.comp.globalData.frameRate,h._name=c.data.nm,h.registerMaskInterface=function(e){h.mask=new MaskManagerInterface(e,c)},h.registerEffectsInterface=function(e){h.effect=e},h}}(),propertyGroupFactory=function(e,t){return function(n){return(n=void 0===n?1:n)<=0?e:t(n-1)}},PropertyInterface=function(e,t){var n={_name:e};return function(e){return(e=void 0===e?1:e)<=0?n:t(e-1)}},EffectsExpressionInterface=function(){function e(n,r,i,a){function s(e){for(var t=n.ef,r=0,i=t.length;r<i;){if(e===t[r].nm||e===t[r].mn||e===t[r].ix)return 5===t[r].ty?c[r]:c[r]();r+=1}throw new Error}var o,l=propertyGroupFactory(s,i),c=[],d=n.ef.length;for(o=0;o<d;o+=1)5===n.ef[o].ty?c.push(e(n.ef[o],r.effectElements[o],r.effectElements[o].propertyGroup,a)):c.push(t(r.effectElements[o],n.ef[o].ty,a,l));return"ADBE Color Control"===n.mn&&Object.defineProperty(s,"color",{get:function(){return c[0]()}}),Object.defineProperties(s,{numProperties:{get:function(){return n.np}},_name:{value:n.nm},propertyGroup:{value:l}}),s.enabled=0!==n.en,s.active=s.enabled,s}function t(e,t,n,r){var i=ExpressionPropertyInterface(e.p);return e.p.setGroupProperty&&e.p.setGroupProperty(PropertyInterface("",r)),function(){return 10===t?n.comp.compInterface(e.p.v):i()}}return{createEffectsInterface:function(t,n){if(t.effectsManager){var r,i=[],a=t.data.ef,s=t.effectsManager.effectElements.length;for(r=0;r<s;r+=1)i.push(e(a[r],t.effectsManager.effectElements[r],n,t));var o=t.data.ef||[],l=function(e){for(r=0,s=o.length;r<s;){if(e===o[r].nm||e===o[r].mn||e===o[r].ix)return i[r];r+=1}return null};return Object.defineProperty(l,"numProperties",{get:function(){return o.length}}),l}return null}}}(),ShapePathInterface=function(e,t,n){var r=t.sh;function i(e){return"Shape"===e||"shape"===e||"Path"===e||"path"===e||"ADBE Vector Shape"===e||2===e?i.path:null}var a=propertyGroupFactory(i,n);return r.setGroupProperty(PropertyInterface("Path",a)),Object.defineProperties(i,{path:{get:function(){return r.k&&r.getValue(),r}},shape:{get:function(){return r.k&&r.getValue(),r}},_name:{value:e.nm},ix:{value:e.ix},propertyIndex:{value:e.ix},mn:{value:e.mn},propertyGroup:{value:n}}),i},ShapeExpressionInterface=function(){function e(e,s,u){var p,f=[],m=e?e.length:0;for(p=0;p<m;p+=1)"gr"===e[p].ty?f.push(t(e[p],s[p],u)):"fl"===e[p].ty?f.push(n(e[p],s[p],u)):"st"===e[p].ty?f.push(i(e[p],s[p],u)):"tm"===e[p].ty?f.push(a(e[p],s[p],u)):"tr"===e[p].ty||("el"===e[p].ty?f.push(o(e[p],s[p],u)):"sr"===e[p].ty?f.push(l(e[p],s[p],u)):"sh"===e[p].ty?f.push(ShapePathInterface(e[p],s[p],u)):"rc"===e[p].ty?f.push(c(e[p],s[p],u)):"rd"===e[p].ty?f.push(d(e[p],s[p],u)):"rp"===e[p].ty?f.push(h(e[p],s[p],u)):"gf"===e[p].ty?f.push(r(e[p],s[p],u)):f.push((e[p],s[p],function(){return null})));return f}function t(t,n,r){var i=function(e){switch(e){case"ADBE Vectors Group":case"Contents":case 2:return i.content;default:return i.transform}};i.propertyGroup=propertyGroupFactory(i,r);var a=function(t,n,r){var i,a=function(e){for(var t=0,n=i.length;t<n;){if(i[t]._name===e||i[t].mn===e||i[t].propertyIndex===e||i[t].ix===e||i[t].ind===e)return i[t];t+=1}return"number"===typeof e?i[e-1]:null};a.propertyGroup=propertyGroupFactory(a,r),i=e(t.it,n.it,a.propertyGroup),a.numProperties=i.length;var o=s(t.it[t.it.length-1],n.it[n.it.length-1],a.propertyGroup);return a.transform=o,a.propertyIndex=t.cix,a._name=t.nm,a}(t,n,i.propertyGroup),o=s(t.it[t.it.length-1],n.it[n.it.length-1],i.propertyGroup);return i.content=a,i.transform=o,Object.defineProperty(i,"_name",{get:function(){return t.nm}}),i.numProperties=t.np,i.propertyIndex=t.ix,i.nm=t.nm,i.mn=t.mn,i}function n(e,t,n){function r(e){return"Color"===e||"color"===e?r.color:"Opacity"===e||"opacity"===e?r.opacity:null}return Object.defineProperties(r,{color:{get:ExpressionPropertyInterface(t.c)},opacity:{get:ExpressionPropertyInterface(t.o)},_name:{value:e.nm},mn:{value:e.mn}}),t.c.setGroupProperty(PropertyInterface("Color",n)),t.o.setGroupProperty(PropertyInterface("Opacity",n)),r}function r(e,t,n){function r(e){return"Start Point"===e||"start point"===e?r.startPoint:"End Point"===e||"end point"===e?r.endPoint:"Opacity"===e||"opacity"===e?r.opacity:null}return Object.defineProperties(r,{startPoint:{get:ExpressionPropertyInterface(t.s)},endPoint:{get:ExpressionPropertyInterface(t.e)},opacity:{get:ExpressionPropertyInterface(t.o)},type:{get:function(){return"a"}},_name:{value:e.nm},mn:{value:e.mn}}),t.s.setGroupProperty(PropertyInterface("Start Point",n)),t.e.setGroupProperty(PropertyInterface("End Point",n)),t.o.setGroupProperty(PropertyInterface("Opacity",n)),r}function i(e,t,n){var r,i=propertyGroupFactory(c,n),a=propertyGroupFactory(l,i);function s(n){Object.defineProperty(l,e.d[n].nm,{get:ExpressionPropertyInterface(t.d.dataProps[n].p)})}var o=e.d?e.d.length:0,l={};for(r=0;r<o;r+=1)s(r),t.d.dataProps[r].p.setGroupProperty(a);function c(e){return"Color"===e||"color"===e?c.color:"Opacity"===e||"opacity"===e?c.opacity:"Stroke Width"===e||"stroke width"===e?c.strokeWidth:null}return Object.defineProperties(c,{color:{get:ExpressionPropertyInterface(t.c)},opacity:{get:ExpressionPropertyInterface(t.o)},strokeWidth:{get:ExpressionPropertyInterface(t.w)},dash:{get:function(){return l}},_name:{value:e.nm},mn:{value:e.mn}}),t.c.setGroupProperty(PropertyInterface("Color",i)),t.o.setGroupProperty(PropertyInterface("Opacity",i)),t.w.setGroupProperty(PropertyInterface("Stroke Width",i)),c}function a(e,t,n){function r(t){return t===e.e.ix||"End"===t||"end"===t?r.end:t===e.s.ix?r.start:t===e.o.ix?r.offset:null}var i=propertyGroupFactory(r,n);return r.propertyIndex=e.ix,t.s.setGroupProperty(PropertyInterface("Start",i)),t.e.setGroupProperty(PropertyInterface("End",i)),t.o.setGroupProperty(PropertyInterface("Offset",i)),r.propertyIndex=e.ix,r.propertyGroup=n,Object.defineProperties(r,{start:{get:ExpressionPropertyInterface(t.s)},end:{get:ExpressionPropertyInterface(t.e)},offset:{get:ExpressionPropertyInterface(t.o)},_name:{value:e.nm}}),r.mn=e.mn,r}function s(e,t,n){function r(t){return e.a.ix===t||"Anchor Point"===t?r.anchorPoint:e.o.ix===t||"Opacity"===t?r.opacity:e.p.ix===t||"Position"===t?r.position:e.r.ix===t||"Rotation"===t||"ADBE Vector Rotation"===t?r.rotation:e.s.ix===t||"Scale"===t?r.scale:e.sk&&e.sk.ix===t||"Skew"===t?r.skew:e.sa&&e.sa.ix===t||"Skew Axis"===t?r.skewAxis:null}var i=propertyGroupFactory(r,n);return t.transform.mProps.o.setGroupProperty(PropertyInterface("Opacity",i)),t.transform.mProps.p.setGroupProperty(PropertyInterface("Position",i)),t.transform.mProps.a.setGroupProperty(PropertyInterface("Anchor Point",i)),t.transform.mProps.s.setGroupProperty(PropertyInterface("Scale",i)),t.transform.mProps.r.setGroupProperty(PropertyInterface("Rotation",i)),t.transform.mProps.sk&&(t.transform.mProps.sk.setGroupProperty(PropertyInterface("Skew",i)),t.transform.mProps.sa.setGroupProperty(PropertyInterface("Skew Angle",i))),t.transform.op.setGroupProperty(PropertyInterface("Opacity",i)),Object.defineProperties(r,{opacity:{get:ExpressionPropertyInterface(t.transform.mProps.o)},position:{get:ExpressionPropertyInterface(t.transform.mProps.p)},anchorPoint:{get:ExpressionPropertyInterface(t.transform.mProps.a)},scale:{get:ExpressionPropertyInterface(t.transform.mProps.s)},rotation:{get:ExpressionPropertyInterface(t.transform.mProps.r)},skew:{get:ExpressionPropertyInterface(t.transform.mProps.sk)},skewAxis:{get:ExpressionPropertyInterface(t.transform.mProps.sa)},_name:{value:e.nm}}),r.ty="tr",r.mn=e.mn,r.propertyGroup=n,r}function o(e,t,n){function r(t){return e.p.ix===t?r.position:e.s.ix===t?r.size:null}var i=propertyGroupFactory(r,n);r.propertyIndex=e.ix;var a="tm"===t.sh.ty?t.sh.prop:t.sh;return a.s.setGroupProperty(PropertyInterface("Size",i)),a.p.setGroupProperty(PropertyInterface("Position",i)),Object.defineProperties(r,{size:{get:ExpressionPropertyInterface(a.s)},position:{get:ExpressionPropertyInterface(a.p)},_name:{value:e.nm}}),r.mn=e.mn,r}function l(e,t,n){function r(t){return e.p.ix===t?r.position:e.r.ix===t?r.rotation:e.pt.ix===t?r.points:e.or.ix===t||"ADBE Vector Star Outer Radius"===t?r.outerRadius:e.os.ix===t?r.outerRoundness:!e.ir||e.ir.ix!==t&&"ADBE Vector Star Inner Radius"!==t?e.is&&e.is.ix===t?r.innerRoundness:null:r.innerRadius}var i=propertyGroupFactory(r,n),a="tm"===t.sh.ty?t.sh.prop:t.sh;return r.propertyIndex=e.ix,a.or.setGroupProperty(PropertyInterface("Outer Radius",i)),a.os.setGroupProperty(PropertyInterface("Outer Roundness",i)),a.pt.setGroupProperty(PropertyInterface("Points",i)),a.p.setGroupProperty(PropertyInterface("Position",i)),a.r.setGroupProperty(PropertyInterface("Rotation",i)),e.ir&&(a.ir.setGroupProperty(PropertyInterface("Inner Radius",i)),a.is.setGroupProperty(PropertyInterface("Inner Roundness",i))),Object.defineProperties(r,{position:{get:ExpressionPropertyInterface(a.p)},rotation:{get:ExpressionPropertyInterface(a.r)},points:{get:ExpressionPropertyInterface(a.pt)},outerRadius:{get:ExpressionPropertyInterface(a.or)},outerRoundness:{get:ExpressionPropertyInterface(a.os)},innerRadius:{get:ExpressionPropertyInterface(a.ir)},innerRoundness:{get:ExpressionPropertyInterface(a.is)},_name:{value:e.nm}}),r.mn=e.mn,r}function c(e,t,n){function r(t){return e.p.ix===t?r.position:e.r.ix===t?r.roundness:e.s.ix===t||"Size"===t||"ADBE Vector Rect Size"===t?r.size:null}var i=propertyGroupFactory(r,n),a="tm"===t.sh.ty?t.sh.prop:t.sh;return r.propertyIndex=e.ix,a.p.setGroupProperty(PropertyInterface("Position",i)),a.s.setGroupProperty(PropertyInterface("Size",i)),a.r.setGroupProperty(PropertyInterface("Rotation",i)),Object.defineProperties(r,{position:{get:ExpressionPropertyInterface(a.p)},roundness:{get:ExpressionPropertyInterface(a.r)},size:{get:ExpressionPropertyInterface(a.s)},_name:{value:e.nm}}),r.mn=e.mn,r}function d(e,t,n){function r(t){return e.r.ix===t||"Round Corners 1"===t?r.radius:null}var i=propertyGroupFactory(r,n),a=t;return r.propertyIndex=e.ix,a.rd.setGroupProperty(PropertyInterface("Radius",i)),Object.defineProperties(r,{radius:{get:ExpressionPropertyInterface(a.rd)},_name:{value:e.nm}}),r.mn=e.mn,r}function h(e,t,n){function r(t){return e.c.ix===t||"Copies"===t?r.copies:e.o.ix===t||"Offset"===t?r.offset:null}var i=propertyGroupFactory(r,n),a=t;return r.propertyIndex=e.ix,a.c.setGroupProperty(PropertyInterface("Copies",i)),a.o.setGroupProperty(PropertyInterface("Offset",i)),Object.defineProperties(r,{copies:{get:ExpressionPropertyInterface(a.c)},offset:{get:ExpressionPropertyInterface(a.o)},_name:{value:e.nm}}),r.mn=e.mn,r}return function(t,n,r){var i;function a(e){if("number"===typeof e)return 0===(e=void 0===e?1:e)?r:i[e-1];for(var t=0,n=i.length;t<n;){if(i[t]._name===e)return i[t];t+=1}return null}return a.propertyGroup=propertyGroupFactory(a,(function(){return r})),i=e(t,n,a.propertyGroup),a.numProperties=i.length,a._name="Contents",a}}(),TextExpressionInterface=function(e){var t;function n(e){return"ADBE Text Document"===e?n.sourceText:null}return Object.defineProperty(n,"sourceText",{get:function(){e.textProperty.getValue();var n=e.textProperty.currentData.t;return t&&n===t.value||((t=new String(n)).value=n||new String(n),Object.defineProperty(t,"style",{get:function(){return{fillColor:e.textProperty.currentData.fc}}})),t}}),n};function _typeof(e){return _typeof="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}var FootageInterface=function(){var e=function(e){function t(e){return"Outline"===e?t.outlineInterface():null}return t._name="Outline",t.outlineInterface=function(e){var t="",n=e.getFootageData();function r(e){if(n[e])return t=e,"object"===_typeof(n=n[e])?r:n;var i=e.indexOf(t);if(-1!==i){var a=parseInt(e.substr(i+t.length),10);return"object"===_typeof(n=n[a])?r:n}return""}return function(){return t="",n=e.getFootageData(),r}}(e),t};return function(t){function n(e){return"Data"===e?n.dataInterface:null}return n._name="Data",n.dataInterface=e(t),n}}(),interfaces={layer:LayerExpressionInterface,effects:EffectsExpressionInterface,comp:CompExpressionInterface,shape:ShapeExpressionInterface,text:TextExpressionInterface,footage:FootageInterface};function getInterface(e){return interfaces[e]||null}var expressionHelpers={searchExpressions:function(e,t,n){t.x&&(n.k=!0,n.x=!0,n.initiateExpression=ExpressionManager.initiateExpression,n.effectsSequence.push(n.initiateExpression(e,t,n).bind(n)))},getSpeedAtTime:function(e){var t=this.getValueAtTime(e),n=this.getValueAtTime(e+-.01),r=0;if(t.length){var i;for(i=0;i<t.length;i+=1)r+=Math.pow(n[i]-t[i],2);r=100*Math.sqrt(r)}else r=0;return r},getVelocityAtTime:function(e){if(void 0!==this.vel)return this.vel;var t,n,r=-.001,i=this.getValueAtTime(e),a=this.getValueAtTime(e+r);if(i.length)for(t=createTypedArray("float32",i.length),n=0;n<i.length;n+=1)t[n]=(a[n]-i[n])/r;else t=(a-i)/r;return t},getValueAtTime:function(e){return e*=this.elem.globalData.frameRate,(e-=this.offsetTime)!==this._cachingAtTime.lastFrame&&(this._cachingAtTime.lastIndex=this._cachingAtTime.lastFrame<e?this._cachingAtTime.lastIndex:0,this._cachingAtTime.value=this.interpolateValue(e,this._cachingAtTime),this._cachingAtTime.lastFrame=e),this._cachingAtTime.value},getStaticValueAtTime:function(){return this.pv},setGroupProperty:function(e){this.propertyGroup=e}};function addPropertyDecorator(){function e(e,t,n){if(!this.k||!this.keyframes)return this.pv;e=e?e.toLowerCase():"";var r,i,a,s,o,l=this.comp.renderedFrame,c=this.keyframes,d=c[c.length-1].t;if(l<=d)return this.pv;if(n?i=d-(r=t?Math.abs(d-this.elem.comp.globalData.frameRate*t):Math.max(0,d-this.elem.data.ip)):((!t||t>c.length-1)&&(t=c.length-1),r=d-(i=c[c.length-1-t].t)),"pingpong"===e){if(Math.floor((l-i)/r)%2!==0)return this.getValueAtTime((r-(l-i)%r+i)/this.comp.globalData.frameRate,0)}else{if("offset"===e){var h=this.getValueAtTime(i/this.comp.globalData.frameRate,0),u=this.getValueAtTime(d/this.comp.globalData.frameRate,0),p=this.getValueAtTime(((l-i)%r+i)/this.comp.globalData.frameRate,0),f=Math.floor((l-i)/r);if(this.pv.length){for(s=(o=new Array(h.length)).length,a=0;a<s;a+=1)o[a]=(u[a]-h[a])*f+p[a];return o}return(u-h)*f+p}if("continue"===e){var m=this.getValueAtTime(d/this.comp.globalData.frameRate,0),g=this.getValueAtTime((d-.001)/this.comp.globalData.frameRate,0);if(this.pv.length){for(s=(o=new Array(m.length)).length,a=0;a<s;a+=1)o[a]=m[a]+(m[a]-g[a])*((l-d)/this.comp.globalData.frameRate)/5e-4;return o}return m+(l-d)/.001*(m-g)}}return this.getValueAtTime(((l-i)%r+i)/this.comp.globalData.frameRate,0)}function t(e,t,n){if(!this.k)return this.pv;e=e?e.toLowerCase():"";var r,i,a,s,o,l=this.comp.renderedFrame,c=this.keyframes,d=c[0].t;if(l>=d)return this.pv;if(n?i=d+(r=t?Math.abs(this.elem.comp.globalData.frameRate*t):Math.max(0,this.elem.data.op-d)):((!t||t>c.length-1)&&(t=c.length-1),r=(i=c[t].t)-d),"pingpong"===e){if(Math.floor((d-l)/r)%2===0)return this.getValueAtTime(((d-l)%r+d)/this.comp.globalData.frameRate,0)}else{if("offset"===e){var h=this.getValueAtTime(d/this.comp.globalData.frameRate,0),u=this.getValueAtTime(i/this.comp.globalData.frameRate,0),p=this.getValueAtTime((r-(d-l)%r+d)/this.comp.globalData.frameRate,0),f=Math.floor((d-l)/r)+1;if(this.pv.length){for(s=(o=new Array(h.length)).length,a=0;a<s;a+=1)o[a]=p[a]-(u[a]-h[a])*f;return o}return p-(u-h)*f}if("continue"===e){var m=this.getValueAtTime(d/this.comp.globalData.frameRate,0),g=this.getValueAtTime((d+.001)/this.comp.globalData.frameRate,0);if(this.pv.length){for(s=(o=new Array(m.length)).length,a=0;a<s;a+=1)o[a]=m[a]+(m[a]-g[a])*(d-l)/.001;return o}return m+(m-g)*(d-l)/.001}}return this.getValueAtTime((r-((d-l)%r+d))/this.comp.globalData.frameRate,0)}function n(e,t){if(!this.k)return this.pv;if(e=.5*(e||.4),(t=Math.floor(t||5))<=1)return this.pv;var n,r,i=this.comp.renderedFrame/this.comp.globalData.frameRate,a=i-e,s=t>1?(i+e-a)/(t-1):1,o=0,l=0;for(n=this.pv.length?createTypedArray("float32",this.pv.length):0;o<t;){if(r=this.getValueAtTime(a+o*s),this.pv.length)for(l=0;l<this.pv.length;l+=1)n[l]+=r[l];else n+=r;o+=1}if(this.pv.length)for(l=0;l<this.pv.length;l+=1)n[l]/=t;else n/=t;return n}function r(e){this._transformCachingAtTime||(this._transformCachingAtTime={v:new Matrix});var t=this._transformCachingAtTime.v;if(t.cloneFromProps(this.pre.props),this.appliedTransformations<1){var n=this.a.getValueAtTime(e);t.translate(-n[0]*this.a.mult,-n[1]*this.a.mult,n[2]*this.a.mult)}if(this.appliedTransformations<2){var r=this.s.getValueAtTime(e);t.scale(r[0]*this.s.mult,r[1]*this.s.mult,r[2]*this.s.mult)}if(this.sk&&this.appliedTransformations<3){var i=this.sk.getValueAtTime(e),a=this.sa.getValueAtTime(e);t.skewFromAxis(-i*this.sk.mult,a*this.sa.mult)}if(this.r&&this.appliedTransformations<4){var s=this.r.getValueAtTime(e);t.rotate(-s*this.r.mult)}else if(!this.r&&this.appliedTransformations<4){var o=this.rz.getValueAtTime(e),l=this.ry.getValueAtTime(e),c=this.rx.getValueAtTime(e),d=this.or.getValueAtTime(e);t.rotateZ(-o*this.rz.mult).rotateY(l*this.ry.mult).rotateX(c*this.rx.mult).rotateZ(-d[2]*this.or.mult).rotateY(d[1]*this.or.mult).rotateX(d[0]*this.or.mult)}if(this.data.p&&this.data.p.s){var h=this.px.getValueAtTime(e),u=this.py.getValueAtTime(e);if(this.data.p.z){var p=this.pz.getValueAtTime(e);t.translate(h*this.px.mult,u*this.py.mult,-p*this.pz.mult)}else t.translate(h*this.px.mult,u*this.py.mult,0)}else{var f=this.p.getValueAtTime(e);t.translate(f[0]*this.p.mult,f[1]*this.p.mult,-f[2]*this.p.mult)}return t}function i(){return this.v.clone(new Matrix)}var a=TransformPropertyFactory.getTransformProperty;TransformPropertyFactory.getTransformProperty=function(e,t,n){var s=a(e,t,n);return s.dynamicProperties.length?s.getValueAtTime=r.bind(s):s.getValueAtTime=i.bind(s),s.setGroupProperty=expressionHelpers.setGroupProperty,s};var s=PropertyFactory.getProp;PropertyFactory.getProp=function(r,i,a,o,l){var c=s(r,i,a,o,l);c.kf?c.getValueAtTime=expressionHelpers.getValueAtTime.bind(c):c.getValueAtTime=expressionHelpers.getStaticValueAtTime.bind(c),c.setGroupProperty=expressionHelpers.setGroupProperty,c.loopOut=e,c.loopIn=t,c.smooth=n,c.getVelocityAtTime=expressionHelpers.getVelocityAtTime.bind(c),c.getSpeedAtTime=expressionHelpers.getSpeedAtTime.bind(c),c.numKeys=1===i.a?i.k.length:0,c.propertyIndex=i.ix;var d=0;return 0!==a&&(d=createTypedArray("float32",1===i.a?i.k[0].s.length:i.k.length)),c._cachingAtTime={lastFrame:initialDefaultFrame,lastIndex:0,value:d},expressionHelpers.searchExpressions(r,i,c),c.k&&l.addDynamicProperty(c),c};var o=ShapePropertyFactory.getConstructorFunction(),l=ShapePropertyFactory.getKeyframedConstructorFunction();function c(){}c.prototype={vertices:function(e,t){this.k&&this.getValue();var n,r=this.v;void 0!==t&&(r=this.getValueAtTime(t,0));var i=r._length,a=r[e],s=r.v,o=createSizedArray(i);for(n=0;n<i;n+=1)o[n]="i"===e||"o"===e?[a[n][0]-s[n][0],a[n][1]-s[n][1]]:[a[n][0],a[n][1]];return o},points:function(e){return this.vertices("v",e)},inTangents:function(e){return this.vertices("i",e)},outTangents:function(e){return this.vertices("o",e)},isClosed:function(){return this.v.c},pointOnPath:function(e,t){var n=this.v;void 0!==t&&(n=this.getValueAtTime(t,0)),this._segmentsLength||(this._segmentsLength=bez.getSegmentsLength(n));for(var r,i=this._segmentsLength,a=i.lengths,s=i.totalLength*e,o=0,l=a.length,c=0;o<l;){if(c+a[o].addedLength>s){var d=o,h=n.c&&o===l-1?0:o+1,u=(s-c)/a[o].addedLength;r=bez.getPointInSegment(n.v[d],n.v[h],n.o[d],n.i[h],u,a[o]);break}c+=a[o].addedLength,o+=1}return r||(r=n.c?[n.v[0][0],n.v[0][1]]:[n.v[n._length-1][0],n.v[n._length-1][1]]),r},vectorOnPath:function(e,t,n){1==e?e=this.v.c:0==e&&(e=.999);var r=this.pointOnPath(e,t),i=this.pointOnPath(e+.001,t),a=i[0]-r[0],s=i[1]-r[1],o=Math.sqrt(Math.pow(a,2)+Math.pow(s,2));return 0===o?[0,0]:"tangent"===n?[a/o,s/o]:[-s/o,a/o]},tangentOnPath:function(e,t){return this.vectorOnPath(e,t,"tangent")},normalOnPath:function(e,t){return this.vectorOnPath(e,t,"normal")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([c],o),extendPrototype([c],l),l.prototype.getValueAtTime=function(e){return this._cachingAtTime||(this._cachingAtTime={shapeValue:shapePool.clone(this.pv),lastIndex:0,lastTime:initialDefaultFrame}),e*=this.elem.globalData.frameRate,(e-=this.offsetTime)!==this._cachingAtTime.lastTime&&(this._cachingAtTime.lastIndex=this._cachingAtTime.lastTime<e?this._caching.lastIndex:0,this._cachingAtTime.lastTime=e,this.interpolateShape(e,this._cachingAtTime.shapeValue,this._cachingAtTime)),this._cachingAtTime.shapeValue},l.prototype.initiateExpression=ExpressionManager.initiateExpression;var d=ShapePropertyFactory.getShapeProp;ShapePropertyFactory.getShapeProp=function(e,t,n,r,i){var a=d(e,t,n,r,i);return a.propertyIndex=t.ix,a.lock=!1,3===n?expressionHelpers.searchExpressions(e,t.pt,a):4===n&&expressionHelpers.searchExpressions(e,t.ks,a),a.k&&e.addDynamicProperty(a),a}}function initialize$1(){addPropertyDecorator()}function addDecorator(){TextProperty.prototype.getExpressionValue=function(e,t){var n=this.calculateExpression(t);if(e.t!==n){var r={};return this.copyData(r,e),r.t=n.toString(),r.__complete=!1,r}return e},TextProperty.prototype.searchProperty=function(){var e=this.searchKeyframes(),t=this.searchExpressions();return this.kf=e||t,this.kf},TextProperty.prototype.searchExpressions=function(){return this.data.d.x?(this.calculateExpression=ExpressionManager.initiateExpression.bind(this)(this.elem,this.data.d,this),this.addEffect(this.getExpressionValue.bind(this)),!0):null}}function initialize(){addDecorator()}function SVGComposableEffect(){}SVGComposableEffect.prototype={createMergeNode:function(e,t){var n,r,i=createNS("feMerge");for(i.setAttribute("result",e),r=0;r<t.length;r+=1)(n=createNS("feMergeNode")).setAttribute("in",t[r]),i.appendChild(n),i.appendChild(n);return i}};var linearFilterValue="0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0";function SVGTintFilter(e,t,n,r,i){this.filterManager=t;var a=createNS("feColorMatrix");a.setAttribute("type","matrix"),a.setAttribute("color-interpolation-filters","linearRGB"),a.setAttribute("values",linearFilterValue+" 1 0"),this.linearFilter=a,a.setAttribute("result",r+"_tint_1"),e.appendChild(a),(a=createNS("feColorMatrix")).setAttribute("type","matrix"),a.setAttribute("color-interpolation-filters","sRGB"),a.setAttribute("values","1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"),a.setAttribute("result",r+"_tint_2"),e.appendChild(a),this.matrixFilter=a;var s=this.createMergeNode(r,[i,r+"_tint_1",r+"_tint_2"]);e.appendChild(s)}function SVGFillFilter(e,t,n,r){this.filterManager=t;var i=createNS("feColorMatrix");i.setAttribute("type","matrix"),i.setAttribute("color-interpolation-filters","sRGB"),i.setAttribute("values","1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"),i.setAttribute("result",r),e.appendChild(i),this.matrixFilter=i}function SVGStrokeEffect(e,t,n){this.initialized=!1,this.filterManager=t,this.elem=n,this.paths=[]}function SVGTritoneFilter(e,t,n,r){this.filterManager=t;var i=createNS("feColorMatrix");i.setAttribute("type","matrix"),i.setAttribute("color-interpolation-filters","linearRGB"),i.setAttribute("values","0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"),e.appendChild(i);var a=createNS("feComponentTransfer");a.setAttribute("color-interpolation-filters","sRGB"),a.setAttribute("result",r),this.matrixFilter=a;var s=createNS("feFuncR");s.setAttribute("type","table"),a.appendChild(s),this.feFuncR=s;var o=createNS("feFuncG");o.setAttribute("type","table"),a.appendChild(o),this.feFuncG=o;var l=createNS("feFuncB");l.setAttribute("type","table"),a.appendChild(l),this.feFuncB=l,e.appendChild(a)}function SVGProLevelsFilter(e,t,n,r){this.filterManager=t;var i=this.filterManager.effectElements,a=createNS("feComponentTransfer");(i[10].p.k||0!==i[10].p.v||i[11].p.k||1!==i[11].p.v||i[12].p.k||1!==i[12].p.v||i[13].p.k||0!==i[13].p.v||i[14].p.k||1!==i[14].p.v)&&(this.feFuncR=this.createFeFunc("feFuncR",a)),(i[17].p.k||0!==i[17].p.v||i[18].p.k||1!==i[18].p.v||i[19].p.k||1!==i[19].p.v||i[20].p.k||0!==i[20].p.v||i[21].p.k||1!==i[21].p.v)&&(this.feFuncG=this.createFeFunc("feFuncG",a)),(i[24].p.k||0!==i[24].p.v||i[25].p.k||1!==i[25].p.v||i[26].p.k||1!==i[26].p.v||i[27].p.k||0!==i[27].p.v||i[28].p.k||1!==i[28].p.v)&&(this.feFuncB=this.createFeFunc("feFuncB",a)),(i[31].p.k||0!==i[31].p.v||i[32].p.k||1!==i[32].p.v||i[33].p.k||1!==i[33].p.v||i[34].p.k||0!==i[34].p.v||i[35].p.k||1!==i[35].p.v)&&(this.feFuncA=this.createFeFunc("feFuncA",a)),(this.feFuncR||this.feFuncG||this.feFuncB||this.feFuncA)&&(a.setAttribute("color-interpolation-filters","sRGB"),e.appendChild(a)),(i[3].p.k||0!==i[3].p.v||i[4].p.k||1!==i[4].p.v||i[5].p.k||1!==i[5].p.v||i[6].p.k||0!==i[6].p.v||i[7].p.k||1!==i[7].p.v)&&((a=createNS("feComponentTransfer")).setAttribute("color-interpolation-filters","sRGB"),a.setAttribute("result",r),e.appendChild(a),this.feFuncRComposed=this.createFeFunc("feFuncR",a),this.feFuncGComposed=this.createFeFunc("feFuncG",a),this.feFuncBComposed=this.createFeFunc("feFuncB",a))}function SVGDropShadowEffect(e,t,n,r,i){var a=t.container.globalData.renderConfig.filterSize,s=t.data.fs||a;e.setAttribute("x",s.x||a.x),e.setAttribute("y",s.y||a.y),e.setAttribute("width",s.width||a.width),e.setAttribute("height",s.height||a.height),this.filterManager=t;var o=createNS("feGaussianBlur");o.setAttribute("in","SourceAlpha"),o.setAttribute("result",r+"_drop_shadow_1"),o.setAttribute("stdDeviation","0"),this.feGaussianBlur=o,e.appendChild(o);var l=createNS("feOffset");l.setAttribute("dx","25"),l.setAttribute("dy","0"),l.setAttribute("in",r+"_drop_shadow_1"),l.setAttribute("result",r+"_drop_shadow_2"),this.feOffset=l,e.appendChild(l);var c=createNS("feFlood");c.setAttribute("flood-color","#00ff00"),c.setAttribute("flood-opacity","1"),c.setAttribute("result",r+"_drop_shadow_3"),this.feFlood=c,e.appendChild(c);var d=createNS("feComposite");d.setAttribute("in",r+"_drop_shadow_3"),d.setAttribute("in2",r+"_drop_shadow_2"),d.setAttribute("operator","in"),d.setAttribute("result",r+"_drop_shadow_4"),e.appendChild(d);var h=this.createMergeNode(r,[r+"_drop_shadow_4",i]);e.appendChild(h)}extendPrototype([SVGComposableEffect],SVGTintFilter),SVGTintFilter.prototype.renderFrame=function(e){if(e||this.filterManager._mdf){var t=this.filterManager.effectElements[0].p.v,n=this.filterManager.effectElements[1].p.v,r=this.filterManager.effectElements[2].p.v/100;this.linearFilter.setAttribute("values",linearFilterValue+" "+r+" 0"),this.matrixFilter.setAttribute("values",n[0]-t[0]+" 0 0 0 "+t[0]+" "+(n[1]-t[1])+" 0 0 0 "+t[1]+" "+(n[2]-t[2])+" 0 0 0 "+t[2]+" 0 0 0 1 0")}},SVGFillFilter.prototype.renderFrame=function(e){if(e||this.filterManager._mdf){var t=this.filterManager.effectElements[2].p.v,n=this.filterManager.effectElements[6].p.v;this.matrixFilter.setAttribute("values","0 0 0 0 "+t[0]+" 0 0 0 0 "+t[1]+" 0 0 0 0 "+t[2]+" 0 0 0 "+n+" 0")}},SVGStrokeEffect.prototype.initialize=function(){var e,t,n,r,i=this.elem.layerElement.children||this.elem.layerElement.childNodes;for(1===this.filterManager.effectElements[1].p.v?(r=this.elem.maskManager.masksProperties.length,n=0):r=1+(n=this.filterManager.effectElements[0].p.v-1),(t=createNS("g")).setAttribute("fill","none"),t.setAttribute("stroke-linecap","round"),t.setAttribute("stroke-dashoffset",1);n<r;n+=1)e=createNS("path"),t.appendChild(e),this.paths.push({p:e,m:n});if(3===this.filterManager.effectElements[10].p.v){var a=createNS("mask"),s=createElementID();a.setAttribute("id",s),a.setAttribute("mask-type","alpha"),a.appendChild(t),this.elem.globalData.defs.appendChild(a);var o=createNS("g");for(o.setAttribute("mask","url("+getLocationHref()+"#"+s+")");i[0];)o.appendChild(i[0]);this.elem.layerElement.appendChild(o),this.masker=a,t.setAttribute("stroke","#fff")}else if(1===this.filterManager.effectElements[10].p.v||2===this.filterManager.effectElements[10].p.v){if(2===this.filterManager.effectElements[10].p.v)for(i=this.elem.layerElement.children||this.elem.layerElement.childNodes;i.length;)this.elem.layerElement.removeChild(i[0]);this.elem.layerElement.appendChild(t),this.elem.layerElement.removeAttribute("mask"),t.setAttribute("stroke","#fff")}this.initialized=!0,this.pathMasker=t},SVGStrokeEffect.prototype.renderFrame=function(e){var t;this.initialized||this.initialize();var n,r,i=this.paths.length;for(t=0;t<i;t+=1)if(-1!==this.paths[t].m&&(n=this.elem.maskManager.viewData[this.paths[t].m],r=this.paths[t].p,(e||this.filterManager._mdf||n.prop._mdf)&&r.setAttribute("d",n.lastPath),e||this.filterManager.effectElements[9].p._mdf||this.filterManager.effectElements[4].p._mdf||this.filterManager.effectElements[7].p._mdf||this.filterManager.effectElements[8].p._mdf||n.prop._mdf)){var a;if(0!==this.filterManager.effectElements[7].p.v||100!==this.filterManager.effectElements[8].p.v){var s=.01*Math.min(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v),o=.01*Math.max(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v),l=r.getTotalLength();a="0 0 0 "+l*s+" ";var c,d=l*(o-s),h=1+2*this.filterManager.effectElements[4].p.v*this.filterManager.effectElements[9].p.v*.01,u=Math.floor(d/h);for(c=0;c<u;c+=1)a+="1 "+2*this.filterManager.effectElements[4].p.v*this.filterManager.effectElements[9].p.v*.01+" ";a+="0 "+10*l+" 0 0"}else a="1 "+2*this.filterManager.effectElements[4].p.v*this.filterManager.effectElements[9].p.v*.01;r.setAttribute("stroke-dasharray",a)}if((e||this.filterManager.effectElements[4].p._mdf)&&this.pathMasker.setAttribute("stroke-width",2*this.filterManager.effectElements[4].p.v),(e||this.filterManager.effectElements[6].p._mdf)&&this.pathMasker.setAttribute("opacity",this.filterManager.effectElements[6].p.v),(1===this.filterManager.effectElements[10].p.v||2===this.filterManager.effectElements[10].p.v)&&(e||this.filterManager.effectElements[3].p._mdf)){var p=this.filterManager.effectElements[3].p.v;this.pathMasker.setAttribute("stroke","rgb("+bmFloor(255*p[0])+","+bmFloor(255*p[1])+","+bmFloor(255*p[2])+")")}},SVGTritoneFilter.prototype.renderFrame=function(e){if(e||this.filterManager._mdf){var t=this.filterManager.effectElements[0].p.v,n=this.filterManager.effectElements[1].p.v,r=this.filterManager.effectElements[2].p.v,i=r[0]+" "+n[0]+" "+t[0],a=r[1]+" "+n[1]+" "+t[1],s=r[2]+" "+n[2]+" "+t[2];this.feFuncR.setAttribute("tableValues",i),this.feFuncG.setAttribute("tableValues",a),this.feFuncB.setAttribute("tableValues",s)}},SVGProLevelsFilter.prototype.createFeFunc=function(e,t){var n=createNS(e);return n.setAttribute("type","table"),t.appendChild(n),n},SVGProLevelsFilter.prototype.getTableValue=function(e,t,n,r,i){for(var a,s,o=0,l=Math.min(e,t),c=Math.max(e,t),d=Array.call(null,{length:256}),h=0,u=i-r,p=t-e;o<=256;)s=(a=o/256)<=l?p<0?i:r:a>=c?p<0?r:i:r+u*Math.pow((a-e)/p,1/n),d[h]=s,h+=1,o+=256/255;return d.join(" ")},SVGProLevelsFilter.prototype.renderFrame=function(e){if(e||this.filterManager._mdf){var t,n=this.filterManager.effectElements;this.feFuncRComposed&&(e||n[3].p._mdf||n[4].p._mdf||n[5].p._mdf||n[6].p._mdf||n[7].p._mdf)&&(t=this.getTableValue(n[3].p.v,n[4].p.v,n[5].p.v,n[6].p.v,n[7].p.v),this.feFuncRComposed.setAttribute("tableValues",t),this.feFuncGComposed.setAttribute("tableValues",t),this.feFuncBComposed.setAttribute("tableValues",t)),this.feFuncR&&(e||n[10].p._mdf||n[11].p._mdf||n[12].p._mdf||n[13].p._mdf||n[14].p._mdf)&&(t=this.getTableValue(n[10].p.v,n[11].p.v,n[12].p.v,n[13].p.v,n[14].p.v),this.feFuncR.setAttribute("tableValues",t)),this.feFuncG&&(e||n[17].p._mdf||n[18].p._mdf||n[19].p._mdf||n[20].p._mdf||n[21].p._mdf)&&(t=this.getTableValue(n[17].p.v,n[18].p.v,n[19].p.v,n[20].p.v,n[21].p.v),this.feFuncG.setAttribute("tableValues",t)),this.feFuncB&&(e||n[24].p._mdf||n[25].p._mdf||n[26].p._mdf||n[27].p._mdf||n[28].p._mdf)&&(t=this.getTableValue(n[24].p.v,n[25].p.v,n[26].p.v,n[27].p.v,n[28].p.v),this.feFuncB.setAttribute("tableValues",t)),this.feFuncA&&(e||n[31].p._mdf||n[32].p._mdf||n[33].p._mdf||n[34].p._mdf||n[35].p._mdf)&&(t=this.getTableValue(n[31].p.v,n[32].p.v,n[33].p.v,n[34].p.v,n[35].p.v),this.feFuncA.setAttribute("tableValues",t))}},extendPrototype([SVGComposableEffect],SVGDropShadowEffect),SVGDropShadowEffect.prototype.renderFrame=function(e){if(e||this.filterManager._mdf){if((e||this.filterManager.effectElements[4].p._mdf)&&this.feGaussianBlur.setAttribute("stdDeviation",this.filterManager.effectElements[4].p.v/4),e||this.filterManager.effectElements[0].p._mdf){var t=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute("flood-color",rgbToHex(Math.round(255*t[0]),Math.round(255*t[1]),Math.round(255*t[2])))}if((e||this.filterManager.effectElements[1].p._mdf)&&this.feFlood.setAttribute("flood-opacity",this.filterManager.effectElements[1].p.v/255),e||this.filterManager.effectElements[2].p._mdf||this.filterManager.effectElements[3].p._mdf){var n=this.filterManager.effectElements[3].p.v,r=(this.filterManager.effectElements[2].p.v-90)*degToRads,i=n*Math.cos(r),a=n*Math.sin(r);this.feOffset.setAttribute("dx",i),this.feOffset.setAttribute("dy",a)}}};var _svgMatteSymbols=[];function SVGMatte3Effect(e,t,n){this.initialized=!1,this.filterManager=t,this.filterElem=e,this.elem=n,n.matteElement=createNS("g"),n.matteElement.appendChild(n.layerElement),n.matteElement.appendChild(n.transformedElement),n.baseElement=n.matteElement}function SVGGaussianBlurEffect(e,t,n,r){e.setAttribute("x","-100%"),e.setAttribute("y","-100%"),e.setAttribute("width","300%"),e.setAttribute("height","300%"),this.filterManager=t;var i=createNS("feGaussianBlur");i.setAttribute("result",r),e.appendChild(i),this.feGaussianBlur=i}function TransformEffect(){}function SVGTransformEffect(e,t){this.init(t)}function CVTransformEffect(e){this.init(e)}return SVGMatte3Effect.prototype.findSymbol=function(e){for(var t=0,n=_svgMatteSymbols.length;t<n;){if(_svgMatteSymbols[t]===e)return _svgMatteSymbols[t];t+=1}return null},SVGMatte3Effect.prototype.replaceInParent=function(e,t){var n=e.layerElement.parentNode;if(n){for(var r,i=n.children,a=0,s=i.length;a<s&&i[a]!==e.layerElement;)a+=1;a<=s-2&&(r=i[a+1]);var o=createNS("use");o.setAttribute("href","#"+t),r?n.insertBefore(o,r):n.appendChild(o)}},SVGMatte3Effect.prototype.setElementAsMask=function(e,t){if(!this.findSymbol(t)){var n=createElementID(),r=createNS("mask");r.setAttribute("id",t.layerId),r.setAttribute("mask-type","alpha"),_svgMatteSymbols.push(t);var i=e.globalData.defs;i.appendChild(r);var a=createNS("symbol");a.setAttribute("id",n),this.replaceInParent(t,n),a.appendChild(t.layerElement),i.appendChild(a);var s=createNS("use");s.setAttribute("href","#"+n),r.appendChild(s),t.data.hd=!1,t.show()}e.setMatte(t.layerId)},SVGMatte3Effect.prototype.initialize=function(){for(var e=this.filterManager.effectElements[0].p.v,t=this.elem.comp.elements,n=0,r=t.length;n<r;)t[n]&&t[n].data.ind===e&&this.setElementAsMask(this.elem,t[n]),n+=1;this.initialized=!0},SVGMatte3Effect.prototype.renderFrame=function(){this.initialized||this.initialize()},SVGGaussianBlurEffect.prototype.renderFrame=function(e){if(e||this.filterManager._mdf){var t=.3*this.filterManager.effectElements[0].p.v,n=this.filterManager.effectElements[1].p.v,r=3==n?0:t,i=2==n?0:t;this.feGaussianBlur.setAttribute("stdDeviation",r+" "+i);var a=1==this.filterManager.effectElements[2].p.v?"wrap":"duplicate";this.feGaussianBlur.setAttribute("edgeMode",a)}},TransformEffect.prototype.init=function(e){this.effectsManager=e,this.type=effectTypes.TRANSFORM_EFFECT,this.matrix=new Matrix,this.opacity=-1,this._mdf=!1,this._opMdf=!1},TransformEffect.prototype.renderFrame=function(e){if(this._opMdf=!1,this._mdf=!1,e||this.effectsManager._mdf){var t=this.effectsManager.effectElements,n=t[0].p.v,r=t[1].p.v,i=1===t[2].p.v,a=t[3].p.v,s=i?a:t[4].p.v,o=t[5].p.v,l=t[6].p.v,c=t[7].p.v;this.matrix.reset(),this.matrix.translate(-n[0],-n[1],n[2]),this.matrix.scale(.01*s,.01*a,1),this.matrix.rotate(-c*degToRads),this.matrix.skewFromAxis(-o*degToRads,(l+90)*degToRads),this.matrix.translate(r[0],r[1],0),this._mdf=!0,this.opacity!==t[8].p.v&&(this.opacity=t[8].p.v,this._opMdf=!0)}},extendPrototype([TransformEffect],SVGTransformEffect),extendPrototype([TransformEffect],CVTransformEffect),registerRenderer("canvas",CanvasRenderer),registerRenderer("html",HybridRenderer),registerRenderer("svg",SVGRenderer),ShapeModifiers.registerModifier("tm",TrimModifier),ShapeModifiers.registerModifier("pb",PuckerAndBloatModifier),ShapeModifiers.registerModifier("rp",RepeaterModifier),ShapeModifiers.registerModifier("rd",RoundCornersModifier),ShapeModifiers.registerModifier("zz",ZigZagModifier),ShapeModifiers.registerModifier("op",OffsetPathModifier),setExpressionsPlugin(Expressions),setExpressionInterfaces(getInterface),initialize$1(),initialize(),registerEffect$1(20,SVGTintFilter,!0),registerEffect$1(21,SVGFillFilter,!0),registerEffect$1(22,SVGStrokeEffect,!1),registerEffect$1(23,SVGTritoneFilter,!0),registerEffect$1(24,SVGProLevelsFilter,!0),registerEffect$1(25,SVGDropShadowEffect,!0),registerEffect$1(28,SVGMatte3Effect,!1),registerEffect$1(29,SVGGaussianBlurEffect,!0),registerEffect$1(35,SVGTransformEffect,!1),registerEffect(35,CVTransformEffect),lottie},module.exports=factory())},730:(e,t,n)=>{"use strict";var r=n(43),i=n(853);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var s=new Set,o={};function l(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(o[e]=t,e=0;e<t.length;e++)s.add(t[e])}var d=!("undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement),h=Object.prototype.hasOwnProperty,u=/^[: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]*$/,p={},f={};function m(e,t,n,r,i,a,s){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=s}var g={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){g[e]=new m(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];g[t]=new m(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){g[e]=new m(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){g[e]=new m(e,2,!1,e,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(e){g[e]=new m(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){g[e]=new m(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){g[e]=new m(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){g[e]=new m(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){g[e]=new m(e,5,!1,e.toLowerCase(),null,!1,!1)}));var y=/[\-:]([a-z])/g;function v(e){return e[1].toUpperCase()}function x(e,t,n,r){var i=g.hasOwnProperty(t)?g[t]:null;(null!==i?0!==i.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,r){if(null===t||"undefined"===typeof t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,i,r)&&(n=null),r||null===i?function(e){return!!h.call(f,e)||!h.call(p,e)&&(u.test(e)?f[e]=!0:(p[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):i.mustUseProperty?e[i.propertyName]=null===n?3!==i.type&&"":n:(t=i.attributeName,r=i.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(i=i.type)||4===i&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"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(e){var t=e.replace(y,v);g[t]=new m(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(y,v);g[t]=new m(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(y,v);g[t]=new m(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){g[e]=new m(e,1,!1,e.toLowerCase(),null,!1,!1)})),g.xlinkHref=new m("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){g[e]=new m(e,1,!1,e.toLowerCase(),null,!0,!0)}));var S=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,A=Symbol.for("react.element"),b=Symbol.for("react.portal"),k=Symbol.for("react.fragment"),w=Symbol.for("react.strict_mode"),j=Symbol.for("react.profiler"),M=Symbol.for("react.provider"),P=Symbol.for("react.context"),O=Symbol.for("react.forward_ref"),T=Symbol.for("react.suspense"),I=Symbol.for("react.suspense_list"),C=Symbol.for("react.memo"),E=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var V=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var R=Symbol.iterator;function D(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=R&&e[R]||e["@@iterator"])?e:null}var B,G=Object.assign;function q(e){if(void 0===B)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);B=t&&t[1]||""}return"\n"+B+e}var H=!1;function W(e,t){if(!e||H)return"";H=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"===typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(c){var r=c}Reflect.construct(e,[],t)}else{try{t.call()}catch(c){r=c}e.call(t.prototype)}else{try{throw Error()}catch(c){r=c}e()}}catch(c){if(c&&r&&"string"===typeof c.stack){for(var i=c.stack.split("\n"),a=r.stack.split("\n"),s=i.length-1,o=a.length-1;1<=s&&0<=o&&i[s]!==a[o];)o--;for(;1<=s&&0<=o;s--,o--)if(i[s]!==a[o]){if(1!==s||1!==o)do{if(s--,0>--o||i[s]!==a[o]){var l="\n"+i[s].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}}while(1<=s&&0<=o);break}}}finally{H=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?q(e):""}function z(e){switch(e.tag){case 5:return q(e.type);case 16:return q("Lazy");case 13:return q("Suspense");case 19:return q("SuspenseList");case 0:case 2:case 15:return e=W(e.type,!1);case 11:return e=W(e.type.render,!1);case 1:return e=W(e.type,!0);default:return""}}function J(e){if(null==e)return null;if("function"===typeof e)return e.displayName||e.name||null;if("string"===typeof e)return e;switch(e){case k:return"Fragment";case b:return"Portal";case j:return"Profiler";case w:return"StrictMode";case T:return"Suspense";case I:return"SuspenseList"}if("object"===typeof e)switch(e.$$typeof){case P:return(e.displayName||"Context")+".Consumer";case M:return(e._context.displayName||"Context")+".Provider";case O:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case C:return null!==(t=e.displayName||null)?t:J(e.type)||"Memo";case E:t=e._payload,e=e._init;try{return J(e(t))}catch(n){}}return null}function U(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return J(t);case 8:return t===w?"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("function"===typeof t)return t.displayName||t.name||null;if("string"===typeof t)return t}return null}function N(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function L(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Y(e){e._valueTracker||(e._valueTracker=function(e){var t=L(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&"undefined"!==typeof n&&"function"===typeof n.get&&"function"===typeof n.set){var i=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){r=""+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function F(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=L(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function Z(e){if("undefined"===typeof(e=e||("undefined"!==typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function K(e,t){var n=t.checked;return G({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Q(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=N(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function X(e,t){null!=(t=t.checked)&&x(e,"checked",t,!1)}function _(e,t){X(e,t);var n=N(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,N(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function $(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&Z(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t["$"+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty("$"+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=""+N(n),t=null,i=0;i<e.length;i++){if(e[i].value===n)return e[i].selected=!0,void(r&&(e[i].defaultSelected=!0));null!==t||e[i].disabled||(t=e[i])}null!==t&&(t.selected=!0)}}function re(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(a(91));return G({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function ie(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(a(92));if(te(n)){if(1<n.length)throw Error(a(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:N(n)}}function ae(e,t){var n=N(t.value),r=N(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function se(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function oe(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function le(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?oe(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ce,de,he=(de=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ce=ce||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ce.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return de(e,t)}))}:de);function ue(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var pe={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},fe=["Webkit","ms","Moz","O"];function me(e,t,n){return null==t||"boolean"===typeof t||""===t?"":n||"number"!==typeof t||0===t||pe.hasOwnProperty(e)&&pe[e]?(""+t).trim():t+"px"}function ge(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),i=me(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}Object.keys(pe).forEach((function(e){fe.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),pe[t]=pe[e]}))}));var ye=G({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 ve(e,t){if(t){if(ye[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(a(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(a(60));if("object"!==typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(a(61))}if(null!=t.style&&"object"!==typeof t.style)throw Error(a(62))}}function xe(e,t){if(-1===e.indexOf("-"))return"string"===typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Se=null;function Ae(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var be=null,ke=null,we=null;function je(e){if(e=xi(e)){if("function"!==typeof be)throw Error(a(280));var t=e.stateNode;t&&(t=Ai(t),be(e.stateNode,e.type,t))}}function Me(e){ke?we?we.push(e):we=[e]:ke=e}function Pe(){if(ke){var e=ke,t=we;if(we=ke=null,je(e),t)for(e=0;e<t.length;e++)je(t[e])}}function Oe(e,t){return e(t)}function Te(){}var Ie=!1;function Ce(e,t,n){if(Ie)return e(t,n);Ie=!0;try{return Oe(e,t,n)}finally{Ie=!1,(null!==ke||null!==we)&&(Te(),Pe())}}function Ee(e,t){var n=e.stateNode;if(null===n)return null;var r=Ai(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!==typeof n)throw Error(a(231,t,typeof n));return n}var Ve=!1;if(d)try{var Re={};Object.defineProperty(Re,"passive",{get:function(){Ve=!0}}),window.addEventListener("test",Re,Re),window.removeEventListener("test",Re,Re)}catch(de){Ve=!1}function De(e,t,n,r,i,a,s,o,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(d){this.onError(d)}}var Be=!1,Ge=null,qe=!1,He=null,We={onError:function(e){Be=!0,Ge=e}};function ze(e,t,n,r,i,a,s,o,l){Be=!1,Ge=null,De.apply(We,arguments)}function Je(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!==(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Ue(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function Ne(e){if(Je(e)!==e)throw Error(a(188))}function Le(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=Je(e)))throw Error(a(188));return t!==e?null:e}for(var n=e,r=t;;){var i=n.return;if(null===i)break;var s=i.alternate;if(null===s){if(null!==(r=i.return)){n=r;continue}break}if(i.child===s.child){for(s=i.child;s;){if(s===n)return Ne(i),e;if(s===r)return Ne(i),t;s=s.sibling}throw Error(a(188))}if(n.return!==r.return)n=i,r=s;else{for(var o=!1,l=i.child;l;){if(l===n){o=!0,n=i,r=s;break}if(l===r){o=!0,r=i,n=s;break}l=l.sibling}if(!o){for(l=s.child;l;){if(l===n){o=!0,n=s,r=i;break}if(l===r){o=!0,r=s,n=i;break}l=l.sibling}if(!o)throw Error(a(189))}}if(n.alternate!==r)throw Error(a(190))}if(3!==n.tag)throw Error(a(188));return n.stateNode.current===n?e:t}(e))?Ye(e):null}function Ye(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Ye(e);if(null!==t)return t;e=e.sibling}return null}var Fe=i.unstable_scheduleCallback,Ze=i.unstable_cancelCallback,Ke=i.unstable_shouldYield,Qe=i.unstable_requestPaint,Xe=i.unstable_now,_e=i.unstable_getCurrentPriorityLevel,$e=i.unstable_ImmediatePriority,et=i.unstable_UserBlockingPriority,tt=i.unstable_NormalPriority,nt=i.unstable_LowPriority,rt=i.unstable_IdlePriority,it=null,at=null;var st=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(ot(e)/lt|0)|0},ot=Math.log,lt=Math.LN2;var ct=64,dt=4194304;function ht(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ut(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,i=e.suspendedLanes,a=e.pingedLanes,s=268435455&n;if(0!==s){var o=s&~i;0!==o?r=ht(o):0!==(a&=s)&&(r=ht(a))}else 0!==(s=n&~i)?r=ht(s):0!==a&&(r=ht(a));if(0===r)return 0;if(0!==t&&t!==r&&0===(t&i)&&((i=r&-r)>=(a=t&-t)||16===i&&0!==(4194240&a)))return t;if(0!==(4&r)&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)i=1<<(n=31-st(t)),r|=e[n],t&=~i;return r}function pt(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function ft(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function mt(){var e=ct;return 0===(4194240&(ct<<=1))&&(ct=64),e}function gt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function yt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-st(t)]=n}function vt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-st(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}var xt=0;function St(e){return 1<(e&=-e)?4<e?0!==(268435455&e)?16:536870912:4:1}var At,bt,kt,wt,jt,Mt=!1,Pt=[],Ot=null,Tt=null,It=null,Ct=new Map,Et=new Map,Vt=[],Rt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Dt(e,t){switch(e){case"focusin":case"focusout":Ot=null;break;case"dragenter":case"dragleave":Tt=null;break;case"mouseover":case"mouseout":It=null;break;case"pointerover":case"pointerout":Ct.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Et.delete(t.pointerId)}}function Bt(e,t,n,r,i,a){return null===e||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},null!==t&&(null!==(t=xi(t))&&bt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==i&&-1===t.indexOf(i)&&t.push(i),e)}function Gt(e){var t=vi(e.target);if(null!==t){var n=Je(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Ue(n)))return e.blockedOn=t,void jt(e.priority,(function(){kt(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function qt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Kt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=xi(n))&&bt(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);Se=r,n.target.dispatchEvent(r),Se=null,t.shift()}return!0}function Ht(e,t,n){qt(e)&&n.delete(t)}function Wt(){Mt=!1,null!==Ot&&qt(Ot)&&(Ot=null),null!==Tt&&qt(Tt)&&(Tt=null),null!==It&&qt(It)&&(It=null),Ct.forEach(Ht),Et.forEach(Ht)}function zt(e,t){e.blockedOn===t&&(e.blockedOn=null,Mt||(Mt=!0,i.unstable_scheduleCallback(i.unstable_NormalPriority,Wt)))}function Jt(e){function t(t){return zt(t,e)}if(0<Pt.length){zt(Pt[0],e);for(var n=1;n<Pt.length;n++){var r=Pt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==Ot&&zt(Ot,e),null!==Tt&&zt(Tt,e),null!==It&&zt(It,e),Ct.forEach(t),Et.forEach(t),n=0;n<Vt.length;n++)(r=Vt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<Vt.length&&null===(n=Vt[0]).blockedOn;)Gt(n),null===n.blockedOn&&Vt.shift()}var Ut=S.ReactCurrentBatchConfig,Nt=!0;function Lt(e,t,n,r){var i=xt,a=Ut.transition;Ut.transition=null;try{xt=1,Ft(e,t,n,r)}finally{xt=i,Ut.transition=a}}function Yt(e,t,n,r){var i=xt,a=Ut.transition;Ut.transition=null;try{xt=4,Ft(e,t,n,r)}finally{xt=i,Ut.transition=a}}function Ft(e,t,n,r){if(Nt){var i=Kt(e,t,n,r);if(null===i)Nr(e,t,r,Zt,n),Dt(e,r);else if(function(e,t,n,r,i){switch(t){case"focusin":return Ot=Bt(Ot,e,t,n,r,i),!0;case"dragenter":return Tt=Bt(Tt,e,t,n,r,i),!0;case"mouseover":return It=Bt(It,e,t,n,r,i),!0;case"pointerover":var a=i.pointerId;return Ct.set(a,Bt(Ct.get(a)||null,e,t,n,r,i)),!0;case"gotpointercapture":return a=i.pointerId,Et.set(a,Bt(Et.get(a)||null,e,t,n,r,i)),!0}return!1}(i,e,t,n,r))r.stopPropagation();else if(Dt(e,r),4&t&&-1<Rt.indexOf(e)){for(;null!==i;){var a=xi(i);if(null!==a&&At(a),null===(a=Kt(e,t,n,r))&&Nr(e,t,r,Zt,n),a===i)break;i=a}null!==i&&r.stopPropagation()}else Nr(e,t,r,null,n)}}var Zt=null;function Kt(e,t,n,r){if(Zt=null,null!==(e=vi(e=Ae(r))))if(null===(t=Je(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=Ue(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Zt=e,null}function Qt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(_e()){case $e:return 1;case et:return 4;case tt:case nt:return 16;case rt:return 536870912;default:return 16}default:return 16}}var Xt=null,_t=null,$t=null;function en(){if($t)return $t;var e,t,n=_t,r=n.length,i="value"in Xt?Xt.value:Xt.textContent,a=i.length;for(e=0;e<r&&n[e]===i[e];e++);var s=r-e;for(t=1;t<=s&&n[r-t]===i[a-t];t++);return $t=i.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function rn(){return!1}function an(e){function t(t,n,r,i,a){for(var s in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(s)&&(t=e[s],this[s]=t?t(i):i[s]);return this.isDefaultPrevented=(null!=i.defaultPrevented?i.defaultPrevented:!1===i.returnValue)?nn:rn,this.isPropagationStopped=rn,this}return G(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!==typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!==typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var sn,on,ln,cn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},dn=an(cn),hn=G({},cn,{view:0,detail:0}),un=an(hn),pn=G({},hn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:jn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ln&&(ln&&"mousemove"===e.type?(sn=e.screenX-ln.screenX,on=e.screenY-ln.screenY):on=sn=0,ln=e),sn)},movementY:function(e){return"movementY"in e?e.movementY:on}}),fn=an(pn),mn=an(G({},pn,{dataTransfer:0})),gn=an(G({},hn,{relatedTarget:0})),yn=an(G({},cn,{animationName:0,elapsedTime:0,pseudoElement:0})),vn=G({},cn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),xn=an(vn),Sn=an(G({},cn,{data:0})),An={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},bn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},kn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function wn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=kn[e])&&!!t[e]}function jn(){return wn}var Mn=G({},hn,{key:function(e){if(e.key){var t=An[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?bn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:jn,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Pn=an(Mn),On=an(G({},pn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Tn=an(G({},hn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:jn})),In=an(G({},cn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Cn=G({},pn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),En=an(Cn),Vn=[9,13,27,32],Rn=d&&"CompositionEvent"in window,Dn=null;d&&"documentMode"in document&&(Dn=document.documentMode);var Bn=d&&"TextEvent"in window&&!Dn,Gn=d&&(!Rn||Dn&&8<Dn&&11>=Dn),qn=String.fromCharCode(32),Hn=!1;function Wn(e,t){switch(e){case"keyup":return-1!==Vn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zn(e){return"object"===typeof(e=e.detail)&&"data"in e?e.data:null}var Jn=!1;var Un={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Nn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Un[e.type]:"textarea"===t}function Ln(e,t,n,r){Me(r),0<(t=Yr(t,"onChange")).length&&(n=new dn("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Yn=null,Fn=null;function Zn(e){qr(e,0)}function Kn(e){if(F(Si(e)))return e}function Qn(e,t){if("change"===e)return t}var Xn=!1;if(d){var _n;if(d){var $n="oninput"in document;if(!$n){var er=document.createElement("div");er.setAttribute("oninput","return;"),$n="function"===typeof er.oninput}_n=$n}else _n=!1;Xn=_n&&(!document.documentMode||9<document.documentMode)}function tr(){Yn&&(Yn.detachEvent("onpropertychange",nr),Fn=Yn=null)}function nr(e){if("value"===e.propertyName&&Kn(Fn)){var t=[];Ln(t,Fn,e,Ae(e)),Ce(Zn,t)}}function rr(e,t,n){"focusin"===e?(tr(),Fn=n,(Yn=t).attachEvent("onpropertychange",nr)):"focusout"===e&&tr()}function ir(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Kn(Fn)}function ar(e,t){if("click"===e)return Kn(t)}function sr(e,t){if("input"===e||"change"===e)return Kn(t)}var or="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t};function lr(e,t){if(or(e,t))return!0;if("object"!==typeof e||null===e||"object"!==typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!h.call(t,i)||!or(e[i],t[i]))return!1}return!0}function cr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function dr(e,t){var n,r=cr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=cr(r)}}function hr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?hr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function ur(){for(var e=window,t=Z();t instanceof e.HTMLIFrameElement;){try{var n="string"===typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=Z((e=t.contentWindow).document)}return t}function pr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function fr(e){var t=ur(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&hr(n.ownerDocument.documentElement,n)){if(null!==r&&pr(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var i=n.textContent.length,a=Math.min(r.start,i);r=void 0===r.end?a:Math.min(r.end,i),!e.extend&&a>r&&(i=r,r=a,a=i),i=dr(n,a);var s=dr(n,r);i&&s&&(1!==e.rangeCount||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&((t=t.createRange()).setStart(i.node,i.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"===typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var mr=d&&"documentMode"in document&&11>=document.documentMode,gr=null,yr=null,vr=null,xr=!1;function Sr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;xr||null==gr||gr!==Z(r)||("selectionStart"in(r=gr)&&pr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},vr&&lr(vr,r)||(vr=r,0<(r=Yr(yr,"onSelect")).length&&(t=new dn("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=gr)))}function Ar(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var br={animationend:Ar("Animation","AnimationEnd"),animationiteration:Ar("Animation","AnimationIteration"),animationstart:Ar("Animation","AnimationStart"),transitionend:Ar("Transition","TransitionEnd")},kr={},wr={};function jr(e){if(kr[e])return kr[e];if(!br[e])return e;var t,n=br[e];for(t in n)if(n.hasOwnProperty(t)&&t in wr)return kr[e]=n[t];return e}d&&(wr=document.createElement("div").style,"AnimationEvent"in window||(delete br.animationend.animation,delete br.animationiteration.animation,delete br.animationstart.animation),"TransitionEvent"in window||delete br.transitionend.transition);var Mr=jr("animationend"),Pr=jr("animationiteration"),Or=jr("animationstart"),Tr=jr("transitionend"),Ir=new Map,Cr="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Er(e,t){Ir.set(e,t),l(t,[e])}for(var Vr=0;Vr<Cr.length;Vr++){var Rr=Cr[Vr];Er(Rr.toLowerCase(),"on"+(Rr[0].toUpperCase()+Rr.slice(1)))}Er(Mr,"onAnimationEnd"),Er(Pr,"onAnimationIteration"),Er(Or,"onAnimationStart"),Er("dblclick","onDoubleClick"),Er("focusin","onFocus"),Er("focusout","onBlur"),Er(Tr,"onTransitionEnd"),c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),l("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),l("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),l("onBeforeInput",["compositionend","keypress","textInput","paste"]),l("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Dr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Br=new Set("cancel close invalid load scroll toggle".split(" ").concat(Dr));function Gr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,i,s,o,l,c){if(ze.apply(this,arguments),Be){if(!Be)throw Error(a(198));var d=Ge;Be=!1,Ge=null,qe||(qe=!0,He=d)}}(r,t,void 0,e),e.currentTarget=null}function qr(e,t){t=0!==(4&t);for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;e:{var a=void 0;if(t)for(var s=r.length-1;0<=s;s--){var o=r[s],l=o.instance,c=o.currentTarget;if(o=o.listener,l!==a&&i.isPropagationStopped())break e;Gr(i,o,c),a=l}else for(s=0;s<r.length;s++){if(l=(o=r[s]).instance,c=o.currentTarget,o=o.listener,l!==a&&i.isPropagationStopped())break e;Gr(i,o,c),a=l}}}if(qe)throw e=He,qe=!1,He=null,e}function Hr(e,t){var n=t[mi];void 0===n&&(n=t[mi]=new Set);var r=e+"__bubble";n.has(r)||(Ur(t,e,2,!1),n.add(r))}function Wr(e,t,n){var r=0;t&&(r|=4),Ur(n,e,r,t)}var zr="_reactListening"+Math.random().toString(36).slice(2);function Jr(e){if(!e[zr]){e[zr]=!0,s.forEach((function(t){"selectionchange"!==t&&(Br.has(t)||Wr(t,!1,e),Wr(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[zr]||(t[zr]=!0,Wr("selectionchange",!1,t))}}function Ur(e,t,n,r){switch(Qt(t)){case 1:var i=Lt;break;case 4:i=Yt;break;default:i=Ft}n=i.bind(null,t,n,e),i=void 0,!Ve||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(i=!0),r?void 0!==i?e.addEventListener(t,n,{capture:!0,passive:i}):e.addEventListener(t,n,!0):void 0!==i?e.addEventListener(t,n,{passive:i}):e.addEventListener(t,n,!1)}function Nr(e,t,n,r,i){var a=r;if(0===(1&t)&&0===(2&t)&&null!==r)e:for(;;){if(null===r)return;var s=r.tag;if(3===s||4===s){var o=r.stateNode.containerInfo;if(o===i||8===o.nodeType&&o.parentNode===i)break;if(4===s)for(s=r.return;null!==s;){var l=s.tag;if((3===l||4===l)&&((l=s.stateNode.containerInfo)===i||8===l.nodeType&&l.parentNode===i))return;s=s.return}for(;null!==o;){if(null===(s=vi(o)))return;if(5===(l=s.tag)||6===l){r=a=s;continue e}o=o.parentNode}}r=r.return}Ce((function(){var r=a,i=Ae(n),s=[];e:{var o=Ir.get(e);if(void 0!==o){var l=dn,c=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":l=Pn;break;case"focusin":c="focus",l=gn;break;case"focusout":c="blur",l=gn;break;case"beforeblur":case"afterblur":l=gn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=fn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=mn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=Tn;break;case Mr:case Pr:case Or:l=yn;break;case Tr:l=In;break;case"scroll":l=un;break;case"wheel":l=En;break;case"copy":case"cut":case"paste":l=xn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=On}var d=0!==(4&t),h=!d&&"scroll"===e,u=d?null!==o?o+"Capture":null:o;d=[];for(var p,f=r;null!==f;){var m=(p=f).stateNode;if(5===p.tag&&null!==m&&(p=m,null!==u&&(null!=(m=Ee(f,u))&&d.push(Lr(f,m,p)))),h)break;f=f.return}0<d.length&&(o=new l(o,c,null,n,i),s.push({event:o,listeners:d}))}}if(0===(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(o="mouseover"===e||"pointerover"===e)||n===Se||!(c=n.relatedTarget||n.fromElement)||!vi(c)&&!c[fi])&&(l||o)&&(o=i.window===i?i:(o=i.ownerDocument)?o.defaultView||o.parentWindow:window,l?(l=r,null!==(c=(c=n.relatedTarget||n.toElement)?vi(c):null)&&(c!==(h=Je(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(l=null,c=r),l!==c)){if(d=fn,m="onMouseLeave",u="onMouseEnter",f="mouse","pointerout"!==e&&"pointerover"!==e||(d=On,m="onPointerLeave",u="onPointerEnter",f="pointer"),h=null==l?o:Si(l),p=null==c?o:Si(c),(o=new d(m,f+"leave",l,n,i)).target=h,o.relatedTarget=p,m=null,vi(i)===r&&((d=new d(u,f+"enter",c,n,i)).target=p,d.relatedTarget=h,m=d),h=m,l&&c)e:{for(u=c,f=0,p=d=l;p;p=Fr(p))f++;for(p=0,m=u;m;m=Fr(m))p++;for(;0<f-p;)d=Fr(d),f--;for(;0<p-f;)u=Fr(u),p--;for(;f--;){if(d===u||null!==u&&d===u.alternate)break e;d=Fr(d),u=Fr(u)}d=null}else d=null;null!==l&&Zr(s,o,l,d,!1),null!==c&&null!==h&&Zr(s,h,c,d,!0)}if("select"===(l=(o=r?Si(r):window).nodeName&&o.nodeName.toLowerCase())||"input"===l&&"file"===o.type)var g=Qn;else if(Nn(o))if(Xn)g=sr;else{g=ir;var y=rr}else(l=o.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===o.type||"radio"===o.type)&&(g=ar);switch(g&&(g=g(e,r))?Ln(s,g,n,i):(y&&y(e,o,r),"focusout"===e&&(y=o._wrapperState)&&y.controlled&&"number"===o.type&&ee(o,"number",o.value)),y=r?Si(r):window,e){case"focusin":(Nn(y)||"true"===y.contentEditable)&&(gr=y,yr=r,vr=null);break;case"focusout":vr=yr=gr=null;break;case"mousedown":xr=!0;break;case"contextmenu":case"mouseup":case"dragend":xr=!1,Sr(s,n,i);break;case"selectionchange":if(mr)break;case"keydown":case"keyup":Sr(s,n,i)}var v;if(Rn)e:{switch(e){case"compositionstart":var x="onCompositionStart";break e;case"compositionend":x="onCompositionEnd";break e;case"compositionupdate":x="onCompositionUpdate";break e}x=void 0}else Jn?Wn(e,n)&&(x="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(x="onCompositionStart");x&&(Gn&&"ko"!==n.locale&&(Jn||"onCompositionStart"!==x?"onCompositionEnd"===x&&Jn&&(v=en()):(_t="value"in(Xt=i)?Xt.value:Xt.textContent,Jn=!0)),0<(y=Yr(r,x)).length&&(x=new Sn(x,e,null,n,i),s.push({event:x,listeners:y}),v?x.data=v:null!==(v=zn(n))&&(x.data=v))),(v=Bn?function(e,t){switch(e){case"compositionend":return zn(t);case"keypress":return 32!==t.which?null:(Hn=!0,qn);case"textInput":return(e=t.data)===qn&&Hn?null:e;default:return null}}(e,n):function(e,t){if(Jn)return"compositionend"===e||!Rn&&Wn(e,t)?(e=en(),$t=_t=Xt=null,Jn=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Gn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Yr(r,"onBeforeInput")).length&&(i=new Sn("onBeforeInput","beforeinput",null,n,i),s.push({event:i,listeners:r}),i.data=v))}qr(s,t)}))}function Lr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Yr(e,t){for(var n=t+"Capture",r=[];null!==e;){var i=e,a=i.stateNode;5===i.tag&&null!==a&&(i=a,null!=(a=Ee(e,n))&&r.unshift(Lr(e,a,i)),null!=(a=Ee(e,t))&&r.push(Lr(e,a,i))),e=e.return}return r}function Fr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Zr(e,t,n,r,i){for(var a=t._reactName,s=[];null!==n&&n!==r;){var o=n,l=o.alternate,c=o.stateNode;if(null!==l&&l===r)break;5===o.tag&&null!==c&&(o=c,i?null!=(l=Ee(n,a))&&s.unshift(Lr(n,l,o)):i||null!=(l=Ee(n,a))&&s.push(Lr(n,l,o))),n=n.return}0!==s.length&&e.push({event:t,listeners:s})}var Kr=/\r\n?/g,Qr=/\u0000|\uFFFD/g;function Xr(e){return("string"===typeof e?e:""+e).replace(Kr,"\n").replace(Qr,"")}function _r(e,t,n){if(t=Xr(t),Xr(e)!==t&&n)throw Error(a(425))}function $r(){}var ei=null,ti=null;function ni(e,t){return"textarea"===e||"noscript"===e||"string"===typeof t.children||"number"===typeof t.children||"object"===typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ri="function"===typeof setTimeout?setTimeout:void 0,ii="function"===typeof clearTimeout?clearTimeout:void 0,ai="function"===typeof Promise?Promise:void 0,si="function"===typeof queueMicrotask?queueMicrotask:"undefined"!==typeof ai?function(e){return ai.resolve(null).then(e).catch(oi)}:ri;function oi(e){setTimeout((function(){throw e}))}function li(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&8===i.nodeType)if("/$"===(n=i.data)){if(0===r)return e.removeChild(i),void Jt(t);r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++;n=i}while(n);Jt(t)}function ci(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function di(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var hi=Math.random().toString(36).slice(2),ui="__reactFiber$"+hi,pi="__reactProps$"+hi,fi="__reactContainer$"+hi,mi="__reactEvents$"+hi,gi="__reactListeners$"+hi,yi="__reactHandles$"+hi;function vi(e){var t=e[ui];if(t)return t;for(var n=e.parentNode;n;){if(t=n[fi]||n[ui]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=di(e);null!==e;){if(n=e[ui])return n;e=di(e)}return t}n=(e=n).parentNode}return null}function xi(e){return!(e=e[ui]||e[fi])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function Si(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(a(33))}function Ai(e){return e[pi]||null}var bi=[],ki=-1;function wi(e){return{current:e}}function ji(e){0>ki||(e.current=bi[ki],bi[ki]=null,ki--)}function Mi(e,t){ki++,bi[ki]=e.current,e.current=t}var Pi={},Oi=wi(Pi),Ti=wi(!1),Ii=Pi;function Ci(e,t){var n=e.type.contextTypes;if(!n)return Pi;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i,a={};for(i in n)a[i]=t[i];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function Ei(e){return null!==(e=e.childContextTypes)&&void 0!==e}function Vi(){ji(Ti),ji(Oi)}function Ri(e,t,n){if(Oi.current!==Pi)throw Error(a(168));Mi(Oi,t),Mi(Ti,n)}function Di(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!==typeof r.getChildContext)return n;for(var i in r=r.getChildContext())if(!(i in t))throw Error(a(108,U(e)||"Unknown",i));return G({},n,r)}function Bi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Pi,Ii=Oi.current,Mi(Oi,e),Mi(Ti,Ti.current),!0}function Gi(e,t,n){var r=e.stateNode;if(!r)throw Error(a(169));n?(e=Di(e,t,Ii),r.__reactInternalMemoizedMergedChildContext=e,ji(Ti),ji(Oi),Mi(Oi,e)):ji(Ti),Mi(Ti,n)}var qi=null,Hi=!1,Wi=!1;function zi(e){null===qi?qi=[e]:qi.push(e)}function Ji(){if(!Wi&&null!==qi){Wi=!0;var e=0,t=xt;try{var n=qi;for(xt=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}qi=null,Hi=!1}catch(i){throw null!==qi&&(qi=qi.slice(e+1)),Fe($e,Ji),i}finally{xt=t,Wi=!1}}return null}var Ui=[],Ni=0,Li=null,Yi=0,Fi=[],Zi=0,Ki=null,Qi=1,Xi="";function _i(e,t){Ui[Ni++]=Yi,Ui[Ni++]=Li,Li=e,Yi=t}function $i(e,t,n){Fi[Zi++]=Qi,Fi[Zi++]=Xi,Fi[Zi++]=Ki,Ki=e;var r=Qi;e=Xi;var i=32-st(r)-1;r&=~(1<<i),n+=1;var a=32-st(t)+i;if(30<a){var s=i-i%5;a=(r&(1<<s)-1).toString(32),r>>=s,i-=s,Qi=1<<32-st(t)+i|n<<i|r,Xi=a+e}else Qi=1<<a|n<<i|r,Xi=e}function ea(e){null!==e.return&&(_i(e,1),$i(e,1,0))}function ta(e){for(;e===Li;)Li=Ui[--Ni],Ui[Ni]=null,Yi=Ui[--Ni],Ui[Ni]=null;for(;e===Ki;)Ki=Fi[--Zi],Fi[Zi]=null,Xi=Fi[--Zi],Fi[Zi]=null,Qi=Fi[--Zi],Fi[Zi]=null}var na=null,ra=null,ia=!1,aa=null;function sa(e,t){var n=Ec(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function oa(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,na=e,ra=ci(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,na=e,ra=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Ki?{id:Qi,overflow:Xi}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Ec(18,null,null,0)).stateNode=t,n.return=e,e.child=n,na=e,ra=null,!0);default:return!1}}function la(e){return 0!==(1&e.mode)&&0===(128&e.flags)}function ca(e){if(ia){var t=ra;if(t){var n=t;if(!oa(e,t)){if(la(e))throw Error(a(418));t=ci(n.nextSibling);var r=na;t&&oa(e,t)?sa(r,n):(e.flags=-4097&e.flags|2,ia=!1,na=e)}}else{if(la(e))throw Error(a(418));e.flags=-4097&e.flags|2,ia=!1,na=e}}}function da(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;na=e}function ha(e){if(e!==na)return!1;if(!ia)return da(e),ia=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!ni(e.type,e.memoizedProps)),t&&(t=ra)){if(la(e))throw ua(),Error(a(418));for(;t;)sa(e,t),t=ci(t.nextSibling)}if(da(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(a(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){ra=ci(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}ra=null}}else ra=na?ci(e.stateNode.nextSibling):null;return!0}function ua(){for(var e=ra;e;)e=ci(e.nextSibling)}function pa(){ra=na=null,ia=!1}function fa(e){null===aa?aa=[e]:aa.push(e)}var ma=S.ReactCurrentBatchConfig;function ga(e,t){if(e&&e.defaultProps){for(var n in t=G({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var ya=wi(null),va=null,xa=null,Sa=null;function Aa(){Sa=xa=va=null}function ba(e){var t=ya.current;ji(ya),e._currentValue=t}function ka(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function wa(e,t){va=e,Sa=xa=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(So=!0),e.firstContext=null)}function ja(e){var t=e._currentValue;if(Sa!==e)if(e={context:e,memoizedValue:t,next:null},null===xa){if(null===va)throw Error(a(308));xa=e,va.dependencies={lanes:0,firstContext:e}}else xa=xa.next=e;return t}var Ma=null;function Pa(e){null===Ma?Ma=[e]:Ma.push(e)}function Oa(e,t,n,r){var i=t.interleaved;return null===i?(n.next=n,Pa(t)):(n.next=i.next,i.next=n),t.interleaved=n,Ta(e,r)}function Ta(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Ia=!1;function Ca(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Ea(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Va(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Ra(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!==(2&Tl)){var i=r.pending;return null===i?t.next=t:(t.next=i.next,i.next=t),r.pending=t,Ta(e,n)}return null===(i=r.interleaved)?(t.next=t,Pa(r)):(t.next=i.next,i.next=t),r.interleaved=t,Ta(e,n)}function Da(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!==(4194240&n))){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,vt(e,n)}}function Ba(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var i=null,a=null;if(null!==(n=n.firstBaseUpdate)){do{var s={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===a?i=a=s:a=a.next=s,n=n.next}while(null!==n);null===a?i=a=t:a=a.next=t}else i=a=t;return n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Ga(e,t,n,r){var i=e.updateQueue;Ia=!1;var a=i.firstBaseUpdate,s=i.lastBaseUpdate,o=i.shared.pending;if(null!==o){i.shared.pending=null;var l=o,c=l.next;l.next=null,null===s?a=c:s.next=c,s=l;var d=e.alternate;null!==d&&((o=(d=d.updateQueue).lastBaseUpdate)!==s&&(null===o?d.firstBaseUpdate=c:o.next=c,d.lastBaseUpdate=l))}if(null!==a){var h=i.baseState;for(s=0,d=c=l=null,o=a;;){var u=o.lane,p=o.eventTime;if((r&u)===u){null!==d&&(d=d.next={eventTime:p,lane:0,tag:o.tag,payload:o.payload,callback:o.callback,next:null});e:{var f=e,m=o;switch(u=t,p=n,m.tag){case 1:if("function"===typeof(f=m.payload)){h=f.call(p,h,u);break e}h=f;break e;case 3:f.flags=-65537&f.flags|128;case 0:if(null===(u="function"===typeof(f=m.payload)?f.call(p,h,u):f)||void 0===u)break e;h=G({},h,u);break e;case 2:Ia=!0}}null!==o.callback&&0!==o.lane&&(e.flags|=64,null===(u=i.effects)?i.effects=[o]:u.push(o))}else p={eventTime:p,lane:u,tag:o.tag,payload:o.payload,callback:o.callback,next:null},null===d?(c=d=p,l=h):d=d.next=p,s|=u;if(null===(o=o.next)){if(null===(o=i.shared.pending))break;o=(u=o).next,u.next=null,i.lastBaseUpdate=u,i.shared.pending=null}}if(null===d&&(l=h),i.baseState=l,i.firstBaseUpdate=c,i.lastBaseUpdate=d,null!==(t=i.shared.interleaved)){i=t;do{s|=i.lane,i=i.next}while(i!==t)}else null===a&&(i.shared.lanes=0);Gl|=s,e.lanes=s,e.memoizedState=h}}function qa(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],i=r.callback;if(null!==i){if(r.callback=null,r=n,"function"!==typeof i)throw Error(a(191,i));i.call(r)}}}var Ha=(new r.Component).refs;function Wa(e,t,n,r){n=null===(n=n(r,t=e.memoizedState))||void 0===n?t:G({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var za={isMounted:function(e){return!!(e=e._reactInternals)&&Je(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=tc(),i=nc(e),a=Va(r,i);a.payload=t,void 0!==n&&null!==n&&(a.callback=n),null!==(t=Ra(e,a,i))&&(rc(t,e,i,r),Da(t,e,i))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=tc(),i=nc(e),a=Va(r,i);a.tag=1,a.payload=t,void 0!==n&&null!==n&&(a.callback=n),null!==(t=Ra(e,a,i))&&(rc(t,e,i,r),Da(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=tc(),r=nc(e),i=Va(n,r);i.tag=2,void 0!==t&&null!==t&&(i.callback=t),null!==(t=Ra(e,i,r))&&(rc(t,e,r,n),Da(t,e,r))}};function Ja(e,t,n,r,i,a,s){return"function"===typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,a,s):!t.prototype||!t.prototype.isPureReactComponent||(!lr(n,r)||!lr(i,a))}function Ua(e,t,n){var r=!1,i=Pi,a=t.contextType;return"object"===typeof a&&null!==a?a=ja(a):(i=Ei(t)?Ii:Oi.current,a=(r=null!==(r=t.contextTypes)&&void 0!==r)?Ci(e,i):Pi),t=new t(n,a),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=za,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=a),t}function Na(e,t,n,r){e=t.state,"function"===typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"===typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&za.enqueueReplaceState(t,t.state,null)}function La(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs=Ha,Ca(e);var a=t.contextType;"object"===typeof a&&null!==a?i.context=ja(a):(a=Ei(t)?Ii:Oi.current,i.context=Ci(e,a)),i.state=e.memoizedState,"function"===typeof(a=t.getDerivedStateFromProps)&&(Wa(e,t,a,n),i.state=e.memoizedState),"function"===typeof t.getDerivedStateFromProps||"function"===typeof i.getSnapshotBeforeUpdate||"function"!==typeof i.UNSAFE_componentWillMount&&"function"!==typeof i.componentWillMount||(t=i.state,"function"===typeof i.componentWillMount&&i.componentWillMount(),"function"===typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),t!==i.state&&za.enqueueReplaceState(i,i.state,null),Ga(e,n,i,r),i.state=e.memoizedState),"function"===typeof i.componentDidMount&&(e.flags|=4194308)}function Ya(e,t,n){if(null!==(e=n.ref)&&"function"!==typeof e&&"object"!==typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(a(309));var r=n.stateNode}if(!r)throw Error(a(147,e));var i=r,s=""+e;return null!==t&&null!==t.ref&&"function"===typeof t.ref&&t.ref._stringRef===s?t.ref:(t=function(e){var t=i.refs;t===Ha&&(t=i.refs={}),null===e?delete t[s]:t[s]=e},t._stringRef=s,t)}if("string"!==typeof e)throw Error(a(284));if(!n._owner)throw Error(a(290,e))}return e}function Fa(e,t){throw e=Object.prototype.toString.call(t),Error(a(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Za(e){return(0,e._init)(e._payload)}function Ka(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function i(e,t){return(e=Rc(e,t)).index=0,e.sibling=null,e}function s(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function o(t){return e&&null===t.alternate&&(t.flags|=2),t}function l(e,t,n,r){return null===t||6!==t.tag?((t=qc(n,e.mode,r)).return=e,t):((t=i(t,n)).return=e,t)}function c(e,t,n,r){var a=n.type;return a===k?h(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===a||"object"===typeof a&&null!==a&&a.$$typeof===E&&Za(a)===t.type)?((r=i(t,n.props)).ref=Ya(e,t,n),r.return=e,r):((r=Dc(n.type,n.key,n.props,null,e.mode,r)).ref=Ya(e,t,n),r.return=e,r)}function d(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Hc(n,e.mode,r)).return=e,t):((t=i(t,n.children||[])).return=e,t)}function h(e,t,n,r,a){return null===t||7!==t.tag?((t=Bc(n,e.mode,r,a)).return=e,t):((t=i(t,n)).return=e,t)}function u(e,t,n){if("string"===typeof t&&""!==t||"number"===typeof t)return(t=qc(""+t,e.mode,n)).return=e,t;if("object"===typeof t&&null!==t){switch(t.$$typeof){case A:return(n=Dc(t.type,t.key,t.props,null,e.mode,n)).ref=Ya(e,null,t),n.return=e,n;case b:return(t=Hc(t,e.mode,n)).return=e,t;case E:return u(e,(0,t._init)(t._payload),n)}if(te(t)||D(t))return(t=Bc(t,e.mode,n,null)).return=e,t;Fa(e,t)}return null}function p(e,t,n,r){var i=null!==t?t.key:null;if("string"===typeof n&&""!==n||"number"===typeof n)return null!==i?null:l(e,t,""+n,r);if("object"===typeof n&&null!==n){switch(n.$$typeof){case A:return n.key===i?c(e,t,n,r):null;case b:return n.key===i?d(e,t,n,r):null;case E:return p(e,t,(i=n._init)(n._payload),r)}if(te(n)||D(n))return null!==i?null:h(e,t,n,r,null);Fa(e,n)}return null}function f(e,t,n,r,i){if("string"===typeof r&&""!==r||"number"===typeof r)return l(t,e=e.get(n)||null,""+r,i);if("object"===typeof r&&null!==r){switch(r.$$typeof){case A:return c(t,e=e.get(null===r.key?n:r.key)||null,r,i);case b:return d(t,e=e.get(null===r.key?n:r.key)||null,r,i);case E:return f(e,t,n,(0,r._init)(r._payload),i)}if(te(r)||D(r))return h(t,e=e.get(n)||null,r,i,null);Fa(t,r)}return null}function m(i,a,o,l){for(var c=null,d=null,h=a,m=a=0,g=null;null!==h&&m<o.length;m++){h.index>m?(g=h,h=null):g=h.sibling;var y=p(i,h,o[m],l);if(null===y){null===h&&(h=g);break}e&&h&&null===y.alternate&&t(i,h),a=s(y,a,m),null===d?c=y:d.sibling=y,d=y,h=g}if(m===o.length)return n(i,h),ia&&_i(i,m),c;if(null===h){for(;m<o.length;m++)null!==(h=u(i,o[m],l))&&(a=s(h,a,m),null===d?c=h:d.sibling=h,d=h);return ia&&_i(i,m),c}for(h=r(i,h);m<o.length;m++)null!==(g=f(h,i,m,o[m],l))&&(e&&null!==g.alternate&&h.delete(null===g.key?m:g.key),a=s(g,a,m),null===d?c=g:d.sibling=g,d=g);return e&&h.forEach((function(e){return t(i,e)})),ia&&_i(i,m),c}function g(i,o,l,c){var d=D(l);if("function"!==typeof d)throw Error(a(150));if(null==(l=d.call(l)))throw Error(a(151));for(var h=d=null,m=o,g=o=0,y=null,v=l.next();null!==m&&!v.done;g++,v=l.next()){m.index>g?(y=m,m=null):y=m.sibling;var x=p(i,m,v.value,c);if(null===x){null===m&&(m=y);break}e&&m&&null===x.alternate&&t(i,m),o=s(x,o,g),null===h?d=x:h.sibling=x,h=x,m=y}if(v.done)return n(i,m),ia&&_i(i,g),d;if(null===m){for(;!v.done;g++,v=l.next())null!==(v=u(i,v.value,c))&&(o=s(v,o,g),null===h?d=v:h.sibling=v,h=v);return ia&&_i(i,g),d}for(m=r(i,m);!v.done;g++,v=l.next())null!==(v=f(m,i,g,v.value,c))&&(e&&null!==v.alternate&&m.delete(null===v.key?g:v.key),o=s(v,o,g),null===h?d=v:h.sibling=v,h=v);return e&&m.forEach((function(e){return t(i,e)})),ia&&_i(i,g),d}return function e(r,a,s,l){if("object"===typeof s&&null!==s&&s.type===k&&null===s.key&&(s=s.props.children),"object"===typeof s&&null!==s){switch(s.$$typeof){case A:e:{for(var c=s.key,d=a;null!==d;){if(d.key===c){if((c=s.type)===k){if(7===d.tag){n(r,d.sibling),(a=i(d,s.props.children)).return=r,r=a;break e}}else if(d.elementType===c||"object"===typeof c&&null!==c&&c.$$typeof===E&&Za(c)===d.type){n(r,d.sibling),(a=i(d,s.props)).ref=Ya(r,d,s),a.return=r,r=a;break e}n(r,d);break}t(r,d),d=d.sibling}s.type===k?((a=Bc(s.props.children,r.mode,l,s.key)).return=r,r=a):((l=Dc(s.type,s.key,s.props,null,r.mode,l)).ref=Ya(r,a,s),l.return=r,r=l)}return o(r);case b:e:{for(d=s.key;null!==a;){if(a.key===d){if(4===a.tag&&a.stateNode.containerInfo===s.containerInfo&&a.stateNode.implementation===s.implementation){n(r,a.sibling),(a=i(a,s.children||[])).return=r,r=a;break e}n(r,a);break}t(r,a),a=a.sibling}(a=Hc(s,r.mode,l)).return=r,r=a}return o(r);case E:return e(r,a,(d=s._init)(s._payload),l)}if(te(s))return m(r,a,s,l);if(D(s))return g(r,a,s,l);Fa(r,s)}return"string"===typeof s&&""!==s||"number"===typeof s?(s=""+s,null!==a&&6===a.tag?(n(r,a.sibling),(a=i(a,s)).return=r,r=a):(n(r,a),(a=qc(s,r.mode,l)).return=r,r=a),o(r)):n(r,a)}}var Qa=Ka(!0),Xa=Ka(!1),_a={},$a=wi(_a),es=wi(_a),ts=wi(_a);function ns(e){if(e===_a)throw Error(a(174));return e}function rs(e,t){switch(Mi(ts,t),Mi(es,e),Mi($a,_a),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:le(null,"");break;default:t=le(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}ji($a),Mi($a,t)}function is(){ji($a),ji(es),ji(ts)}function as(e){ns(ts.current);var t=ns($a.current),n=le(t,e.type);t!==n&&(Mi(es,e),Mi($a,n))}function ss(e){es.current===e&&(ji($a),ji(es))}var os=wi(0);function ls(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!==(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var cs=[];function ds(){for(var e=0;e<cs.length;e++)cs[e]._workInProgressVersionPrimary=null;cs.length=0}var hs=S.ReactCurrentDispatcher,us=S.ReactCurrentBatchConfig,ps=0,fs=null,ms=null,gs=null,ys=!1,vs=!1,xs=0,Ss=0;function As(){throw Error(a(321))}function bs(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!or(e[n],t[n]))return!1;return!0}function ks(e,t,n,r,i,s){if(ps=s,fs=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,hs.current=null===e||null===e.memoizedState?so:oo,e=n(r,i),vs){s=0;do{if(vs=!1,xs=0,25<=s)throw Error(a(301));s+=1,gs=ms=null,t.updateQueue=null,hs.current=lo,e=n(r,i)}while(vs)}if(hs.current=ao,t=null!==ms&&null!==ms.next,ps=0,gs=ms=fs=null,ys=!1,t)throw Error(a(300));return e}function ws(){var e=0!==xs;return xs=0,e}function js(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===gs?fs.memoizedState=gs=e:gs=gs.next=e,gs}function Ms(){if(null===ms){var e=fs.alternate;e=null!==e?e.memoizedState:null}else e=ms.next;var t=null===gs?fs.memoizedState:gs.next;if(null!==t)gs=t,ms=e;else{if(null===e)throw Error(a(310));e={memoizedState:(ms=e).memoizedState,baseState:ms.baseState,baseQueue:ms.baseQueue,queue:ms.queue,next:null},null===gs?fs.memoizedState=gs=e:gs=gs.next=e}return gs}function Ps(e,t){return"function"===typeof t?t(e):t}function Os(e){var t=Ms(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=ms,i=r.baseQueue,s=n.pending;if(null!==s){if(null!==i){var o=i.next;i.next=s.next,s.next=o}r.baseQueue=i=s,n.pending=null}if(null!==i){s=i.next,r=r.baseState;var l=o=null,c=null,d=s;do{var h=d.lane;if((ps&h)===h)null!==c&&(c=c.next={lane:0,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null}),r=d.hasEagerState?d.eagerState:e(r,d.action);else{var u={lane:h,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null};null===c?(l=c=u,o=r):c=c.next=u,fs.lanes|=h,Gl|=h}d=d.next}while(null!==d&&d!==s);null===c?o=r:c.next=l,or(r,t.memoizedState)||(So=!0),t.memoizedState=r,t.baseState=o,t.baseQueue=c,n.lastRenderedState=r}if(null!==(e=n.interleaved)){i=e;do{s=i.lane,fs.lanes|=s,Gl|=s,i=i.next}while(i!==e)}else null===i&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Ts(e){var t=Ms(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,s=t.memoizedState;if(null!==i){n.pending=null;var o=i=i.next;do{s=e(s,o.action),o=o.next}while(o!==i);or(s,t.memoizedState)||(So=!0),t.memoizedState=s,null===t.baseQueue&&(t.baseState=s),n.lastRenderedState=s}return[s,r]}function Is(){}function Cs(e,t){var n=fs,r=Ms(),i=t(),s=!or(r.memoizedState,i);if(s&&(r.memoizedState=i,So=!0),r=r.queue,Us(Rs.bind(null,n,r,e),[e]),r.getSnapshot!==t||s||null!==gs&&1&gs.memoizedState.tag){if(n.flags|=2048,qs(9,Vs.bind(null,n,r,i,t),void 0,null),null===Il)throw Error(a(349));0!==(30&ps)||Es(n,t,i)}return i}function Es(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=fs.updateQueue)?(t={lastEffect:null,stores:null},fs.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Vs(e,t,n,r){t.value=n,t.getSnapshot=r,Ds(t)&&Bs(e)}function Rs(e,t,n){return n((function(){Ds(t)&&Bs(e)}))}function Ds(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!or(e,n)}catch(r){return!0}}function Bs(e){var t=Ta(e,1);null!==t&&rc(t,e,1,-1)}function Gs(e){var t=js();return"function"===typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Ps,lastRenderedState:e},t.queue=e,e=e.dispatch=to.bind(null,fs,e),[t.memoizedState,e]}function qs(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=fs.updateQueue)?(t={lastEffect:null,stores:null},fs.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Hs(){return Ms().memoizedState}function Ws(e,t,n,r){var i=js();fs.flags|=e,i.memoizedState=qs(1|t,n,void 0,void 0===r?null:r)}function zs(e,t,n,r){var i=Ms();r=void 0===r?null:r;var a=void 0;if(null!==ms){var s=ms.memoizedState;if(a=s.destroy,null!==r&&bs(r,s.deps))return void(i.memoizedState=qs(t,n,a,r))}fs.flags|=e,i.memoizedState=qs(1|t,n,a,r)}function Js(e,t){return Ws(8390656,8,e,t)}function Us(e,t){return zs(2048,8,e,t)}function Ns(e,t){return zs(4,2,e,t)}function Ls(e,t){return zs(4,4,e,t)}function Ys(e,t){return"function"===typeof t?(e=e(),t(e),function(){t(null)}):null!==t&&void 0!==t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Fs(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,zs(4,4,Ys.bind(null,t,e),n)}function Zs(){}function Ks(e,t){var n=Ms();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&bs(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Qs(e,t){var n=Ms();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&bs(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Xs(e,t,n){return 0===(21&ps)?(e.baseState&&(e.baseState=!1,So=!0),e.memoizedState=n):(or(n,t)||(n=mt(),fs.lanes|=n,Gl|=n,e.baseState=!0),t)}function _s(e,t){var n=xt;xt=0!==n&&4>n?n:4,e(!0);var r=us.transition;us.transition={};try{e(!1),t()}finally{xt=n,us.transition=r}}function $s(){return Ms().memoizedState}function eo(e,t,n){var r=nc(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},no(e))ro(t,n);else if(null!==(n=Oa(e,t,n,r))){rc(n,e,r,tc()),io(n,t,r)}}function to(e,t,n){var r=nc(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(no(e))ro(t,i);else{var a=e.alternate;if(0===e.lanes&&(null===a||0===a.lanes)&&null!==(a=t.lastRenderedReducer))try{var s=t.lastRenderedState,o=a(s,n);if(i.hasEagerState=!0,i.eagerState=o,or(o,s)){var l=t.interleaved;return null===l?(i.next=i,Pa(t)):(i.next=l.next,l.next=i),void(t.interleaved=i)}}catch(c){}null!==(n=Oa(e,t,i,r))&&(rc(n,e,r,i=tc()),io(n,t,r))}}function no(e){var t=e.alternate;return e===fs||null!==t&&t===fs}function ro(e,t){vs=ys=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function io(e,t,n){if(0!==(4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,vt(e,n)}}var ao={readContext:ja,useCallback:As,useContext:As,useEffect:As,useImperativeHandle:As,useInsertionEffect:As,useLayoutEffect:As,useMemo:As,useReducer:As,useRef:As,useState:As,useDebugValue:As,useDeferredValue:As,useTransition:As,useMutableSource:As,useSyncExternalStore:As,useId:As,unstable_isNewReconciler:!1},so={readContext:ja,useCallback:function(e,t){return js().memoizedState=[e,void 0===t?null:t],e},useContext:ja,useEffect:Js,useImperativeHandle:function(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,Ws(4194308,4,Ys.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ws(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ws(4,2,e,t)},useMemo:function(e,t){var n=js();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=js();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=eo.bind(null,fs,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},js().memoizedState=e},useState:Gs,useDebugValue:Zs,useDeferredValue:function(e){return js().memoizedState=e},useTransition:function(){var e=Gs(!1),t=e[0];return e=_s.bind(null,e[1]),js().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=fs,i=js();if(ia){if(void 0===n)throw Error(a(407));n=n()}else{if(n=t(),null===Il)throw Error(a(349));0!==(30&ps)||Es(r,t,n)}i.memoizedState=n;var s={value:n,getSnapshot:t};return i.queue=s,Js(Rs.bind(null,r,s,e),[e]),r.flags|=2048,qs(9,Vs.bind(null,r,s,n,t),void 0,null),n},useId:function(){var e=js(),t=Il.identifierPrefix;if(ia){var n=Xi;t=":"+t+"R"+(n=(Qi&~(1<<32-st(Qi)-1)).toString(32)+n),0<(n=xs++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=Ss++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},oo={readContext:ja,useCallback:Ks,useContext:ja,useEffect:Us,useImperativeHandle:Fs,useInsertionEffect:Ns,useLayoutEffect:Ls,useMemo:Qs,useReducer:Os,useRef:Hs,useState:function(){return Os(Ps)},useDebugValue:Zs,useDeferredValue:function(e){return Xs(Ms(),ms.memoizedState,e)},useTransition:function(){return[Os(Ps)[0],Ms().memoizedState]},useMutableSource:Is,useSyncExternalStore:Cs,useId:$s,unstable_isNewReconciler:!1},lo={readContext:ja,useCallback:Ks,useContext:ja,useEffect:Us,useImperativeHandle:Fs,useInsertionEffect:Ns,useLayoutEffect:Ls,useMemo:Qs,useReducer:Ts,useRef:Hs,useState:function(){return Ts(Ps)},useDebugValue:Zs,useDeferredValue:function(e){var t=Ms();return null===ms?t.memoizedState=e:Xs(t,ms.memoizedState,e)},useTransition:function(){return[Ts(Ps)[0],Ms().memoizedState]},useMutableSource:Is,useSyncExternalStore:Cs,useId:$s,unstable_isNewReconciler:!1};function co(e,t){try{var n="",r=t;do{n+=z(r),r=r.return}while(r);var i=n}catch(a){i="\nError generating stack: "+a.message+"\n"+a.stack}return{value:e,source:t,stack:i,digest:null}}function ho(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function uo(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}var po="function"===typeof WeakMap?WeakMap:Map;function fo(e,t,n){(n=Va(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Ll||(Ll=!0,Yl=r),uo(0,t)},n}function mo(e,t,n){(n=Va(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"===typeof r){var i=t.value;n.payload=function(){return r(i)},n.callback=function(){uo(0,t)}}var a=e.stateNode;return null!==a&&"function"===typeof a.componentDidCatch&&(n.callback=function(){uo(0,t),"function"!==typeof r&&(null===Fl?Fl=new Set([this]):Fl.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function go(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new po;var i=new Set;r.set(t,i)}else void 0===(i=r.get(t))&&(i=new Set,r.set(t,i));i.has(n)||(i.add(n),e=Mc.bind(null,e,t,n),t.then(e,e))}function yo(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function vo(e,t,n,r,i){return 0===(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=Va(-1,1)).tag=2,Ra(n,t,1))),n.lanes|=1),e):(e.flags|=65536,e.lanes=i,e)}var xo=S.ReactCurrentOwner,So=!1;function Ao(e,t,n,r){t.child=null===e?Xa(t,null,n,r):Qa(t,e.child,n,r)}function bo(e,t,n,r,i){n=n.render;var a=t.ref;return wa(t,i),r=ks(e,t,n,r,a,i),n=ws(),null===e||So?(ia&&n&&ea(t),t.flags|=1,Ao(e,t,r,i),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Lo(e,t,i))}function ko(e,t,n,r,i){if(null===e){var a=n.type;return"function"!==typeof a||Vc(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Dc(n.type,null,r,t,t.mode,i)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,wo(e,t,a,r,i))}if(a=e.child,0===(e.lanes&i)){var s=a.memoizedProps;if((n=null!==(n=n.compare)?n:lr)(s,r)&&e.ref===t.ref)return Lo(e,t,i)}return t.flags|=1,(e=Rc(a,r)).ref=t.ref,e.return=t,t.child=e}function wo(e,t,n,r,i){if(null!==e){var a=e.memoizedProps;if(lr(a,r)&&e.ref===t.ref){if(So=!1,t.pendingProps=r=a,0===(e.lanes&i))return t.lanes=e.lanes,Lo(e,t,i);0!==(131072&e.flags)&&(So=!0)}}return Po(e,t,n,r,i)}function jo(e,t,n){var r=t.pendingProps,i=r.children,a=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(0===(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Mi(Rl,Vl),Vl|=n;else{if(0===(1073741824&n))return e=null!==a?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Mi(Rl,Vl),Vl|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==a?a.baseLanes:n,Mi(Rl,Vl),Vl|=r}else null!==a?(r=a.baseLanes|n,t.memoizedState=null):r=n,Mi(Rl,Vl),Vl|=r;return Ao(e,t,i,n),t.child}function Mo(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Po(e,t,n,r,i){var a=Ei(n)?Ii:Oi.current;return a=Ci(t,a),wa(t,i),n=ks(e,t,n,r,a,i),r=ws(),null===e||So?(ia&&r&&ea(t),t.flags|=1,Ao(e,t,n,i),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Lo(e,t,i))}function Oo(e,t,n,r,i){if(Ei(n)){var a=!0;Bi(t)}else a=!1;if(wa(t,i),null===t.stateNode)No(e,t),Ua(t,n,r),La(t,n,r,i),r=!0;else if(null===e){var s=t.stateNode,o=t.memoizedProps;s.props=o;var l=s.context,c=n.contextType;"object"===typeof c&&null!==c?c=ja(c):c=Ci(t,c=Ei(n)?Ii:Oi.current);var d=n.getDerivedStateFromProps,h="function"===typeof d||"function"===typeof s.getSnapshotBeforeUpdate;h||"function"!==typeof s.UNSAFE_componentWillReceiveProps&&"function"!==typeof s.componentWillReceiveProps||(o!==r||l!==c)&&Na(t,s,r,c),Ia=!1;var u=t.memoizedState;s.state=u,Ga(t,r,s,i),l=t.memoizedState,o!==r||u!==l||Ti.current||Ia?("function"===typeof d&&(Wa(t,n,d,r),l=t.memoizedState),(o=Ia||Ja(t,n,o,r,u,l,c))?(h||"function"!==typeof s.UNSAFE_componentWillMount&&"function"!==typeof s.componentWillMount||("function"===typeof s.componentWillMount&&s.componentWillMount(),"function"===typeof s.UNSAFE_componentWillMount&&s.UNSAFE_componentWillMount()),"function"===typeof s.componentDidMount&&(t.flags|=4194308)):("function"===typeof s.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),s.props=r,s.state=l,s.context=c,r=o):("function"===typeof s.componentDidMount&&(t.flags|=4194308),r=!1)}else{s=t.stateNode,Ea(e,t),o=t.memoizedProps,c=t.type===t.elementType?o:ga(t.type,o),s.props=c,h=t.pendingProps,u=s.context,"object"===typeof(l=n.contextType)&&null!==l?l=ja(l):l=Ci(t,l=Ei(n)?Ii:Oi.current);var p=n.getDerivedStateFromProps;(d="function"===typeof p||"function"===typeof s.getSnapshotBeforeUpdate)||"function"!==typeof s.UNSAFE_componentWillReceiveProps&&"function"!==typeof s.componentWillReceiveProps||(o!==h||u!==l)&&Na(t,s,r,l),Ia=!1,u=t.memoizedState,s.state=u,Ga(t,r,s,i);var f=t.memoizedState;o!==h||u!==f||Ti.current||Ia?("function"===typeof p&&(Wa(t,n,p,r),f=t.memoizedState),(c=Ia||Ja(t,n,c,r,u,f,l)||!1)?(d||"function"!==typeof s.UNSAFE_componentWillUpdate&&"function"!==typeof s.componentWillUpdate||("function"===typeof s.componentWillUpdate&&s.componentWillUpdate(r,f,l),"function"===typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(r,f,l)),"function"===typeof s.componentDidUpdate&&(t.flags|=4),"function"===typeof s.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!==typeof s.componentDidUpdate||o===e.memoizedProps&&u===e.memoizedState||(t.flags|=4),"function"!==typeof s.getSnapshotBeforeUpdate||o===e.memoizedProps&&u===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=f),s.props=r,s.state=f,s.context=l,r=c):("function"!==typeof s.componentDidUpdate||o===e.memoizedProps&&u===e.memoizedState||(t.flags|=4),"function"!==typeof s.getSnapshotBeforeUpdate||o===e.memoizedProps&&u===e.memoizedState||(t.flags|=1024),r=!1)}return To(e,t,n,r,a,i)}function To(e,t,n,r,i,a){Mo(e,t);var s=0!==(128&t.flags);if(!r&&!s)return i&&Gi(t,n,!1),Lo(e,t,a);r=t.stateNode,xo.current=t;var o=s&&"function"!==typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&s?(t.child=Qa(t,e.child,null,a),t.child=Qa(t,null,o,a)):Ao(e,t,o,a),t.memoizedState=r.state,i&&Gi(t,n,!0),t.child}function Io(e){var t=e.stateNode;t.pendingContext?Ri(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Ri(0,t.context,!1),rs(e,t.containerInfo)}function Co(e,t,n,r,i){return pa(),fa(i),t.flags|=256,Ao(e,t,n,r),t.child}var Eo,Vo,Ro,Do,Bo={dehydrated:null,treeContext:null,retryLane:0};function Go(e){return{baseLanes:e,cachePool:null,transitions:null}}function qo(e,t,n){var r,i=t.pendingProps,s=os.current,o=!1,l=0!==(128&t.flags);if((r=l)||(r=(null===e||null!==e.memoizedState)&&0!==(2&s)),r?(o=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(s|=1),Mi(os,1&s),null===e)return ca(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0===(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(l=i.children,e=i.fallback,o?(i=t.mode,o=t.child,l={mode:"hidden",children:l},0===(1&i)&&null!==o?(o.childLanes=0,o.pendingProps=l):o=Gc(l,i,0,null),e=Bc(e,i,n,null),o.return=t,e.return=t,o.sibling=e,t.child=o,t.child.memoizedState=Go(n),t.memoizedState=Bo,e):Ho(t,l));if(null!==(s=e.memoizedState)&&null!==(r=s.dehydrated))return function(e,t,n,r,i,s,o){if(n)return 256&t.flags?(t.flags&=-257,Wo(e,t,o,r=ho(Error(a(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(s=r.fallback,i=t.mode,r=Gc({mode:"visible",children:r.children},i,0,null),(s=Bc(s,i,o,null)).flags|=2,r.return=t,s.return=t,r.sibling=s,t.child=r,0!==(1&t.mode)&&Qa(t,e.child,null,o),t.child.memoizedState=Go(o),t.memoizedState=Bo,s);if(0===(1&t.mode))return Wo(e,t,o,null);if("$!"===i.data){if(r=i.nextSibling&&i.nextSibling.dataset)var l=r.dgst;return r=l,Wo(e,t,o,r=ho(s=Error(a(419)),r,void 0))}if(l=0!==(o&e.childLanes),So||l){if(null!==(r=Il)){switch(o&-o){case 4:i=2;break;case 16:i=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:i=32;break;case 536870912:i=268435456;break;default:i=0}0!==(i=0!==(i&(r.suspendedLanes|o))?0:i)&&i!==s.retryLane&&(s.retryLane=i,Ta(e,i),rc(r,e,i,-1))}return gc(),Wo(e,t,o,r=ho(Error(a(421))))}return"$?"===i.data?(t.flags|=128,t.child=e.child,t=Oc.bind(null,e),i._reactRetry=t,null):(e=s.treeContext,ra=ci(i.nextSibling),na=t,ia=!0,aa=null,null!==e&&(Fi[Zi++]=Qi,Fi[Zi++]=Xi,Fi[Zi++]=Ki,Qi=e.id,Xi=e.overflow,Ki=t),t=Ho(t,r.children),t.flags|=4096,t)}(e,t,l,i,r,s,n);if(o){o=i.fallback,l=t.mode,r=(s=e.child).sibling;var c={mode:"hidden",children:i.children};return 0===(1&l)&&t.child!==s?((i=t.child).childLanes=0,i.pendingProps=c,t.deletions=null):(i=Rc(s,c)).subtreeFlags=14680064&s.subtreeFlags,null!==r?o=Rc(r,o):(o=Bc(o,l,n,null)).flags|=2,o.return=t,i.return=t,i.sibling=o,t.child=i,i=o,o=t.child,l=null===(l=e.child.memoizedState)?Go(n):{baseLanes:l.baseLanes|n,cachePool:null,transitions:l.transitions},o.memoizedState=l,o.childLanes=e.childLanes&~n,t.memoizedState=Bo,i}return e=(o=e.child).sibling,i=Rc(o,{mode:"visible",children:i.children}),0===(1&t.mode)&&(i.lanes=n),i.return=t,i.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=i,t.memoizedState=null,i}function Ho(e,t){return(t=Gc({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Wo(e,t,n,r){return null!==r&&fa(r),Qa(t,e.child,null,n),(e=Ho(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function zo(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),ka(e.return,t,n)}function Jo(e,t,n,r,i){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=i)}function Uo(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;if(Ao(e,t,r.children,n),0!==(2&(r=os.current)))r=1&r|2,t.flags|=128;else{if(null!==e&&0!==(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&zo(e,n,t);else if(19===e.tag)zo(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Mi(os,r),0===(1&t.mode))t.memoizedState=null;else switch(i){case"forwards":for(n=t.child,i=null;null!==n;)null!==(e=n.alternate)&&null===ls(e)&&(i=n),n=n.sibling;null===(n=i)?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Jo(t,!1,i,n,a);break;case"backwards":for(n=null,i=t.child,t.child=null;null!==i;){if(null!==(e=i.alternate)&&null===ls(e)){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Jo(t,!0,n,null,a);break;case"together":Jo(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function No(e,t){0===(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Lo(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Gl|=t.lanes,0===(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(a(153));if(null!==t.child){for(n=Rc(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Rc(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Yo(e,t){if(!ia)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Fo(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;null!==i;)n|=i.lanes|i.childLanes,r|=14680064&i.subtreeFlags,r|=14680064&i.flags,i.return=e,i=i.sibling;else for(i=e.child;null!==i;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Zo(e,t,n){var r=t.pendingProps;switch(ta(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Fo(t),null;case 1:case 17:return Ei(t.type)&&Vi(),Fo(t),null;case 3:return r=t.stateNode,is(),ji(Ti),ji(Oi),ds(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(ha(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0===(256&t.flags)||(t.flags|=1024,null!==aa&&(oc(aa),aa=null))),Vo(e,t),Fo(t),null;case 5:ss(t);var i=ns(ts.current);if(n=t.type,null!==e&&null!=t.stateNode)Ro(e,t,n,r,i),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(a(166));return Fo(t),null}if(e=ns($a.current),ha(t)){r=t.stateNode,n=t.type;var s=t.memoizedProps;switch(r[ui]=t,r[pi]=s,e=0!==(1&t.mode),n){case"dialog":Hr("cancel",r),Hr("close",r);break;case"iframe":case"object":case"embed":Hr("load",r);break;case"video":case"audio":for(i=0;i<Dr.length;i++)Hr(Dr[i],r);break;case"source":Hr("error",r);break;case"img":case"image":case"link":Hr("error",r),Hr("load",r);break;case"details":Hr("toggle",r);break;case"input":Q(r,s),Hr("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!s.multiple},Hr("invalid",r);break;case"textarea":ie(r,s),Hr("invalid",r)}for(var l in ve(n,s),i=null,s)if(s.hasOwnProperty(l)){var c=s[l];"children"===l?"string"===typeof c?r.textContent!==c&&(!0!==s.suppressHydrationWarning&&_r(r.textContent,c,e),i=["children",c]):"number"===typeof c&&r.textContent!==""+c&&(!0!==s.suppressHydrationWarning&&_r(r.textContent,c,e),i=["children",""+c]):o.hasOwnProperty(l)&&null!=c&&"onScroll"===l&&Hr("scroll",r)}switch(n){case"input":Y(r),$(r,s,!0);break;case"textarea":Y(r),se(r);break;case"select":case"option":break;default:"function"===typeof s.onClick&&(r.onclick=$r)}r=i,t.updateQueue=r,null!==r&&(t.flags|=4)}else{l=9===i.nodeType?i:i.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=oe(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=l.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"===typeof r.is?e=l.createElement(n,{is:r.is}):(e=l.createElement(n),"select"===n&&(l=e,r.multiple?l.multiple=!0:r.size&&(l.size=r.size))):e=l.createElementNS(e,n),e[ui]=t,e[pi]=r,Eo(e,t,!1,!1),t.stateNode=e;e:{switch(l=xe(n,r),n){case"dialog":Hr("cancel",e),Hr("close",e),i=r;break;case"iframe":case"object":case"embed":Hr("load",e),i=r;break;case"video":case"audio":for(i=0;i<Dr.length;i++)Hr(Dr[i],e);i=r;break;case"source":Hr("error",e),i=r;break;case"img":case"image":case"link":Hr("error",e),Hr("load",e),i=r;break;case"details":Hr("toggle",e),i=r;break;case"input":Q(e,r),i=K(e,r),Hr("invalid",e);break;case"option":default:i=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},i=G({},r,{value:void 0}),Hr("invalid",e);break;case"textarea":ie(e,r),i=re(e,r),Hr("invalid",e)}for(s in ve(n,i),c=i)if(c.hasOwnProperty(s)){var d=c[s];"style"===s?ge(e,d):"dangerouslySetInnerHTML"===s?null!=(d=d?d.__html:void 0)&&he(e,d):"children"===s?"string"===typeof d?("textarea"!==n||""!==d)&&ue(e,d):"number"===typeof d&&ue(e,""+d):"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&"autoFocus"!==s&&(o.hasOwnProperty(s)?null!=d&&"onScroll"===s&&Hr("scroll",e):null!=d&&x(e,s,d,l))}switch(n){case"input":Y(e),$(e,r,!1);break;case"textarea":Y(e),se(e);break;case"option":null!=r.value&&e.setAttribute("value",""+N(r.value));break;case"select":e.multiple=!!r.multiple,null!=(s=r.value)?ne(e,!!r.multiple,s,!1):null!=r.defaultValue&&ne(e,!!r.multiple,r.defaultValue,!0);break;default:"function"===typeof i.onClick&&(e.onclick=$r)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Fo(t),null;case 6:if(e&&null!=t.stateNode)Do(e,t,e.memoizedProps,r);else{if("string"!==typeof r&&null===t.stateNode)throw Error(a(166));if(n=ns(ts.current),ns($a.current),ha(t)){if(r=t.stateNode,n=t.memoizedProps,r[ui]=t,(s=r.nodeValue!==n)&&null!==(e=na))switch(e.tag){case 3:_r(r.nodeValue,n,0!==(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&_r(r.nodeValue,n,0!==(1&e.mode))}s&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[ui]=t,t.stateNode=r}return Fo(t),null;case 13:if(ji(os),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(ia&&null!==ra&&0!==(1&t.mode)&&0===(128&t.flags))ua(),pa(),t.flags|=98560,s=!1;else if(s=ha(t),null!==r&&null!==r.dehydrated){if(null===e){if(!s)throw Error(a(318));if(!(s=null!==(s=t.memoizedState)?s.dehydrated:null))throw Error(a(317));s[ui]=t}else pa(),0===(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Fo(t),s=!1}else null!==aa&&(oc(aa),aa=null),s=!0;if(!s)return 65536&t.flags?t:null}return 0!==(128&t.flags)?(t.lanes=n,t):((r=null!==r)!==(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,0!==(1&t.mode)&&(null===e||0!==(1&os.current)?0===Dl&&(Dl=3):gc())),null!==t.updateQueue&&(t.flags|=4),Fo(t),null);case 4:return is(),Vo(e,t),null===e&&Jr(t.stateNode.containerInfo),Fo(t),null;case 10:return ba(t.type._context),Fo(t),null;case 19:if(ji(os),null===(s=t.memoizedState))return Fo(t),null;if(r=0!==(128&t.flags),null===(l=s.rendering))if(r)Yo(s,!1);else{if(0!==Dl||null!==e&&0!==(128&e.flags))for(e=t.child;null!==e;){if(null!==(l=ls(e))){for(t.flags|=128,Yo(s,!1),null!==(r=l.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)e=r,(s=n).flags&=14680066,null===(l=s.alternate)?(s.childLanes=0,s.lanes=e,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=l.childLanes,s.lanes=l.lanes,s.child=l.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=l.memoizedProps,s.memoizedState=l.memoizedState,s.updateQueue=l.updateQueue,s.type=l.type,e=l.dependencies,s.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Mi(os,1&os.current|2),t.child}e=e.sibling}null!==s.tail&&Xe()>Ul&&(t.flags|=128,r=!0,Yo(s,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=ls(l))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Yo(s,!0),null===s.tail&&"hidden"===s.tailMode&&!l.alternate&&!ia)return Fo(t),null}else 2*Xe()-s.renderingStartTime>Ul&&1073741824!==n&&(t.flags|=128,r=!0,Yo(s,!1),t.lanes=4194304);s.isBackwards?(l.sibling=t.child,t.child=l):(null!==(n=s.last)?n.sibling=l:t.child=l,s.last=l)}return null!==s.tail?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=Xe(),t.sibling=null,n=os.current,Mi(os,r?1&n|2:1&n),t):(Fo(t),null);case 22:case 23:return uc(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&0!==(1&t.mode)?0!==(1073741824&Vl)&&(Fo(t),6&t.subtreeFlags&&(t.flags|=8192)):Fo(t),null;case 24:case 25:return null}throw Error(a(156,t.tag))}function Ko(e,t){switch(ta(t),t.tag){case 1:return Ei(t.type)&&Vi(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return is(),ji(Ti),ji(Oi),ds(),0!==(65536&(e=t.flags))&&0===(128&e)?(t.flags=-65537&e|128,t):null;case 5:return ss(t),null;case 13:if(ji(os),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(a(340));pa()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return ji(os),null;case 4:return is(),null;case 10:return ba(t.type._context),null;case 22:case 23:return uc(),null;default:return null}}Eo=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Vo=function(){},Ro=function(e,t,n,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,ns($a.current);var a,s=null;switch(n){case"input":i=K(e,i),r=K(e,r),s=[];break;case"select":i=G({},i,{value:void 0}),r=G({},r,{value:void 0}),s=[];break;case"textarea":i=re(e,i),r=re(e,r),s=[];break;default:"function"!==typeof i.onClick&&"function"===typeof r.onClick&&(e.onclick=$r)}for(d in ve(n,r),n=null,i)if(!r.hasOwnProperty(d)&&i.hasOwnProperty(d)&&null!=i[d])if("style"===d){var l=i[d];for(a in l)l.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else"dangerouslySetInnerHTML"!==d&&"children"!==d&&"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&"autoFocus"!==d&&(o.hasOwnProperty(d)?s||(s=[]):(s=s||[]).push(d,null));for(d in r){var c=r[d];if(l=null!=i?i[d]:void 0,r.hasOwnProperty(d)&&c!==l&&(null!=c||null!=l))if("style"===d)if(l){for(a in l)!l.hasOwnProperty(a)||c&&c.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in c)c.hasOwnProperty(a)&&l[a]!==c[a]&&(n||(n={}),n[a]=c[a])}else n||(s||(s=[]),s.push(d,n)),n=c;else"dangerouslySetInnerHTML"===d?(c=c?c.__html:void 0,l=l?l.__html:void 0,null!=c&&l!==c&&(s=s||[]).push(d,c)):"children"===d?"string"!==typeof c&&"number"!==typeof c||(s=s||[]).push(d,""+c):"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&(o.hasOwnProperty(d)?(null!=c&&"onScroll"===d&&Hr("scroll",e),s||l===c||(s=[])):(s=s||[]).push(d,c))}n&&(s=s||[]).push("style",n);var d=s;(t.updateQueue=d)&&(t.flags|=4)}},Do=function(e,t,n,r){n!==r&&(t.flags|=4)};var Qo=!1,Xo=!1,_o="function"===typeof WeakSet?WeakSet:Set,$o=null;function el(e,t){var n=e.ref;if(null!==n)if("function"===typeof n)try{n(null)}catch(r){jc(e,t,r)}else n.current=null}function tl(e,t,n){try{n()}catch(r){jc(e,t,r)}}var nl=!1;function rl(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var i=r=r.next;do{if((i.tag&e)===e){var a=i.destroy;i.destroy=void 0,void 0!==a&&tl(t,n,a)}i=i.next}while(i!==r)}}function il(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function al(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"===typeof t?t(e):t.current=e}}function sl(e){var t=e.alternate;null!==t&&(e.alternate=null,sl(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[ui],delete t[pi],delete t[mi],delete t[gi],delete t[yi])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ol(e){return 5===e.tag||3===e.tag||4===e.tag}function ll(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||ol(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function cl(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!==(n=n._reactRootContainer)&&void 0!==n||null!==t.onclick||(t.onclick=$r));else if(4!==r&&null!==(e=e.child))for(cl(e,t,n),e=e.sibling;null!==e;)cl(e,t,n),e=e.sibling}function dl(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(dl(e,t,n),e=e.sibling;null!==e;)dl(e,t,n),e=e.sibling}var hl=null,ul=!1;function pl(e,t,n){for(n=n.child;null!==n;)fl(e,t,n),n=n.sibling}function fl(e,t,n){if(at&&"function"===typeof at.onCommitFiberUnmount)try{at.onCommitFiberUnmount(it,n)}catch(o){}switch(n.tag){case 5:Xo||el(n,t);case 6:var r=hl,i=ul;hl=null,pl(e,t,n),ul=i,null!==(hl=r)&&(ul?(e=hl,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):hl.removeChild(n.stateNode));break;case 18:null!==hl&&(ul?(e=hl,n=n.stateNode,8===e.nodeType?li(e.parentNode,n):1===e.nodeType&&li(e,n),Jt(e)):li(hl,n.stateNode));break;case 4:r=hl,i=ul,hl=n.stateNode.containerInfo,ul=!0,pl(e,t,n),hl=r,ul=i;break;case 0:case 11:case 14:case 15:if(!Xo&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){i=r=r.next;do{var a=i,s=a.destroy;a=a.tag,void 0!==s&&(0!==(2&a)||0!==(4&a))&&tl(n,t,s),i=i.next}while(i!==r)}pl(e,t,n);break;case 1:if(!Xo&&(el(n,t),"function"===typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(o){jc(n,t,o)}pl(e,t,n);break;case 21:pl(e,t,n);break;case 22:1&n.mode?(Xo=(r=Xo)||null!==n.memoizedState,pl(e,t,n),Xo=r):pl(e,t,n);break;default:pl(e,t,n)}}function ml(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new _o),t.forEach((function(t){var r=Tc.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function gl(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var i=n[r];try{var s=e,o=t,l=o;e:for(;null!==l;){switch(l.tag){case 5:hl=l.stateNode,ul=!1;break e;case 3:case 4:hl=l.stateNode.containerInfo,ul=!0;break e}l=l.return}if(null===hl)throw Error(a(160));fl(s,o,i),hl=null,ul=!1;var c=i.alternate;null!==c&&(c.return=null),i.return=null}catch(d){jc(i,t,d)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)yl(t,e),t=t.sibling}function yl(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(gl(t,e),vl(e),4&r){try{rl(3,e,e.return),il(3,e)}catch(g){jc(e,e.return,g)}try{rl(5,e,e.return)}catch(g){jc(e,e.return,g)}}break;case 1:gl(t,e),vl(e),512&r&&null!==n&&el(n,n.return);break;case 5:if(gl(t,e),vl(e),512&r&&null!==n&&el(n,n.return),32&e.flags){var i=e.stateNode;try{ue(i,"")}catch(g){jc(e,e.return,g)}}if(4&r&&null!=(i=e.stateNode)){var s=e.memoizedProps,o=null!==n?n.memoizedProps:s,l=e.type,c=e.updateQueue;if(e.updateQueue=null,null!==c)try{"input"===l&&"radio"===s.type&&null!=s.name&&X(i,s),xe(l,o);var d=xe(l,s);for(o=0;o<c.length;o+=2){var h=c[o],u=c[o+1];"style"===h?ge(i,u):"dangerouslySetInnerHTML"===h?he(i,u):"children"===h?ue(i,u):x(i,h,u,d)}switch(l){case"input":_(i,s);break;case"textarea":ae(i,s);break;case"select":var p=i._wrapperState.wasMultiple;i._wrapperState.wasMultiple=!!s.multiple;var f=s.value;null!=f?ne(i,!!s.multiple,f,!1):p!==!!s.multiple&&(null!=s.defaultValue?ne(i,!!s.multiple,s.defaultValue,!0):ne(i,!!s.multiple,s.multiple?[]:"",!1))}i[pi]=s}catch(g){jc(e,e.return,g)}}break;case 6:if(gl(t,e),vl(e),4&r){if(null===e.stateNode)throw Error(a(162));i=e.stateNode,s=e.memoizedProps;try{i.nodeValue=s}catch(g){jc(e,e.return,g)}}break;case 3:if(gl(t,e),vl(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{Jt(t.containerInfo)}catch(g){jc(e,e.return,g)}break;case 4:default:gl(t,e),vl(e);break;case 13:gl(t,e),vl(e),8192&(i=e.child).flags&&(s=null!==i.memoizedState,i.stateNode.isHidden=s,!s||null!==i.alternate&&null!==i.alternate.memoizedState||(Jl=Xe())),4&r&&ml(e);break;case 22:if(h=null!==n&&null!==n.memoizedState,1&e.mode?(Xo=(d=Xo)||h,gl(t,e),Xo=d):gl(t,e),vl(e),8192&r){if(d=null!==e.memoizedState,(e.stateNode.isHidden=d)&&!h&&0!==(1&e.mode))for($o=e,h=e.child;null!==h;){for(u=$o=h;null!==$o;){switch(f=(p=$o).child,p.tag){case 0:case 11:case 14:case 15:rl(4,p,p.return);break;case 1:el(p,p.return);var m=p.stateNode;if("function"===typeof m.componentWillUnmount){r=p,n=p.return;try{t=r,m.props=t.memoizedProps,m.state=t.memoizedState,m.componentWillUnmount()}catch(g){jc(r,n,g)}}break;case 5:el(p,p.return);break;case 22:if(null!==p.memoizedState){bl(u);continue}}null!==f?(f.return=p,$o=f):bl(u)}h=h.sibling}e:for(h=null,u=e;;){if(5===u.tag){if(null===h){h=u;try{i=u.stateNode,d?"function"===typeof(s=i.style).setProperty?s.setProperty("display","none","important"):s.display="none":(l=u.stateNode,o=void 0!==(c=u.memoizedProps.style)&&null!==c&&c.hasOwnProperty("display")?c.display:null,l.style.display=me("display",o))}catch(g){jc(e,e.return,g)}}}else if(6===u.tag){if(null===h)try{u.stateNode.nodeValue=d?"":u.memoizedProps}catch(g){jc(e,e.return,g)}}else if((22!==u.tag&&23!==u.tag||null===u.memoizedState||u===e)&&null!==u.child){u.child.return=u,u=u.child;continue}if(u===e)break e;for(;null===u.sibling;){if(null===u.return||u.return===e)break e;h===u&&(h=null),u=u.return}h===u&&(h=null),u.sibling.return=u.return,u=u.sibling}}break;case 19:gl(t,e),vl(e),4&r&&ml(e);case 21:}}function vl(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(ol(n)){var r=n;break e}n=n.return}throw Error(a(160))}switch(r.tag){case 5:var i=r.stateNode;32&r.flags&&(ue(i,""),r.flags&=-33),dl(e,ll(e),i);break;case 3:case 4:var s=r.stateNode.containerInfo;cl(e,ll(e),s);break;default:throw Error(a(161))}}catch(o){jc(e,e.return,o)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function xl(e,t,n){$o=e,Sl(e,t,n)}function Sl(e,t,n){for(var r=0!==(1&e.mode);null!==$o;){var i=$o,a=i.child;if(22===i.tag&&r){var s=null!==i.memoizedState||Qo;if(!s){var o=i.alternate,l=null!==o&&null!==o.memoizedState||Xo;o=Qo;var c=Xo;if(Qo=s,(Xo=l)&&!c)for($o=i;null!==$o;)l=(s=$o).child,22===s.tag&&null!==s.memoizedState?kl(i):null!==l?(l.return=s,$o=l):kl(i);for(;null!==a;)$o=a,Sl(a,t,n),a=a.sibling;$o=i,Qo=o,Xo=c}Al(e)}else 0!==(8772&i.subtreeFlags)&&null!==a?(a.return=i,$o=a):Al(e)}}function Al(e){for(;null!==$o;){var t=$o;if(0!==(8772&t.flags)){var n=t.alternate;try{if(0!==(8772&t.flags))switch(t.tag){case 0:case 11:case 15:Xo||il(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!Xo)if(null===n)r.componentDidMount();else{var i=t.elementType===t.type?n.memoizedProps:ga(t.type,n.memoizedProps);r.componentDidUpdate(i,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var s=t.updateQueue;null!==s&&qa(t,s,r);break;case 3:var o=t.updateQueue;if(null!==o){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}qa(t,o,n)}break;case 5:var l=t.stateNode;if(null===n&&4&t.flags){n=l;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&n.focus();break;case"img":c.src&&(n.src=c.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var d=t.alternate;if(null!==d){var h=d.memoizedState;if(null!==h){var u=h.dehydrated;null!==u&&Jt(u)}}}break;default:throw Error(a(163))}Xo||512&t.flags&&al(t)}catch(p){jc(t,t.return,p)}}if(t===e){$o=null;break}if(null!==(n=t.sibling)){n.return=t.return,$o=n;break}$o=t.return}}function bl(e){for(;null!==$o;){var t=$o;if(t===e){$o=null;break}var n=t.sibling;if(null!==n){n.return=t.return,$o=n;break}$o=t.return}}function kl(e){for(;null!==$o;){var t=$o;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{il(4,t)}catch(l){jc(t,n,l)}break;case 1:var r=t.stateNode;if("function"===typeof r.componentDidMount){var i=t.return;try{r.componentDidMount()}catch(l){jc(t,i,l)}}var a=t.return;try{al(t)}catch(l){jc(t,a,l)}break;case 5:var s=t.return;try{al(t)}catch(l){jc(t,s,l)}}}catch(l){jc(t,t.return,l)}if(t===e){$o=null;break}var o=t.sibling;if(null!==o){o.return=t.return,$o=o;break}$o=t.return}}var wl,jl=Math.ceil,Ml=S.ReactCurrentDispatcher,Pl=S.ReactCurrentOwner,Ol=S.ReactCurrentBatchConfig,Tl=0,Il=null,Cl=null,El=0,Vl=0,Rl=wi(0),Dl=0,Bl=null,Gl=0,ql=0,Hl=0,Wl=null,zl=null,Jl=0,Ul=1/0,Nl=null,Ll=!1,Yl=null,Fl=null,Zl=!1,Kl=null,Ql=0,Xl=0,_l=null,$l=-1,ec=0;function tc(){return 0!==(6&Tl)?Xe():-1!==$l?$l:$l=Xe()}function nc(e){return 0===(1&e.mode)?1:0!==(2&Tl)&&0!==El?El&-El:null!==ma.transition?(0===ec&&(ec=mt()),ec):0!==(e=xt)?e:e=void 0===(e=window.event)?16:Qt(e.type)}function rc(e,t,n,r){if(50<Xl)throw Xl=0,_l=null,Error(a(185));yt(e,n,r),0!==(2&Tl)&&e===Il||(e===Il&&(0===(2&Tl)&&(ql|=n),4===Dl&&lc(e,El)),ic(e,r),1===n&&0===Tl&&0===(1&t.mode)&&(Ul=Xe()+500,Hi&&Ji()))}function ic(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes;0<a;){var s=31-st(a),o=1<<s,l=i[s];-1===l?0!==(o&n)&&0===(o&r)||(i[s]=pt(o,t)):l<=t&&(e.expiredLanes|=o),a&=~o}}(e,t);var r=ut(e,e===Il?El:0);if(0===r)null!==n&&Ze(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&Ze(n),1===t)0===e.tag?function(e){Hi=!0,zi(e)}(cc.bind(null,e)):zi(cc.bind(null,e)),si((function(){0===(6&Tl)&&Ji()})),n=null;else{switch(St(r)){case 1:n=$e;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=rt}n=Ic(n,ac.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function ac(e,t){if($l=-1,ec=0,0!==(6&Tl))throw Error(a(327));var n=e.callbackNode;if(kc()&&e.callbackNode!==n)return null;var r=ut(e,e===Il?El:0);if(0===r)return null;if(0!==(30&r)||0!==(r&e.expiredLanes)||t)t=yc(e,r);else{t=r;var i=Tl;Tl|=2;var s=mc();for(Il===e&&El===t||(Nl=null,Ul=Xe()+500,pc(e,t));;)try{xc();break}catch(l){fc(e,l)}Aa(),Ml.current=s,Tl=i,null!==Cl?t=0:(Il=null,El=0,t=Dl)}if(0!==t){if(2===t&&(0!==(i=ft(e))&&(r=i,t=sc(e,i))),1===t)throw n=Bl,pc(e,0),lc(e,r),ic(e,Xe()),n;if(6===t)lc(e,r);else{if(i=e.current.alternate,0===(30&r)&&!function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!or(a(),i))return!1}catch(o){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(i)&&(2===(t=yc(e,r))&&(0!==(s=ft(e))&&(r=s,t=sc(e,s))),1===t))throw n=Bl,pc(e,0),lc(e,r),ic(e,Xe()),n;switch(e.finishedWork=i,e.finishedLanes=r,t){case 0:case 1:throw Error(a(345));case 2:case 5:bc(e,zl,Nl);break;case 3:if(lc(e,r),(130023424&r)===r&&10<(t=Jl+500-Xe())){if(0!==ut(e,0))break;if(((i=e.suspendedLanes)&r)!==r){tc(),e.pingedLanes|=e.suspendedLanes&i;break}e.timeoutHandle=ri(bc.bind(null,e,zl,Nl),t);break}bc(e,zl,Nl);break;case 4:if(lc(e,r),(4194240&r)===r)break;for(t=e.eventTimes,i=-1;0<r;){var o=31-st(r);s=1<<o,(o=t[o])>i&&(i=o),r&=~s}if(r=i,10<(r=(120>(r=Xe()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*jl(r/1960))-r)){e.timeoutHandle=ri(bc.bind(null,e,zl,Nl),r);break}bc(e,zl,Nl);break;default:throw Error(a(329))}}}return ic(e,Xe()),e.callbackNode===n?ac.bind(null,e):null}function sc(e,t){var n=Wl;return e.current.memoizedState.isDehydrated&&(pc(e,t).flags|=256),2!==(e=yc(e,t))&&(t=zl,zl=n,null!==t&&oc(t)),e}function oc(e){null===zl?zl=e:zl.push.apply(zl,e)}function lc(e,t){for(t&=~Hl,t&=~ql,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-st(t),r=1<<n;e[n]=-1,t&=~r}}function cc(e){if(0!==(6&Tl))throw Error(a(327));kc();var t=ut(e,0);if(0===(1&t))return ic(e,Xe()),null;var n=yc(e,t);if(0!==e.tag&&2===n){var r=ft(e);0!==r&&(t=r,n=sc(e,r))}if(1===n)throw n=Bl,pc(e,0),lc(e,t),ic(e,Xe()),n;if(6===n)throw Error(a(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,bc(e,zl,Nl),ic(e,Xe()),null}function dc(e,t){var n=Tl;Tl|=1;try{return e(t)}finally{0===(Tl=n)&&(Ul=Xe()+500,Hi&&Ji())}}function hc(e){null!==Kl&&0===Kl.tag&&0===(6&Tl)&&kc();var t=Tl;Tl|=1;var n=Ol.transition,r=xt;try{if(Ol.transition=null,xt=1,e)return e()}finally{xt=r,Ol.transition=n,0===(6&(Tl=t))&&Ji()}}function uc(){Vl=Rl.current,ji(Rl)}function pc(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,ii(n)),null!==Cl)for(n=Cl.return;null!==n;){var r=n;switch(ta(r),r.tag){case 1:null!==(r=r.type.childContextTypes)&&void 0!==r&&Vi();break;case 3:is(),ji(Ti),ji(Oi),ds();break;case 5:ss(r);break;case 4:is();break;case 13:case 19:ji(os);break;case 10:ba(r.type._context);break;case 22:case 23:uc()}n=n.return}if(Il=e,Cl=e=Rc(e.current,null),El=Vl=t,Dl=0,Bl=null,Hl=ql=Gl=0,zl=Wl=null,null!==Ma){for(t=0;t<Ma.length;t++)if(null!==(r=(n=Ma[t]).interleaved)){n.interleaved=null;var i=r.next,a=n.pending;if(null!==a){var s=a.next;a.next=i,r.next=s}n.pending=r}Ma=null}return e}function fc(e,t){for(;;){var n=Cl;try{if(Aa(),hs.current=ao,ys){for(var r=fs.memoizedState;null!==r;){var i=r.queue;null!==i&&(i.pending=null),r=r.next}ys=!1}if(ps=0,gs=ms=fs=null,vs=!1,xs=0,Pl.current=null,null===n||null===n.return){Dl=1,Bl=t,Cl=null;break}e:{var s=e,o=n.return,l=n,c=t;if(t=El,l.flags|=32768,null!==c&&"object"===typeof c&&"function"===typeof c.then){var d=c,h=l,u=h.tag;if(0===(1&h.mode)&&(0===u||11===u||15===u)){var p=h.alternate;p?(h.updateQueue=p.updateQueue,h.memoizedState=p.memoizedState,h.lanes=p.lanes):(h.updateQueue=null,h.memoizedState=null)}var f=yo(o);if(null!==f){f.flags&=-257,vo(f,o,l,0,t),1&f.mode&&go(s,d,t),c=d;var m=(t=f).updateQueue;if(null===m){var g=new Set;g.add(c),t.updateQueue=g}else m.add(c);break e}if(0===(1&t)){go(s,d,t),gc();break e}c=Error(a(426))}else if(ia&&1&l.mode){var y=yo(o);if(null!==y){0===(65536&y.flags)&&(y.flags|=256),vo(y,o,l,0,t),fa(co(c,l));break e}}s=c=co(c,l),4!==Dl&&(Dl=2),null===Wl?Wl=[s]:Wl.push(s),s=o;do{switch(s.tag){case 3:s.flags|=65536,t&=-t,s.lanes|=t,Ba(s,fo(0,c,t));break e;case 1:l=c;var v=s.type,x=s.stateNode;if(0===(128&s.flags)&&("function"===typeof v.getDerivedStateFromError||null!==x&&"function"===typeof x.componentDidCatch&&(null===Fl||!Fl.has(x)))){s.flags|=65536,t&=-t,s.lanes|=t,Ba(s,mo(s,l,t));break e}}s=s.return}while(null!==s)}Ac(n)}catch(S){t=S,Cl===n&&null!==n&&(Cl=n=n.return);continue}break}}function mc(){var e=Ml.current;return Ml.current=ao,null===e?ao:e}function gc(){0!==Dl&&3!==Dl&&2!==Dl||(Dl=4),null===Il||0===(268435455&Gl)&&0===(268435455&ql)||lc(Il,El)}function yc(e,t){var n=Tl;Tl|=2;var r=mc();for(Il===e&&El===t||(Nl=null,pc(e,t));;)try{vc();break}catch(i){fc(e,i)}if(Aa(),Tl=n,Ml.current=r,null!==Cl)throw Error(a(261));return Il=null,El=0,Dl}function vc(){for(;null!==Cl;)Sc(Cl)}function xc(){for(;null!==Cl&&!Ke();)Sc(Cl)}function Sc(e){var t=wl(e.alternate,e,Vl);e.memoizedProps=e.pendingProps,null===t?Ac(e):Cl=t,Pl.current=null}function Ac(e){var t=e;do{var n=t.alternate;if(e=t.return,0===(32768&t.flags)){if(null!==(n=Zo(n,t,Vl)))return void(Cl=n)}else{if(null!==(n=Ko(n,t)))return n.flags&=32767,void(Cl=n);if(null===e)return Dl=6,void(Cl=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}if(null!==(t=t.sibling))return void(Cl=t);Cl=t=e}while(null!==t);0===Dl&&(Dl=5)}function bc(e,t,n){var r=xt,i=Ol.transition;try{Ol.transition=null,xt=1,function(e,t,n,r){do{kc()}while(null!==Kl);if(0!==(6&Tl))throw Error(a(327));n=e.finishedWork;var i=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(a(177));e.callbackNode=null,e.callbackPriority=0;var s=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var i=31-st(n),a=1<<i;t[i]=0,r[i]=-1,e[i]=-1,n&=~a}}(e,s),e===Il&&(Cl=Il=null,El=0),0===(2064&n.subtreeFlags)&&0===(2064&n.flags)||Zl||(Zl=!0,Ic(tt,(function(){return kc(),null}))),s=0!==(15990&n.flags),0!==(15990&n.subtreeFlags)||s){s=Ol.transition,Ol.transition=null;var o=xt;xt=1;var l=Tl;Tl|=4,Pl.current=null,function(e,t){if(ei=Nt,pr(e=ur())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var i=r.anchorOffset,s=r.focusNode;r=r.focusOffset;try{n.nodeType,s.nodeType}catch(A){n=null;break e}var o=0,l=-1,c=-1,d=0,h=0,u=e,p=null;t:for(;;){for(var f;u!==n||0!==i&&3!==u.nodeType||(l=o+i),u!==s||0!==r&&3!==u.nodeType||(c=o+r),3===u.nodeType&&(o+=u.nodeValue.length),null!==(f=u.firstChild);)p=u,u=f;for(;;){if(u===e)break t;if(p===n&&++d===i&&(l=o),p===s&&++h===r&&(c=o),null!==(f=u.nextSibling))break;p=(u=p).parentNode}u=f}n=-1===l||-1===c?null:{start:l,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(ti={focusedElem:e,selectionRange:n},Nt=!1,$o=t;null!==$o;)if(e=(t=$o).child,0!==(1028&t.subtreeFlags)&&null!==e)e.return=t,$o=e;else for(;null!==$o;){t=$o;try{var m=t.alternate;if(0!==(1024&t.flags))switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==m){var g=m.memoizedProps,y=m.memoizedState,v=t.stateNode,x=v.getSnapshotBeforeUpdate(t.elementType===t.type?g:ga(t.type,g),y);v.__reactInternalSnapshotBeforeUpdate=x}break;case 3:var S=t.stateNode.containerInfo;1===S.nodeType?S.textContent="":9===S.nodeType&&S.documentElement&&S.removeChild(S.documentElement);break;default:throw Error(a(163))}}catch(A){jc(t,t.return,A)}if(null!==(e=t.sibling)){e.return=t.return,$o=e;break}$o=t.return}m=nl,nl=!1}(e,n),yl(n,e),fr(ti),Nt=!!ei,ti=ei=null,e.current=n,xl(n,e,i),Qe(),Tl=l,xt=o,Ol.transition=s}else e.current=n;if(Zl&&(Zl=!1,Kl=e,Ql=i),s=e.pendingLanes,0===s&&(Fl=null),function(e){if(at&&"function"===typeof at.onCommitFiberRoot)try{at.onCommitFiberRoot(it,e,void 0,128===(128&e.current.flags))}catch(t){}}(n.stateNode),ic(e,Xe()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)i=t[n],r(i.value,{componentStack:i.stack,digest:i.digest});if(Ll)throw Ll=!1,e=Yl,Yl=null,e;0!==(1&Ql)&&0!==e.tag&&kc(),s=e.pendingLanes,0!==(1&s)?e===_l?Xl++:(Xl=0,_l=e):Xl=0,Ji()}(e,t,n,r)}finally{Ol.transition=i,xt=r}return null}function kc(){if(null!==Kl){var e=St(Ql),t=Ol.transition,n=xt;try{if(Ol.transition=null,xt=16>e?16:e,null===Kl)var r=!1;else{if(e=Kl,Kl=null,Ql=0,0!==(6&Tl))throw Error(a(331));var i=Tl;for(Tl|=4,$o=e.current;null!==$o;){var s=$o,o=s.child;if(0!==(16&$o.flags)){var l=s.deletions;if(null!==l){for(var c=0;c<l.length;c++){var d=l[c];for($o=d;null!==$o;){var h=$o;switch(h.tag){case 0:case 11:case 15:rl(8,h,s)}var u=h.child;if(null!==u)u.return=h,$o=u;else for(;null!==$o;){var p=(h=$o).sibling,f=h.return;if(sl(h),h===d){$o=null;break}if(null!==p){p.return=f,$o=p;break}$o=f}}}var m=s.alternate;if(null!==m){var g=m.child;if(null!==g){m.child=null;do{var y=g.sibling;g.sibling=null,g=y}while(null!==g)}}$o=s}}if(0!==(2064&s.subtreeFlags)&&null!==o)o.return=s,$o=o;else e:for(;null!==$o;){if(0!==(2048&(s=$o).flags))switch(s.tag){case 0:case 11:case 15:rl(9,s,s.return)}var v=s.sibling;if(null!==v){v.return=s.return,$o=v;break e}$o=s.return}}var x=e.current;for($o=x;null!==$o;){var S=(o=$o).child;if(0!==(2064&o.subtreeFlags)&&null!==S)S.return=o,$o=S;else e:for(o=x;null!==$o;){if(0!==(2048&(l=$o).flags))try{switch(l.tag){case 0:case 11:case 15:il(9,l)}}catch(b){jc(l,l.return,b)}if(l===o){$o=null;break e}var A=l.sibling;if(null!==A){A.return=l.return,$o=A;break e}$o=l.return}}if(Tl=i,Ji(),at&&"function"===typeof at.onPostCommitFiberRoot)try{at.onPostCommitFiberRoot(it,e)}catch(b){}r=!0}return r}finally{xt=n,Ol.transition=t}}return!1}function wc(e,t,n){e=Ra(e,t=fo(0,t=co(n,t),1),1),t=tc(),null!==e&&(yt(e,1,t),ic(e,t))}function jc(e,t,n){if(3===e.tag)wc(e,e,n);else for(;null!==t;){if(3===t.tag){wc(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"===typeof t.type.getDerivedStateFromError||"function"===typeof r.componentDidCatch&&(null===Fl||!Fl.has(r))){t=Ra(t,e=mo(t,e=co(n,e),1),1),e=tc(),null!==t&&(yt(t,1,e),ic(t,e));break}}t=t.return}}function Mc(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=tc(),e.pingedLanes|=e.suspendedLanes&n,Il===e&&(El&n)===n&&(4===Dl||3===Dl&&(130023424&El)===El&&500>Xe()-Jl?pc(e,0):Hl|=n),ic(e,t)}function Pc(e,t){0===t&&(0===(1&e.mode)?t=1:(t=dt,0===(130023424&(dt<<=1))&&(dt=4194304)));var n=tc();null!==(e=Ta(e,t))&&(yt(e,t,n),ic(e,n))}function Oc(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Pc(e,n)}function Tc(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;null!==i&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(a(314))}null!==r&&r.delete(t),Pc(e,n)}function Ic(e,t){return Fe(e,t)}function Cc(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ec(e,t,n,r){return new Cc(e,t,n,r)}function Vc(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Rc(e,t){var n=e.alternate;return null===n?((n=Ec(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Dc(e,t,n,r,i,s){var o=2;if(r=e,"function"===typeof e)Vc(e)&&(o=1);else if("string"===typeof e)o=5;else e:switch(e){case k:return Bc(n.children,i,s,t);case w:o=8,i|=8;break;case j:return(e=Ec(12,n,t,2|i)).elementType=j,e.lanes=s,e;case T:return(e=Ec(13,n,t,i)).elementType=T,e.lanes=s,e;case I:return(e=Ec(19,n,t,i)).elementType=I,e.lanes=s,e;case V:return Gc(n,i,s,t);default:if("object"===typeof e&&null!==e)switch(e.$$typeof){case M:o=10;break e;case P:o=9;break e;case O:o=11;break e;case C:o=14;break e;case E:o=16,r=null;break e}throw Error(a(130,null==e?e:typeof e,""))}return(t=Ec(o,n,t,i)).elementType=e,t.type=r,t.lanes=s,t}function Bc(e,t,n,r){return(e=Ec(7,e,r,t)).lanes=n,e}function Gc(e,t,n,r){return(e=Ec(22,e,r,t)).elementType=V,e.lanes=n,e.stateNode={isHidden:!1},e}function qc(e,t,n){return(e=Ec(6,e,null,t)).lanes=n,e}function Hc(e,t,n){return(t=Ec(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Wc(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=gt(0),this.expirationTimes=gt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=gt(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function zc(e,t,n,r,i,a,s,o,l){return e=new Wc(e,t,n,o,l),1===t?(t=1,!0===a&&(t|=8)):t=0,a=Ec(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ca(a),e}function Jc(e){if(!e)return Pi;e:{if(Je(e=e._reactInternals)!==e||1!==e.tag)throw Error(a(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Ei(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(a(171))}if(1===e.tag){var n=e.type;if(Ei(n))return Di(e,n,t)}return t}function Uc(e,t,n,r,i,a,s,o,l){return(e=zc(n,r,!0,e,0,a,0,o,l)).context=Jc(null),n=e.current,(a=Va(r=tc(),i=nc(n))).callback=void 0!==t&&null!==t?t:null,Ra(n,a,i),e.current.lanes=i,yt(e,i,r),ic(e,r),e}function Nc(e,t,n,r){var i=t.current,a=tc(),s=nc(i);return n=Jc(n),null===t.context?t.context=n:t.pendingContext=n,(t=Va(a,s)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=Ra(i,t,s))&&(rc(e,i,s,a),Da(e,i,s)),s}function Lc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Yc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Fc(e,t){Yc(e,t),(e=e.alternate)&&Yc(e,t)}wl=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||Ti.current)So=!0;else{if(0===(e.lanes&n)&&0===(128&t.flags))return So=!1,function(e,t,n){switch(t.tag){case 3:Io(t),pa();break;case 5:as(t);break;case 1:Ei(t.type)&&Bi(t);break;case 4:rs(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,i=t.memoizedProps.value;Mi(ya,r._currentValue),r._currentValue=i;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(Mi(os,1&os.current),t.flags|=128,null):0!==(n&t.child.childLanes)?qo(e,t,n):(Mi(os,1&os.current),null!==(e=Lo(e,t,n))?e.sibling:null);Mi(os,1&os.current);break;case 19:if(r=0!==(n&t.childLanes),0!==(128&e.flags)){if(r)return Uo(e,t,n);t.flags|=128}if(null!==(i=t.memoizedState)&&(i.rendering=null,i.tail=null,i.lastEffect=null),Mi(os,os.current),r)break;return null;case 22:case 23:return t.lanes=0,jo(e,t,n)}return Lo(e,t,n)}(e,t,n);So=0!==(131072&e.flags)}else So=!1,ia&&0!==(1048576&t.flags)&&$i(t,Yi,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;No(e,t),e=t.pendingProps;var i=Ci(t,Oi.current);wa(t,n),i=ks(null,t,r,e,i,n);var s=ws();return t.flags|=1,"object"===typeof i&&null!==i&&"function"===typeof i.render&&void 0===i.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ei(r)?(s=!0,Bi(t)):s=!1,t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null,Ca(t),i.updater=za,t.stateNode=i,i._reactInternals=t,La(t,r,e,n),t=To(null,t,r,!0,s,n)):(t.tag=0,ia&&s&&ea(t),Ao(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(No(e,t),e=t.pendingProps,r=(i=r._init)(r._payload),t.type=r,i=t.tag=function(e){if("function"===typeof e)return Vc(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===O)return 11;if(e===C)return 14}return 2}(r),e=ga(r,e),i){case 0:t=Po(null,t,r,e,n);break e;case 1:t=Oo(null,t,r,e,n);break e;case 11:t=bo(null,t,r,e,n);break e;case 14:t=ko(null,t,r,ga(r.type,e),n);break e}throw Error(a(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,Po(e,t,r,i=t.elementType===r?i:ga(r,i),n);case 1:return r=t.type,i=t.pendingProps,Oo(e,t,r,i=t.elementType===r?i:ga(r,i),n);case 3:e:{if(Io(t),null===e)throw Error(a(387));r=t.pendingProps,i=(s=t.memoizedState).element,Ea(e,t),Ga(t,r,null,n);var o=t.memoizedState;if(r=o.element,s.isDehydrated){if(s={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=s,t.memoizedState=s,256&t.flags){t=Co(e,t,r,n,i=co(Error(a(423)),t));break e}if(r!==i){t=Co(e,t,r,n,i=co(Error(a(424)),t));break e}for(ra=ci(t.stateNode.containerInfo.firstChild),na=t,ia=!0,aa=null,n=Xa(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(pa(),r===i){t=Lo(e,t,n);break e}Ao(e,t,r,n)}t=t.child}return t;case 5:return as(t),null===e&&ca(t),r=t.type,i=t.pendingProps,s=null!==e?e.memoizedProps:null,o=i.children,ni(r,i)?o=null:null!==s&&ni(r,s)&&(t.flags|=32),Mo(e,t),Ao(e,t,o,n),t.child;case 6:return null===e&&ca(t),null;case 13:return qo(e,t,n);case 4:return rs(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Qa(t,null,r,n):Ao(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,bo(e,t,r,i=t.elementType===r?i:ga(r,i),n);case 7:return Ao(e,t,t.pendingProps,n),t.child;case 8:case 12:return Ao(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,s=t.memoizedProps,o=i.value,Mi(ya,r._currentValue),r._currentValue=o,null!==s)if(or(s.value,o)){if(s.children===i.children&&!Ti.current){t=Lo(e,t,n);break e}}else for(null!==(s=t.child)&&(s.return=t);null!==s;){var l=s.dependencies;if(null!==l){o=s.child;for(var c=l.firstContext;null!==c;){if(c.context===r){if(1===s.tag){(c=Va(-1,n&-n)).tag=2;var d=s.updateQueue;if(null!==d){var h=(d=d.shared).pending;null===h?c.next=c:(c.next=h.next,h.next=c),d.pending=c}}s.lanes|=n,null!==(c=s.alternate)&&(c.lanes|=n),ka(s.return,n,t),l.lanes|=n;break}c=c.next}}else if(10===s.tag)o=s.type===t.type?null:s.child;else if(18===s.tag){if(null===(o=s.return))throw Error(a(341));o.lanes|=n,null!==(l=o.alternate)&&(l.lanes|=n),ka(o,n,t),o=s.sibling}else o=s.child;if(null!==o)o.return=s;else for(o=s;null!==o;){if(o===t){o=null;break}if(null!==(s=o.sibling)){s.return=o.return,o=s;break}o=o.return}s=o}Ao(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,wa(t,n),r=r(i=ja(i)),t.flags|=1,Ao(e,t,r,n),t.child;case 14:return i=ga(r=t.type,t.pendingProps),ko(e,t,r,i=ga(r.type,i),n);case 15:return wo(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:ga(r,i),No(e,t),t.tag=1,Ei(r)?(e=!0,Bi(t)):e=!1,wa(t,n),Ua(t,r,i),La(t,r,i,n),To(null,t,r,!0,e,n);case 19:return Uo(e,t,n);case 22:return jo(e,t,n)}throw Error(a(156,t.tag))};var Zc="function"===typeof reportError?reportError:function(e){console.error(e)};function Kc(e){this._internalRoot=e}function Qc(e){this._internalRoot=e}function Xc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function _c(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function $c(){}function ed(e,t,n,r,i){var a=n._reactRootContainer;if(a){var s=a;if("function"===typeof i){var o=i;i=function(){var e=Lc(s);o.call(e)}}Nc(t,s,e,i)}else s=function(e,t,n,r,i){if(i){if("function"===typeof r){var a=r;r=function(){var e=Lc(s);a.call(e)}}var s=Uc(t,r,e,0,null,!1,0,"",$c);return e._reactRootContainer=s,e[fi]=s.current,Jr(8===e.nodeType?e.parentNode:e),hc(),s}for(;i=e.lastChild;)e.removeChild(i);if("function"===typeof r){var o=r;r=function(){var e=Lc(l);o.call(e)}}var l=zc(e,0,!1,null,0,!1,0,"",$c);return e._reactRootContainer=l,e[fi]=l.current,Jr(8===e.nodeType?e.parentNode:e),hc((function(){Nc(t,l,n,r)})),l}(n,t,e,i,r);return Lc(s)}Qc.prototype.render=Kc.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(a(409));Nc(e,t,null,null)},Qc.prototype.unmount=Kc.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;hc((function(){Nc(null,e,null,null)})),t[fi]=null}},Qc.prototype.unstable_scheduleHydration=function(e){if(e){var t=wt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Vt.length&&0!==t&&t<Vt[n].priority;n++);Vt.splice(n,0,e),0===n&&Gt(e)}},At=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=ht(t.pendingLanes);0!==n&&(vt(t,1|n),ic(t,Xe()),0===(6&Tl)&&(Ul=Xe()+500,Ji()))}break;case 13:hc((function(){var t=Ta(e,1);if(null!==t){var n=tc();rc(t,e,1,n)}})),Fc(e,1)}},bt=function(e){if(13===e.tag){var t=Ta(e,134217728);if(null!==t)rc(t,e,134217728,tc());Fc(e,134217728)}},kt=function(e){if(13===e.tag){var t=nc(e),n=Ta(e,t);if(null!==n)rc(n,e,t,tc());Fc(e,t)}},wt=function(){return xt},jt=function(e,t){var n=xt;try{return xt=e,t()}finally{xt=n}},be=function(e,t,n){switch(t){case"input":if(_(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=Ai(r);if(!i)throw Error(a(90));F(r),_(r,i)}}}break;case"textarea":ae(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Oe=dc,Te=hc;var td={usingClientEntryPoint:!1,Events:[xi,Si,Ai,Me,Pe,dc]},nd={findFiberByHostInstance:vi,bundleType:0,version:"18.2.0",rendererPackageName:"react-dom"},rd={bundleType:nd.bundleType,version:nd.version,rendererPackageName:nd.rendererPackageName,rendererConfig:nd.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:S.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Le(e))?null:e.stateNode},findFiberByHostInstance:nd.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0-next-9e3b772b8-20220608"};if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var id=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!id.isDisabled&&id.supportsFiber)try{it=id.inject(rd),at=id}catch(de){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=td,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Xc(t))throw Error(a(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:b,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Xc(e))throw Error(a(299));var n=!1,r="",i=Zc;return null!==t&&void 0!==t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(i=t.onRecoverableError)),t=zc(e,1,!1,null,0,n,0,r,i),e[fi]=t.current,Jr(8===e.nodeType?e.parentNode:e),new Kc(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"===typeof e.render)throw Error(a(188));throw e=Object.keys(e).join(","),Error(a(268,e))}return e=null===(e=Le(t))?null:e.stateNode},t.flushSync=function(e){return hc(e)},t.hydrate=function(e,t,n){if(!_c(t))throw Error(a(200));return ed(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Xc(e))throw Error(a(405));var r=null!=n&&n.hydratedSources||null,i=!1,s="",o=Zc;if(null!==n&&void 0!==n&&(!0===n.unstable_strictMode&&(i=!0),void 0!==n.identifierPrefix&&(s=n.identifierPrefix),void 0!==n.onRecoverableError&&(o=n.onRecoverableError)),t=Uc(t,null,e,1,null!=n?n:null,i,0,s,o),e[fi]=t.current,Jr(e),r)for(e=0;e<r.length;e++)i=(i=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,i]:t.mutableSourceEagerHydrationData.push(n,i);return new Qc(t)},t.render=function(e,t,n){if(!_c(t))throw Error(a(200));return ed(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!_c(e))throw Error(a(40));return!!e._reactRootContainer&&(hc((function(){ed(null,null,e,!1,(function(){e._reactRootContainer=null,e[fi]=null}))})),!0)},t.unstable_batchedUpdates=dc,t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!_c(n))throw Error(a(200));if(null==e||void 0===e._reactInternals)throw Error(a(38));return ed(e,t,n,!1,r)},t.version="18.2.0-next-9e3b772b8-20220608"},391:(e,t,n)=>{"use strict";var r=n(950);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},950:(e,t,n)=>{"use strict";!function e(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(730)},681:function(e,t,n){var r;"undefined"!=typeof self&&self,r=function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=3)}([function(t,n){t.exports=e},function(e,t,n){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&s(e,t)}function s(e,t){return(s=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function o(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=l(e);if(t){var a=l(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return function(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}(this,n)}}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Background=t.Parallax=void 0;var d=c(n(0)),h=function(e){a(n,e);var t=o(n);function n(){return i(this,n),t.apply(this,arguments)}return n}(d.default.Component);t.Parallax=h;var u=function(e){a(n,e);var t=o(n);function n(){return i(this,n),t.apply(this,arguments)}return n}(d.default.Component);t.Background=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.canUseDOM=t.getNodeHeight=t.isScrolledIntoView=t.getWindowHeight=void 0,t.getWindowHeight=function(e){if(!e)return 0;var t=window,n=document,r=n.documentElement,i=n.getElementsByTagName("body")[0];return t.innerHeight||r.clientHeight||i.clientHeight},t.isScrolledIntoView=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0;if(!r)return!1;var i=e.getBoundingClientRect().top-n,a=e.getBoundingClientRect().bottom+n;return i<=t.getWindowHeight(r)&&a>=0},t.getNodeHeight=function(e,n){return e?n&&"clientHeight"in n?n.clientHeight:t.getWindowHeight(e):0},t.canUseDOM=function(){return!("undefined"==typeof window||!window.document||!window.document.createElement)}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Background=t.Parallax=void 0;var i=r(n(4));t.Parallax=i.default;var a=r(n(7));t.Background=a.default},function(e,t,n){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function a(e,t){return(a=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function s(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return function(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}(this,n)}}function o(e){return(o=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var c=l(n(0)),d=n(1),h=n(5),u=n(2),p=l(n(6)),f={position:"absolute",left:"50%",WebkitTransform:"translate3d(-50%, 0, 0)",transform:"translate3d(-50%, 0, 0)",WebkitTransformStyle:"preserve-3d",WebkitBackfaceVisibility:"hidden",MozBackfaceVisibility:"hidden",MsBackfaceVisibility:"hidden"},m=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&a(e,t)}(n,e);var t=s(n);function n(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(r=t.call(this,e)).onWindowResize=function(){r.parentHeight=u.getNodeHeight(r.canUseDOM,r.parent),r.updatePosition()},r.onWindowLoad=function(){r.updatePosition()},r.onScroll=function(){if(r.canUseDOM){var e=Date.now();e-r.timestamp>=10&&u.isScrolledIntoView(r.node,100,r.canUseDOM)&&(window.requestAnimationFrame(r.updatePosition),r.timestamp=e)}},r.onContentMount=function(e){r.content=e},r.updatePosition=function(){if(r.content){var e=!1;r.contentHeight=r.content.getBoundingClientRect().height,r.contentWidth=r.node.getBoundingClientRect().width,r.img&&r.img.naturalWidth/r.img.naturalHeight<r.contentWidth/r.getImageHeight()&&(e=!0);var t=h.getRelativePosition(r.node,r.canUseDOM),n=!!r.img,i=r.bg&&r.state.splitChildren.bgChildren.length>0;n&&r.setImagePosition(t,e),i&&r.setBackgroundPosition(t),n||i||r.setState({percentage:t})}},r.state={bgImage:e.bgImage,bgImageSrcSet:e.bgImageSrcSet,bgImageSizes:e.bgImageSizes,imgStyle:f,bgStyle:Object.assign(Object.assign({},f),e.bgStyle),percentage:0,splitChildren:h.getSplitChildren(e)},r.canUseDOM=u.canUseDOM(),r.node=null,r.content=null,r.bgImageLoaded=!1,r.bgImageRef=void 0,r.parent=e.parent,r.parentHeight=u.getNodeHeight(r.canUseDOM,r.parent),r.timestamp=Date.now(),r.isDynamicBlur=h.getHasDynamicBlur(e.blur),r}return function(e,t,n){t&&i(e.prototype,t),n&&i(e,n)}(n,[{key:"componentDidMount",value:function(){var e=this.props.parent,t=this.state,n=t.bgImage,r=t.bgImageSrcSet,i=t.bgImageSizes;this.parent=e||document,this.addListeners(),n?this.loadImage(n,r,i):this.updatePosition()}},{key:"componentDidUpdate",value:function(e){var t=this.props,n=t.parent,r=t.bgImage,i=t.bgImageSrcSet,a=t.bgImageSizes,s=this.state.bgImage;e.parent!==n&&(this.removeListeners(this.parent),this.parent=n,n&&this.addListeners()),this.parentHeight=u.getNodeHeight(this.canUseDOM,this.parent),s!==r&&this.loadImage(r,i,a)}},{key:"componentWillUnmount",value:function(){this.removeListeners(this.parent),this.releaseImage()}},{key:"setBackgroundPosition",value:function(e){var t=this.props,n=t.disabled,r=t.strength,i=Object.assign({},this.state.bgStyle);if(!n){var a="translate3d(-50%, ".concat((r<0?r:0)-r*e,"px, 0)");i.WebkitTransform=a,i.transform=a}this.setState({bgStyle:i,percentage:e})}},{key:"setImagePosition",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.props,r=n.disabled,i=n.strength,a=n.blur,s=t?"auto":"".concat(this.getImageHeight(),"px"),o=t?"".concat(this.contentWidth,"px"):"auto",l=Object.assign(Object.assign({},this.state.imgStyle),{height:s,width:o});if(!r){var c="translate3d(-50%, ".concat((i<0?i:0)-i*e,"px, 0)"),d="none";a&&(d="blur(".concat(h.getBlurValue(this.isDynamicBlur,a,e),"px)")),l.WebkitTransform=c,l.transform=c,l.WebkitFilter=d,l.filter=d}this.setState({imgStyle:l,percentage:e})}},{key:"getImageHeight",value:function(){var e=this.props.strength,t=(e<0?2.5:1)*Math.abs(e);return Math.floor(this.contentHeight+t)}},{key:"loadImage",value:function(e,t,n){var r=this;this.releaseImage(),this.bgImageRef=new Image,this.bgImageRef.onload=function(i){r.setState({bgImage:e,bgImageSrcSet:t,bgImageSizes:n},(function(){return r.updatePosition()})),r.props.onLoad&&r.props.onLoad(i)},this.bgImageRef.onerror=this.bgImageRef.onload,this.bgImageRef.src=e,this.bgImageRef.srcset=t||"",this.bgImageRef.sizes=n||""}},{key:"releaseImage",value:function(){this.bgImageRef&&(this.bgImageRef.onload=null,this.bgImageRef.onerror=null,delete this.bgImageRef)}},{key:"addListeners",value:function(){this.canUseDOM&&this.parent&&(this.parent.addEventListener("scroll",this.onScroll,!1),window.addEventListener("resize",this.onWindowResize,!1),window.addEventListener("load",this.onWindowLoad,!1))}},{key:"removeListeners",value:function(e){this.canUseDOM&&(e&&e.removeEventListener("scroll",this.onScroll,!1),window.removeEventListener("resize",this.onWindowResize,!1),window.removeEventListener("load",this.onWindowLoad,!1))}},{key:"render",value:function(){var e=this,t=this.props,n=t.className,r=t.style,i=t.bgClassName,a=t.contentClassName,s=t.bgImageAlt,o=t.renderLayer,l=t.bgImageStyle,d=t.lazy,h=this.state,u=h.bgImage,f=h.bgImageSrcSet,m=h.bgImageSizes,g=h.percentage,y=h.imgStyle,v=h.bgStyle,x=h.splitChildren;return c.default.createElement("div",{className:"react-parallax ".concat(n),style:Object.assign({position:"relative",overflow:"hidden"},r),ref:function(t){e.node=t}},u?c.default.createElement("img",{className:i,src:u,srcSet:f,sizes:m,ref:function(t){e.img=t},alt:s,style:Object.assign(Object.assign({},y),l),loading:d?"lazy":"eager"}):null,o?o(-(g-1)):null,x.bgChildren.length>0?c.default.createElement("div",{className:"react-parallax-background-children",ref:function(t){e.bg=t},style:v},x.bgChildren):null,c.default.createElement(p.default,{onMount:this.onContentMount,className:a},x.children))}}],[{key:"getDerivedStateFromProps",value:function(e){return{splitChildren:h.getSplitChildren(e)}}}]),n}(d.Parallax);m.defaultProps={bgClassName:"react-parallax-bgimage",bgImageAlt:"",className:"",contentClassName:"",disabled:!1,strength:100},t.default=m},function(e,t,n){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.setBlur=t.getBlurValue=t.getHasDynamicBlur=t.getSplitChildren=t.getRelativePosition=t.getPercentage=void 0;var i=n(0),a=n(2);t.getPercentage=function(e,t,n){return(n-e)/(t-e)||0},t.getRelativePosition=function(e,n){if(!n)return 0;var r=e.getBoundingClientRect(),i=r.top,s=r.height,o=a.getNodeHeight(n),l=s>o?s:o,c=Math.round(i>l?l:i);return t.getPercentage(0,l,c)},t.getSplitChildren=function(e){var t=[],n=i.Children.toArray(e.children);return n.forEach((function(e,r){var i=e;i.type&&i.type.isParallaxBackground&&(t=t.concat(n.splice(r,1)))})),{bgChildren:t,children:n}},t.getHasDynamicBlur=function(e){return"object"===r(e)&&void 0!==e.min&&void 0!==e.max},t.getBlurValue=function(e,t,n){return e?t.min+(1-n)*t.max:t},t.setBlur=function(e,t){e.style.webkitFilter="blur(".concat(t,"px)"),e.style.filter="blur(".concat(t,"px)")}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=r(n(0));t.default=function(e){var t=e.children,n=e.onMount,r=e.className;return i.default.createElement("div",{ref:function(e){return n(e)},className:r||"react-parallax-content",style:{position:"relative"}},t)}},function(e,t,n){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function a(e,t){return(a=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function s(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=o(e);if(t){var a=o(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return function(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}(this,n)}}function o(e){return(o=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var c=l(n(0)),d=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&a(e,t)}(n,e);var t=s(n);function n(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),t.apply(this,arguments)}return function(e,t,n){t&&i(e.prototype,t),n&&i(e,n)}(n,[{key:"render",value:function(){var e=this.props,t=e.className,n=e.children;return c.default.createElement("div",{className:"react-parallax-background ".concat(t)},n)}}]),n}(n(1).Background);d.defaultProps={className:""},d.isParallaxBackground=!0,t.default=d}])},e.exports=r(n(43))},358:(e,t)=>{"use strict";var n,r=Symbol.for("react.element"),i=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),c=Symbol.for("react.context"),d=Symbol.for("react.server_context"),h=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),p=Symbol.for("react.suspense_list"),f=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),g=Symbol.for("react.offscreen");function y(e){if("object"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case a:case o:case s:case u:case p:return e;default:switch(e=e&&e.$$typeof){case d:case c:case h:case m:case f:case l:return e;default:return t}}case i:return t}}}n=Symbol.for("react.module.reference")},706:(e,t,n)=>{"use strict";n(358)},153:(e,t,n)=>{"use strict";var r=n(43),i=Symbol.for("react.element"),a=Symbol.for("react.fragment"),s=Object.prototype.hasOwnProperty,o=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var r,a={},c=null,d=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(d=t.ref),t)s.call(t,r)&&!l.hasOwnProperty(r)&&(a[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===a[r]&&(a[r]=t[r]);return{$$typeof:i,type:e,key:c,ref:d,props:a,_owner:o.current}}t.Fragment=a,t.jsx=c,t.jsxs=c},202:(e,t)=>{"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),o=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),u=Symbol.for("react.lazy"),p=Symbol.iterator;var f={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m=Object.assign,g={};function y(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||f}function v(){}function x(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||f}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if("object"!==typeof e&&"function"!==typeof e&&null!=e)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,e,t,"setState")},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},v.prototype=y.prototype;var S=x.prototype=new v;S.constructor=x,m(S,y.prototype),S.isPureReactComponent=!0;var A=Array.isArray,b=Object.prototype.hasOwnProperty,k={current:null},w={key:!0,ref:!0,__self:!0,__source:!0};function j(e,t,r){var i,a={},s=null,o=null;if(null!=t)for(i in void 0!==t.ref&&(o=t.ref),void 0!==t.key&&(s=""+t.key),t)b.call(t,i)&&!w.hasOwnProperty(i)&&(a[i]=t[i]);var l=arguments.length-2;if(1===l)a.children=r;else if(1<l){for(var c=Array(l),d=0;d<l;d++)c[d]=arguments[d+2];a.children=c}if(e&&e.defaultProps)for(i in l=e.defaultProps)void 0===a[i]&&(a[i]=l[i]);return{$$typeof:n,type:e,key:s,ref:o,props:a,_owner:k.current}}function M(e){return"object"===typeof e&&null!==e&&e.$$typeof===n}var P=/\/+/g;function O(e,t){return"object"===typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function T(e,t,i,a,s){var o=typeof e;"undefined"!==o&&"boolean"!==o||(e=null);var l=!1;if(null===e)l=!0;else switch(o){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case n:case r:l=!0}}if(l)return s=s(l=e),e=""===a?"."+O(l,0):a,A(s)?(i="",null!=e&&(i=e.replace(P,"$&/")+"/"),T(s,t,i,"",(function(e){return e}))):null!=s&&(M(s)&&(s=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(s,i+(!s.key||l&&l.key===s.key?"":(""+s.key).replace(P,"$&/")+"/")+e)),t.push(s)),1;if(l=0,a=""===a?".":a+":",A(e))for(var c=0;c<e.length;c++){var d=a+O(o=e[c],c);l+=T(o,t,i,d,s)}else if(d=function(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=p&&e[p]||e["@@iterator"])?e:null}(e),"function"===typeof d)for(e=d.call(e),c=0;!(o=e.next()).done;)l+=T(o=o.value,t,i,d=a+O(o,c++),s);else if("object"===o)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return l}function I(e,t,n){if(null==e)return e;var r=[],i=0;return T(e,r,"","",(function(e){return t.call(n,e,i++)})),r}function C(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var E={current:null},V={transition:null},R={ReactCurrentDispatcher:E,ReactCurrentBatchConfig:V,ReactCurrentOwner:k};t.Children={map:I,forEach:function(e,t,n){I(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return I(e,(function(){t++})),t},toArray:function(e){return I(e,(function(e){return e}))||[]},only:function(e){if(!M(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=y,t.Fragment=i,t.Profiler=s,t.PureComponent=x,t.StrictMode=a,t.Suspense=d,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=R,t.cloneElement=function(e,t,r){if(null===e||void 0===e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var i=m({},e.props),a=e.key,s=e.ref,o=e._owner;if(null!=t){if(void 0!==t.ref&&(s=t.ref,o=k.current),void 0!==t.key&&(a=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)b.call(t,c)&&!w.hasOwnProperty(c)&&(i[c]=void 0===t[c]&&void 0!==l?l[c]:t[c])}var c=arguments.length-2;if(1===c)i.children=r;else if(1<c){l=Array(c);for(var d=0;d<c;d++)l[d]=arguments[d+2];i.children=l}return{$$typeof:n,type:e.type,key:a,ref:s,props:i,_owner:o}},t.createContext=function(e){return(e={$$typeof:l,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:o,_context:e},e.Consumer=e},t.createElement=j,t.createFactory=function(e){var t=j.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:c,render:e}},t.isValidElement=M,t.lazy=function(e){return{$$typeof:u,_payload:{_status:-1,_result:e},_init:C}},t.memo=function(e,t){return{$$typeof:h,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=V.transition;V.transition={};try{e()}finally{V.transition=t}},t.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")},t.useCallback=function(e,t){return E.current.useCallback(e,t)},t.useContext=function(e){return E.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return E.current.useDeferredValue(e)},t.useEffect=function(e,t){return E.current.useEffect(e,t)},t.useId=function(){return E.current.useId()},t.useImperativeHandle=function(e,t,n){return E.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return E.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return E.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return E.current.useMemo(e,t)},t.useReducer=function(e,t,n){return E.current.useReducer(e,t,n)},t.useRef=function(e){return E.current.useRef(e)},t.useState=function(e){return E.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return E.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return E.current.useTransition()},t.version="18.2.0"},43:(e,t,n)=>{"use strict";e.exports=n(202)},579:(e,t,n)=>{"use strict";e.exports=n(153)},128:(e,t,n)=>{"use strict";e.exports=n(413)()},413:e=>{"use strict";function t(e){return e instanceof Buffer?Buffer.from(e):new e.constructor(e.buffer.slice(),e.byteOffset,e.length)}e.exports=function(e){return(e=e||{}).circles?function(e){var n=[],r=[];return e.proto?function e(a){if("object"!==typeof a||null===a)return a;if(a instanceof Date)return new Date(a);if(Array.isArray(a))return i(a,e);if(a instanceof Map)return new Map(i(Array.from(a),e));if(a instanceof Set)return new Set(i(Array.from(a),e));var s={};for(var o in n.push(a),r.push(s),a){var l=a[o];if("object"!==typeof l||null===l)s[o]=l;else if(l instanceof Date)s[o]=new Date(l);else if(l instanceof Map)s[o]=new Map(i(Array.from(l),e));else if(l instanceof Set)s[o]=new Set(i(Array.from(l),e));else if(ArrayBuffer.isView(l))s[o]=t(l);else{var c=n.indexOf(l);s[o]=-1!==c?r[c]:e(l)}}return n.pop(),r.pop(),s}:function e(a){if("object"!==typeof a||null===a)return a;if(a instanceof Date)return new Date(a);if(Array.isArray(a))return i(a,e);if(a instanceof Map)return new Map(i(Array.from(a),e));if(a instanceof Set)return new Set(i(Array.from(a),e));var s={};for(var o in n.push(a),r.push(s),a)if(!1!==Object.hasOwnProperty.call(a,o)){var l=a[o];if("object"!==typeof l||null===l)s[o]=l;else if(l instanceof Date)s[o]=new Date(l);else if(l instanceof Map)s[o]=new Map(i(Array.from(l),e));else if(l instanceof Set)s[o]=new Set(i(Array.from(l),e));else if(ArrayBuffer.isView(l))s[o]=t(l);else{var c=n.indexOf(l);s[o]=-1!==c?r[c]:e(l)}}return n.pop(),r.pop(),s};function i(e,i){for(var a=Object.keys(e),s=new Array(a.length),o=0;o<a.length;o++){var l=a[o],c=e[l];if("object"!==typeof c||null===c)s[l]=c;else if(c instanceof Date)s[l]=new Date(c);else if(ArrayBuffer.isView(c))s[l]=t(c);else{var d=n.indexOf(c);s[l]=-1!==d?r[d]:i(c)}}return s}}(e):e.proto?function e(r){if("object"!==typeof r||null===r)return r;if(r instanceof Date)return new Date(r);if(Array.isArray(r))return n(r,e);if(r instanceof Map)return new Map(n(Array.from(r),e));if(r instanceof Set)return new Set(n(Array.from(r),e));var i={};for(var a in r){var s=r[a];"object"!==typeof s||null===s?i[a]=s:s instanceof Date?i[a]=new Date(s):s instanceof Map?i[a]=new Map(n(Array.from(s),e)):s instanceof Set?i[a]=new Set(n(Array.from(s),e)):ArrayBuffer.isView(s)?i[a]=t(s):i[a]=e(s)}return i}:function e(r){if("object"!==typeof r||null===r)return r;if(r instanceof Date)return new Date(r);if(Array.isArray(r))return n(r,e);if(r instanceof Map)return new Map(n(Array.from(r),e));if(r instanceof Set)return new Set(n(Array.from(r),e));var i={};for(var a in r)if(!1!==Object.hasOwnProperty.call(r,a)){var s=r[a];"object"!==typeof s||null===s?i[a]=s:s instanceof Date?i[a]=new Date(s):s instanceof Map?i[a]=new Map(n(Array.from(s),e)):s instanceof Set?i[a]=new Set(n(Array.from(s),e)):ArrayBuffer.isView(s)?i[a]=t(s):i[a]=e(s)}return i};function n(e,n){for(var r=Object.keys(e),i=new Array(r.length),a=0;a<r.length;a++){var s=r[a],o=e[s];"object"!==typeof o||null===o?i[s]=o:o instanceof Date?i[s]=new Date(o):ArrayBuffer.isView(o)?i[s]=t(o):i[s]=n(o)}return i}}},234:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,i=e[r];if(!(0<a(i,t)))break e;e[r]=t,e[n]=i,n=r}}function r(e){return 0===e.length?null:e[0]}function i(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,i=e.length,s=i>>>1;r<s;){var o=2*(r+1)-1,l=e[o],c=o+1,d=e[c];if(0>a(l,n))c<i&&0>a(d,l)?(e[r]=d,e[c]=n,r=c):(e[r]=l,e[o]=n,r=o);else{if(!(c<i&&0>a(d,n)))break e;e[r]=d,e[c]=n,r=c}}}return t}function a(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"===typeof performance&&"function"===typeof performance.now){var s=performance;t.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();t.unstable_now=function(){return o.now()-l}}var c=[],d=[],h=1,u=null,p=3,f=!1,m=!1,g=!1,y="function"===typeof setTimeout?setTimeout:null,v="function"===typeof clearTimeout?clearTimeout:null,x="undefined"!==typeof setImmediate?setImmediate:null;function S(e){for(var t=r(d);null!==t;){if(null===t.callback)i(d);else{if(!(t.startTime<=e))break;i(d),t.sortIndex=t.expirationTime,n(c,t)}t=r(d)}}function A(e){if(g=!1,S(e),!m)if(null!==r(c))m=!0,V(b);else{var t=r(d);null!==t&&R(A,t.startTime-e)}}function b(e,n){m=!1,g&&(g=!1,v(M),M=-1),f=!0;var a=p;try{for(S(n),u=r(c);null!==u&&(!(u.expirationTime>n)||e&&!T());){var s=u.callback;if("function"===typeof s){u.callback=null,p=u.priorityLevel;var o=s(u.expirationTime<=n);n=t.unstable_now(),"function"===typeof o?u.callback=o:u===r(c)&&i(c),S(n)}else i(c);u=r(c)}if(null!==u)var l=!0;else{var h=r(d);null!==h&&R(A,h.startTime-n),l=!1}return l}finally{u=null,p=a,f=!1}}"undefined"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var k,w=!1,j=null,M=-1,P=5,O=-1;function T(){return!(t.unstable_now()-O<P)}function I(){if(null!==j){var e=t.unstable_now();O=e;var n=!0;try{n=j(!0,e)}finally{n?k():(w=!1,j=null)}}else w=!1}if("function"===typeof x)k=function(){x(I)};else if("undefined"!==typeof MessageChannel){var C=new MessageChannel,E=C.port2;C.port1.onmessage=I,k=function(){E.postMessage(null)}}else k=function(){y(I,0)};function V(e){j=e,w||(w=!0,k())}function R(e,n){M=y((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){m||f||(m=!0,V(b))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):P=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return p},t.unstable_getFirstCallbackNode=function(){return r(c)},t.unstable_next=function(e){switch(p){case 1:case 2:case 3:var t=3;break;default:t=p}var n=p;p=t;try{return e()}finally{p=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=p;p=e;try{return t()}finally{p=n}},t.unstable_scheduleCallback=function(e,i,a){var s=t.unstable_now();switch("object"===typeof a&&null!==a?a="number"===typeof(a=a.delay)&&0<a?s+a:s:a=s,e){case 1:var o=-1;break;case 2:o=250;break;case 5:o=1073741823;break;case 4:o=1e4;break;default:o=5e3}return e={id:h++,callback:i,priorityLevel:e,startTime:a,expirationTime:o=a+o,sortIndex:-1},a>s?(e.sortIndex=a,n(d,e),null===r(c)&&e===r(d)&&(g?(v(M),M=-1):g=!0,R(A,a-s))):(e.sortIndex=o,n(c,e),m||f||(m=!0,V(b))),e},t.unstable_shouldYield=T,t.unstable_wrapCallback=function(e){var t=p;return function(){var n=p;p=t;try{return e.apply(this,arguments)}finally{p=n}}}},853:(e,t,n)=>{"use strict";e.exports=n(234)},956:(e,t,n)=>{"use strict";var r=n(43);var i="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t},a=r.useState,s=r.useEffect,o=r.useLayoutEffect,l=r.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch(r){return!0}}var d="undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),r=a({inst:{value:n,getSnapshot:t}}),i=r[0].inst,d=r[1];return o((function(){i.value=n,i.getSnapshot=t,c(i)&&d({inst:i})}),[e,n,t]),s((function(){return c(i)&&d({inst:i}),e((function(){c(i)&&d({inst:i})}))}),[e]),l(n),n};t.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:d},39:(e,t,n)=>{"use strict";var r=n(43),i=n(461);var a="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t},s=i.useSyncExternalStore,o=r.useRef,l=r.useEffect,c=r.useMemo,d=r.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var h=o(null);if(null===h.current){var u={hasValue:!1,value:null};h.current=u}else u=h.current;h=c((function(){function e(e){if(!l){if(l=!0,s=e,e=r(e),void 0!==i&&u.hasValue){var t=u.value;if(i(t,e))return o=t}return o=e}if(t=o,a(s,e))return t;var n=r(e);return void 0!==i&&i(t,n)?t:(s=e,o=n)}var s,o,l=!1,c=void 0===n?null:n;return[function(){return e(t())},null===c?void 0:function(){return e(c())}]}),[t,n,r,i]);var p=s(e,h[0],h[1]);return l((function(){u.hasValue=!0,u.value=p}),[p]),d(p),p}},461:(e,t,n)=>{"use strict";e.exports=n(956)},443:(e,t,n)=>{"use strict";e.exports=n(39)}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.amdO={},__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;__webpack_require__.t=function(n,r){if(1&r&&(n=this(n)),8&r)return n;if("object"===typeof n&&n){if(4&r&&n.__esModule)return n;if(16&r&&"function"===typeof n.then)return n}var i=Object.create(null);__webpack_require__.r(i);var a={};e=e||[null,t({}),t([]),t(t)];for(var s=2&r&&n;"object"==typeof s&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach((e=>a[e]=()=>n[e]));return a.default=()=>n,__webpack_require__.d(i,a),i}})(),__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((t,n)=>(__webpack_require__.f[n](e,t),t)),[])),__webpack_require__.u=e=>"static/js/"+e+"."+{160:"57d2cae1",208:"9d423ed6",293:"3fd45101",516:"3e7a0bc5",917:"609a5b12",946:"b278a346"}[e]+".chunk.js",__webpack_require__.miniCssF=e=>{},__webpack_require__.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={},t="uniferx_frontend:";__webpack_require__.l=(n,r,i,a)=>{if(e[n])e[n].push(r);else{var s,o;if(void 0!==i)for(var l=document.getElementsByTagName("script"),c=0;c<l.length;c++){var d=l[c];if(d.getAttribute("src")==n||d.getAttribute("data-webpack")==t+i){s=d;break}}s||(o=!0,(s=document.createElement("script")).charset="utf-8",s.timeout=120,__webpack_require__.nc&&s.setAttribute("nonce",__webpack_require__.nc),s.setAttribute("data-webpack",t+i),s.src=n),e[n]=[r];var h=(t,r)=>{s.onerror=s.onload=null,clearTimeout(u);var i=e[n];if(delete e[n],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(r))),t)return t(r)},u=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),o&&document.head.appendChild(s)}}})(),__webpack_require__.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.p="/",(()=>{var e={792:0};__webpack_require__.f.j=(t,n)=>{var r=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==r)if(r)n.push(r[2]);else{var i=new Promise(((n,i)=>r=e[t]=[n,i]));n.push(r[2]=i);var a=__webpack_require__.p+__webpack_require__.u(t),s=new Error;__webpack_require__.l(a,(n=>{if(__webpack_require__.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var i=n&&("load"===n.type?"missing":n.type),a=n&&n.target&&n.target.src;s.message="Loading chunk "+t+" failed.\n("+i+": "+a+")",s.name="ChunkLoadError",s.type=i,s.request=a,r[1](s)}}),"chunk-"+t,t)}};var t=(t,n)=>{var r,i,a=n[0],s=n[1],o=n[2],l=0;if(a.some((t=>0!==e[t]))){for(r in s)__webpack_require__.o(s,r)&&(__webpack_require__.m[r]=s[r]);if(o)o(__webpack_require__)}for(t&&t(n);l<a.length;l++)i=a[l],__webpack_require__.o(e,i)&&e[i]&&e[i][0](),e[i]=0},n=self.webpackChunkuniferx_frontend=self.webpackChunkuniferx_frontend||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var __webpack_exports__={};(()=>{"use strict";var e={};__webpack_require__.r(e),__webpack_require__.d(e,{hasBrowserEnv:()=>rn,hasStandardBrowserEnv:()=>an,hasStandardBrowserWebWorkerEnv:()=>on});var t=__webpack_require__(43),n=__webpack_require__.t(t,2),r=__webpack_require__(391);function i(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];throw Error("[Immer] minified error nr: "+e+(n.length?" "+n.map((function(e){return"'"+e+"'"})).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function a(e){return!!e&&!!e[Z]}function s(e){var t;return!!e&&(function(e){if(!e||"object"!=typeof e)return!1;var t=Object.getPrototypeOf(e);if(null===t)return!0;var n=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return n===Object||"function"==typeof n&&Function.toString.call(n)===K}(e)||Array.isArray(e)||!!e[F]||!!(null===(t=e.constructor)||void 0===t?void 0:t[F])||p(e)||f(e))}function o(e,t,n){void 0===n&&(n=!1),0===l(e)?(n?Object.keys:Q)(e).forEach((function(r){n&&"symbol"==typeof r||t(r,e[r],e)})):e.forEach((function(n,r){return t(r,n,e)}))}function l(e){var t=e[Z];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:p(e)?2:f(e)?3:0}function c(e,t){return 2===l(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function d(e,t){return 2===l(e)?e.get(t):e[t]}function h(e,t,n){var r=l(e);2===r?e.set(t,n):3===r?e.add(n):e[t]=n}function u(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function p(e){return U&&e instanceof Map}function f(e){return N&&e instanceof Set}function m(e){return e.o||e.t}function g(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=X(e);delete t[Z];for(var n=Q(t),r=0;r<n.length;r++){var i=n[r],a=t[i];!1===a.writable&&(a.writable=!0,a.configurable=!0),(a.get||a.set)&&(t[i]={configurable:!0,writable:!0,enumerable:a.enumerable,value:e[i]})}return Object.create(Object.getPrototypeOf(e),t)}function y(e,t){return void 0===t&&(t=!1),x(e)||a(e)||!s(e)||(l(e)>1&&(e.set=e.add=e.clear=e.delete=v),Object.freeze(e),t&&o(e,(function(e,t){return y(t,!0)}),!0)),e}function v(){i(2)}function x(e){return null==e||"object"!=typeof e||Object.isFrozen(e)}function S(e){var t=_[e];return t||i(18,e),t}function A(e,t){_[e]||(_[e]=t)}function b(){return z}function k(e,t){t&&(S("Patches"),e.u=[],e.s=[],e.v=t)}function w(e){j(e),e.p.forEach(P),e.p=null}function j(e){e===z&&(z=e.l)}function M(e){return z={p:[],l:z,h:e,m:!0,_:0}}function P(e){var t=e[Z];0===t.i||1===t.i?t.j():t.g=!0}function O(e,t){t._=t.p.length;var n=t.p[0],r=void 0!==e&&e!==n;return t.h.O||S("ES5").S(t,e,r),r?(n[Z].P&&(w(t),i(4)),s(e)&&(e=T(t,e),t.l||C(t,e)),t.u&&S("Patches").M(n[Z].t,e,t.u,t.s)):e=T(t,n,[]),w(t),t.u&&t.v(t.u,t.s),e!==Y?e:void 0}function T(e,t,n){if(x(t))return t;var r=t[Z];if(!r)return o(t,(function(i,a){return I(e,r,t,i,a,n)}),!0),t;if(r.A!==e)return t;if(!r.P)return C(e,r.t,!0),r.t;if(!r.I){r.I=!0,r.A._--;var i=4===r.i||5===r.i?r.o=g(r.k):r.o,a=i,s=!1;3===r.i&&(a=new Set(i),i.clear(),s=!0),o(a,(function(t,a){return I(e,r,i,t,a,n,s)})),C(e,i,!1),n&&e.u&&S("Patches").N(r,n,e.u,e.s)}return r.o}function I(e,t,n,r,i,o,l){if(a(i)){var d=T(e,i,o&&t&&3!==t.i&&!c(t.R,r)?o.concat(r):void 0);if(h(n,r,d),!a(d))return;e.m=!1}else l&&n.add(i);if(s(i)&&!x(i)){if(!e.h.D&&e._<1)return;T(e,i),t&&t.A.l||C(e,i)}}function C(e,t,n){void 0===n&&(n=!1),!e.l&&e.h.D&&e.m&&y(t,n)}function E(e,t){var n=e[Z];return(n?m(n):e)[t]}function V(e,t){if(t in e)for(var n=Object.getPrototypeOf(e);n;){var r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function R(e){e.P||(e.P=!0,e.l&&R(e.l))}function D(e){e.o||(e.o=g(e.t))}function B(e,t,n){var r=p(t)?S("MapSet").F(t,n):f(t)?S("MapSet").T(t,n):e.O?function(e,t){var n=Array.isArray(e),r={i:n?1:0,A:t?t.A:b(),P:!1,I:!1,R:{},l:t,t:e,k:null,o:null,j:null,C:!1},i=r,a=$;n&&(i=[r],a=ee);var s=Proxy.revocable(i,a),o=s.revoke,l=s.proxy;return r.k=l,r.j=o,l}(t,n):S("ES5").J(t,n);return(n?n.A:b()).p.push(r),r}function G(e){return a(e)||i(22,e),function e(t){if(!s(t))return t;var n,r=t[Z],i=l(t);if(r){if(!r.P&&(r.i<4||!S("ES5").K(r)))return r.t;r.I=!0,n=q(t,i),r.I=!1}else n=q(t,i);return o(n,(function(t,i){r&&d(r.t,t)===i||h(n,t,e(i))})),3===i?new Set(n):n}(e)}function q(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return g(e)}function H(){function e(e,t){var n=i[e];return n?n.enumerable=t:i[e]=n={configurable:!0,enumerable:t,get:function(){var t=this[Z];return $.get(t,e)},set:function(t){var n=this[Z];$.set(n,e,t)}},n}function t(e){for(var t=e.length-1;t>=0;t--){var i=e[t][Z];if(!i.P)switch(i.i){case 5:r(i)&&R(i);break;case 4:n(i)&&R(i)}}}function n(e){for(var t=e.t,n=e.k,r=Q(n),i=r.length-1;i>=0;i--){var a=r[i];if(a!==Z){var s=t[a];if(void 0===s&&!c(t,a))return!0;var o=n[a],l=o&&o[Z];if(l?l.t!==s:!u(o,s))return!0}}var d=!!t[Z];return r.length!==Q(t).length+(d?0:1)}function r(e){var t=e.k;if(t.length!==e.t.length)return!0;var n=Object.getOwnPropertyDescriptor(t,t.length-1);if(n&&!n.get)return!0;for(var r=0;r<t.length;r++)if(!t.hasOwnProperty(r))return!0;return!1}var i={};A("ES5",{J:function(t,n){var r=Array.isArray(t),i=function(t,n){if(t){for(var r=Array(n.length),i=0;i<n.length;i++)Object.defineProperty(r,""+i,e(i,!0));return r}var a=X(n);delete a[Z];for(var s=Q(a),o=0;o<s.length;o++){var l=s[o];a[l]=e(l,t||!!a[l].enumerable)}return Object.create(Object.getPrototypeOf(n),a)}(r,t),a={i:r?5:4,A:n?n.A:b(),P:!1,I:!1,R:{},l:n,t:t,k:i,o:null,g:!1,C:!1};return Object.defineProperty(i,Z,{value:a,writable:!0}),i},S:function(e,n,i){i?a(n)&&n[Z].A===e&&t(e.p):(e.u&&function e(t){if(t&&"object"==typeof t){var n=t[Z];if(n){var i=n.t,a=n.k,s=n.R,l=n.i;if(4===l)o(a,(function(t){t!==Z&&(void 0!==i[t]||c(i,t)?s[t]||e(a[t]):(s[t]=!0,R(n)))})),o(i,(function(e){void 0!==a[e]||c(a,e)||(s[e]=!1,R(n))}));else if(5===l){if(r(n)&&(R(n),s.length=!0),a.length<i.length)for(var d=a.length;d<i.length;d++)s[d]=!1;else for(var h=i.length;h<a.length;h++)s[h]=!0;for(var u=Math.min(a.length,i.length),p=0;p<u;p++)a.hasOwnProperty(p)||(s[p]=!0),void 0===s[p]&&e(a[p])}}}}(e.p[0]),t(e.p))},K:function(e){return 4===e.i?n(e):r(e)}})}var W,z,J="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),U="undefined"!=typeof Map,N="undefined"!=typeof Set,L="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,Y=J?Symbol.for("immer-nothing"):((W={})["immer-nothing"]=!0,W),F=J?Symbol.for("immer-draftable"):"__$immer_draftable",Z=J?Symbol.for("immer-state"):"__$immer_state",K=("undefined"!=typeof Symbol&&Symbol.iterator,""+Object.prototype.constructor),Q="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,X=Object.getOwnPropertyDescriptors||function(e){var t={};return Q(e).forEach((function(n){t[n]=Object.getOwnPropertyDescriptor(e,n)})),t},_={},$={get:function(e,t){if(t===Z)return e;var n=m(e);if(!c(n,t))return function(e,t,n){var r,i=V(t,n);return i?"value"in i?i.value:null===(r=i.get)||void 0===r?void 0:r.call(e.k):void 0}(e,n,t);var r=n[t];return e.I||!s(r)?r:r===E(e.t,t)?(D(e),e.o[t]=B(e.A.h,r,e)):r},has:function(e,t){return t in m(e)},ownKeys:function(e){return Reflect.ownKeys(m(e))},set:function(e,t,n){var r=V(m(e),t);if(null==r?void 0:r.set)return r.set.call(e.k,n),!0;if(!e.P){var i=E(m(e),t),a=null==i?void 0:i[Z];if(a&&a.t===n)return e.o[t]=n,e.R[t]=!1,!0;if(u(n,i)&&(void 0!==n||c(e.t,t)))return!0;D(e),R(e)}return e.o[t]===n&&(void 0!==n||t in e.o)||Number.isNaN(n)&&Number.isNaN(e.o[t])||(e.o[t]=n,e.R[t]=!0),!0},deleteProperty:function(e,t){return void 0!==E(e.t,t)||t in e.t?(e.R[t]=!1,D(e),R(e)):delete e.R[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var n=m(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{writable:!0,configurable:1!==e.i||"length"!==t,enumerable:r.enumerable,value:n[t]}:r},defineProperty:function(){i(11)},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){i(12)}},ee={};o($,(function(e,t){ee[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}})),ee.deleteProperty=function(e,t){return ee.set.call(this,e,t,void 0)},ee.set=function(e,t,n){return $.set.call(this,e[0],t,n,e[0])};var te=function(){function e(e){var t=this;this.O=L,this.D=!0,this.produce=function(e,n,r){if("function"==typeof e&&"function"!=typeof n){var a=n;n=e;var o=t;return function(e){var t=this;void 0===e&&(e=a);for(var r=arguments.length,i=Array(r>1?r-1:0),s=1;s<r;s++)i[s-1]=arguments[s];return o.produce(e,(function(e){var r;return(r=n).call.apply(r,[t,e].concat(i))}))}}var l;if("function"!=typeof n&&i(6),void 0!==r&&"function"!=typeof r&&i(7),s(e)){var c=M(t),d=B(t,e,void 0),h=!0;try{l=n(d),h=!1}finally{h?w(c):j(c)}return"undefined"!=typeof Promise&&l instanceof Promise?l.then((function(e){return k(c,r),O(e,c)}),(function(e){throw w(c),e})):(k(c,r),O(l,c))}if(!e||"object"!=typeof e){if(void 0===(l=n(e))&&(l=e),l===Y&&(l=void 0),t.D&&y(l,!0),r){var u=[],p=[];S("Patches").M(e,l,u,p),r(u,p)}return l}i(21,e)},this.produceWithPatches=function(e,n){if("function"==typeof e)return function(n){for(var r=arguments.length,i=Array(r>1?r-1:0),a=1;a<r;a++)i[a-1]=arguments[a];return t.produceWithPatches(n,(function(t){return e.apply(void 0,[t].concat(i))}))};var r,i,a=t.produce(e,n,(function(e,t){r=e,i=t}));return"undefined"!=typeof Promise&&a instanceof Promise?a.then((function(e){return[e,r,i]})):[a,r,i]},"boolean"==typeof(null==e?void 0:e.useProxies)&&this.setUseProxies(e.useProxies),"boolean"==typeof(null==e?void 0:e.autoFreeze)&&this.setAutoFreeze(e.autoFreeze)}var t=e.prototype;return t.createDraft=function(e){s(e)||i(8),a(e)&&(e=G(e));var t=M(this),n=B(this,e,void 0);return n[Z].C=!0,j(t),n},t.finishDraft=function(e,t){var n=(e&&e[Z]).A;return k(n,t),O(void 0,n)},t.setAutoFreeze=function(e){this.D=e},t.setUseProxies=function(e){e&&!L&&i(20),this.O=e},t.applyPatches=function(e,t){var n;for(n=t.length-1;n>=0;n--){var r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}n>-1&&(t=t.slice(n+1));var i=S("Patches").$;return a(e)?i(e,t):this.produce(e,(function(e){return i(e,t)}))},e}(),ne=new te,re=ne.produce;ne.produceWithPatches.bind(ne),ne.setAutoFreeze.bind(ne),ne.setUseProxies.bind(ne),ne.applyPatches.bind(ne),ne.createDraft.bind(ne),ne.finishDraft.bind(ne);const ie=re;function ae(e){return ae="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ae(e)}function se(e){var t=function(e,t){if("object"!=ae(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=ae(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==ae(t)?t:String(t)}function oe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function le(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?oe(Object(n),!0).forEach((function(t){var r,i,a;r=e,i=t,a=n[t],(i=se(i))in r?Object.defineProperty(r,i,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[i]=a})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):oe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ce(e){return"Minified Redux error #"+e+"; visit https://redux.js.org/Errors?code="+e+" for the full message or use the non-minified dev environment for full errors. "}var de="function"===typeof Symbol&&Symbol.observable||"@@observable",he=function(){return Math.random().toString(36).substring(7).split("").join(".")},ue={INIT:"@@redux/INIT"+he(),REPLACE:"@@redux/REPLACE"+he(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+he()}};function pe(e){if("object"!==typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function fe(e,t,n){var r;if("function"===typeof t&&"function"===typeof n||"function"===typeof n&&"function"===typeof arguments[3])throw new Error(ce(0));if("function"===typeof t&&"undefined"===typeof n&&(n=t,t=void 0),"undefined"!==typeof n){if("function"!==typeof n)throw new Error(ce(1));return n(fe)(e,t)}if("function"!==typeof e)throw new Error(ce(2));var i=e,a=t,s=[],o=s,l=!1;function c(){o===s&&(o=s.slice())}function d(){if(l)throw new Error(ce(3));return a}function h(e){if("function"!==typeof e)throw new Error(ce(4));if(l)throw new Error(ce(5));var t=!0;return c(),o.push(e),function(){if(t){if(l)throw new Error(ce(6));t=!1,c();var n=o.indexOf(e);o.splice(n,1),s=null}}}function u(e){if(!pe(e))throw new Error(ce(7));if("undefined"===typeof e.type)throw new Error(ce(8));if(l)throw new Error(ce(9));try{l=!0,a=i(a,e)}finally{l=!1}for(var t=s=o,n=0;n<t.length;n++){(0,t[n])()}return e}return u({type:ue.INIT}),(r={dispatch:u,subscribe:h,getState:d,replaceReducer:function(e){if("function"!==typeof e)throw new Error(ce(10));i=e,u({type:ue.REPLACE})}})[de]=function(){var e,t=h;return(e={subscribe:function(e){if("object"!==typeof e||null===e)throw new Error(ce(11));function n(){e.next&&e.next(d())}return n(),{unsubscribe:t(n)}}})[de]=function(){return this},e},r}function me(e){for(var t=Object.keys(e),n={},r=0;r<t.length;r++){var i=t[r];0,"function"===typeof e[i]&&(n[i]=e[i])}var a,s=Object.keys(n);try{!function(e){Object.keys(e).forEach((function(t){var n=e[t];if("undefined"===typeof n(void 0,{type:ue.INIT}))throw new Error(ce(12));if("undefined"===typeof n(void 0,{type:ue.PROBE_UNKNOWN_ACTION()}))throw new Error(ce(13))}))}(n)}catch(o){a=o}return function(e,t){if(void 0===e&&(e={}),a)throw a;for(var r=!1,i={},o=0;o<s.length;o++){var l=s[o],c=n[l],d=e[l],h=c(d,t);if("undefined"===typeof h){t&&t.type;throw new Error(ce(14))}i[l]=h,r=r||h!==d}return(r=r||s.length!==Object.keys(e).length)?i:e}}function ge(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce((function(e,t){return function(){return e(t.apply(void 0,arguments))}}))}function ye(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return function(){var n=e.apply(void 0,arguments),r=function(){throw new Error(ce(15))},i={getState:n.getState,dispatch:function(){return r.apply(void 0,arguments)}},a=t.map((function(e){return e(i)}));return r=ge.apply(void 0,a)(n.dispatch),le(le({},n),{},{dispatch:r})}}}function ve(e){return function(t){var n=t.dispatch,r=t.getState;return function(t){return function(i){return"function"===typeof i?i(n,r,e):t(i)}}}}var xe=ve();xe.withExtraArgument=ve;const Se=xe;var Ae=function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!==typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),be=function(e,t){var n,r,i,a,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:o(0),throw:o(1),return:o(2)},"function"===typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function o(a){return function(o){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,r=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){s=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){s.label=a[1];break}if(6===a[0]&&s.label<i[1]){s.label=i[1],i=a;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(a);break}i[2]&&s.ops.pop(),s.trys.pop();continue}a=t.call(e,s)}catch(o){a=[6,o],r=0}finally{n=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,o])}}},ke=function(e,t){for(var n=0,r=t.length,i=e.length;n<r;n++,i++)e[i]=t[n];return e},we=Object.defineProperty,je=Object.defineProperties,Me=Object.getOwnPropertyDescriptors,Pe=Object.getOwnPropertySymbols,Oe=Object.prototype.hasOwnProperty,Te=Object.prototype.propertyIsEnumerable,Ie=function(e,t,n){return t in e?we(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n},Ce=function(e,t){for(var n in t||(t={}))Oe.call(t,n)&&Ie(e,n,t[n]);if(Pe)for(var r=0,i=Pe(t);r<i.length;r++){n=i[r];Te.call(t,n)&&Ie(e,n,t[n])}return e},Ee=function(e,t){return je(e,Me(t))},Ve=function(e,t,n){return new Promise((function(r,i){var a=function(e){try{o(n.next(e))}catch(t){i(t)}},s=function(e){try{o(n.throw(e))}catch(t){i(t)}},o=function(e){return e.done?r(e.value):Promise.resolve(e.value).then(a,s)};o((n=n.apply(e,t)).next())}))},Re="undefined"!==typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(0!==arguments.length)return"object"===typeof arguments[0]?ge:ge.apply(null,arguments)};"undefined"!==typeof window&&window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__;function De(e){if("object"!==typeof e||null===e)return!1;var t=Object.getPrototypeOf(e);if(null===t)return!0;for(var n=t;null!==Object.getPrototypeOf(n);)n=Object.getPrototypeOf(n);return t===n}function Be(e,t){function n(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];if(t){var i=t.apply(void 0,n);if(!i)throw new Error("prepareAction did not return an object");return Ce(Ce({type:e,payload:i.payload},"meta"in i&&{meta:i.meta}),"error"in i&&{error:i.error})}return{type:e,payload:n[0]}}return n.toString=function(){return""+e},n.type=e,n.match=function(t){return t.type===e},n}var Ge=function(e){function t(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];var i=e.apply(this,n)||this;return Object.setPrototypeOf(i,t.prototype),i}return Ae(t,e),Object.defineProperty(t,Symbol.species,{get:function(){return t},enumerable:!1,configurable:!0}),t.prototype.concat=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return e.prototype.concat.apply(this,t)},t.prototype.prepend=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return 1===e.length&&Array.isArray(e[0])?new(t.bind.apply(t,ke([void 0],e[0].concat(this)))):new(t.bind.apply(t,ke([void 0],e.concat(this))))},t}(Array),qe=function(e){function t(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];var i=e.apply(this,n)||this;return Object.setPrototypeOf(i,t.prototype),i}return Ae(t,e),Object.defineProperty(t,Symbol.species,{get:function(){return t},enumerable:!1,configurable:!0}),t.prototype.concat=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return e.prototype.concat.apply(this,t)},t.prototype.prepend=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return 1===e.length&&Array.isArray(e[0])?new(t.bind.apply(t,ke([void 0],e[0].concat(this)))):new(t.bind.apply(t,ke([void 0],e.concat(this))))},t}(Array);function He(e){return s(e)?ie(e,(function(){})):e}function We(){return function(e){return function(e){void 0===e&&(e={});var t=e.thunk,n=void 0===t||t,r=(e.immutableCheck,e.serializableCheck,e.actionCreatorCheck,new Ge);n&&(!function(e){return"boolean"===typeof e}(n)?r.push(Se.withExtraArgument(n.extraArgument)):r.push(Se));0;return r}(e)}}function ze(e){var t,n={},r=[],i={addCase:function(e,t){var r="string"===typeof e?e:e.type;if(!r)throw new Error("`builder.addCase` cannot be called with an empty action type");if(r in n)throw new Error("`builder.addCase` cannot be called with two reducers for the same action type");return n[r]=t,i},addMatcher:function(e,t){return r.push({matcher:e,reducer:t}),i},addDefaultCase:function(e){return t=e,i}};return e(i),[n,r,t]}function Je(e){var t=e.name;if(!t)throw new Error("`name` is a required option for createSlice");var n,r="function"==typeof e.initialState?e.initialState:He(e.initialState),i=e.reducers||{},o=Object.keys(i),l={},c={},d={};function h(){var t="function"===typeof e.extraReducers?ze(e.extraReducers):[e.extraReducers],n=t[0],i=void 0===n?{}:n,o=t[1],l=void 0===o?[]:o,d=t[2],h=void 0===d?void 0:d,u=Ce(Ce({},i),c);return function(e,t,n,r){void 0===n&&(n=[]);var i,o="function"===typeof t?ze(t):[t,n,r],l=o[0],c=o[1],d=o[2];if(function(e){return"function"===typeof e}(e))i=function(){return He(e())};else{var h=He(e);i=function(){return h}}function u(e,t){void 0===e&&(e=i());var n=ke([l[t.type]],c.filter((function(e){return(0,e.matcher)(t)})).map((function(e){return e.reducer})));return 0===n.filter((function(e){return!!e})).length&&(n=[d]),n.reduce((function(e,n){if(n){var r;if(a(e))return void 0===(r=n(e,t))?e:r;if(s(e))return ie(e,(function(e){return n(e,t)}));if(void 0===(r=n(e,t))){if(null===e)return e;throw Error("A case reducer on a non-draftable value must not return undefined")}return r}return e}),e)}return u.getInitialState=i,u}(r,(function(e){for(var t in u)e.addCase(t,u[t]);for(var n=0,r=l;n<r.length;n++){var i=r[n];e.addMatcher(i.matcher,i.reducer)}h&&e.addDefaultCase(h)}))}return o.forEach((function(e){var n,r,a=i[e],s=t+"/"+e;"reducer"in a?(n=a.reducer,r=a.prepare):n=a,l[e]=n,c[s]=n,d[e]=r?Be(s,r):Be(s)})),{name:t,reducer:function(e,t){return n||(n=h()),n(e,t)},actions:d,caseReducers:l,getInitialState:function(){return n||(n=h()),n.getInitialState()}}}var Ue=function(e){void 0===e&&(e=21);for(var t="",n=e;n--;)t+="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW"[64*Math.random()|0];return t},Ne=["name","message","stack","code"],Le=function(e,t){this.payload=e,this.meta=t},Ye=function(e,t){this.payload=e,this.meta=t},Fe=function(e){if("object"===typeof e&&null!==e){for(var t={},n=0,r=Ne;n<r.length;n++){var i=r[n];"string"===typeof e[i]&&(t[i]=e[i])}return t}return{message:String(e)}},Ze=function(){function e(e,t,n){var r=Be(e+"/fulfilled",(function(e,t,n,r){return{payload:e,meta:Ee(Ce({},r||{}),{arg:n,requestId:t,requestStatus:"fulfilled"})}})),i=Be(e+"/pending",(function(e,t,n){return{payload:void 0,meta:Ee(Ce({},n||{}),{arg:t,requestId:e,requestStatus:"pending"})}})),a=Be(e+"/rejected",(function(e,t,r,i,a){return{payload:i,error:(n&&n.serializeError||Fe)(e||"Rejected"),meta:Ee(Ce({},a||{}),{arg:r,requestId:t,rejectedWithValue:!!i,requestStatus:"rejected",aborted:"AbortError"===(null==e?void 0:e.name),condition:"ConditionError"===(null==e?void 0:e.name)})}})),s="undefined"!==typeof AbortController?AbortController:function(){function e(){this.signal={aborted:!1,addEventListener:function(){},dispatchEvent:function(){return!1},onabort:function(){},removeEventListener:function(){},reason:void 0,throwIfAborted:function(){}}}return e.prototype.abort=function(){0},e}();return Object.assign((function(e){return function(o,l,c){var d,h=(null==n?void 0:n.idGenerator)?n.idGenerator(e):Ue(),u=new s;function p(e){d=e,u.abort()}var f=function(){return Ve(this,null,(function(){var s,f,m,g,y,v;return be(this,(function(x){switch(x.label){case 0:return x.trys.push([0,4,,5]),g=null==(s=null==n?void 0:n.condition)?void 0:s.call(n,e,{getState:l,extra:c}),null===(S=g)||"object"!==typeof S||"function"!==typeof S.then?[3,2]:[4,g];case 1:g=x.sent(),x.label=2;case 2:if(!1===g||u.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};return!0,y=new Promise((function(e,t){return u.signal.addEventListener("abort",(function(){return t({name:"AbortError",message:d||"Aborted"})}))})),o(i(h,e,null==(f=null==n?void 0:n.getPendingMeta)?void 0:f.call(n,{requestId:h,arg:e},{getState:l,extra:c}))),[4,Promise.race([y,Promise.resolve(t(e,{dispatch:o,getState:l,extra:c,requestId:h,signal:u.signal,abort:p,rejectWithValue:function(e,t){return new Le(e,t)},fulfillWithValue:function(e,t){return new Ye(e,t)}})).then((function(t){if(t instanceof Le)throw t;return t instanceof Ye?r(t.payload,h,e,t.meta):r(t,h,e)}))])];case 3:return m=x.sent(),[3,5];case 4:return v=x.sent(),m=v instanceof Le?a(null,h,e,v.payload,v.meta):a(v,h,e),[3,5];case 5:return n&&!n.dispatchConditionRejection&&a.match(m)&&m.meta.condition||o(m),[2,m]}var S}))}))}();return Object.assign(f,{abort:p,requestId:h,arg:e,unwrap:function(){return f.then(Ke)}})}}),{pending:i,rejected:a,fulfilled:r,typePrefix:e})}return e.withTypes=function(){return e},e}();function Ke(e){if(e.meta&&e.meta.rejectedWithValue)throw e.payload;if(e.error)throw e.error;return e.payload}Object.assign;var Qe="listenerMiddleware";Be(Qe+"/add"),Be(Qe+"/removeAll"),Be(Qe+"/remove");"function"===typeof queueMicrotask&&queueMicrotask.bind("undefined"!==typeof window?window:"undefined"!==typeof __webpack_require__.g?__webpack_require__.g:globalThis);var Xe,_e=function(e){return function(t){setTimeout(t,e)}};"undefined"!==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame:_e(10);H();var $e="NOT_FOUND";var et=function(e,t){return e===t};function tt(e,t){var n="object"===typeof t?t:{equalityCheck:t},r=n.equalityCheck,i=void 0===r?et:r,a=n.maxSize,s=void 0===a?1:a,o=n.resultEqualityCheck,l=function(e){return function(t,n){if(null===t||null===n||t.length!==n.length)return!1;for(var r=t.length,i=0;i<r;i++)if(!e(t[i],n[i]))return!1;return!0}}(i),c=1===s?function(e){var t;return{get:function(n){return t&&e(t.key,n)?t.value:$e},put:function(e,n){t={key:e,value:n}},getEntries:function(){return t?[t]:[]},clear:function(){t=void 0}}}(l):function(e,t){var n=[];function r(e){var r=n.findIndex((function(n){return t(e,n.key)}));if(r>-1){var i=n[r];return r>0&&(n.splice(r,1),n.unshift(i)),i.value}return $e}return{get:r,put:function(t,i){r(t)===$e&&(n.unshift({key:t,value:i}),n.length>e&&n.pop())},getEntries:function(){return n},clear:function(){n=[]}}}(s,l);function d(){var t=c.get(arguments);if(t===$e){if(t=e.apply(null,arguments),o){var n=c.getEntries().find((function(e){return o(e.value,t)}));n&&(t=n.value)}c.put(arguments,t)}return t}return d.clearCache=function(){return c.clear()},d}function nt(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];var a,s=0,o={memoizeOptions:void 0},l=r.pop();if("object"===typeof l&&(o=l,l=r.pop()),"function"!==typeof l)throw new Error("createSelector expects an output function after the inputs, but received: ["+typeof l+"]");var c=o.memoizeOptions,d=void 0===c?n:c,h=Array.isArray(d)?d:[d],u=function(e){var t=Array.isArray(e[0])?e[0]:e;if(!t.every((function(e){return"function"===typeof e}))){var n=t.map((function(e){return"function"===typeof e?"function "+(e.name||"unnamed")+"()":typeof e})).join(", ");throw new Error("createSelector expects all input-selectors to be functions, but received the following types: ["+n+"]")}return t}(r),p=e.apply(void 0,[function(){return s++,l.apply(null,arguments)}].concat(h)),f=e((function(){for(var e=[],t=u.length,n=0;n<t;n++)e.push(u[n].apply(null,arguments));return a=p.apply(null,e)}));return Object.assign(f,{resultFunc:l,memoizedResultFunc:p,dependencies:u,lastResult:function(){return a},recomputations:function(){return s},resetRecomputations:function(){return s=0}}),f}}var rt=nt(tt);function it(e,t){return function(){return e.apply(t,arguments)}}const{toString:at}=Object.prototype,{getPrototypeOf:st}=Object,ot=(lt=Object.create(null),e=>{const t=at.call(e);return lt[t]||(lt[t]=t.slice(8,-1).toLowerCase())});var lt;const ct=e=>(e=e.toLowerCase(),t=>ot(t)===e),dt=e=>t=>typeof t===e,{isArray:ht}=Array,ut=dt("undefined");const pt=ct("ArrayBuffer");const ft=dt("string"),mt=dt("function"),gt=dt("number"),yt=e=>null!==e&&"object"===typeof e,vt=e=>{if("object"!==ot(e))return!1;const t=st(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},xt=ct("Date"),St=ct("File"),At=ct("Blob"),bt=ct("FileList"),kt=ct("URLSearchParams");function wt(e,t){let n,r,{allOwnKeys:i=!1}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(null!==e&&"undefined"!==typeof e)if("object"!==typeof e&&(e=[e]),ht(e))for(n=0,r=e.length;n<r;n++)t.call(null,e[n],n,e);else{const r=i?Object.getOwnPropertyNames(e):Object.keys(e),a=r.length;let s;for(n=0;n<a;n++)s=r[n],t.call(null,e[s],s,e)}}function jt(e,t){t=t.toLowerCase();const n=Object.keys(e);let r,i=n.length;for(;i-- >0;)if(r=n[i],t===r.toLowerCase())return r;return null}const Mt="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:global,Pt=e=>!ut(e)&&e!==Mt;const Ot=(Tt="undefined"!==typeof Uint8Array&&st(Uint8Array),e=>Tt&&e instanceof Tt);var Tt;const It=ct("HTMLFormElement"),Ct=(e=>{let{hasOwnProperty:t}=e;return(e,n)=>t.call(e,n)})(Object.prototype),Et=ct("RegExp"),Vt=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};wt(n,((n,i)=>{let a;!1!==(a=t(n,i,e))&&(r[i]=a||n)})),Object.defineProperties(e,r)},Rt="abcdefghijklmnopqrstuvwxyz",Dt="0123456789",Bt={DIGIT:Dt,ALPHA:Rt,ALPHA_DIGIT:Rt+Rt.toUpperCase()+Dt};const Gt=ct("AsyncFunction"),qt={isArray:ht,isArrayBuffer:pt,isBuffer:function(e){return null!==e&&!ut(e)&&null!==e.constructor&&!ut(e.constructor)&&mt(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"===typeof FormData&&e instanceof FormData||mt(e.append)&&("formdata"===(t=ot(e))||"object"===t&&mt(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&pt(e.buffer),t},isString:ft,isNumber:gt,isBoolean:e=>!0===e||!1===e,isObject:yt,isPlainObject:vt,isUndefined:ut,isDate:xt,isFile:St,isBlob:At,isRegExp:Et,isFunction:mt,isStream:e=>yt(e)&&mt(e.pipe),isURLSearchParams:kt,isTypedArray:Ot,isFileList:bt,forEach:wt,merge:function e(){const{caseless:t}=Pt(this)&&this||{},n={},r=(r,i)=>{const a=t&&jt(n,i)||i;vt(n[a])&&vt(r)?n[a]=e(n[a],r):vt(r)?n[a]=e({},r):ht(r)?n[a]=r.slice():n[a]=r};for(let i=0,a=arguments.length;i<a;i++)arguments[i]&&wt(arguments[i],r);return n},extend:function(e,t,n){let{allOwnKeys:r}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return wt(t,((t,r)=>{n&&mt(t)?e[r]=it(t,n):e[r]=t}),{allOwnKeys:r}),e},trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,n,r)=>{let i,a,s;const o={};if(t=t||{},null==e)return t;do{for(i=Object.getOwnPropertyNames(e),a=i.length;a-- >0;)s=i[a],r&&!r(s,e,t)||o[s]||(t[s]=e[s],o[s]=!0);e=!1!==n&&st(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:ot,kindOfTest:ct,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(ht(e))return e;let t=e.length;if(!gt(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=n.next())&&!r.done;){const n=r.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:It,hasOwnProperty:Ct,hasOwnProp:Ct,reduceDescriptors:Vt,freezeMethods:e=>{Vt(e,((t,n)=>{if(mt(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];mt(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return ht(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(e,t)=>(e=+e,Number.isFinite(e)?e:t),findKey:jt,global:Mt,isContextDefined:Pt,ALPHABET:Bt,generateString:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Bt.ALPHA_DIGIT,n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n},isSpecCompliantForm:function(e){return!!(e&&mt(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(yt(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;const i=ht(e)?[]:{};return wt(e,((e,t)=>{const a=n(e,r+1);!ut(a)&&(i[t]=a)})),t[r]=void 0,i}}return e};return n(e,0)},isAsyncFn:Gt,isThenable:e=>e&&(yt(e)||mt(e))&&mt(e.then)&&mt(e.catch)};function Ht(e,t,n,r,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i)}qt.inherits(Ht,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:qt.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const Wt=Ht.prototype,zt={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{zt[e]={value:e}})),Object.defineProperties(Ht,zt),Object.defineProperty(Wt,"isAxiosError",{value:!0}),Ht.from=(e,t,n,r,i,a)=>{const s=Object.create(Wt);return qt.toFlatObject(e,s,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),Ht.call(s,e.message,t,n,r,i),s.cause=e,s.name=e.name,a&&Object.assign(s,a),s};const Jt=Ht;function Ut(e){return qt.isPlainObject(e)||qt.isArray(e)}function Nt(e){return qt.endsWith(e,"[]")?e.slice(0,-2):e}function Lt(e,t,n){return e?e.concat(t).map((function(e,t){return e=Nt(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}const Yt=qt.toFlatObject(qt,{},null,(function(e){return/^is[A-Z]/.test(e)}));const Ft=function(e,t,n){if(!qt.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const r=(n=qt.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!qt.isUndefined(t[e])}))).metaTokens,i=n.visitor||c,a=n.dots,s=n.indexes,o=(n.Blob||"undefined"!==typeof Blob&&Blob)&&qt.isSpecCompliantForm(t);if(!qt.isFunction(i))throw new TypeError("visitor must be a function");function l(e){if(null===e)return"";if(qt.isDate(e))return e.toISOString();if(!o&&qt.isBlob(e))throw new Jt("Blob is not supported. Use a Buffer instead.");return qt.isArrayBuffer(e)||qt.isTypedArray(e)?o&&"function"===typeof Blob?new Blob([e]):Buffer.from(e):e}function c(e,n,i){let o=e;if(e&&!i&&"object"===typeof e)if(qt.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(qt.isArray(e)&&function(e){return qt.isArray(e)&&!e.some(Ut)}(e)||(qt.isFileList(e)||qt.endsWith(n,"[]"))&&(o=qt.toArray(e)))return n=Nt(n),o.forEach((function(e,r){!qt.isUndefined(e)&&null!==e&&t.append(!0===s?Lt([n],r,a):null===s?n:n+"[]",l(e))})),!1;return!!Ut(e)||(t.append(Lt(i,n,a),l(e)),!1)}const d=[],h=Object.assign(Yt,{defaultVisitor:c,convertValue:l,isVisitable:Ut});if(!qt.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!qt.isUndefined(n)){if(-1!==d.indexOf(n))throw Error("Circular reference detected in "+r.join("."));d.push(n),qt.forEach(n,(function(n,a){!0===(!(qt.isUndefined(n)||null===n)&&i.call(t,n,qt.isString(a)?a.trim():a,r,h))&&e(n,r?r.concat(a):[a])})),d.pop()}}(e),t};function Zt(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function Kt(e,t){this._pairs=[],e&&Ft(e,this,t)}const Qt=Kt.prototype;Qt.append=function(e,t){this._pairs.push([e,t])},Qt.toString=function(e){const t=e?function(t){return e.call(this,t,Zt)}:Zt;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};const Xt=Kt;function _t(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function $t(e,t,n){if(!t)return e;const r=n&&n.encode||_t,i=n&&n.serialize;let a;if(a=i?i(t,n):qt.isURLSearchParams(t)?t.toString():new Xt(t,n).toString(r),a){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+a}return e}const en=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){qt.forEach(this.handlers,(function(t){null!==t&&e(t)}))}},tn={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},nn={isBrowser:!0,classes:{URLSearchParams:"undefined"!==typeof URLSearchParams?URLSearchParams:Xt,FormData:"undefined"!==typeof FormData?FormData:null,Blob:"undefined"!==typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},rn="undefined"!==typeof window&&"undefined"!==typeof document,an=(sn="undefined"!==typeof navigator&&navigator.product,rn&&["ReactNative","NativeScript","NS"].indexOf(sn)<0);var sn;const on="undefined"!==typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"===typeof self.importScripts,ln={...e,...nn};const cn=function(e){function t(e,n,r,i){let a=e[i++];if("__proto__"===a)return!0;const s=Number.isFinite(+a),o=i>=e.length;if(a=!a&&qt.isArray(r)?r.length:a,o)return qt.hasOwnProp(r,a)?r[a]=[r[a],n]:r[a]=n,!s;r[a]&&qt.isObject(r[a])||(r[a]=[]);return t(e,n,r[a],i)&&qt.isArray(r[a])&&(r[a]=function(e){const t={},n=Object.keys(e);let r;const i=n.length;let a;for(r=0;r<i;r++)a=n[r],t[a]=e[a];return t}(r[a])),!s}if(qt.isFormData(e)&&qt.isFunction(e.entries)){const n={};return qt.forEachEntry(e,((e,r)=>{t(function(e){return qt.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),r,n,0)})),n}return null};const dn={transitional:tn,adapter:["xhr","http"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,i=qt.isObject(e);i&&qt.isHTMLForm(e)&&(e=new FormData(e));if(qt.isFormData(e))return r?JSON.stringify(cn(e)):e;if(qt.isArrayBuffer(e)||qt.isBuffer(e)||qt.isStream(e)||qt.isFile(e)||qt.isBlob(e))return e;if(qt.isArrayBufferView(e))return e.buffer;if(qt.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let a;if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return Ft(e,new ln.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return ln.isNode&&qt.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((a=qt.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return Ft(a?{"files[]":e}:e,t&&new t,this.formSerializer)}}return i||r?(t.setContentType("application/json",!1),function(e,t,n){if(qt.isString(e))try{return(t||JSON.parse)(e),qt.trim(e)}catch(r){if("SyntaxError"!==r.name)throw r}return(n||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||dn.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(e&&qt.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(i){if(n){if("SyntaxError"===i.name)throw Jt.from(i,Jt.ERR_BAD_RESPONSE,this,null,this.response);throw i}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ln.classes.FormData,Blob:ln.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};qt.forEach(["delete","get","head","post","put","patch"],(e=>{dn.headers[e]={}}));const hn=dn,un=qt.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),pn=Symbol("internals");function fn(e){return e&&String(e).trim().toLowerCase()}function mn(e){return!1===e||null==e?e:qt.isArray(e)?e.map(mn):String(e)}function gn(e,t,n,r,i){return qt.isFunction(r)?r.call(this,t,n):(i&&(t=n),qt.isString(t)?qt.isString(r)?-1!==t.indexOf(r):qt.isRegExp(r)?r.test(t):void 0:void 0)}class yn{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function i(e,t,n){const i=fn(t);if(!i)throw new Error("header name must be a non-empty string");const a=qt.findKey(r,i);(!a||void 0===r[a]||!0===n||void 0===n&&!1!==r[a])&&(r[a||t]=mn(e))}const a=(e,t)=>qt.forEach(e,((e,n)=>i(e,n,t)));return qt.isPlainObject(e)||e instanceof this.constructor?a(e,t):qt.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim())?a((e=>{const t={};let n,r,i;return e&&e.split("\n").forEach((function(e){i=e.indexOf(":"),n=e.substring(0,i).trim().toLowerCase(),r=e.substring(i+1).trim(),!n||t[n]&&un[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)})),t})(e),t):null!=e&&i(t,e,n),this}get(e,t){if(e=fn(e)){const n=qt.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if(qt.isFunction(t))return t.call(this,e,n);if(qt.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=fn(e)){const n=qt.findKey(this,e);return!(!n||void 0===this[n]||t&&!gn(0,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function i(e){if(e=fn(e)){const i=qt.findKey(n,e);!i||t&&!gn(0,n[i],i,t)||(delete n[i],r=!0)}}return qt.isArray(e)?e.forEach(i):i(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const i=t[n];e&&!gn(0,this[i],i,e,!0)||(delete this[i],r=!0)}return r}normalize(e){const t=this,n={};return qt.forEach(this,((r,i)=>{const a=qt.findKey(n,i);if(a)return t[a]=mn(r),void delete t[i];const s=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}(i):String(i).trim();s!==i&&delete t[i],t[s]=mn(r),n[s]=!0})),this}concat(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.constructor.concat(this,...t)}toJSON(e){const t=Object.create(null);return qt.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&qt.isArray(n)?n.join(", "):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((e=>{let[t,n]=e;return t+": "+n})).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e){const t=new this(e);for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return r.forEach((e=>t.set(e))),t}static accessor(e){const t=(this[pn]=this[pn]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=fn(e);t[r]||(!function(e,t){const n=qt.toCamelCase(" "+t);["get","set","has"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,i){return this[r].call(this,t,e,n,i)},configurable:!0})}))}(n,e),t[r]=!0)}return qt.isArray(e)?e.forEach(r):r(e),this}}yn.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),qt.reduceDescriptors(yn.prototype,((e,t)=>{let{value:n}=e,r=t[0].toUpperCase()+t.slice(1);return{get:()=>n,set(e){this[r]=e}}})),qt.freezeMethods(yn);const vn=yn;function xn(e,t){const n=this||hn,r=t||n,i=vn.from(r.headers);let a=r.data;return qt.forEach(e,(function(e){a=e.call(n,a,i.normalize(),t?t.status:void 0)})),i.normalize(),a}function Sn(e){return!(!e||!e.__CANCEL__)}function An(e,t,n){Jt.call(this,null==e?"canceled":e,Jt.ERR_CANCELED,t,n),this.name="CanceledError"}qt.inherits(An,Jt,{__CANCEL__:!0});const bn=An;const kn=ln.hasStandardBrowserEnv?{write(e,t,n,r,i,a){const s=[e+"="+encodeURIComponent(t)];qt.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),qt.isString(r)&&s.push("path="+r),qt.isString(i)&&s.push("domain="+i),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function wn(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const jn=ln.hasStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let n;function r(n){let r=n;return e&&(t.setAttribute("href",r),r=t.href),t.setAttribute("href",r),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return n=r(window.location.href),function(e){const t=qt.isString(e)?r(e):e;return t.protocol===n.protocol&&t.host===n.host}}():function(){return!0};const Mn=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let i,a=0,s=0;return t=void 0!==t?t:1e3,function(o){const l=Date.now(),c=r[s];i||(i=l),n[a]=o,r[a]=l;let d=s,h=0;for(;d!==a;)h+=n[d++],d%=e;if(a=(a+1)%e,a===s&&(s=(s+1)%e),l-i<t)return;const u=c&&l-c;return u?Math.round(1e3*h/u):void 0}};function Pn(e,t){let n=0;const r=Mn(50,250);return i=>{const a=i.loaded,s=i.lengthComputable?i.total:void 0,o=a-n,l=r(o);n=a;const c={loaded:a,total:s,progress:s?a/s:void 0,bytes:o,rate:l||void 0,estimated:l&&s&&a<=s?(s-a)/l:void 0,event:i};c[t?"download":"upload"]=!0,e(c)}}const On={http:null,xhr:"undefined"!==typeof XMLHttpRequest&&function(e){return new Promise((function(t,n){let r=e.data;const i=vn.from(e.headers).normalize();let a,s,{responseType:o,withXSRFToken:l}=e;function c(){e.cancelToken&&e.cancelToken.unsubscribe(a),e.signal&&e.signal.removeEventListener("abort",a)}if(qt.isFormData(r))if(ln.hasStandardBrowserEnv||ln.hasStandardBrowserWebWorkerEnv)i.setContentType(!1);else if(!1!==(s=i.getContentType())){const[e,...t]=s?s.split(";").map((e=>e.trim())).filter(Boolean):[];i.setContentType([e||"multipart/form-data",...t].join("; "))}let d=new XMLHttpRequest;if(e.auth){const t=e.auth.username||"",n=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";i.set("Authorization","Basic "+btoa(t+":"+n))}const h=wn(e.baseURL,e.url);function u(){if(!d)return;const r=vn.from("getAllResponseHeaders"in d&&d.getAllResponseHeaders());!function(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new Jt("Request failed with status code "+n.status,[Jt.ERR_BAD_REQUEST,Jt.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}((function(e){t(e),c()}),(function(e){n(e),c()}),{data:o&&"text"!==o&&"json"!==o?d.response:d.responseText,status:d.status,statusText:d.statusText,headers:r,config:e,request:d}),d=null}if(d.open(e.method.toUpperCase(),$t(h,e.params,e.paramsSerializer),!0),d.timeout=e.timeout,"onloadend"in d?d.onloadend=u:d.onreadystatechange=function(){d&&4===d.readyState&&(0!==d.status||d.responseURL&&0===d.responseURL.indexOf("file:"))&&setTimeout(u)},d.onabort=function(){d&&(n(new Jt("Request aborted",Jt.ECONNABORTED,e,d)),d=null)},d.onerror=function(){n(new Jt("Network Error",Jt.ERR_NETWORK,e,d)),d=null},d.ontimeout=function(){let t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const r=e.transitional||tn;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(new Jt(t,r.clarifyTimeoutError?Jt.ETIMEDOUT:Jt.ECONNABORTED,e,d)),d=null},ln.hasStandardBrowserEnv&&(l&&qt.isFunction(l)&&(l=l(e)),l||!1!==l&&jn(h))){const t=e.xsrfHeaderName&&e.xsrfCookieName&&kn.read(e.xsrfCookieName);t&&i.set(e.xsrfHeaderName,t)}void 0===r&&i.setContentType(null),"setRequestHeader"in d&&qt.forEach(i.toJSON(),(function(e,t){d.setRequestHeader(t,e)})),qt.isUndefined(e.withCredentials)||(d.withCredentials=!!e.withCredentials),o&&"json"!==o&&(d.responseType=e.responseType),"function"===typeof e.onDownloadProgress&&d.addEventListener("progress",Pn(e.onDownloadProgress,!0)),"function"===typeof e.onUploadProgress&&d.upload&&d.upload.addEventListener("progress",Pn(e.onUploadProgress)),(e.cancelToken||e.signal)&&(a=t=>{d&&(n(!t||t.type?new bn(null,e,d):t),d.abort(),d=null)},e.cancelToken&&e.cancelToken.subscribe(a),e.signal&&(e.signal.aborted?a():e.signal.addEventListener("abort",a)));const p=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(h);p&&-1===ln.protocols.indexOf(p)?n(new Jt("Unsupported protocol "+p+":",Jt.ERR_BAD_REQUEST,e)):d.send(r||null)}))}};qt.forEach(On,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(n){}Object.defineProperty(e,"adapterName",{value:t})}}));const Tn=e=>"- ".concat(e),In=e=>qt.isFunction(e)||null===e||!1===e,Cn=e=>{e=qt.isArray(e)?e:[e];const{length:t}=e;let n,r;const i={};for(let a=0;a<t;a++){let t;if(n=e[a],r=n,!In(n)&&(r=On[(t=String(n)).toLowerCase()],void 0===r))throw new Jt("Unknown adapter '".concat(t,"'"));if(r)break;i[t||"#"+a]=r}if(!r){const e=Object.entries(i).map((e=>{let[t,n]=e;return"adapter ".concat(t," ")+(!1===n?"is not supported by the environment":"is not available in the build")}));let n=t?e.length>1?"since :\n"+e.map(Tn).join("\n"):" "+Tn(e[0]):"as no adapter specified";throw new Jt("There is no suitable adapter to dispatch the request "+n,"ERR_NOT_SUPPORT")}return r};function En(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new bn(null,e)}function Vn(e){En(e),e.headers=vn.from(e.headers),e.data=xn.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1);return Cn(e.adapter||hn.adapter)(e).then((function(t){return En(e),t.data=xn.call(e,e.transformResponse,t),t.headers=vn.from(t.headers),t}),(function(t){return Sn(t)||(En(e),t&&t.response&&(t.response.data=xn.call(e,e.transformResponse,t.response),t.response.headers=vn.from(t.response.headers))),Promise.reject(t)}))}const Rn=e=>e instanceof vn?e.toJSON():e;function Dn(e,t){t=t||{};const n={};function r(e,t,n){return qt.isPlainObject(e)&&qt.isPlainObject(t)?qt.merge.call({caseless:n},e,t):qt.isPlainObject(t)?qt.merge({},t):qt.isArray(t)?t.slice():t}function i(e,t,n){return qt.isUndefined(t)?qt.isUndefined(e)?void 0:r(void 0,e,n):r(e,t,n)}function a(e,t){if(!qt.isUndefined(t))return r(void 0,t)}function s(e,t){return qt.isUndefined(t)?qt.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function o(n,i,a){return a in t?r(n,i):a in e?r(void 0,n):void 0}const l={url:a,method:a,data:a,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:o,headers:(e,t)=>i(Rn(e),Rn(t),!0)};return qt.forEach(Object.keys(Object.assign({},e,t)),(function(r){const a=l[r]||i,s=a(e[r],t[r],r);qt.isUndefined(s)&&a!==o||(n[r]=s)})),n}const Bn="1.6.7",Gn={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{Gn[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const qn={};Gn.transitional=function(e,t,n){function r(e,t){return"[Axios v1.6.7] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,i,a)=>{if(!1===e)throw new Jt(r(i," has been removed"+(t?" in "+t:"")),Jt.ERR_DEPRECATED);return t&&!qn[i]&&(qn[i]=!0,console.warn(r(i," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,i,a)}};const Hn={assertOptions:function(e,t,n){if("object"!==typeof e)throw new Jt("options must be an object",Jt.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let i=r.length;for(;i-- >0;){const a=r[i],s=t[a];if(s){const t=e[a],n=void 0===t||s(t,a,e);if(!0!==n)throw new Jt("option "+a+" must be "+n,Jt.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new Jt("Unknown option "+a,Jt.ERR_BAD_OPTION)}},validators:Gn},Wn=Hn.validators;class zn{constructor(e){this.defaults=e,this.interceptors={request:new en,response:new en}}async request(e,t){try{return await this._request(e,t)}catch(n){if(n instanceof Error){let e;Error.captureStackTrace?Error.captureStackTrace(e={}):e=new Error;const t=e.stack?e.stack.replace(/^.+\n/,""):"";n.stack?t&&!String(n.stack).endsWith(t.replace(/^.+\n.+\n/,""))&&(n.stack+="\n"+t):n.stack=t}throw n}}_request(e,t){"string"===typeof e?(t=t||{}).url=e:t=e||{},t=Dn(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:i}=t;void 0!==n&&Hn.assertOptions(n,{silentJSONParsing:Wn.transitional(Wn.boolean),forcedJSONParsing:Wn.transitional(Wn.boolean),clarifyTimeoutError:Wn.transitional(Wn.boolean)},!1),null!=r&&(qt.isFunction(r)?t.paramsSerializer={serialize:r}:Hn.assertOptions(r,{encode:Wn.function,serialize:Wn.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let a=i&&qt.merge(i.common,i[t.method]);i&&qt.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete i[e]})),t.headers=vn.concat(a,i);const s=[];let o=!0;this.interceptors.request.forEach((function(e){"function"===typeof e.runWhen&&!1===e.runWhen(t)||(o=o&&e.synchronous,s.unshift(e.fulfilled,e.rejected))}));const l=[];let c;this.interceptors.response.forEach((function(e){l.push(e.fulfilled,e.rejected)}));let d,h=0;if(!o){const e=[Vn.bind(this),void 0];for(e.unshift.apply(e,s),e.push.apply(e,l),d=e.length,c=Promise.resolve(t);h<d;)c=c.then(e[h++],e[h++]);return c}d=s.length;let u=t;for(h=0;h<d;){const e=s[h++],t=s[h++];try{u=e(u)}catch(p){t.call(this,p);break}}try{c=Vn.call(this,u)}catch(p){return Promise.reject(p)}for(h=0,d=l.length;h<d;)c=c.then(l[h++],l[h++]);return c}getUri(e){return $t(wn((e=Dn(this.defaults,e)).baseURL,e.url),e.params,e.paramsSerializer)}}qt.forEach(["delete","get","head","options"],(function(e){zn.prototype[e]=function(t,n){return this.request(Dn(n||{},{method:e,url:t,data:(n||{}).data}))}})),qt.forEach(["post","put","patch"],(function(e){function t(t){return function(n,r,i){return this.request(Dn(i||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:n,data:r}))}}zn.prototype[e]=t(),zn.prototype[e+"Form"]=t(!0)}));const Jn=zn;class Un{constructor(e){if("function"!==typeof e)throw new TypeError("executor must be a function.");let t;this.promise=new Promise((function(e){t=e}));const n=this;this.promise.then((e=>{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,i){n.reason||(n.reason=new bn(e,r,i),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;const t=new Un((function(t){e=t}));return{token:t,cancel:e}}}const Nn=Un;const Ln={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Ln).forEach((e=>{let[t,n]=e;Ln[n]=t}));const Yn=Ln;const Fn=function e(t){const n=new Jn(t),r=it(Jn.prototype.request,n);return qt.extend(r,Jn.prototype,n,{allOwnKeys:!0}),qt.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return e(Dn(t,n))},r}(hn);Fn.Axios=Jn,Fn.CanceledError=bn,Fn.CancelToken=Nn,Fn.isCancel=Sn,Fn.VERSION=Bn,Fn.toFormData=Ft,Fn.AxiosError=Jt,Fn.Cancel=Fn.CanceledError,Fn.all=function(e){return Promise.all(e)},Fn.spread=function(e){return function(t){return e.apply(null,t)}},Fn.isAxiosError=function(e){return qt.isObject(e)&&!0===e.isAxiosError},Fn.mergeConfig=Dn,Fn.AxiosHeaders=vn,Fn.formToJSON=e=>cn(qt.isHTMLForm(e)?new FormData(e):e),Fn.getAdapter=Cn,Fn.HttpStatusCode=Yn,Fn.default=Fn;const Zn=Fn,Kn=JSON.parse('{"Bd":{"ES":"/pages/resources","EL":"/vacancies/","HO":"/pages/career","Ud":"/pages/resources/crop-nutrition-programs","cQ":"/pages/resources/trail-results","UR":"/pages/resources/information-materials","ZE":"/pages/products","sk":"/products/","TB":"/pages/homepage","M3":"/pages/contacts","D_":"/pages/terms-conditions","zu":"/pages/legal-info","hs":"/pages/blog","vg":"/posts/","zG":"/pages/about","wT":"/pages/general-translation"},"FR":"/vacancies","m$":"/products","Qc":"/countries","ZO":"/languages","DQ":"/employees","Ki":"/crops","WO":"/posts","$P":"/search","rZ":"/catalogs","B1":"/subscribe","Zd":"/form"}'),Qn="nutrition",Xn="trials",_n=8,$n=9,er=4,tr=6,nr="https://api-uniferx.goodface.com.ua/api",rr=(e,t,n)=>Ze(e,(async(e,n)=>{let{getState:r}=n;const{languageState:i}=r(),a=await t({language:i.language.code,country:i.country.code,...e}).catch((e=>{throw e}));return a.data}),{condition:n}),ir=rr("fetchResources",(e=>Zn.get("".concat(nr+Kn.Bd.ES),{params:e})),((e,t)=>{let{getState:n}=t;const{data:r}=n().resourcesState.resources;return!r})),ar=Je({name:"resourcesSlice",initialState:{resources:{}},reducers:{},extraReducers:e=>{e.addCase(ir.fulfilled,((e,t)=>{e.resources=t.payload}))}}),sr=rt([e=>e.resourcesState.resources],(e=>e.data||{})),or=rt([e=>e.resourcesState.resources],(e=>"success"!==(null===e||void 0===e?void 0:e.status))),lr=ar.reducer,cr=rr("fetchProducts",(e=>Zn.get("".concat(nr+Kn.Bd.ZE),{params:e})),((e,t)=>{let{getState:n}=t;const{data:r}=n().productsState.products;return!r})),dr=rr("fetchProduct",(e=>{const{slug:t,language:n,country:r}=e;return Zn.get("".concat(nr+Kn.Bd.sk+t),{params:{language:n,country:r}})})),hr=rr("fetchMainProducts",(e=>{const{language:t,country:n,page:r=1,limit:i=10}=e;return Zn.get("".concat(nr+Kn.m$),{params:{language:t,country:n,page:r,limit:i}})})),ur=rr("fetchRelatedProducts",(e=>{const{slug:t,language:n,country:r,page:i=1,limit:a=_n}=e;return Zn.get("".concat(nr+Kn.Bd.sk+t+"/related"),{params:{language:n,country:r,page:i,limit:a}})})),pr=Je({name:"productsSlice",initialState:{products:{},mainProducts:{},productContent:{},relatedProducts:{data:[],next:!1}},reducers:{},extraReducers:e=>{e.addCase(hr.fulfilled,((e,t)=>{e.mainProducts=t.payload})).addCase(cr.fulfilled,((e,t)=>{e.products=t.payload})).addCase(ur.fulfilled,((e,t)=>{const{payload:n,meta:r}=t;e.relatedProducts.next=n.data.next,1===r.arg.page?e.relatedProducts.data=n.data.data:e.relatedProducts.data.push(...n.data.data)})).addCase(dr.pending,(e=>{e.productContent={},e.relatedProducts={data:[],next:!1}})).addCase(dr.fulfilled,((e,t)=>{e.productContent=t.payload}))}}),fr=rt([e=>e.productsState.products],(e=>e.data||{})),mr=rt([e=>e.productsState.products],(e=>"success"!==(null===e||void 0===e?void 0:e.status))),gr=rt([e=>e.productsState.productContent],(e=>e.data||{})),yr=rt([e=>e.productsState.productContent],(e=>"success"!==(null===e||void 0===e?void 0:e.status))),vr=rt([e=>e.productsState.mainProducts],(e=>e.data||[])),xr=rt([vr],(e=>(null===e||void 0===e?void 0:e.map((e=>({value:e.slug,name:e.preview_title}))))||[])),Sr=rt([e=>e.productsState.relatedProducts],(e=>e||{})),Ar=pr.reducer,br=e=>{const{slug:t,product:n,language:r,country:i,trials_country:a,type:s,page:o=1,limit:l=_n,all:c}=e;return Zn.get("".concat(nr+Kn.Ki),{params:{language:r,country:i,product:n,trials_country:a,type:s,page:o,slug:t,limit:l,all:c}})},kr=rr("fetchTrialResults",(e=>Zn.get("".concat(nr+Kn.Bd.cQ),{params:e})),((e,t)=>{let{getState:n}=t;const{data:r}=n().trialResultsState.trialResults;return!r})),wr=rr("fetchTrialResultsFlyers",(e=>{const{slug:t,language:n,country:r,page:i=1,limit:a=tr,product:s,trials_country:o}=e;return Zn.get("".concat(nr+Kn.Ki+"/"+t+"/flyers"),{params:{language:n,country:r,page:i,limit:a,product:s,trials_country:o}})})),jr=rr("fetchTrialResultsForProductForCurrentCountry",br),Mr=rr("fetchTrialResultsForProductForOthers",br),Pr=rr("fetchTrialResultsPageList",br),Or=rr("fetchDetailTrialResults",(e=>{const{slug:t,language:n,country:r,type:i=Xn}=e;return Zn.get("".concat(nr+Kn.Ki+"/"+t),{params:{language:n,country:r,type:i}})})),Tr=Je({name:"trialResultsSlice",initialState:{trialResults:{},trialResultsDetails:{},trialResultsFlyers:{flyers:[],next:!1},trialResultsPageList:{},allCropTrialForFilter:{data:[]},trialResultsForProductForCurrentCountry:{data:[],next:!1},trialResultsForProductForOthers:{data:[],next:!1},currentProductFilter:null,currentCountryFilter:null},reducers:{setCurrentProductFilter:(e,t)=>{e.currentProductFilter=t.payload},setCurrentCountryFilter:(e,t)=>{e.currentCountryFilter=t.payload}},extraReducers:e=>{e.addCase(kr.fulfilled,((e,t)=>{e.trialResults=t.payload})).addCase(Or.pending,((e,t)=>{e.trialResultsDetails={}})).addCase(Or.fulfilled,((e,t)=>{e.trialResultsDetails=t.payload})).addCase(Pr.fulfilled,((e,t)=>{e.trialResultsPageList=t.payload,e.allCropTrialForFilter.data.length||(e.allCropTrialForFilter=t.payload)})).addCase(wr.fulfilled,((e,t)=>{const{payload:n,meta:r}=t;e.trialResultsFlyers.next=n.next,1===r.arg.page?e.trialResultsFlyers.flyers=n.data:e.trialResultsFlyers.flyers.push(...n.data)})).addCase(jr.fulfilled,((e,t)=>{const{payload:n,meta:r}=t;e.trialResultsForProductForCurrentCountry.next=n.next,1===r.arg.page?e.trialResultsForProductForCurrentCountry.data=n.data:e.trialResultsForProductForCurrentCountry.data.push(...n.data)})).addCase(Mr.fulfilled,((e,t)=>{const{payload:n,meta:r}=t;e.trialResultsForProductForOthers.next=n.next,1===r.arg.page?e.trialResultsForProductForOthers.data=n.data:e.trialResultsForProductForOthers.data.push(...n.data)}))}}),Ir=rt([e=>e.trialResultsState.trialResults],(e=>e.data||{})),Cr=rt([e=>e.trialResultsState.trialResults],(e=>"success"!==(null===e||void 0===e?void 0:e.status))),Er=rt([e=>e.trialResultsState.trialResultsFlyers],(e=>e||{})),Vr=rt([e=>e.trialResultsState.trialResultsForProductForCurrentCountry],(e=>e||{})),Rr=rt([e=>e.trialResultsState.trialResultsForProductForOthers],(e=>e||{})),Dr=rt([e=>e.trialResultsState.trialResultsPageList],(e=>e.data||[])),Br=rt([e=>e.trialResultsState.trialResultsDetails],(e=>e.data||{})),Gr=rt([e=>e.trialResultsState.trialResultsDetails],(e=>"success"!==(null===e||void 0===e?void 0:e.status))),qr=rt([e=>e.trialResultsState.allCropTrialForFilter],(e=>e.data||[])),Hr=(rt([qr],(e=>e.map((e=>({value:e.slug,name:e.title}))))),rt([e=>e.trialResultsState.currentProductFilter],(e=>e||null))),Wr=rt([e=>e.trialResultsState.currentCountryFilter],(e=>e||null)),{setCurrentProductFilter:zr,setCurrentCountryFilter:Jr}=Tr.actions,Ur=Tr.reducer,Nr=rr("fetchCareer",(e=>Zn.get("".concat(nr+Kn.Bd.HO),{params:e})),((e,t)=>{let{getState:n}=t;const{data:r}=n().careerState.career;return!r})),Lr=rr("fetchVacancies",(e=>{const{language:t,country:n,page:r=1,limit:i=er}=e;return Zn.get("".concat(nr+Kn.FR),{params:{language:t,country:n,page:r,limit:i}})})),Yr=rr("fetchVacancy",(e=>{const{slug:t,language:n,country:r}=e;return Zn.get("".concat(nr+Kn.Bd.EL+t),{params:{language:n,country:r}})})),Fr=Je({name:"careerSlice",initialState:{career:{},vacanciesList:{data:[],next:!1},vacancyContent:{},vacanciesListIsLoading:!1},reducers:{},extraReducers:e=>{e.addCase(Lr.pending,((e,t)=>{e.vacanciesListIsLoading=!0})),e.addCase(Lr.fulfilled,((e,t)=>{const{payload:n,meta:r}=t;e.vacanciesList.next=n.next,1===r.arg.page?e.vacanciesList.data=n.data:e.vacanciesList.data.push(...n.data),e.vacanciesListIsLoading=!1})).addCase(Nr.fulfilled,((e,t)=>{e.career=t.payload})).addCase(Yr.pending,((e,t)=>{e.vacancyContent={}})).addCase(Yr.fulfilled,((e,t)=>{e.vacancyContent=t.payload}))}}),Zr=rt([e=>e.careerState.career],(e=>e.data||{})),Kr=rt([e=>e.careerState.career,e=>e.careerState.vacanciesListIsLoading],((e,t)=>"success"!==(null===e||void 0===e?void 0:e.status)&&t)),Qr=rt([e=>e.careerState.vacanciesList],(e=>e||{})),Xr=rt([e=>e.careerState.vacancyContent],(e=>e.data||{})),_r=rt([e=>e.careerState.vacancyContent],(e=>"success"!==(null===e||void 0===e?void 0:e.status))),$r=Fr.reducer,ei=rr("fetchHomepage",(e=>Zn.get("".concat(nr+Kn.Bd.TB),{params:e}))),ti=Je({name:"homepageSlice",initialState:{homepage:{},homepageIsLoading:!1},reducers:{},extraReducers:e=>{e.addCase(ei.pending,(e=>{e.homepageIsLoading=!0})),e.addCase(ei.fulfilled,((e,t)=>{e.homepageIsLoading=!1,e.homepage=t.payload}))}}),ni=rt([e=>e.homepageState.homepage],(e=>e.data||{})),ri=rt([e=>e.homepageState.homepageIsLoading],(e=>e)),ii=ti.reducer,ai=Ze("fetchLanguages",(async()=>(await Zn.get("".concat(nr+Kn.ZO))).data),{condition:(e,t)=>{let{getState:n}=t;const{languages:r}=n().languageState;if(r.length)return!1}}),si=Ze("fetchCountries",(async()=>(await Zn.get("".concat(nr+Kn.Qc))).data),{condition:(e,t)=>{let{getState:n}=t;const{countries:r}=n().languageState;if(r.length)return!1}}),oi="language",li="country",ci=Je({name:"languageSlice",initialState:{language:{},country:{},languages:[],languagesIsLoading:!0,countriesIsLoading:!0,countries:[]},reducers:{changeLanguage:(e,t)=>{e.language=t.payload,localStorage.setItem(oi,JSON.stringify(t.payload))},changeCountry:(e,t)=>{e.country=t.payload,localStorage.setItem(li,JSON.stringify(t.payload))}},extraReducers:e=>{e.addCase(ai.fulfilled,((e,t)=>{e.languages=t.payload.data,localStorage.getItem(oi)?e.language=JSON.parse(localStorage.getItem(oi)):(localStorage.setItem(oi,JSON.stringify(t.payload.data[0])),e.language=t.payload.data[0]),e.languagesIsLoading=!1})),e.addCase(si.fulfilled,((e,t)=>{const n=t.payload.data.map((t=>{var n;const r=JSON.parse(t.name).text[null===(n=e.language)||void 0===n?void 0:n.code];return{...t,name:r}}));e.countries=n,localStorage.getItem(li)?e.country=JSON.parse(localStorage.getItem(li)):(localStorage.setItem(li,JSON.stringify(n[0])),e.country=n[0]),e.countriesIsLoading=!1}))}}),di=rt([e=>e.languageState],(e=>e||{})),hi=rt([e=>e.languageState],(e=>e.languagesIsLoading||e.countriesIsLoading)),ui=rt([e=>e.languageState],(e=>e.country)),pi=rt([e=>e.languageState],(e=>e.language)),fi=rt([ui,pi],((e,t)=>({country:e,language:t}))),mi=rt([e=>e.languageState.countries],(e=>e.map((e=>({name:e.name,value:e.code}))))),{changeLanguage:gi,changeCountry:yi}=ci.actions,vi=ci.reducer,xi=e=>{const{language:t,country:n,page:r=1,limit:i=$n,tag:a}=e;return Zn.get("".concat(nr+Kn.WO),{params:{language:t,country:n,page:r,limit:i,tag:a}})},Si=rr("fetchPost",(e=>{const{slug:t,language:n,country:r}=e;return Zn.get("".concat(nr+Kn.Bd.vg+t),{params:{language:n,country:r}})})),Ai=rr("fetchBlog",(e=>Zn.get("".concat(nr+Kn.Bd.hs),{params:e})),((e,t)=>{let{getState:n}=t;const{data:r}=n().blogState.blog;return!r})),bi=rr("fetchLatestPostsForHomepage",xi),ki=rr("fetchPostsForNews",xi),wi=rr("fetchPostsSlider",xi,((e,t)=>{let{getState:n}=t;const{data:r}=n().blogState.articleSliderPosts;return!r.length})),ji=Je({name:"blogSlice",initialState:{blog:{},latestPostHomepage:{},latestPostHomepageIsloading:!1,newsPagePosts:{data:[],next:!1},postContent:{},articleSliderPosts:{data:[],next:!1}},reducers:{},extraReducers:e=>{e.addCase(bi.pending,(e=>{e.latestPostHomepageIsloading=!0})).addCase(bi.fulfilled,((e,t)=>{e.latestPostHomepage=t.payload,e.latestPostHomepageIsloading=!1})).addCase(ki.fulfilled,((e,t)=>{const{payload:n,meta:r}=t;e.newsPagePosts.next=n.next,1===r.arg.page?e.newsPagePosts.data=n.data:e.newsPagePosts.data.push(...n.data)})).addCase(Ai.fulfilled,((e,t)=>{e.blog=t.payload})).addCase(Si.pending,((e,t)=>{e.postContent={}})).addCase(Si.fulfilled,((e,t)=>{e.postContent=t.payload})).addCase(wi.fulfilled,((e,t)=>{e.articleSliderPosts=t.payload}))}}),Mi=rt([e=>e.blogState.blog],(e=>e.data||{})),Pi=rt([e=>e.blogState.latestPostHomepage],(e=>e.data||[])),Oi=rt([e=>e.blogState.latestPostHomepageIsloading],(e=>e)),Ti=rt([e=>e.blogState.newsPagePosts],(e=>e)),Ii=rt([e=>e.blogState.postContent],(e=>(null===e||void 0===e?void 0:e.data)||{})),Ci=rt([e=>e.blogState.postContent],(e=>"success"!==(null===e||void 0===e?void 0:e.status))),Ei=rt([e=>e.blogState.articleSliderPosts],(e=>e.data||[])),Vi=rt([e=>e.blogState.blog],(e=>"success"!==(null===e||void 0===e?void 0:e.status))),Ri=ji.reducer,Di=rr("fetchCropNutrition",(e=>Zn.get("".concat(nr+Kn.Bd.Ud),{params:e})),((e,t)=>{let{getState:n}=t;const{data:r}=n().cropNutritionState.cropNutritionPage;return!r})),Bi=rr("fetchCropNutritionDetail",(e=>{const{slug:t,language:n,country:r,type:i,product:a}=e;return Zn.get("".concat(nr+Kn.Ki+"/"+t),{params:{language:n,country:r,type:i,slug:t,product:a}})})),Gi=rr("fetchCropNutritionForProduct",br),qi=rr("fetchCropNutritionPageCrops",br),Hi=Je({name:"cropNutritionSlice",initialState:{cropNutritionPage:{},cropNutritionPageCrops:{},cropNutritionPageCropsIsLoading:!1,cropNutritionDetail:{},cropNutritionForProduct:{},allCropNutritionForFilter:{data:[]},currentProductFilter:null},reducers:{setCurrentProductFilter:(e,t)=>{e.currentProductFilter=t.payload}},extraReducers:e=>{e.addCase(Di.fulfilled,((e,t)=>{e.cropNutritionPage=t.payload})).addCase(qi.pending,((e,t)=>{e.cropNutritionPageCropsIsLoading=!0})).addCase(qi.fulfilled,((e,t)=>{e.cropNutritionPageCrops=t.payload,e.cropNutritionPageCropsIsLoading=!1,e.allCropNutritionForFilter.data.length||(e.allCropNutritionForFilter=t.payload)})).addCase(Bi.pending,((e,t)=>{e.cropNutritionDetail={}})).addCase(Bi.fulfilled,((e,t)=>{e.cropNutritionDetail=t.payload})).addCase(Gi.fulfilled,((e,t)=>{const{payload:n,meta:r}=t;e.cropNutritionForProduct.next=n.next,1===r.arg.page?e.cropNutritionForProduct.data=n.data:e.cropNutritionForProduct.data.push(...n.data)}))}}),Wi=rt([e=>e.cropNutritionState.cropNutritionPage],(e=>e.data||{})),zi=rt([e=>e.cropNutritionState.cropNutritionPage,e=>e.cropNutritionState.cropNutritionPageCropsIsLoading],((e,t)=>"success"!==e.status&&t)),Ji=rt([e=>e.cropNutritionState.cropNutritionPageCrops],(e=>e.data||[])),Ui=rt([e=>e.cropNutritionState.allCropNutritionForFilter],(e=>e.data||[])),Ni=(rt([Ui],(e=>e.map((e=>({value:e.slug,name:e.title}))))),rt([e=>e.cropNutritionState.cropNutritionDetail],(e=>e.data||{}))),Li=rt([e=>e.cropNutritionState.cropNutritionDetail],(e=>"success"!==(null===e||void 0===e?void 0:e.status))),Yi=rt([e=>e.cropNutritionState.cropNutritionForProduct],(e=>e||{})),Fi=rt([e=>e.cropNutritionState.currentProductFilter],(e=>e||null)),{setCurrentProductFilter:Zi}=Hi.actions,Ki=Hi.reducer,Qi=rr("fetchInformationMaterials",(e=>Zn.get("".concat(nr+Kn.Bd.UR),{params:e}))),Xi=rr("fetchInformationMaterialsFlyers",(e=>{const{id:t,language:n,country:r,page:i=1,limit:a=tr}=e;return Zn.get("".concat(nr+Kn.Bd.UR+"/"+t+"/flyers"),{params:{language:n,country:r,page:i,limit:a}})})),_i=rr("fetchFilteredInformationMaterials",(e=>Zn.get("".concat(nr+Kn.rZ),{params:e}))),$i=Je({name:"InformationMaterialsSlice",initialState:{informationMaterials:{},informationMaterialFlyers:{},informationMaterialFlyersIsLoading:!1},reducers:{},extraReducers:e=>{e.addCase(_i.fulfilled,((e,t)=>{e.informationMaterials.data.catalogs=t.payload.data})).addCase(Qi.fulfilled,((e,t)=>{e.informationMaterials=t.payload;const n=t.payload.data.catalogs.filter((e=>e.has_flyers)).reduce(((e,t)=>({...e,[t.id]:{flyers:[],next:!1}})),{});e.informationMaterialFlyers=n})).addCase(Xi.pending,((e,t)=>{e.informationMaterialFlyersIsLoading=!0})).addCase(Xi.fulfilled,((e,t)=>{const{payload:n,meta:r}=t;1===r.arg.page?e.informationMaterialFlyers[r.arg.id]={flyers:n.data,page:r.arg.page,next:n.next}:e.informationMaterialFlyers[r.arg.id]={flyers:[...e.informationMaterialFlyers[r.arg.id].flyers,...n.data],page:r.arg.page,next:n.next},e.informationMaterialFlyersIsLoading=!1}))}}),ea=rt([e=>e.informationMaterialsState.informationMaterials],(e=>e.data||{})),ta=rt([e=>e.informationMaterialsState.informationMaterials],(e=>"success"!==(null===e||void 0===e?void 0:e.status))),na=rt([e=>e.informationMaterialsState.informationMaterialFlyersIsLoading],(e=>e)),ra=rt([e=>e.informationMaterialsState.informationMaterialFlyers],(e=>e||{})),ia=$i.reducer,aa=rr("fetchLegalInfo",(e=>Zn.get("".concat(nr+Kn.Bd.zu),{params:e})),((e,t)=>{let{getState:n}=t;const{data:r}=n().additionalPagesState.lagalInfo;return!r})),sa=rr("fetchTermsConditions",(e=>Zn.get("".concat(nr+Kn.Bd.D_),{params:e})),((e,t)=>{let{getState:n}=t;const{data:r}=n().additionalPagesState.termsConditions;return!r})),oa=Je({name:"additionalPagesSlice",initialState:{lagalInfo:{},termsConditions:{}},reducers:{},extraReducers:e=>{e.addCase(aa.fulfilled,((e,t)=>{e.lagalInfo=t.payload})),e.addCase(sa.fulfilled,((e,t)=>{e.termsConditions=t.payload}))}}),la=rt([e=>e.additionalPagesState.lagalInfo],(e=>e.data||{})),ca=rt([e=>e.additionalPagesState.termsConditions],(e=>e.data||{})),da=rt([e=>e.additionalPagesState.lagalInfo],(e=>"success"!==e.status)),ha=rt([e=>e.additionalPagesState.termsConditions],(e=>"success"!==e.status)),ua=oa.reducer,pa=rr("fetchContacts",(e=>Zn.get("".concat(nr+Kn.Bd.M3),{params:e})),((e,t)=>{let{getState:n}=t;const{data:r}=n().contactsPagesState.contacts;return!r})),fa=Je({name:"contactsSlice",initialState:{contacts:{}},reducers:{},extraReducers:e=>{e.addCase(pa.fulfilled,((e,t)=>{e.contacts=t.payload}))}}),ma=rt([e=>e.contactsPagesState.contacts],(e=>e.data||{})),ga=rt([e=>e.contactsPagesState.contacts],(e=>"success"!==e.status)),ya=fa.reducer,va=10,xa=rr("fetchAboutUs",(e=>Zn.get("".concat(nr+Kn.Bd.zG),{params:e})),((e,t)=>{let{getState:n}=t;const{data:r}=n().aboutUsState.about;return!r})),Sa=rr("fetchEmployees",(e=>{const{page:t,limit:n=va,language:r,country:i}=e;return Zn.get("".concat(nr+Kn.DQ),{params:{page:t,limit:n,language:r,country:i}})})),Aa=Je({name:"aboutUsSlice",initialState:{about:{},employees:{data:[],next:!1},employeesIsLoading:!1},reducers:{},extraReducers:e=>{e.addCase(xa.fulfilled,((e,t)=>{e.about=t.payload})),e.addCase(Sa.pending,((e,t)=>{e.employeesIsLoading=!0})),e.addCase(Sa.fulfilled,((e,t)=>{const{payload:n,meta:r}=t;e.employees.next=n.next,1===r.arg.page?e.employees.data=n.data:e.employees.data.push(...n.data),e.employeesIsLoading=!1}))}}),ba=rt([e=>e.aboutUsState.about],(e=>e.data||{})),ka=rt([e=>e.aboutUsState.employees],(e=>e)),wa=rt([e=>e.aboutUsState.employeesIsLoading],(e=>e)),ja=rt([e=>e.aboutUsState.about],(e=>"success"!==(null===e||void 0===e?void 0:e.status))),Ma=Aa.reducer,Pa=rr("fetchTranslations",(e=>Zn.get("".concat(nr+Kn.Bd.wT),{params:e}))),Oa=Je({name:"transltionsSlice",initialState:{data:{},translationsIsLoading:!1},reducers:{},extraReducers:e=>{e.addCase(Pa.pending,(e=>{e.translationsIsLoading=!0})),e.addCase(Pa.fulfilled,((e,t)=>{e.data=t.payload,e.translationsIsLoading=!1}))}}),Ta=rt([e=>e.translationsState.data],(e=>e.data||{})),Ia=rt([e=>e.translationsState.translationsIsLoading],(e=>e)),Ca=rt([e=>e.translationsState.data],(e=>{const{blog_type_Article:t,blog_type_Event:n,blog_type_News:r,blog_type_Promo:i,blog_type_Research:a}=null===e||void 0===e?void 0:e.data;return{Article:t,Event:n,News:r,Promo:i,Research:a}})),Ea=Oa.reducer,Va=rr("fetchSearch",(e=>{const{search:t,language:n,country:r}=e;return Zn.get("".concat(nr+Kn.$P),{params:{language:n,country:r,search:t}})})),Ra={data:{products:[],cropsNutrition:[],cropsTrials:[],posts:[],catalogs:[],vacancies:[],flyers:[]}},Da=Je({name:"searchSlice",initialState:{searchData:Ra,isSearchEnd:!0},reducers:{resetSearch:e=>{e.searchData=Ra}},extraReducers:e=>{e.addCase(Va.pending,(e=>{e.isSearchEnd=!1})).addCase(Va.fulfilled,((e,t)=>{e.isSearchEnd=!0,e.searchData=t.payload}))}}),Ba=rt([e=>e.searchState.searchData],(e=>e.data||{})),Ga=rt([e=>e.searchState.isSearchEnd],(e=>e)),{resetSearch:qa}=Da.actions,Ha=Da.reducer,Wa=function(e){var t,n;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50;window.scrollTo({top:(null===(t=document)||void 0===t||null===(n=t.querySelector(".".concat(e)))||void 0===n?void 0:n.getBoundingClientRect().top)+window.scrollY-r,behavior:"smooth"})},za=async(e,t)=>{const{error:n}=await e;"Request failed with status code 404"===(null===n||void 0===n?void 0:n.message)&&t("/404")},Ja=Je({name:"uislice",initialState:{isNavigationItemHover:!1,isCookieAgree:(e=>{let t=e+"=",n=decodeURIComponent(document.cookie).split(";");for(let r=0;r<n.length;r++){let e=n[r];for(;" "==e.charAt(0);)e=e.substring(1);if(0==e.indexOf(t))return e.substring(t.length,e.length)}return""})("cookieIsAgree")||!1,lastLocation:{pathname:null,state:{}}},reducers:{setLastLocation:(e,t)=>{e.lastLocation=t.payload},setNavigationItemHover:(e,t)=>{e.isNavigationItemHover=t.payload},setAgreeCookie:e=>{document.cookie="cookieIsAgree=true",e.isCookieAgree=!0}}}),Ua=rt([e=>e.ui],(e=>e.isNavigationItemHover)),Na=rt([e=>e.ui],(e=>e.isCookieAgree)),La=rt([e=>e.ui],(e=>e.lastLocation)),{setNavigationItemHover:Ya,setAgreeCookie:Fa,setLastLocation:Za}=Ja.actions,Ka=function(e){var t,n=We(),r=e||{},i=r.reducer,a=void 0===i?void 0:i,s=r.middleware,o=void 0===s?n():s,l=r.devTools,c=void 0===l||l,d=r.preloadedState,h=void 0===d?void 0:d,u=r.enhancers,p=void 0===u?void 0:u;if("function"===typeof a)t=a;else{if(!De(a))throw new Error('"reducer" is a required argument, and must be a function or an object of functions that can be passed to combineReducers');t=me(a)}var f=o;"function"===typeof f&&(f=f(n));var m=ye.apply(void 0,f),g=ge;c&&(g=Re(Ce({trace:!1},"object"===typeof c&&c)));var y=new qe(m),v=y;return Array.isArray(p)?v=ke([m],p):"function"===typeof p&&(v=p(y)),fe(t,h,g.apply(void 0,v))}({reducer:{blogState:Ri,careerState:$r,homepageState:ii,languageState:vi,productsState:Ar,resourcesState:lr,trialResultsState:Ur,cropNutritionState:Ki,informationMaterialsState:ia,additionalPagesState:ua,contactsPagesState:ya,aboutUsState:Ma,translationsState:Ea,searchState:Ha,ui:Ja.reducer}});var Qa=__webpack_require__(461),Xa=__webpack_require__(443),_a=__webpack_require__(950),$a=__webpack_require__.t(_a,2);let es=function(e){e()};const ts=()=>es,ns=Symbol.for("react-redux-context"),rs="undefined"!==typeof globalThis?globalThis:{};function is(){var e;if(!t.createContext)return{};const n=null!=(e=rs[ns])?e:rs[ns]=new Map;let r=n.get(t.createContext);return r||(r=t.createContext(null),n.set(t.createContext,r)),r}const as=is();function ss(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:as;return function(){return(0,t.useContext)(e)}}const os=ss();let ls=()=>{throw new Error("uSES not initialized!")};const cs=(e,t)=>e===t;function ds(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:as;const n=e===as?os:ss(e);return function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{equalityFn:i=cs,stabilityCheck:a,noopCheck:s}="function"===typeof r?{equalityFn:r}:r;const{store:o,subscription:l,getServerState:c,stabilityCheck:d,noopCheck:h}=n(),u=((0,t.useRef)(!0),(0,t.useCallback)({[e.name]:t=>e(t)}[e.name],[e,d,a])),p=ls(l.addNestedSub,o.getState,c||o.getState,u,i);return(0,t.useDebugValue)(p),p}}const hs=ds();__webpack_require__(219),__webpack_require__(706);const us={notify(){},get:()=>[]};function ps(e,t){let n,r=us,i=0,a=!1;function s(){c.onStateChange&&c.onStateChange()}function o(){i++,n||(n=t?t.addNestedSub(s):e.subscribe(s),r=function(){const e=ts();let t=null,n=null;return{clear(){t=null,n=null},notify(){e((()=>{let e=t;for(;e;)e.callback(),e=e.next}))},get(){let e=[],n=t;for(;n;)e.push(n),n=n.next;return e},subscribe(e){let r=!0,i=n={callback:e,next:null,prev:n};return i.prev?i.prev.next=i:t=i,function(){r&&null!==t&&(r=!1,i.next?i.next.prev=i.prev:n=i.prev,i.prev?i.prev.next=i.next:t=i.next)}}}}())}function l(){i--,n&&0===i&&(n(),n=void 0,r.clear(),r=us)}const c={addNestedSub:function(e){o();const t=r.subscribe(e);let n=!1;return()=>{n||(n=!0,t(),l())}},notifyNestedSubs:function(){r.notify()},handleChangeWrapper:s,isSubscribed:function(){return a},trySubscribe:function(){a||(a=!0,o())},tryUnsubscribe:function(){a&&(a=!1,l())},getListeners:()=>r};return c}const fs=!("undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement)?t.useLayoutEffect:t.useEffect;let ms=null;const gs=function(e){let{store:n,context:r,children:i,serverState:a,stabilityCheck:s="once",noopCheck:o="once"}=e;const l=t.useMemo((()=>{const e=ps(n);return{store:n,subscription:e,getServerState:a?()=>a:void 0,stabilityCheck:s,noopCheck:o}}),[n,a,s,o]),c=t.useMemo((()=>n.getState()),[n]);fs((()=>{const{subscription:e}=l;return e.onStateChange=e.notifyNestedSubs,e.trySubscribe(),c!==n.getState()&&e.notifyNestedSubs(),()=>{e.tryUnsubscribe(),e.onStateChange=void 0}}),[l,c]);const d=r||as;return t.createElement(d.Provider,{value:l},i)};function ys(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:as;const t=e===as?os:ss(e);return function(){const{store:e}=t();return e}}const vs=ys();function xs(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:as;const t=e===as?vs:ys(e);return function(){return t().dispatch}}const Ss=xs();var As,bs;function ks(){return ks=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ks.apply(this,arguments)}(e=>{ls=e})(Xa.useSyncExternalStoreWithSelector),(e=>{ms=e})(Qa.useSyncExternalStore),As=_a.unstable_batchedUpdates,es=As,function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"}(bs||(bs={}));const ws="popstate";function js(e,t){if(!1===e||null===e||"undefined"===typeof e)throw new Error(t)}function Ms(e,t){if(!e){"undefined"!==typeof console&&console.warn(t);try{throw new Error(t)}catch(n){}}}function Ps(e,t){return{usr:e.state,key:e.key,idx:t}}function Os(e,t,n,r){return void 0===n&&(n=null),ks({pathname:"string"===typeof e?e:e.pathname,search:"",hash:""},"string"===typeof t?Is(t):t,{state:n,key:t&&t.key||r||Math.random().toString(36).substr(2,8)})}function Ts(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&"?"!==n&&(t+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(t+="#"===r.charAt(0)?r:"#"+r),t}function Is(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function Cs(e,t,n,r){void 0===r&&(r={});let{window:i=document.defaultView,v5Compat:a=!1}=r,s=i.history,o=bs.Pop,l=null,c=d();function d(){return(s.state||{idx:null}).idx}function h(){o=bs.Pop;let e=d(),t=null==e?null:e-c;c=e,l&&l({action:o,location:p.location,delta:t})}function u(e){let t="null"!==i.location.origin?i.location.origin:i.location.href,n="string"===typeof e?e:Ts(e);return n=n.replace(/ $/,"%20"),js(t,"No window.location.(origin|href) available to create URL for href: "+n),new URL(n,t)}null==c&&(c=0,s.replaceState(ks({},s.state,{idx:c}),""));let p={get action(){return o},get location(){return e(i,s)},listen(e){if(l)throw new Error("A history only accepts one active listener");return i.addEventListener(ws,h),l=e,()=>{i.removeEventListener(ws,h),l=null}},createHref:e=>t(i,e),createURL:u,encodeLocation(e){let t=u(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){o=bs.Push;let r=Os(p.location,e,t);n&&n(r,e),c=d()+1;let h=Ps(r,c),u=p.createHref(r);try{s.pushState(h,"",u)}catch(f){if(f instanceof DOMException&&"DataCloneError"===f.name)throw f;i.location.assign(u)}a&&l&&l({action:o,location:p.location,delta:1})},replace:function(e,t){o=bs.Replace;let r=Os(p.location,e,t);n&&n(r,e),c=d();let i=Ps(r,c),h=p.createHref(r);s.replaceState(i,"",h),a&&l&&l({action:o,location:p.location,delta:0})},go:e=>s.go(e)};return p}var Es;!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(Es||(Es={}));new Set(["lazy","caseSensitive","path","id","index","children"]);function Vs(e,t,n){void 0===n&&(n="/");let r=Fs(("string"===typeof t?Is(t):t).pathname||"/",n);if(null==r)return null;let i=Rs(e);!function(e){e.sort(((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){let n=e.length===t.length&&e.slice(0,-1).every(((e,n)=>e===t[n]));return n?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((e=>e.childrenIndex)),t.routesMeta.map((e=>e.childrenIndex)))))}(i);let a=null;for(let s=0;null==a&&s<i.length;++s){let e=Ys(r);a=Ns(i[s],e)}return a}function Rs(e,t,n,r){void 0===t&&(t=[]),void 0===n&&(n=[]),void 0===r&&(r="");let i=(e,i,a)=>{let s={relativePath:void 0===a?e.path||"":a,caseSensitive:!0===e.caseSensitive,childrenIndex:i,route:e};s.relativePath.startsWith("/")&&(js(s.relativePath.startsWith(r),'Absolute route path "'+s.relativePath+'" nested under path "'+r+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),s.relativePath=s.relativePath.slice(r.length));let o=_s([r,s.relativePath]),l=n.concat(s);e.children&&e.children.length>0&&(js(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+o+'".'),Rs(e.children,t,l,o)),(null!=e.path||e.index)&&t.push({path:o,score:Us(o,e.index),routesMeta:l})};return e.forEach(((e,t)=>{var n;if(""!==e.path&&null!=(n=e.path)&&n.includes("?"))for(let r of Ds(e.path))i(e,t,r);else i(e,t)})),t}function Ds(e){let t=e.split("/");if(0===t.length)return[];let[n,...r]=t,i=n.endsWith("?"),a=n.replace(/\?$/,"");if(0===r.length)return i?[a,""]:[a];let s=Ds(r.join("/")),o=[];return o.push(...s.map((e=>""===e?a:[a,e].join("/")))),i&&o.push(...s),o.map((t=>e.startsWith("/")&&""===t?"/":t))}const Bs=/^:[\w-]+$/,Gs=3,qs=2,Hs=1,Ws=10,zs=-2,Js=e=>"*"===e;function Us(e,t){let n=e.split("/"),r=n.length;return n.some(Js)&&(r+=zs),t&&(r+=qs),n.filter((e=>!Js(e))).reduce(((e,t)=>e+(Bs.test(t)?Gs:""===t?Hs:Ws)),r)}function Ns(e,t){let{routesMeta:n}=e,r={},i="/",a=[];for(let s=0;s<n.length;++s){let e=n[s],o=s===n.length-1,l="/"===i?t:t.slice(i.length)||"/",c=Ls({path:e.relativePath,caseSensitive:e.caseSensitive,end:o},l);if(!c)return null;Object.assign(r,c.params);let d=e.route;a.push({params:r,pathname:_s([i,c.pathname]),pathnameBase:$s(_s([i,c.pathnameBase])),route:d}),"/"!==c.pathnameBase&&(i=_s([i,c.pathnameBase]))}return a}function Ls(e,t){"string"===typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=function(e,t,n){void 0===t&&(t=!1);void 0===n&&(n=!0);Ms("*"===e||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were "'+e.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+e.replace(/\*$/,"/*")+'".');let r=[],i="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,((e,t,n)=>(r.push({paramName:t,isOptional:null!=n}),n?"/?([^\\/]+)?":"/([^\\/]+)")));e.endsWith("*")?(r.push({paramName:"*"}),i+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?i+="\\/*$":""!==e&&"/"!==e&&(i+="(?:(?=\\/|$))");let a=new RegExp(i,t?void 0:"i");return[a,r]}(e.path,e.caseSensitive,e.end),i=t.match(n);if(!i)return null;let a=i[0],s=a.replace(/(.)\/+$/,"$1"),o=i.slice(1);return{params:r.reduce(((e,t,n)=>{let{paramName:r,isOptional:i}=t;if("*"===r){let e=o[n]||"";s=a.slice(0,a.length-e.length).replace(/(.)\/+$/,"$1")}const l=o[n];return e[r]=i&&!l?void 0:(l||"").replace(/%2F/g,"/"),e}),{}),pathname:a,pathnameBase:s,pattern:e}}function Ys(e){try{return e.split("/").map((e=>decodeURIComponent(e).replace(/\//g,"%2F"))).join("/")}catch(t){return Ms(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding ('+t+")."),e}}function Fs(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&"/"!==r?null:e.slice(n)||"/"}function Zs(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified `to."+t+"` field ["+JSON.stringify(r)+"].  Please separate it out to the `to."+n+'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'}function Ks(e){return e.filter(((e,t)=>0===t||e.route.path&&e.route.path.length>0))}function Qs(e,t){let n=Ks(e);return t?n.map(((t,n)=>n===e.length-1?t.pathname:t.pathnameBase)):n.map((e=>e.pathnameBase))}function Xs(e,t,n,r){let i;void 0===r&&(r=!1),"string"===typeof e?i=Is(e):(i=ks({},e),js(!i.pathname||!i.pathname.includes("?"),Zs("?","pathname","search",i)),js(!i.pathname||!i.pathname.includes("#"),Zs("#","pathname","hash",i)),js(!i.search||!i.search.includes("#"),Zs("#","search","hash",i)));let a,s=""===e||""===i.pathname,o=s?"/":i.pathname;if(null==o)a=n;else{let e=t.length-1;if(!r&&o.startsWith("..")){let t=o.split("/");for(;".."===t[0];)t.shift(),e-=1;i.pathname=t.join("/")}a=e>=0?t[e]:"/"}let l=function(e,t){void 0===t&&(t="/");let{pathname:n,search:r="",hash:i=""}="string"===typeof e?Is(e):e,a=n?n.startsWith("/")?n:function(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((e=>{".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)})),n.length>1?n.join("/"):"/"}(n,t):t;return{pathname:a,search:eo(r),hash:to(i)}}(i,a),c=o&&"/"!==o&&o.endsWith("/"),d=(s||"."===o)&&n.endsWith("/");return l.pathname.endsWith("/")||!c&&!d||(l.pathname+="/"),l}const _s=e=>e.join("/").replace(/\/\/+/g,"/"),$s=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),eo=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",to=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"";Error;function no(e){return null!=e&&"number"===typeof e.status&&"string"===typeof e.statusText&&"boolean"===typeof e.internal&&"data"in e}const ro=["post","put","patch","delete"],io=(new Set(ro),["get",...ro]);new Set(io),new Set([301,302,303,307,308]),new Set([307,308]);Symbol("deferred");function ao(){return ao=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ao.apply(this,arguments)}const so=t.createContext(null);const oo=t.createContext(null);const lo=t.createContext(null);const co=t.createContext(null);const ho=t.createContext({outlet:null,matches:[],isDataRoute:!1});const uo=t.createContext(null);function po(){return null!=t.useContext(co)}function fo(){return po()||js(!1),t.useContext(co).location}function mo(e){t.useContext(lo).static||t.useLayoutEffect(e)}function go(){let{isDataRoute:e}=t.useContext(ho);return e?function(){let{router:e}=Oo(Mo.UseNavigateStable),n=Io(Po.UseNavigateStable),r=t.useRef(!1);mo((()=>{r.current=!0}));let i=t.useCallback((function(t,i){void 0===i&&(i={}),r.current&&("number"===typeof t?e.navigate(t):e.navigate(t,ao({fromRouteId:n},i)))}),[e,n]);return i}():function(){po()||js(!1);let e=t.useContext(so),{basename:n,future:r,navigator:i}=t.useContext(lo),{matches:a}=t.useContext(ho),{pathname:s}=fo(),o=JSON.stringify(Qs(a,r.v7_relativeSplatPath)),l=t.useRef(!1);mo((()=>{l.current=!0}));let c=t.useCallback((function(t,r){if(void 0===r&&(r={}),!l.current)return;if("number"===typeof t)return void i.go(t);let a=Xs(t,JSON.parse(o),s,"path"===r.relative);null==e&&"/"!==n&&(a.pathname="/"===a.pathname?n:_s([n,a.pathname])),(r.replace?i.replace:i.push)(a,r.state,r)}),[n,i,o,s,e]);return c}()}const yo=t.createContext(null);function vo(){let{matches:e}=t.useContext(ho),n=e[e.length-1];return n?n.params:{}}function xo(e,n){let{relative:r}=void 0===n?{}:n,{future:i}=t.useContext(lo),{matches:a}=t.useContext(ho),{pathname:s}=fo(),o=JSON.stringify(Qs(a,i.v7_relativeSplatPath));return t.useMemo((()=>Xs(e,JSON.parse(o),s,"path"===r)),[e,o,s,r])}function So(e,n,r,i){po()||js(!1);let{navigator:a}=t.useContext(lo),{matches:s}=t.useContext(ho),o=s[s.length-1],l=o?o.params:{},c=(o&&o.pathname,o?o.pathnameBase:"/");o&&o.route;let d,h=fo();if(n){var u;let e="string"===typeof n?Is(n):n;"/"===c||(null==(u=e.pathname)?void 0:u.startsWith(c))||js(!1),d=e}else d=h;let p=d.pathname||"/",f=p;if("/"!==c){let e=c.replace(/^\//,"").split("/");f="/"+p.replace(/^\//,"").split("/").slice(e.length).join("/")}let m=Vs(e,{pathname:f});let g=jo(m&&m.map((e=>Object.assign({},e,{params:Object.assign({},l,e.params),pathname:_s([c,a.encodeLocation?a.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?c:_s([c,a.encodeLocation?a.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])}))),s,r,i);return n&&g?t.createElement(co.Provider,{value:{location:ao({pathname:"/",search:"",hash:"",state:null,key:"default"},d),navigationType:bs.Pop}},g):g}function Ao(){let e=function(){var e;let n=t.useContext(uo),r=To(Po.UseRouteError),i=Io(Po.UseRouteError);if(void 0!==n)return n;return null==(e=r.errors)?void 0:e[i]}(),n=no(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,i="rgba(200,200,200, 0.5)",a={padding:"0.5rem",backgroundColor:i};return t.createElement(t.Fragment,null,t.createElement("h2",null,"Unexpected Application Error!"),t.createElement("h3",{style:{fontStyle:"italic"}},n),r?t.createElement("pre",{style:a},r):null,null)}const bo=t.createElement(Ao,null);class ko extends t.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return void 0!==this.state.error?t.createElement(ho.Provider,{value:this.props.routeContext},t.createElement(uo.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function wo(e){let{routeContext:n,match:r,children:i}=e,a=t.useContext(so);return a&&a.static&&a.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=r.route.id),t.createElement(ho.Provider,{value:n},i)}function jo(e,n,r,i){var a;if(void 0===n&&(n=[]),void 0===r&&(r=null),void 0===i&&(i=null),null==e){var s;if(null==(s=r)||!s.errors)return null;e=r.matches}let o=e,l=null==(a=r)?void 0:a.errors;if(null!=l){let e=o.findIndex((e=>e.route.id&&(null==l?void 0:l[e.route.id])));e>=0||js(!1),o=o.slice(0,Math.min(o.length,e+1))}let c=!1,d=-1;if(r&&i&&i.v7_partialHydration)for(let t=0;t<o.length;t++){let e=o[t];if((e.route.HydrateFallback||e.route.hydrateFallbackElement)&&(d=t),e.route.id){let{loaderData:t,errors:n}=r,i=e.route.loader&&void 0===t[e.route.id]&&(!n||void 0===n[e.route.id]);if(e.route.lazy||i){c=!0,o=d>=0?o.slice(0,d+1):[o[0]];break}}}return o.reduceRight(((e,i,a)=>{let s,h=!1,u=null,p=null;var f;r&&(s=l&&i.route.id?l[i.route.id]:void 0,u=i.route.errorElement||bo,c&&(d<0&&0===a?(f="route-fallback",!1||Co[f]||(Co[f]=!0),h=!0,p=null):d===a&&(h=!0,p=i.route.hydrateFallbackElement||null)));let m=n.concat(o.slice(0,a+1)),g=()=>{let n;return n=s?u:h?p:i.route.Component?t.createElement(i.route.Component,null):i.route.element?i.route.element:e,t.createElement(wo,{match:i,routeContext:{outlet:e,matches:m,isDataRoute:null!=r},children:n})};return r&&(i.route.ErrorBoundary||i.route.errorElement||0===a)?t.createElement(ko,{location:r.location,revalidation:r.revalidation,component:u,error:s,children:g(),routeContext:{outlet:null,matches:m,isDataRoute:!0}}):g()}),null)}var Mo=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(Mo||{}),Po=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Po||{});function Oo(e){let n=t.useContext(so);return n||js(!1),n}function To(e){let n=t.useContext(oo);return n||js(!1),n}function Io(e){let n=function(e){let n=t.useContext(ho);return n||js(!1),n}(),r=n.matches[n.matches.length-1];return r.route.id||js(!1),r.route.id}const Co={};n.startTransition;function Eo(e){return function(e){let n=t.useContext(ho).outlet;return n?t.createElement(yo.Provider,{value:e},n):n}(e.context)}function Vo(e){js(!1)}function Ro(e){let{basename:n="/",children:r=null,location:i,navigationType:a=bs.Pop,navigator:s,static:o=!1,future:l}=e;po()&&js(!1);let c=n.replace(/^\/*/,"/"),d=t.useMemo((()=>({basename:c,navigator:s,static:o,future:ao({v7_relativeSplatPath:!1},l)})),[c,l,s,o]);"string"===typeof i&&(i=Is(i));let{pathname:h="/",search:u="",hash:p="",state:f=null,key:m="default"}=i,g=t.useMemo((()=>{let e=Fs(h,c);return null==e?null:{location:{pathname:e,search:u,hash:p,state:f,key:m},navigationType:a}}),[c,h,u,p,f,m,a]);return null==g?null:t.createElement(lo.Provider,{value:d},t.createElement(co.Provider,{children:r,value:g}))}function Do(e){let{children:t,location:n}=e;return So(Bo(t),n)}new Promise((()=>{}));t.Component;function Bo(e,n){void 0===n&&(n=[]);let r=[];return t.Children.forEach(e,((e,i)=>{if(!t.isValidElement(e))return;let a=[...n,i];if(e.type===t.Fragment)return void r.push.apply(r,Bo(e.props.children,a));e.type!==Vo&&js(!1),e.props.index&&e.props.children&&js(!1);let s={id:e.props.id||a.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:null!=e.props.ErrorBoundary||null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(s.children=Bo(e.props.children,a)),r.push(s)})),r}function Go(){return Go=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Go.apply(this,arguments)}function qo(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);const Ho=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"];try{window.__reactRouterVersion="6"}catch(Are){}new Map;const Wo=n.startTransition;$a.flushSync,n.useId;function zo(e){let{basename:n,children:r,future:i,window:a}=e,s=t.useRef();var o;null==s.current&&(s.current=(void 0===(o={window:a,v5Compat:!0})&&(o={}),Cs((function(e,t){let{pathname:n,search:r,hash:i}=e.location;return Os("",{pathname:n,search:r,hash:i},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){return"string"===typeof t?t:Ts(t)}),null,o)));let l=s.current,[c,d]=t.useState({action:l.action,location:l.location}),{v7_startTransition:h}=i||{},u=t.useCallback((e=>{h&&Wo?Wo((()=>d(e))):d(e)}),[d,h]);return t.useLayoutEffect((()=>l.listen(u)),[l,u]),t.createElement(Ro,{basename:n,children:r,location:c.location,navigationType:c.action,navigator:l,future:i})}const Jo="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement,Uo=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,No=t.forwardRef((function(e,n){let r,{onClick:i,relative:a,reloadDocument:s,replace:o,state:l,target:c,to:d,preventScrollReset:h,unstable_viewTransition:u}=e,p=qo(e,Ho),{basename:f}=t.useContext(lo),m=!1;if("string"===typeof d&&Uo.test(d)&&(r=d,Jo))try{let e=new URL(window.location.href),t=d.startsWith("//")?new URL(e.protocol+d):new URL(d),n=Fs(t.pathname,f);t.origin===e.origin&&null!=n?d=n+t.search+t.hash:m=!0}catch(Are){}let g=function(e,n){let{relative:r}=void 0===n?{}:n;po()||js(!1);let{basename:i,navigator:a}=t.useContext(lo),{hash:s,pathname:o,search:l}=xo(e,{relative:r}),c=o;return"/"!==i&&(c="/"===o?i:_s([i,o])),a.createHref({pathname:c,search:l,hash:s})}(d,{relative:a}),y=function(e,n){let{target:r,replace:i,state:a,preventScrollReset:s,relative:o,unstable_viewTransition:l}=void 0===n?{}:n,c=go(),d=fo(),h=xo(e,{relative:o});return t.useCallback((t=>{if(function(e,t){return 0===e.button&&(!t||"_self"===t)&&!function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)}(t,r)){t.preventDefault();let n=void 0!==i?i:Ts(d)===Ts(h);c(e,{replace:n,state:a,preventScrollReset:s,relative:o,unstable_viewTransition:l})}}),[d,c,h,i,a,r,e,s,o,l])}(d,{replace:o,state:l,target:c,preventScrollReset:h,relative:a,unstable_viewTransition:u});return t.createElement("a",Go({},p,{href:r||g,onClick:m||s?i:function(e){i&&i(e),e.defaultPrevented||y(e)},ref:n,target:c}))}));var Lo,Yo;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Lo||(Lo={})),function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(Yo||(Yo={}));const Fo={base:"/",products:"/products",aboutProduct:"/about-product",relatedProduct:"/related-product",resources:"/resources",cropNutritionPrograms:"/resources/crop-nutrition-programs",trialResults:"/resources/trial-results",informationMaterials:"/resources/information-materials",news:"/blog",article:"/article",career:"/career",detailJob:"/detail-job",uiKit:"/ui-kit",aboutUs:"/about-us",termsAndConditions:"/terms-and-conditions",legalInfo:"/legal-info",contacts:"/contacts"};var Zo;function Ko(){return Ko=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ko.apply(this,arguments)}function Qo(e,n){let{title:r,titleId:i,...a}=e;return t.createElement("svg",Ko({width:125,height:64,viewBox:"0 0 125 64",fill:"none",xmlns:"http://www.w3.org/2000/svg",ref:n,"aria-labelledby":i},a),r?t.createElement("title",{id:i},r):null,Zo||(Zo=t.createElement("path",{d:"M8 0C3.58172 0 0 3.58172 0 8V64C0 59.5817 3.58172 56 8 56H75.8831C78.4667 56 80.8912 54.7523 82.3929 52.6499L117.607 3.35009C119.109 1.24773 121.533 0 124.117 0H8Z",fill:"white"})))}const Xo=t.forwardRef(Qo);__webpack_require__.p;var _o=__webpack_require__(681),$o=__webpack_require__(579);const el=e=>{let{data:t,index:n}=e;const{preview_title:r,preview_text:i,preview_link_text:a,preview_image:s,preview_new_image:o,slug:l,logo:c,preview_description:d,preview_button_text:h}=t,u=String(n+1).padStart(2,"0"),p=i||d,f=a||h;return(0,$o.jsxs)(No,{to:l,className:"product-card ".concat(n%2!==0?"product-card--reverse":""),children:[(0,$o.jsxs)("div",{className:"product-card__image","data-index":"\u2022 "+u,children:[(0,$o.jsx)(Xo,{}),(0,$o.jsx)(_o.Parallax,{bgImage:s||o,className:"product-card__image-bg",strength:50,bgImageStyle:{height:"calc(100% + ".concat(50,"px)"),objectFit:"cover"}}),c&&(0,$o.jsx)("div",{className:"product-card__image-logo",children:(0,$o.jsx)("img",{src:c,alt:"product-logo"})})]}),(0,$o.jsxs)("div",{className:"product-card__content",children:[(0,$o.jsx)("h3",{children:r}),(0,$o.jsx)("p",{className:"body1",children:p}),(0,$o.jsxs)("button",{className:"button learn-more-arrow has-children",children:[(0,$o.jsx)("div",{}),(0,$o.jsx)("span",{children:f})]})]})]})},tl=e=>{let{data:t=[]}=e;return(0,$o.jsx)("section",{className:"container",children:(0,$o.jsx)("div",{className:"inner-container type-2",children:(0,$o.jsx)("div",{className:"product-card-container",children:t.map(((e,t)=>(0,$o.jsx)(el,{index:t,data:e},t)))})})})};const nl=__webpack_require__.p+"static/media/home.f5243e8a09fbdd40b794c9e28a6386c8.svg",rl=e=>{let{to:t,children:n,className:r=""}=e;return(0,$o.jsx)(No,{to:t,className:r,children:n})},il=()=>{const e=fo().pathname.split("/").filter((e=>""!==e)),{menu_products_text:t,menu_resources_text:n,menu_contacts_text:r,menu_about_text:i,menu_news_text:a,menu_career_text:s,menu_crop_nutrition_text:o,menu_trial_results_text:l,menu_information_materials_text:c,footer_terms_conditions_text:d,footer_legal_info_text:h}=hs(Ta),u={[Fo.products]:t,[Fo.resources]:n,"/crop-nutrition-programs":o,"/trial-results":l,"/information-materials":c,[Fo.news]:a,[Fo.career]:s,[Fo.aboutUs]:i,[Fo.termsAndConditions]:d,[Fo.legalInfo]:h,[Fo.contacts]:r},p=hs(gr).title,f=hs(Ni).title,m=hs(Br).title,g="products"===e[0]&&!!e[1],y="resources"===e[0]&&"crop-nutrition-programs"===e[1]&&!!e[2],v="resources"===e[0]&&"trial-results"===e[1]&&!!e[2],x=t=>g&&e[1]===t?p:y&&e[2]===t?f:v&&e[2]===t?m:u["/".concat(t)];return(0,$o.jsxs)("div",{className:"breadcrumbs",children:[(0,$o.jsx)(rl,{to:"/",children:(0,$o.jsx)("img",{src:nl,alt:"home"})}),(0,$o.jsx)("div",{className:"breadcrumbs-dot"}),e.map(((t,n)=>(0,$o.jsxs)("span",{className:"breadcrumbs-span",children:[(0,$o.jsx)(rl,{to:"/".concat(e.slice(0,n+1).join("/")),className:"body3",children:x(t)}),n<e.length-1&&(0,$o.jsx)("div",{className:"breadcrumbs-dot margin-left"})]},t)))]})},al=e=>{let{type:t="",href:n="",children:r="",className:i="",onClick:a}=e;return(0,$o.jsxs)(No,{to:n,className:"button ".concat(t," ").concat(i," ").concat(r&&"has-children"),onClick:a,children:[(0,$o.jsx)("div",{}),(0,$o.jsx)("span",{children:r})]})},sl=e=>{let{title:t="",image:n,buttonText:r,buttonType:i="learn-more",children:a,withCrumbs:s=!0,onClickButton:o,to:l}=e;return(0,$o.jsxs)("section",{className:"container",children:[(0,$o.jsxs)("div",{className:"primary-section-wrapper",children:[(0,$o.jsxs)("div",{className:"primary-section",children:[(0,$o.jsxs)("div",{className:"left-side",children:[s&&(0,$o.jsx)(il,{}),t?(0,$o.jsx)("h2",{className:"banner-title",children:t}):(0,$o.jsx)("div",{className:"left-side__content banner-title",children:a})]}),(0,$o.jsxs)("div",{className:"button-wrapper",children:[(0,$o.jsx)(al,{type:i,onClick:o,href:l,children:r}),(0,$o.jsx)("div",{className:"smooth-corner1"}),(0,$o.jsx)("div",{className:"smooth-corner2"})]})]}),(0,$o.jsx)("div",{className:"banner-bg",children:(0,$o.jsx)(_o.Parallax,{bgImage:n,bgImageAlt:t,strength:100,bgImageStyle:{height:"calc(100% + ".concat(100,"px)"),objectFit:"cover"}})})]}),i.includes("find")&&(0,$o.jsx)(al,{type:"find-mobile",className:"banner-bottom",onClick:o,href:l,children:r}),i.includes("banner")&&(0,$o.jsx)(al,{className:"banner-bottom",onClick:o,href:l,children:r})]})},ol=e=>{let{children:t,size:n="big",textColor:r="black",className:i=""}=e;return(0,$o.jsx)("div",{className:"gradient-text gradient-text--".concat(n," gradient-text--").concat(r," ").concat(i),children:t})},ll=e=>{let{children:t}=e;return(0,$o.jsx)("div",{className:"label-button body3",children:(0,$o.jsxs)("span",{children:[(0,$o.jsx)("div",{}),t]})})};function cl(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function dl(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var hl,ul,pl,fl,ml,gl,yl,vl,xl,Sl,Al,bl={autoSleep:120,force3D:"auto",nullTargetWarn:1,units:{lineHeight:""}},kl={duration:.5,overwrite:!1,delay:0},wl=1e8,jl=1e-8,Ml=2*Math.PI,Pl=Ml/4,Ol=0,Tl=Math.sqrt,Il=Math.cos,Cl=Math.sin,El=function(e){return"string"===typeof e},Vl=function(e){return"function"===typeof e},Rl=function(e){return"number"===typeof e},Dl=function(e){return"undefined"===typeof e},Bl=function(e){return"object"===typeof e},Gl=function(e){return!1!==e},ql=function(){return"undefined"!==typeof window},Hl=function(e){return Vl(e)||El(e)},Wl="function"===typeof ArrayBuffer&&ArrayBuffer.isView||function(){},zl=Array.isArray,Jl=/(?:-?\.?\d|\.)+/gi,Ul=/[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/g,Nl=/[-+=.]*\d+[.e-]*\d*[a-z%]*/g,Ll=/[-+=.]*\d+\.?\d*(?:e-|e\+)?\d*/gi,Yl=/[+-]=-?[.\d]+/,Fl=/[^,'"\[\]\s]+/gi,Zl=/^[+\-=e\s\d]*\d+[.\d]*([a-z]*|%)\s*$/i,Kl={},Ql={},Xl=function(e){return(Ql=Mc(e,Kl))&&Mh},_l=function(e,t){return console.warn("Invalid property",e,"set to",t,"Missing plugin? gsap.registerPlugin()")},$l=function(e,t){return!t&&console.warn(e)},ec=function(e,t){return e&&(Kl[e]=t)&&Ql&&(Ql[e]=t)||Kl},tc=function(){return 0},nc={suppressEvents:!0,isStart:!0,kill:!1},rc={suppressEvents:!0,kill:!1},ic={suppressEvents:!0},ac={},sc=[],oc={},lc={},cc={},dc=30,hc=[],uc="",pc=function(e){var t,n,r=e[0];if(Bl(r)||Vl(r)||(e=[e]),!(t=(r._gsap||{}).harness)){for(n=hc.length;n--&&!hc[n].targetTest(r););t=hc[n]}for(n=e.length;n--;)e[n]&&(e[n]._gsap||(e[n]._gsap=new Wd(e[n],t)))||e.splice(n,1);return e},fc=function(e){return e._gsap||pc(rd(e))[0]._gsap},mc=function(e,t,n){return(n=e[t])&&Vl(n)?e[t]():Dl(n)&&e.getAttribute&&e.getAttribute(t)||n},gc=function(e,t){return(e=e.split(",")).forEach(t)||e},yc=function(e){return Math.round(1e5*e)/1e5||0},vc=function(e){return Math.round(1e7*e)/1e7||0},xc=function(e,t){var n=t.charAt(0),r=parseFloat(t.substr(2));return e=parseFloat(e),"+"===n?e+r:"-"===n?e-r:"*"===n?e*r:e/r},Sc=function(e,t){for(var n=t.length,r=0;e.indexOf(t[r])<0&&++r<n;);return r<n},Ac=function(){var e,t,n=sc.length,r=sc.slice(0);for(oc={},sc.length=0,e=0;e<n;e++)(t=r[e])&&t._lazy&&(t.render(t._lazy[0],t._lazy[1],!0)._lazy=0)},bc=function(e,t,n,r){sc.length&&!ul&&Ac(),e.render(t,n,r||ul&&t<0&&(e._initted||e._startAt)),sc.length&&!ul&&Ac()},kc=function(e){var t=parseFloat(e);return(t||0===t)&&(e+"").match(Fl).length<2?t:El(e)?e.trim():e},wc=function(e){return e},jc=function(e,t){for(var n in t)n in e||(e[n]=t[n]);return e},Mc=function(e,t){for(var n in t)e[n]=t[n];return e},Pc=function e(t,n){for(var r in n)"__proto__"!==r&&"constructor"!==r&&"prototype"!==r&&(t[r]=Bl(n[r])?e(t[r]||(t[r]={}),n[r]):n[r]);return t},Oc=function(e,t){var n,r={};for(n in e)n in t||(r[n]=e[n]);return r},Tc=function(e){var t,n=e.parent||fl,r=e.keyframes?(t=zl(e.keyframes),function(e,n){for(var r in n)r in e||"duration"===r&&t||"ease"===r||(e[r]=n[r])}):jc;if(Gl(e.inherit))for(;n;)r(e,n.vars.defaults),n=n.parent||n._dp;return e},Ic=function(e,t,n,r,i){void 0===n&&(n="_first"),void 0===r&&(r="_last");var a,s=e[r];if(i)for(a=t[i];s&&s[i]>a;)s=s._prev;return s?(t._next=s._next,s._next=t):(t._next=e[n],e[n]=t),t._next?t._next._prev=t:e[r]=t,t._prev=s,t.parent=t._dp=e,t},Cc=function(e,t,n,r){void 0===n&&(n="_first"),void 0===r&&(r="_last");var i=t._prev,a=t._next;i?i._next=a:e[n]===t&&(e[n]=a),a?a._prev=i:e[r]===t&&(e[r]=i),t._next=t._prev=t.parent=null},Ec=function(e,t){e.parent&&(!t||e.parent.autoRemoveChildren)&&e.parent.remove&&e.parent.remove(e),e._act=0},Vc=function(e,t){if(e&&(!t||t._end>e._dur||t._start<0))for(var n=e;n;)n._dirty=1,n=n.parent;return e},Rc=function(e,t,n,r){return e._startAt&&(ul?e._startAt.revert(rc):e.vars.immediateRender&&!e.vars.autoRevert||e._startAt.render(t,!0,r))},Dc=function e(t){return!t||t._ts&&e(t.parent)},Bc=function(e){return e._repeat?Gc(e._tTime,e=e.duration()+e._rDelay)*e:0},Gc=function(e,t){var n=Math.floor(e/=t);return e&&n===e?n-1:n},qc=function(e,t){return(e-t._start)*t._ts+(t._ts>=0?0:t._dirty?t.totalDuration():t._tDur)},Hc=function(e){return e._end=vc(e._start+(e._tDur/Math.abs(e._ts||e._rts||jl)||0))},Wc=function(e,t){var n=e._dp;return n&&n.smoothChildTiming&&e._ts&&(e._start=vc(n._time-(e._ts>0?t/e._ts:((e._dirty?e.totalDuration():e._tDur)-t)/-e._ts)),Hc(e),n._dirty||Vc(n,e)),e},zc=function(e,t){var n;if((t._time||!t._dur&&t._initted||t._start<e._time&&(t._dur||!t.add))&&(n=qc(e.rawTime(),t),(!t._dur||$c(0,t.totalDuration(),n)-t._tTime>jl)&&t.render(n,!0)),Vc(e,t)._dp&&e._initted&&e._time>=e._dur&&e._ts){if(e._dur<e.duration())for(n=e;n._dp;)n.rawTime()>=0&&n.totalTime(n._tTime),n=n._dp;e._zTime=-1e-8}},Jc=function(e,t,n,r){return t.parent&&Ec(t),t._start=vc((Rl(n)?n:n||e!==fl?Qc(e,n,t):e._time)+t._delay),t._end=vc(t._start+(t.totalDuration()/Math.abs(t.timeScale())||0)),Ic(e,t,"_first","_last",e._sort?"_start":0),Yc(t)||(e._recent=t),r||zc(e,t),e._ts<0&&Wc(e,e._tTime),e},Uc=function(e,t){return(Kl.ScrollTrigger||_l("scrollTrigger",t))&&Kl.ScrollTrigger.create(t,e)},Nc=function(e,t,n,r,i){return Zd(e,t,i),e._initted?!n&&e._pt&&!ul&&(e._dur&&!1!==e.vars.lazy||!e._dur&&e.vars.lazy)&&xl!==Pd.frame?(sc.push(e),e._lazy=[i,r],1):void 0:1},Lc=function e(t){var n=t.parent;return n&&n._ts&&n._initted&&!n._lock&&(n.rawTime()<0||e(n))},Yc=function(e){var t=e.data;return"isFromStart"===t||"isStart"===t},Fc=function(e,t,n,r){var i=e._repeat,a=vc(t)||0,s=e._tTime/e._tDur;return s&&!r&&(e._time*=a/e._dur),e._dur=a,e._tDur=i?i<0?1e10:vc(a*(i+1)+e._rDelay*i):a,s>0&&!r&&Wc(e,e._tTime=e._tDur*s),e.parent&&Hc(e),n||Vc(e.parent,e),e},Zc=function(e){return e instanceof Jd?Vc(e):Fc(e,e._dur)},Kc={_start:0,endTime:tc,totalDuration:tc},Qc=function e(t,n,r){var i,a,s,o=t.labels,l=t._recent||Kc,c=t.duration()>=wl?l.endTime(!1):t._dur;return El(n)&&(isNaN(n)||n in o)?(a=n.charAt(0),s="%"===n.substr(-1),i=n.indexOf("="),"<"===a||">"===a?(i>=0&&(n=n.replace(/=/,"")),("<"===a?l._start:l.endTime(l._repeat>=0))+(parseFloat(n.substr(1))||0)*(s?(i<0?l:r).totalDuration()/100:1)):i<0?(n in o||(o[n]=c),o[n]):(a=parseFloat(n.charAt(i-1)+n.substr(i+1)),s&&r&&(a=a/100*(zl(r)?r[0]:r).totalDuration()),i>1?e(t,n.substr(0,i-1),r)+a:c+a)):null==n?c:+n},Xc=function(e,t,n){var r,i,a=Rl(t[1]),s=(a?2:1)+(e<2?0:1),o=t[s];if(a&&(o.duration=t[1]),o.parent=n,e){for(r=o,i=n;i&&!("immediateRender"in r);)r=i.vars.defaults||{},i=Gl(i.vars.inherit)&&i.parent;o.immediateRender=Gl(r.immediateRender),e<2?o.runBackwards=1:o.startAt=t[s-1]}return new $d(t[0],o,t[s+1])},_c=function(e,t){return e||0===e?t(e):t},$c=function(e,t,n){return n<e?e:n>t?t:n},ed=function(e,t){return El(e)&&(t=Zl.exec(e))?t[1]:""},td=[].slice,nd=function(e,t){return e&&Bl(e)&&"length"in e&&(!t&&!e.length||e.length-1 in e&&Bl(e[0]))&&!e.nodeType&&e!==ml},rd=function(e,t,n){return pl&&!t&&pl.selector?pl.selector(e):!El(e)||n||!gl&&Od()?zl(e)?function(e,t,n){return void 0===n&&(n=[]),e.forEach((function(e){var r;return El(e)&&!t||nd(e,1)?(r=n).push.apply(r,rd(e)):n.push(e)}))||n}(e,n):nd(e)?td.call(e,0):e?[e]:[]:td.call((t||yl).querySelectorAll(e),0)},id=function(e){return e=rd(e)[0]||$l("Invalid scope")||{},function(t){var n=e.current||e.nativeElement||e;return rd(t,n.querySelectorAll?n:n===e?$l("Invalid scope")||yl.createElement("div"):e)}},ad=function(e){return e.sort((function(){return.5-Math.random()}))},sd=function(e){if(Vl(e))return e;var t=Bl(e)?e:{each:e},n=Dd(t.ease),r=t.from||0,i=parseFloat(t.base)||0,a={},s=r>0&&r<1,o=isNaN(r)||s,l=t.axis,c=r,d=r;return El(r)?c=d={center:.5,edges:.5,end:1}[r]||0:!s&&o&&(c=r[0],d=r[1]),function(e,s,h){var u,p,f,m,g,y,v,x,S,A=(h||t).length,b=a[A];if(!b){if(!(S="auto"===t.grid?0:(t.grid||[1,wl])[1])){for(v=-wl;v<(v=h[S++].getBoundingClientRect().left)&&S<A;);S<A&&S--}for(b=a[A]=[],u=o?Math.min(S,A)*c-.5:r%S,p=S===wl?0:o?A*d/S-.5:r/S|0,v=0,x=wl,y=0;y<A;y++)f=y%S-u,m=p-(y/S|0),b[y]=g=l?Math.abs("y"===l?m:f):Tl(f*f+m*m),g>v&&(v=g),g<x&&(x=g);"random"===r&&ad(b),b.max=v-x,b.min=x,b.v=A=(parseFloat(t.amount)||parseFloat(t.each)*(S>A?A-1:l?"y"===l?A/S:S:Math.max(S,A/S))||0)*("edges"===r?-1:1),b.b=A<0?i-A:i,b.u=ed(t.amount||t.each)||0,n=n&&A<0?Vd(n):n}return A=(b[e]-b.min)/b.max||0,vc(b.b+(n?n(A):A)*b.v)+b.u}},od=function(e){var t=Math.pow(10,((e+"").split(".")[1]||"").length);return function(n){var r=vc(Math.round(parseFloat(n)/e)*e*t);return(r-r%1)/t+(Rl(n)?0:ed(n))}},ld=function(e,t){var n,r,i=zl(e);return!i&&Bl(e)&&(n=i=e.radius||wl,e.values?(e=rd(e.values),(r=!Rl(e[0]))&&(n*=n)):e=od(e.increment)),_c(t,i?Vl(e)?function(t){return r=e(t),Math.abs(r-t)<=n?r:t}:function(t){for(var i,a,s=parseFloat(r?t.x:t),o=parseFloat(r?t.y:0),l=wl,c=0,d=e.length;d--;)(i=r?(i=e[d].x-s)*i+(a=e[d].y-o)*a:Math.abs(e[d]-s))<l&&(l=i,c=d);return c=!n||l<=n?e[c]:t,r||c===t||Rl(t)?c:c+ed(t)}:od(e))},cd=function(e,t,n,r){return _c(zl(e)?!t:!0===n?!!(n=0):!r,(function(){return zl(e)?e[~~(Math.random()*e.length)]:(n=n||1e-5)&&(r=n<1?Math.pow(10,(n+"").length-2):1)&&Math.floor(Math.round((e-n/2+Math.random()*(t-e+.99*n))/n)*n*r)/r}))},dd=function(e,t,n){return _c(n,(function(n){return e[~~t(n)]}))},hd=function(e){for(var t,n,r,i,a=0,s="";~(t=e.indexOf("random(",a));)r=e.indexOf(")",t),i="["===e.charAt(t+7),n=e.substr(t+7,r-t-7).match(i?Fl:Jl),s+=e.substr(a,t-a)+cd(i?n:+n[0],i?0:+n[1],+n[2]||1e-5),a=r+1;return s+e.substr(a,e.length-a)},ud=function(e,t,n,r,i){var a=t-e,s=r-n;return _c(i,(function(t){return n+((t-e)/a*s||0)}))},pd=function(e,t,n){var r,i,a,s=e.labels,o=wl;for(r in s)(i=s[r]-t)<0===!!n&&i&&o>(i=Math.abs(i))&&(a=r,o=i);return a},fd=function(e,t,n){var r,i,a,s=e.vars,o=s[t],l=pl,c=e._ctx;if(o)return r=s[t+"Params"],i=s.callbackScope||e,n&&sc.length&&Ac(),c&&(pl=c),a=r?o.apply(i,r):o.call(i),pl=l,a},md=function(e){return Ec(e),e.scrollTrigger&&e.scrollTrigger.kill(!!ul),e.progress()<1&&fd(e,"onInterrupt"),e},gd=[],yd=function(e){if(e)if(e=!e.name&&e.default||e,ql()||e.headless){var t=e.name,n=Vl(e),r=t&&!n&&e.init?function(){this._props=[]}:e,i={init:tc,render:lh,add:Yd,kill:dh,modifier:ch,rawVars:0},a={targetTest:0,get:0,getSetter:ih,aliases:{},register:0};if(Od(),e!==r){if(lc[t])return;jc(r,jc(Oc(e,i),a)),Mc(r.prototype,Mc(i,Oc(e,a))),lc[r.prop=t]=r,e.targetTest&&(hc.push(r),ac[t]=1),t=("css"===t?"CSS":t.charAt(0).toUpperCase()+t.substr(1))+"Plugin"}ec(t,r),e.register&&e.register(Mh,r,ph)}else gd.push(e)},vd=255,xd={aqua:[0,vd,vd],lime:[0,vd,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,vd],navy:[0,0,128],white:[vd,vd,vd],olive:[128,128,0],yellow:[vd,vd,0],orange:[vd,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[vd,0,0],pink:[vd,192,203],cyan:[0,vd,vd],transparent:[vd,vd,vd,0]},Sd=function(e,t,n){return(6*(e+=e<0?1:e>1?-1:0)<1?t+(n-t)*e*6:e<.5?n:3*e<2?t+(n-t)*(2/3-e)*6:t)*vd+.5|0},Ad=function(e,t,n){var r,i,a,s,o,l,c,d,h,u,p=e?Rl(e)?[e>>16,e>>8&vd,e&vd]:0:xd.black;if(!p){if(","===e.substr(-1)&&(e=e.substr(0,e.length-1)),xd[e])p=xd[e];else if("#"===e.charAt(0)){if(e.length<6&&(r=e.charAt(1),i=e.charAt(2),a=e.charAt(3),e="#"+r+r+i+i+a+a+(5===e.length?e.charAt(4)+e.charAt(4):"")),9===e.length)return[(p=parseInt(e.substr(1,6),16))>>16,p>>8&vd,p&vd,parseInt(e.substr(7),16)/255];p=[(e=parseInt(e.substr(1),16))>>16,e>>8&vd,e&vd]}else if("hsl"===e.substr(0,3))if(p=u=e.match(Jl),t){if(~e.indexOf("="))return p=e.match(Ul),n&&p.length<4&&(p[3]=1),p}else s=+p[0]%360/360,o=+p[1]/100,r=2*(l=+p[2]/100)-(i=l<=.5?l*(o+1):l+o-l*o),p.length>3&&(p[3]*=1),p[0]=Sd(s+1/3,r,i),p[1]=Sd(s,r,i),p[2]=Sd(s-1/3,r,i);else p=e.match(Jl)||xd.transparent;p=p.map(Number)}return t&&!u&&(r=p[0]/vd,i=p[1]/vd,a=p[2]/vd,l=((c=Math.max(r,i,a))+(d=Math.min(r,i,a)))/2,c===d?s=o=0:(h=c-d,o=l>.5?h/(2-c-d):h/(c+d),s=c===r?(i-a)/h+(i<a?6:0):c===i?(a-r)/h+2:(r-i)/h+4,s*=60),p[0]=~~(s+.5),p[1]=~~(100*o+.5),p[2]=~~(100*l+.5)),n&&p.length<4&&(p[3]=1),p},bd=function(e){var t=[],n=[],r=-1;return e.split(wd).forEach((function(e){var i=e.match(Nl)||[];t.push.apply(t,i),n.push(r+=i.length+1)})),t.c=n,t},kd=function(e,t,n){var r,i,a,s,o="",l=(e+o).match(wd),c=t?"hsla(":"rgba(",d=0;if(!l)return e;if(l=l.map((function(e){return(e=Ad(e,t,1))&&c+(t?e[0]+","+e[1]+"%,"+e[2]+"%,"+e[3]:e.join(","))+")"})),n&&(a=bd(e),(r=n.c).join(o)!==a.c.join(o)))for(s=(i=e.replace(wd,"1").split(Nl)).length-1;d<s;d++)o+=i[d]+(~r.indexOf(d)?l.shift()||c+"0,0,0,0)":(a.length?a:l.length?l:n).shift());if(!i)for(s=(i=e.split(wd)).length-1;d<s;d++)o+=i[d]+l[d];return o+i[s]},wd=function(){var e,t="(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3,4}){1,2}\\b";for(e in xd)t+="|"+e+"\\b";return new RegExp(t+")","gi")}(),jd=/hsl[a]?\(/,Md=function(e){var t,n=e.join(" ");if(wd.lastIndex=0,wd.test(n))return t=jd.test(n),e[1]=kd(e[1],t),e[0]=kd(e[0],t,bd(e[1])),!0},Pd=function(){var e,t,n,r,i,a,s=Date.now,o=500,l=33,c=s(),d=c,h=1e3/240,u=h,p=[],f=function n(f){var m,g,y,v,x=s()-d,S=!0===f;if((x>o||x<0)&&(c+=x-l),((m=(y=(d+=x)-c)-u)>0||S)&&(v=++r.frame,i=y-1e3*r.time,r.time=y/=1e3,u+=m+(m>=h?4:h-m),g=1),S||(e=t(n)),g)for(a=0;a<p.length;a++)p[a](y,i,v,f)};return r={time:0,frame:0,tick:function(){f(!0)},deltaRatio:function(e){return i/(1e3/(e||60))},wake:function(){vl&&(!gl&&ql()&&(ml=gl=window,yl=ml.document||{},Kl.gsap=Mh,(ml.gsapVersions||(ml.gsapVersions=[])).push(Mh.version),Xl(Ql||ml.GreenSockGlobals||!ml.gsap&&ml||{}),gd.forEach(yd)),n="undefined"!==typeof requestAnimationFrame&&requestAnimationFrame,e&&r.sleep(),t=n||function(e){return setTimeout(e,u-1e3*r.time+1|0)},Al=1,f(2))},sleep:function(){(n?cancelAnimationFrame:clearTimeout)(e),Al=0,t=tc},lagSmoothing:function(e,t){o=e||1/0,l=Math.min(t||33,o)},fps:function(e){h=1e3/(e||240),u=1e3*r.time+h},add:function(e,t,n){var i=t?function(t,n,a,s){e(t,n,a,s),r.remove(i)}:e;return r.remove(e),p[n?"unshift":"push"](i),Od(),i},remove:function(e,t){~(t=p.indexOf(e))&&p.splice(t,1)&&a>=t&&a--},_listeners:p},r}(),Od=function(){return!Al&&Pd.wake()},Td={},Id=/^[\d.\-M][\d.\-,\s]/,Cd=/["']/g,Ed=function(e){for(var t,n,r,i={},a=e.substr(1,e.length-3).split(":"),s=a[0],o=1,l=a.length;o<l;o++)n=a[o],t=o!==l-1?n.lastIndexOf(","):n.length,r=n.substr(0,t),i[s]=isNaN(r)?r.replace(Cd,"").trim():+r,s=n.substr(t+1).trim();return i},Vd=function(e){return function(t){return 1-e(1-t)}},Rd=function e(t,n){for(var r,i=t._first;i;)i instanceof Jd?e(i,n):!i.vars.yoyoEase||i._yoyo&&i._repeat||i._yoyo===n||(i.timeline?e(i.timeline,n):(r=i._ease,i._ease=i._yEase,i._yEase=r,i._yoyo=n)),i=i._next},Dd=function(e,t){return e&&(Vl(e)?e:Td[e]||function(e){var t=(e+"").split("("),n=Td[t[0]];return n&&t.length>1&&n.config?n.config.apply(null,~e.indexOf("{")?[Ed(t[1])]:function(e){var t=e.indexOf("(")+1,n=e.indexOf(")"),r=e.indexOf("(",t);return e.substring(t,~r&&r<n?e.indexOf(")",n+1):n)}(e).split(",").map(kc)):Td._CE&&Id.test(e)?Td._CE("",e):n}(e))||t},Bd=function(e,t,n,r){void 0===n&&(n=function(e){return 1-t(1-e)}),void 0===r&&(r=function(e){return e<.5?t(2*e)/2:1-t(2*(1-e))/2});var i,a={easeIn:t,easeOut:n,easeInOut:r};return gc(e,(function(e){for(var t in Td[e]=Kl[e]=a,Td[i=e.toLowerCase()]=n,a)Td[i+("easeIn"===t?".in":"easeOut"===t?".out":".inOut")]=Td[e+"."+t]=a[t]})),a},Gd=function(e){return function(t){return t<.5?(1-e(1-2*t))/2:.5+e(2*(t-.5))/2}},qd=function e(t,n,r){var i=n>=1?n:1,a=(r||(t?.3:.45))/(n<1?n:1),s=a/Ml*(Math.asin(1/i)||0),o=function(e){return 1===e?1:i*Math.pow(2,-10*e)*Cl((e-s)*a)+1},l="out"===t?o:"in"===t?function(e){return 1-o(1-e)}:Gd(o);return a=Ml/a,l.config=function(n,r){return e(t,n,r)},l},Hd=function e(t,n){void 0===n&&(n=1.70158);var r=function(e){return e?--e*e*((n+1)*e+n)+1:0},i="out"===t?r:"in"===t?function(e){return 1-r(1-e)}:Gd(r);return i.config=function(n){return e(t,n)},i};gc("Linear,Quad,Cubic,Quart,Quint,Strong",(function(e,t){var n=t<5?t+1:t;Bd(e+",Power"+(n-1),t?function(e){return Math.pow(e,n)}:function(e){return e},(function(e){return 1-Math.pow(1-e,n)}),(function(e){return e<.5?Math.pow(2*e,n)/2:1-Math.pow(2*(1-e),n)/2}))})),Td.Linear.easeNone=Td.none=Td.Linear.easeIn,Bd("Elastic",qd("in"),qd("out"),qd()),function(e,t){var n=1/t,r=function(r){return r<n?e*r*r:r<.7272727272727273?e*Math.pow(r-1.5/t,2)+.75:r<.9090909090909092?e*(r-=2.25/t)*r+.9375:e*Math.pow(r-2.625/t,2)+.984375};Bd("Bounce",(function(e){return 1-r(1-e)}),r)}(7.5625,2.75),Bd("Expo",(function(e){return e?Math.pow(2,10*(e-1)):0})),Bd("Circ",(function(e){return-(Tl(1-e*e)-1)})),Bd("Sine",(function(e){return 1===e?1:1-Il(e*Pl)})),Bd("Back",Hd("in"),Hd("out"),Hd()),Td.SteppedEase=Td.steps=Kl.SteppedEase={config:function(e,t){void 0===e&&(e=1);var n=1/e,r=e+(t?0:1),i=t?1:0;return function(e){return((r*$c(0,.99999999,e)|0)+i)*n}}},kl.ease=Td["quad.out"],gc("onComplete,onUpdate,onStart,onRepeat,onReverseComplete,onInterrupt",(function(e){return uc+=e+","+e+"Params,"}));var Wd=function(e,t){this.id=Ol++,e._gsap=this,this.target=e,this.harness=t,this.get=t?t.get:mc,this.set=t?t.getSetter:ih},zd=function(){function e(e){this.vars=e,this._delay=+e.delay||0,(this._repeat=e.repeat===1/0?-2:e.repeat||0)&&(this._rDelay=e.repeatDelay||0,this._yoyo=!!e.yoyo||!!e.yoyoEase),this._ts=1,Fc(this,+e.duration,1,1),this.data=e.data,pl&&(this._ctx=pl,pl.data.push(this)),Al||Pd.wake()}var t=e.prototype;return t.delay=function(e){return e||0===e?(this.parent&&this.parent.smoothChildTiming&&this.startTime(this._start+e-this._delay),this._delay=e,this):this._delay},t.duration=function(e){return arguments.length?this.totalDuration(this._repeat>0?e+(e+this._rDelay)*this._repeat:e):this.totalDuration()&&this._dur},t.totalDuration=function(e){return arguments.length?(this._dirty=0,Fc(this,this._repeat<0?e:(e-this._repeat*this._rDelay)/(this._repeat+1))):this._tDur},t.totalTime=function(e,t){if(Od(),!arguments.length)return this._tTime;var n=this._dp;if(n&&n.smoothChildTiming&&this._ts){for(Wc(this,e),!n._dp||n.parent||zc(n,this);n&&n.parent;)n.parent._time!==n._start+(n._ts>=0?n._tTime/n._ts:(n.totalDuration()-n._tTime)/-n._ts)&&n.totalTime(n._tTime,!0),n=n.parent;!this.parent&&this._dp.autoRemoveChildren&&(this._ts>0&&e<this._tDur||this._ts<0&&e>0||!this._tDur&&!e)&&Jc(this._dp,this,this._start-this._delay)}return(this._tTime!==e||!this._dur&&!t||this._initted&&Math.abs(this._zTime)===jl||!e&&!this._initted&&(this.add||this._ptLookup))&&(this._ts||(this._pTime=e),bc(this,e,t)),this},t.time=function(e,t){return arguments.length?this.totalTime(Math.min(this.totalDuration(),e+Bc(this))%(this._dur+this._rDelay)||(e?this._dur:0),t):this._time},t.totalProgress=function(e,t){return arguments.length?this.totalTime(this.totalDuration()*e,t):this.totalDuration()?Math.min(1,this._tTime/this._tDur):this.rawTime()>0?1:0},t.progress=function(e,t){return arguments.length?this.totalTime(this.duration()*(!this._yoyo||1&this.iteration()?e:1-e)+Bc(this),t):this.duration()?Math.min(1,this._time/this._dur):this.rawTime()>0?1:0},t.iteration=function(e,t){var n=this.duration()+this._rDelay;return arguments.length?this.totalTime(this._time+(e-1)*n,t):this._repeat?Gc(this._tTime,n)+1:1},t.timeScale=function(e,t){if(!arguments.length)return-1e-8===this._rts?0:this._rts;if(this._rts===e)return this;var n=this.parent&&this._ts?qc(this.parent._time,this):this._tTime;return this._rts=+e||0,this._ts=this._ps||-1e-8===e?0:this._rts,this.totalTime($c(-Math.abs(this._delay),this._tDur,n),!1!==t),Hc(this),function(e){for(var t=e.parent;t&&t.parent;)t._dirty=1,t.totalDuration(),t=t.parent;return e}(this)},t.paused=function(e){return arguments.length?(this._ps!==e&&(this._ps=e,e?(this._pTime=this._tTime||Math.max(-this._delay,this.rawTime()),this._ts=this._act=0):(Od(),this._ts=this._rts,this.totalTime(this.parent&&!this.parent.smoothChildTiming?this.rawTime():this._tTime||this._pTime,1===this.progress()&&Math.abs(this._zTime)!==jl&&(this._tTime-=jl)))),this):this._ps},t.startTime=function(e){if(arguments.length){this._start=e;var t=this.parent||this._dp;return t&&(t._sort||!this.parent)&&Jc(t,this,e-this._delay),this}return this._start},t.endTime=function(e){return this._start+(Gl(e)?this.totalDuration():this.duration())/Math.abs(this._ts||1)},t.rawTime=function(e){var t=this.parent||this._dp;return t?e&&(!this._ts||this._repeat&&this._time&&this.totalProgress()<1)?this._tTime%(this._dur+this._rDelay):this._ts?qc(t.rawTime(e),this):this._tTime:this._tTime},t.revert=function(e){void 0===e&&(e=ic);var t=ul;return ul=e,(this._initted||this._startAt)&&(this.timeline&&this.timeline.revert(e),this.totalTime(-.01,e.suppressEvents)),"nested"!==this.data&&!1!==e.kill&&this.kill(),ul=t,this},t.globalTime=function(e){for(var t=this,n=arguments.length?e:t.rawTime();t;)n=t._start+n/(Math.abs(t._ts)||1),t=t._dp;return!this.parent&&this._sat?this._sat.globalTime(e):n},t.repeat=function(e){return arguments.length?(this._repeat=e===1/0?-2:e,Zc(this)):-2===this._repeat?1/0:this._repeat},t.repeatDelay=function(e){if(arguments.length){var t=this._time;return this._rDelay=e,Zc(this),t?this.time(t):this}return this._rDelay},t.yoyo=function(e){return arguments.length?(this._yoyo=e,this):this._yoyo},t.seek=function(e,t){return this.totalTime(Qc(this,e),Gl(t))},t.restart=function(e,t){return this.play().totalTime(e?-this._delay:0,Gl(t))},t.play=function(e,t){return null!=e&&this.seek(e,t),this.reversed(!1).paused(!1)},t.reverse=function(e,t){return null!=e&&this.seek(e||this.totalDuration(),t),this.reversed(!0).paused(!1)},t.pause=function(e,t){return null!=e&&this.seek(e,t),this.paused(!0)},t.resume=function(){return this.paused(!1)},t.reversed=function(e){return arguments.length?(!!e!==this.reversed()&&this.timeScale(-this._rts||(e?-1e-8:0)),this):this._rts<0},t.invalidate=function(){return this._initted=this._act=0,this._zTime=-1e-8,this},t.isActive=function(){var e,t=this.parent||this._dp,n=this._start;return!(t&&!(this._ts&&this._initted&&t.isActive()&&(e=t.rawTime(!0))>=n&&e<this.endTime(!0)-jl))},t.eventCallback=function(e,t,n){var r=this.vars;return arguments.length>1?(t?(r[e]=t,n&&(r[e+"Params"]=n),"onUpdate"===e&&(this._onUpdate=t)):delete r[e],this):r[e]},t.then=function(e){var t=this;return new Promise((function(n){var r=Vl(e)?e:wc,i=function(){var e=t.then;t.then=null,Vl(r)&&(r=r(t))&&(r.then||r===t)&&(t.then=e),n(r),t.then=e};t._initted&&1===t.totalProgress()&&t._ts>=0||!t._tTime&&t._ts<0?i():t._prom=i}))},t.kill=function(){md(this)},e}();jc(zd.prototype,{_time:0,_start:0,_end:0,_tTime:0,_tDur:0,_dirty:0,_repeat:0,_yoyo:!1,parent:null,_initted:!1,_rDelay:0,_ts:1,_dp:0,ratio:0,_zTime:-1e-8,_prom:0,_ps:!1,_rts:1});var Jd=function(e){function t(t,n){var r;return void 0===t&&(t={}),(r=e.call(this,t)||this).labels={},r.smoothChildTiming=!!t.smoothChildTiming,r.autoRemoveChildren=!!t.autoRemoveChildren,r._sort=Gl(t.sortChildren),fl&&Jc(t.parent||fl,cl(r),n),t.reversed&&r.reverse(),t.paused&&r.paused(!0),t.scrollTrigger&&Uc(cl(r),t.scrollTrigger),r}dl(t,e);var n=t.prototype;return n.to=function(e,t,n){return Xc(0,arguments,this),this},n.from=function(e,t,n){return Xc(1,arguments,this),this},n.fromTo=function(e,t,n,r){return Xc(2,arguments,this),this},n.set=function(e,t,n){return t.duration=0,t.parent=this,Tc(t).repeatDelay||(t.repeat=0),t.immediateRender=!!t.immediateRender,new $d(e,t,Qc(this,n),1),this},n.call=function(e,t,n){return Jc(this,$d.delayedCall(0,e,t),n)},n.staggerTo=function(e,t,n,r,i,a,s){return n.duration=t,n.stagger=n.stagger||r,n.onComplete=a,n.onCompleteParams=s,n.parent=this,new $d(e,n,Qc(this,i)),this},n.staggerFrom=function(e,t,n,r,i,a,s){return n.runBackwards=1,Tc(n).immediateRender=Gl(n.immediateRender),this.staggerTo(e,t,n,r,i,a,s)},n.staggerFromTo=function(e,t,n,r,i,a,s,o){return r.startAt=n,Tc(r).immediateRender=Gl(r.immediateRender),this.staggerTo(e,t,r,i,a,s,o)},n.render=function(e,t,n){var r,i,a,s,o,l,c,d,h,u,p,f,m=this._time,g=this._dirty?this.totalDuration():this._tDur,y=this._dur,v=e<=0?0:vc(e),x=this._zTime<0!==e<0&&(this._initted||!y);if(this!==fl&&v>g&&e>=0&&(v=g),v!==this._tTime||n||x){if(m!==this._time&&y&&(v+=this._time-m,e+=this._time-m),r=v,h=this._start,l=!(d=this._ts),x&&(y||(m=this._zTime),(e||!t)&&(this._zTime=e)),this._repeat){if(p=this._yoyo,o=y+this._rDelay,this._repeat<-1&&e<0)return this.totalTime(100*o+e,t,n);if(r=vc(v%o),v===g?(s=this._repeat,r=y):((s=~~(v/o))&&s===v/o&&(r=y,s--),r>y&&(r=y)),u=Gc(this._tTime,o),!m&&this._tTime&&u!==s&&this._tTime-u*o-this._dur<=0&&(u=s),p&&1&s&&(r=y-r,f=1),s!==u&&!this._lock){var S=p&&1&u,A=S===(p&&1&s);if(s<u&&(S=!S),m=S?0:v%y?y:v,this._lock=1,this.render(m||(f?0:vc(s*o)),t,!y)._lock=0,this._tTime=v,!t&&this.parent&&fd(this,"onRepeat"),this.vars.repeatRefresh&&!f&&(this.invalidate()._lock=1),m&&m!==this._time||l!==!this._ts||this.vars.onRepeat&&!this.parent&&!this._act)return this;if(y=this._dur,g=this._tDur,A&&(this._lock=2,m=S?y:-1e-4,this.render(m,!0),this.vars.repeatRefresh&&!f&&this.invalidate()),this._lock=0,!this._ts&&!l)return this;Rd(this,f)}}if(this._hasPause&&!this._forcing&&this._lock<2&&(c=function(e,t,n){var r;if(n>t)for(r=e._first;r&&r._start<=n;){if("isPause"===r.data&&r._start>t)return r;r=r._next}else for(r=e._last;r&&r._start>=n;){if("isPause"===r.data&&r._start<t)return r;r=r._prev}}(this,vc(m),vc(r)),c&&(v-=r-(r=c._start))),this._tTime=v,this._time=r,this._act=!d,this._initted||(this._onUpdate=this.vars.onUpdate,this._initted=1,this._zTime=e,m=0),!m&&r&&!t&&!s&&(fd(this,"onStart"),this._tTime!==v))return this;if(r>=m&&e>=0)for(i=this._first;i;){if(a=i._next,(i._act||r>=i._start)&&i._ts&&c!==i){if(i.parent!==this)return this.render(e,t,n);if(i.render(i._ts>0?(r-i._start)*i._ts:(i._dirty?i.totalDuration():i._tDur)+(r-i._start)*i._ts,t,n),r!==this._time||!this._ts&&!l){c=0,a&&(v+=this._zTime=-1e-8);break}}i=a}else{i=this._last;for(var b=e<0?e:r;i;){if(a=i._prev,(i._act||b<=i._end)&&i._ts&&c!==i){if(i.parent!==this)return this.render(e,t,n);if(i.render(i._ts>0?(b-i._start)*i._ts:(i._dirty?i.totalDuration():i._tDur)+(b-i._start)*i._ts,t,n||ul&&(i._initted||i._startAt)),r!==this._time||!this._ts&&!l){c=0,a&&(v+=this._zTime=b?-1e-8:jl);break}}i=a}}if(c&&!t&&(this.pause(),c.render(r>=m?0:-1e-8)._zTime=r>=m?1:-1,this._ts))return this._start=h,Hc(this),this.render(e,t,n);this._onUpdate&&!t&&fd(this,"onUpdate",!0),(v===g&&this._tTime>=this.totalDuration()||!v&&m)&&(h!==this._start&&Math.abs(d)===Math.abs(this._ts)||this._lock||((e||!y)&&(v===g&&this._ts>0||!v&&this._ts<0)&&Ec(this,1),t||e<0&&!m||!v&&!m&&g||(fd(this,v===g&&e>=0?"onComplete":"onReverseComplete",!0),this._prom&&!(v<g&&this.timeScale()>0)&&this._prom())))}return this},n.add=function(e,t){var n=this;if(Rl(t)||(t=Qc(this,t,e)),!(e instanceof zd)){if(zl(e))return e.forEach((function(e){return n.add(e,t)})),this;if(El(e))return this.addLabel(e,t);if(!Vl(e))return this;e=$d.delayedCall(0,e)}return this!==e?Jc(this,e,t):this},n.getChildren=function(e,t,n,r){void 0===e&&(e=!0),void 0===t&&(t=!0),void 0===n&&(n=!0),void 0===r&&(r=-wl);for(var i=[],a=this._first;a;)a._start>=r&&(a instanceof $d?t&&i.push(a):(n&&i.push(a),e&&i.push.apply(i,a.getChildren(!0,t,n)))),a=a._next;return i},n.getById=function(e){for(var t=this.getChildren(1,1,1),n=t.length;n--;)if(t[n].vars.id===e)return t[n]},n.remove=function(e){return El(e)?this.removeLabel(e):Vl(e)?this.killTweensOf(e):(Cc(this,e),e===this._recent&&(this._recent=this._last),Vc(this))},n.totalTime=function(t,n){return arguments.length?(this._forcing=1,!this._dp&&this._ts&&(this._start=vc(Pd.time-(this._ts>0?t/this._ts:(this.totalDuration()-t)/-this._ts))),e.prototype.totalTime.call(this,t,n),this._forcing=0,this):this._tTime},n.addLabel=function(e,t){return this.labels[e]=Qc(this,t),this},n.removeLabel=function(e){return delete this.labels[e],this},n.addPause=function(e,t,n){var r=$d.delayedCall(0,t||tc,n);return r.data="isPause",this._hasPause=1,Jc(this,r,Qc(this,e))},n.removePause=function(e){var t=this._first;for(e=Qc(this,e);t;)t._start===e&&"isPause"===t.data&&Ec(t),t=t._next},n.killTweensOf=function(e,t,n){for(var r=this.getTweensOf(e,n),i=r.length;i--;)Ud!==r[i]&&r[i].kill(e,t);return this},n.getTweensOf=function(e,t){for(var n,r=[],i=rd(e),a=this._first,s=Rl(t);a;)a instanceof $d?Sc(a._targets,i)&&(s?(!Ud||a._initted&&a._ts)&&a.globalTime(0)<=t&&a.globalTime(a.totalDuration())>t:!t||a.isActive())&&r.push(a):(n=a.getTweensOf(i,t)).length&&r.push.apply(r,n),a=a._next;return r},n.tweenTo=function(e,t){t=t||{};var n,r=this,i=Qc(r,e),a=t,s=a.startAt,o=a.onStart,l=a.onStartParams,c=a.immediateRender,d=$d.to(r,jc({ease:t.ease||"none",lazy:!1,immediateRender:!1,time:i,overwrite:"auto",duration:t.duration||Math.abs((i-(s&&"time"in s?s.time:r._time))/r.timeScale())||jl,onStart:function(){if(r.pause(),!n){var e=t.duration||Math.abs((i-(s&&"time"in s?s.time:r._time))/r.timeScale());d._dur!==e&&Fc(d,e,0,1).render(d._time,!0,!0),n=1}o&&o.apply(d,l||[])}},t));return c?d.render(0):d},n.tweenFromTo=function(e,t,n){return this.tweenTo(t,jc({startAt:{time:Qc(this,e)}},n))},n.recent=function(){return this._recent},n.nextLabel=function(e){return void 0===e&&(e=this._time),pd(this,Qc(this,e))},n.previousLabel=function(e){return void 0===e&&(e=this._time),pd(this,Qc(this,e),1)},n.currentLabel=function(e){return arguments.length?this.seek(e,!0):this.previousLabel(this._time+jl)},n.shiftChildren=function(e,t,n){void 0===n&&(n=0);for(var r,i=this._first,a=this.labels;i;)i._start>=n&&(i._start+=e,i._end+=e),i=i._next;if(t)for(r in a)a[r]>=n&&(a[r]+=e);return Vc(this)},n.invalidate=function(t){var n=this._first;for(this._lock=0;n;)n.invalidate(t),n=n._next;return e.prototype.invalidate.call(this,t)},n.clear=function(e){void 0===e&&(e=!0);for(var t,n=this._first;n;)t=n._next,this.remove(n),n=t;return this._dp&&(this._time=this._tTime=this._pTime=0),e&&(this.labels={}),Vc(this)},n.totalDuration=function(e){var t,n,r,i=0,a=this,s=a._last,o=wl;if(arguments.length)return a.timeScale((a._repeat<0?a.duration():a.totalDuration())/(a.reversed()?-e:e));if(a._dirty){for(r=a.parent;s;)t=s._prev,s._dirty&&s.totalDuration(),(n=s._start)>o&&a._sort&&s._ts&&!a._lock?(a._lock=1,Jc(a,s,n-s._delay,1)._lock=0):o=n,n<0&&s._ts&&(i-=n,(!r&&!a._dp||r&&r.smoothChildTiming)&&(a._start+=n/a._ts,a._time-=n,a._tTime-=n),a.shiftChildren(-n,!1,-Infinity),o=0),s._end>i&&s._ts&&(i=s._end),s=t;Fc(a,a===fl&&a._time>i?a._time:i,1,1),a._dirty=0}return a._tDur},t.updateRoot=function(e){if(fl._ts&&(bc(fl,qc(e,fl)),xl=Pd.frame),Pd.frame>=dc){dc+=bl.autoSleep||120;var t=fl._first;if((!t||!t._ts)&&bl.autoSleep&&Pd._listeners.length<2){for(;t&&!t._ts;)t=t._next;t||Pd.sleep()}}},t}(zd);jc(Jd.prototype,{_lock:0,_hasPause:0,_forcing:0});var Ud,Nd,Ld=function(e,t,n,r,i,a,s){var o,l,c,d,h,u,p,f,m=new ph(this._pt,e,t,0,1,oh,null,i),g=0,y=0;for(m.b=n,m.e=r,n+="",(p=~(r+="").indexOf("random("))&&(r=hd(r)),a&&(a(f=[n,r],e,t),n=f[0],r=f[1]),l=n.match(Ll)||[];o=Ll.exec(r);)d=o[0],h=r.substring(g,o.index),c?c=(c+1)%5:"rgba("===h.substr(-5)&&(c=1),d!==l[y++]&&(u=parseFloat(l[y-1])||0,m._pt={_next:m._pt,p:h||1===y?h:",",s:u,c:"="===d.charAt(1)?xc(u,d)-u:parseFloat(d)-u,m:c&&c<4?Math.round:0},g=Ll.lastIndex);return m.c=g<r.length?r.substring(g,r.length):"",m.fp=s,(Yl.test(r)||p)&&(m.e=0),this._pt=m,m},Yd=function(e,t,n,r,i,a,s,o,l,c){Vl(r)&&(r=r(i||0,e,a));var d,h=e[t],u="get"!==n?n:Vl(h)?l?e[t.indexOf("set")||!Vl(e["get"+t.substr(3)])?t:"get"+t.substr(3)](l):e[t]():h,p=Vl(h)?l?nh:th:eh;if(El(r)&&(~r.indexOf("random(")&&(r=hd(r)),"="===r.charAt(1)&&((d=xc(u,r)+(ed(u)||0))||0===d)&&(r=d)),!c||u!==r||Nd)return isNaN(u*r)||""===r?(!h&&!(t in e)&&_l(t,r),Ld.call(this,e,t,u,r,p,o||bl.stringFilter,l)):(d=new ph(this._pt,e,t,+u||0,r-(u||0),"boolean"===typeof h?sh:ah,0,p),l&&(d.fp=l),s&&d.modifier(s,this,e),this._pt=d)},Fd=function(e,t,n,r,i,a){var s,o,l,c;if(lc[e]&&!1!==(s=new lc[e]).init(i,s.rawVars?t[e]:function(e,t,n,r,i){if(Vl(e)&&(e=Qd(e,i,t,n,r)),!Bl(e)||e.style&&e.nodeType||zl(e)||Wl(e))return El(e)?Qd(e,i,t,n,r):e;var a,s={};for(a in e)s[a]=Qd(e[a],i,t,n,r);return s}(t[e],r,i,a,n),n,r,a)&&(n._pt=o=new ph(n._pt,i,e,0,1,s.render,s,0,s.priority),n!==Sl))for(l=n._ptLookup[n._targets.indexOf(i)],c=s._props.length;c--;)l[s._props[c]]=o;return s},Zd=function e(t,n,r){var i,a,s,o,l,c,d,h,u,p,f,m,g,y=t.vars,v=y.ease,x=y.startAt,S=y.immediateRender,A=y.lazy,b=y.onUpdate,k=y.runBackwards,w=y.yoyoEase,j=y.keyframes,M=y.autoRevert,P=t._dur,O=t._startAt,T=t._targets,I=t.parent,C=I&&"nested"===I.data?I.vars.targets:T,E="auto"===t._overwrite&&!hl,V=t.timeline;if(V&&(!j||!v)&&(v="none"),t._ease=Dd(v,kl.ease),t._yEase=w?Vd(Dd(!0===w?v:w,kl.ease)):0,w&&t._yoyo&&!t._repeat&&(w=t._yEase,t._yEase=t._ease,t._ease=w),t._from=!V&&!!y.runBackwards,!V||j&&!y.stagger){if(m=(h=T[0]?fc(T[0]).harness:0)&&y[h.prop],i=Oc(y,ac),O&&(O._zTime<0&&O.progress(1),n<0&&k&&S&&!M?O.render(-1,!0):O.revert(k&&P?rc:nc),O._lazy=0),x){if(Ec(t._startAt=$d.set(T,jc({data:"isStart",overwrite:!1,parent:I,immediateRender:!0,lazy:!O&&Gl(A),startAt:null,delay:0,onUpdate:b&&function(){return fd(t,"onUpdate")},stagger:0},x))),t._startAt._dp=0,t._startAt._sat=t,n<0&&(ul||!S&&!M)&&t._startAt.revert(rc),S&&P&&n<=0&&r<=0)return void(n&&(t._zTime=n))}else if(k&&P&&!O)if(n&&(S=!1),s=jc({overwrite:!1,data:"isFromStart",lazy:S&&!O&&Gl(A),immediateRender:S,stagger:0,parent:I},i),m&&(s[h.prop]=m),Ec(t._startAt=$d.set(T,s)),t._startAt._dp=0,t._startAt._sat=t,n<0&&(ul?t._startAt.revert(rc):t._startAt.render(-1,!0)),t._zTime=n,S){if(!n)return}else e(t._startAt,jl,jl);for(t._pt=t._ptCache=0,A=P&&Gl(A)||A&&!P,a=0;a<T.length;a++){if(d=(l=T[a])._gsap||pc(T)[a]._gsap,t._ptLookup[a]=p={},oc[d.id]&&sc.length&&Ac(),f=C===T?a:C.indexOf(l),h&&!1!==(u=new h).init(l,m||i,t,f,C)&&(t._pt=o=new ph(t._pt,l,u.name,0,1,u.render,u,0,u.priority),u._props.forEach((function(e){p[e]=o})),u.priority&&(c=1)),!h||m)for(s in i)lc[s]&&(u=Fd(s,i,t,f,l,C))?u.priority&&(c=1):p[s]=o=Yd.call(t,l,s,"get",i[s],f,C,0,y.stringFilter);t._op&&t._op[a]&&t.kill(l,t._op[a]),E&&t._pt&&(Ud=t,fl.killTweensOf(l,p,t.globalTime(n)),g=!t.parent,Ud=0),t._pt&&A&&(oc[d.id]=1)}c&&uh(t),t._onInit&&t._onInit(t)}t._onUpdate=b,t._initted=(!t._op||t._pt)&&!g,j&&n<=0&&V.render(wl,!0,!0)},Kd=function(e,t,n,r){var i,a,s=t.ease||r||"power1.inOut";if(zl(t))a=n[e]||(n[e]=[]),t.forEach((function(e,n){return a.push({t:n/(t.length-1)*100,v:e,e:s})}));else for(i in t)a=n[i]||(n[i]=[]),"ease"===i||a.push({t:parseFloat(e),v:t[i],e:s})},Qd=function(e,t,n,r,i){return Vl(e)?e.call(t,n,r,i):El(e)&&~e.indexOf("random(")?hd(e):e},Xd=uc+"repeat,repeatDelay,yoyo,repeatRefresh,yoyoEase,autoRevert",_d={};gc(Xd+",id,stagger,delay,duration,paused,scrollTrigger",(function(e){return _d[e]=1}));var $d=function(e){function t(t,n,r,i){var a;"number"===typeof n&&(r.duration=n,n=r,r=null);var s,o,l,c,d,h,u,p,f=(a=e.call(this,i?n:Tc(n))||this).vars,m=f.duration,g=f.delay,y=f.immediateRender,v=f.stagger,x=f.overwrite,S=f.keyframes,A=f.defaults,b=f.scrollTrigger,k=f.yoyoEase,w=n.parent||fl,j=(zl(t)||Wl(t)?Rl(t[0]):"length"in n)?[t]:rd(t);if(a._targets=j.length?pc(j):$l("GSAP target "+t+" not found. https://gsap.com",!bl.nullTargetWarn)||[],a._ptLookup=[],a._overwrite=x,S||v||Hl(m)||Hl(g)){if(n=a.vars,(s=a.timeline=new Jd({data:"nested",defaults:A||{},targets:w&&"nested"===w.data?w.vars.targets:j})).kill(),s.parent=s._dp=cl(a),s._start=0,v||Hl(m)||Hl(g)){if(c=j.length,u=v&&sd(v),Bl(v))for(d in v)~Xd.indexOf(d)&&(p||(p={}),p[d]=v[d]);for(o=0;o<c;o++)(l=Oc(n,_d)).stagger=0,k&&(l.yoyoEase=k),p&&Mc(l,p),h=j[o],l.duration=+Qd(m,cl(a),o,h,j),l.delay=(+Qd(g,cl(a),o,h,j)||0)-a._delay,!v&&1===c&&l.delay&&(a._delay=g=l.delay,a._start+=g,l.delay=0),s.to(h,l,u?u(o,h,j):0),s._ease=Td.none;s.duration()?m=g=0:a.timeline=0}else if(S){Tc(jc(s.vars.defaults,{ease:"none"})),s._ease=Dd(S.ease||n.ease||"none");var M,P,O,T=0;if(zl(S))S.forEach((function(e){return s.to(j,e,">")})),s.duration();else{for(d in l={},S)"ease"===d||"easeEach"===d||Kd(d,S[d],l,S.easeEach);for(d in l)for(M=l[d].sort((function(e,t){return e.t-t.t})),T=0,o=0;o<M.length;o++)(O={ease:(P=M[o]).e,duration:(P.t-(o?M[o-1].t:0))/100*m})[d]=P.v,s.to(j,O,T),T+=O.duration;s.duration()<m&&s.to({},{duration:m-s.duration()})}}m||a.duration(m=s.duration())}else a.timeline=0;return!0!==x||hl||(Ud=cl(a),fl.killTweensOf(j),Ud=0),Jc(w,cl(a),r),n.reversed&&a.reverse(),n.paused&&a.paused(!0),(y||!m&&!S&&a._start===vc(w._time)&&Gl(y)&&Dc(cl(a))&&"nested"!==w.data)&&(a._tTime=-1e-8,a.render(Math.max(0,-g)||0)),b&&Uc(cl(a),b),a}dl(t,e);var n=t.prototype;return n.render=function(e,t,n){var r,i,a,s,o,l,c,d,h,u=this._time,p=this._tDur,f=this._dur,m=e<0,g=e>p-jl&&!m?p:e<jl?0:e;if(f){if(g!==this._tTime||!e||n||!this._initted&&this._tTime||this._startAt&&this._zTime<0!==m){if(r=g,d=this.timeline,this._repeat){if(s=f+this._rDelay,this._repeat<-1&&m)return this.totalTime(100*s+e,t,n);if(r=vc(g%s),g===p?(a=this._repeat,r=f):((a=~~(g/s))&&a===vc(g/s)&&(r=f,a--),r>f&&(r=f)),(l=this._yoyo&&1&a)&&(h=this._yEase,r=f-r),o=Gc(this._tTime,s),r===u&&!n&&this._initted&&a===o)return this._tTime=g,this;a!==o&&(d&&this._yEase&&Rd(d,l),this.vars.repeatRefresh&&!l&&!this._lock&&this._time!==s&&this._initted&&(this._lock=n=1,this.render(vc(s*a),!0).invalidate()._lock=0))}if(!this._initted){if(Nc(this,m?e:r,n,t,g))return this._tTime=0,this;if(u!==this._time&&(!n||!this.vars.repeatRefresh||a===o))return this;if(f!==this._dur)return this.render(e,t,n)}if(this._tTime=g,this._time=r,!this._act&&this._ts&&(this._act=1,this._lazy=0),this.ratio=c=(h||this._ease)(r/f),this._from&&(this.ratio=c=1-c),r&&!u&&!t&&!a&&(fd(this,"onStart"),this._tTime!==g))return this;for(i=this._pt;i;)i.r(c,i.d),i=i._next;d&&d.render(e<0?e:d._dur*d._ease(r/this._dur),t,n)||this._startAt&&(this._zTime=e),this._onUpdate&&!t&&(m&&Rc(this,e,0,n),fd(this,"onUpdate")),this._repeat&&a!==o&&this.vars.onRepeat&&!t&&this.parent&&fd(this,"onRepeat"),g!==this._tDur&&g||this._tTime!==g||(m&&!this._onUpdate&&Rc(this,e,0,!0),(e||!f)&&(g===this._tDur&&this._ts>0||!g&&this._ts<0)&&Ec(this,1),t||m&&!u||!(g||u||l)||(fd(this,g===p?"onComplete":"onReverseComplete",!0),this._prom&&!(g<p&&this.timeScale()>0)&&this._prom()))}}else!function(e,t,n,r){var i,a,s,o=e.ratio,l=t<0||!t&&(!e._start&&Lc(e)&&(e._initted||!Yc(e))||(e._ts<0||e._dp._ts<0)&&!Yc(e))?0:1,c=e._rDelay,d=0;if(c&&e._repeat&&(d=$c(0,e._tDur,t),a=Gc(d,c),e._yoyo&&1&a&&(l=1-l),a!==Gc(e._tTime,c)&&(o=1-l,e.vars.repeatRefresh&&e._initted&&e.invalidate())),l!==o||ul||r||e._zTime===jl||!t&&e._zTime){if(!e._initted&&Nc(e,t,r,n,d))return;for(s=e._zTime,e._zTime=t||(n?jl:0),n||(n=t&&!s),e.ratio=l,e._from&&(l=1-l),e._time=0,e._tTime=d,i=e._pt;i;)i.r(l,i.d),i=i._next;t<0&&Rc(e,t,0,!0),e._onUpdate&&!n&&fd(e,"onUpdate"),d&&e._repeat&&!n&&e.parent&&fd(e,"onRepeat"),(t>=e._tDur||t<0)&&e.ratio===l&&(l&&Ec(e,1),n||ul||(fd(e,l?"onComplete":"onReverseComplete",!0),e._prom&&e._prom()))}else e._zTime||(e._zTime=t)}(this,e,t,n);return this},n.targets=function(){return this._targets},n.invalidate=function(t){return(!t||!this.vars.runBackwards)&&(this._startAt=0),this._pt=this._op=this._onUpdate=this._lazy=this.ratio=0,this._ptLookup=[],this.timeline&&this.timeline.invalidate(t),e.prototype.invalidate.call(this,t)},n.resetTo=function(e,t,n,r,i){Al||Pd.wake(),this._ts||this.play();var a=Math.min(this._dur,(this._dp._time-this._start)*this._ts);return this._initted||Zd(this,a),function(e,t,n,r,i,a,s,o){var l,c,d,h,u=(e._pt&&e._ptCache||(e._ptCache={}))[t];if(!u)for(u=e._ptCache[t]=[],d=e._ptLookup,h=e._targets.length;h--;){if((l=d[h][t])&&l.d&&l.d._pt)for(l=l.d._pt;l&&l.p!==t&&l.fp!==t;)l=l._next;if(!l)return Nd=1,e.vars[t]="+=0",Zd(e,s),Nd=0,o?$l(t+" not eligible for reset"):1;u.push(l)}for(h=u.length;h--;)(l=(c=u[h])._pt||c).s=!r&&0!==r||i?l.s+(r||0)+a*l.c:r,l.c=n-l.s,c.e&&(c.e=yc(n)+ed(c.e)),c.b&&(c.b=l.s+ed(c.b))}(this,e,t,n,r,this._ease(a/this._dur),a,i)?this.resetTo(e,t,n,r,1):(Wc(this,0),this.parent||Ic(this._dp,this,"_first","_last",this._dp._sort?"_start":0),this.render(0))},n.kill=function(e,t){if(void 0===t&&(t="all"),!e&&(!t||"all"===t))return this._lazy=this._pt=0,this.parent?md(this):this;if(this.timeline){var n=this.timeline.totalDuration();return this.timeline.killTweensOf(e,t,Ud&&!0!==Ud.vars.overwrite)._first||md(this),this.parent&&n!==this.timeline.totalDuration()&&Fc(this,this._dur*this.timeline._tDur/n,0,1),this}var r,i,a,s,o,l,c,d=this._targets,h=e?rd(e):d,u=this._ptLookup,p=this._pt;if((!t||"all"===t)&&function(e,t){for(var n=e.length,r=n===t.length;r&&n--&&e[n]===t[n];);return n<0}(d,h))return"all"===t&&(this._pt=0),md(this);for(r=this._op=this._op||[],"all"!==t&&(El(t)&&(o={},gc(t,(function(e){return o[e]=1})),t=o),t=function(e,t){var n,r,i,a,s=e[0]?fc(e[0]).harness:0,o=s&&s.aliases;if(!o)return t;for(r in n=Mc({},t),o)if(r in n)for(i=(a=o[r].split(",")).length;i--;)n[a[i]]=n[r];return n}(d,t)),c=d.length;c--;)if(~h.indexOf(d[c]))for(o in i=u[c],"all"===t?(r[c]=t,s=i,a={}):(a=r[c]=r[c]||{},s=t),s)(l=i&&i[o])&&("kill"in l.d&&!0!==l.d.kill(o)||Cc(this,l,"_pt"),delete i[o]),"all"!==a&&(a[o]=1);return this._initted&&!this._pt&&p&&md(this),this},t.to=function(e,n){return new t(e,n,arguments[2])},t.from=function(e,t){return Xc(1,arguments)},t.delayedCall=function(e,n,r,i){return new t(n,0,{immediateRender:!1,lazy:!1,overwrite:!1,delay:e,onComplete:n,onReverseComplete:n,onCompleteParams:r,onReverseCompleteParams:r,callbackScope:i})},t.fromTo=function(e,t,n){return Xc(2,arguments)},t.set=function(e,n){return n.duration=0,n.repeatDelay||(n.repeat=0),new t(e,n)},t.killTweensOf=function(e,t,n){return fl.killTweensOf(e,t,n)},t}(zd);jc($d.prototype,{_targets:[],_lazy:0,_startAt:0,_op:0,_onInit:0}),gc("staggerTo,staggerFrom,staggerFromTo",(function(e){$d[e]=function(){var t=new Jd,n=td.call(arguments,0);return n.splice("staggerFromTo"===e?5:4,0,0),t[e].apply(t,n)}}));var eh=function(e,t,n){return e[t]=n},th=function(e,t,n){return e[t](n)},nh=function(e,t,n,r){return e[t](r.fp,n)},rh=function(e,t,n){return e.setAttribute(t,n)},ih=function(e,t){return Vl(e[t])?th:Dl(e[t])&&e.setAttribute?rh:eh},ah=function(e,t){return t.set(t.t,t.p,Math.round(1e6*(t.s+t.c*e))/1e6,t)},sh=function(e,t){return t.set(t.t,t.p,!!(t.s+t.c*e),t)},oh=function(e,t){var n=t._pt,r="";if(!e&&t.b)r=t.b;else if(1===e&&t.e)r=t.e;else{for(;n;)r=n.p+(n.m?n.m(n.s+n.c*e):Math.round(1e4*(n.s+n.c*e))/1e4)+r,n=n._next;r+=t.c}t.set(t.t,t.p,r,t)},lh=function(e,t){for(var n=t._pt;n;)n.r(e,n.d),n=n._next},ch=function(e,t,n,r){for(var i,a=this._pt;a;)i=a._next,a.p===r&&a.modifier(e,t,n),a=i},dh=function(e){for(var t,n,r=this._pt;r;)n=r._next,r.p===e&&!r.op||r.op===e?Cc(this,r,"_pt"):r.dep||(t=1),r=n;return!t},hh=function(e,t,n,r){r.mSet(e,t,r.m.call(r.tween,n,r.mt),r)},uh=function(e){for(var t,n,r,i,a=e._pt;a;){for(t=a._next,n=r;n&&n.pr>a.pr;)n=n._next;(a._prev=n?n._prev:i)?a._prev._next=a:r=a,(a._next=n)?n._prev=a:i=a,a=t}e._pt=r},ph=function(){function e(e,t,n,r,i,a,s,o,l){this.t=t,this.s=r,this.c=i,this.p=n,this.r=a||ah,this.d=s||this,this.set=o||eh,this.pr=l||0,this._next=e,e&&(e._prev=this)}return e.prototype.modifier=function(e,t,n){this.mSet=this.mSet||this.set,this.set=hh,this.m=e,this.mt=n,this.tween=t},e}();gc(uc+"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger",(function(e){return ac[e]=1})),Kl.TweenMax=Kl.TweenLite=$d,Kl.TimelineLite=Kl.TimelineMax=Jd,fl=new Jd({sortChildren:!1,defaults:kl,autoRemoveChildren:!0,id:"root",smoothChildTiming:!0}),bl.stringFilter=Md;var fh=[],mh={},gh=[],yh=0,vh=0,xh=function(e){return(mh[e]||gh).map((function(e){return e()}))},Sh=function(){var e=Date.now(),t=[];e-yh>2&&(xh("matchMediaInit"),fh.forEach((function(e){var n,r,i,a,s=e.queries,o=e.conditions;for(r in s)(n=ml.matchMedia(s[r]).matches)&&(i=1),n!==o[r]&&(o[r]=n,a=1);a&&(e.revert(),i&&t.push(e))})),xh("matchMediaRevert"),t.forEach((function(e){return e.onMatch(e,(function(t){return e.add(null,t)}))})),yh=e,xh("matchMedia"))},Ah=function(){function e(e,t){this.selector=t&&id(t),this.data=[],this._r=[],this.isReverted=!1,this.id=vh++,e&&this.add(e)}var t=e.prototype;return t.add=function(e,t,n){Vl(e)&&(n=t,t=e,e=Vl);var r=this,i=function(){var e,i=pl,a=r.selector;return i&&i!==r&&i.data.push(r),n&&(r.selector=id(n)),pl=r,e=t.apply(r,arguments),Vl(e)&&r._r.push(e),pl=i,r.selector=a,r.isReverted=!1,e};return r.last=i,e===Vl?i(r,(function(e){return r.add(null,e)})):e?r[e]=i:i},t.ignore=function(e){var t=pl;pl=null,e(this),pl=t},t.getTweens=function(){var t=[];return this.data.forEach((function(n){return n instanceof e?t.push.apply(t,n.getTweens()):n instanceof $d&&!(n.parent&&"nested"===n.parent.data)&&t.push(n)})),t},t.clear=function(){this._r.length=this.data.length=0},t.kill=function(e,t){var n=this;if(e?function(){for(var t,r=n.getTweens(),i=n.data.length;i--;)"isFlip"===(t=n.data[i]).data&&(t.revert(),t.getChildren(!0,!0,!1).forEach((function(e){return r.splice(r.indexOf(e),1)})));for(r.map((function(e){return{g:e._dur||e._delay||e._sat&&!e._sat.vars.immediateRender?e.globalTime(0):-1/0,t:e}})).sort((function(e,t){return t.g-e.g||-1/0})).forEach((function(t){return t.t.revert(e)})),i=n.data.length;i--;)(t=n.data[i])instanceof Jd?"nested"!==t.data&&(t.scrollTrigger&&t.scrollTrigger.revert(),t.kill()):!(t instanceof $d)&&t.revert&&t.revert(e);n._r.forEach((function(t){return t(e,n)})),n.isReverted=!0}():this.data.forEach((function(e){return e.kill&&e.kill()})),this.clear(),t)for(var r=fh.length;r--;)fh[r].id===this.id&&fh.splice(r,1)},t.revert=function(e){this.kill(e||{})},e}(),bh=function(){function e(e){this.contexts=[],this.scope=e,pl&&pl.data.push(this)}var t=e.prototype;return t.add=function(e,t,n){Bl(e)||(e={matches:e});var r,i,a,s=new Ah(0,n||this.scope),o=s.conditions={};for(i in pl&&!s.selector&&(s.selector=pl.selector),this.contexts.push(s),t=s.add("onMatch",t),s.queries=e,e)"all"===i?a=1:(r=ml.matchMedia(e[i]))&&(fh.indexOf(s)<0&&fh.push(s),(o[i]=r.matches)&&(a=1),r.addListener?r.addListener(Sh):r.addEventListener("change",Sh));return a&&t(s,(function(e){return s.add(null,e)})),this},t.revert=function(e){this.kill(e||{})},t.kill=function(e){this.contexts.forEach((function(t){return t.kill(e,!0)}))},e}(),kh={registerPlugin:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.forEach((function(e){return yd(e)}))},timeline:function(e){return new Jd(e)},getTweensOf:function(e,t){return fl.getTweensOf(e,t)},getProperty:function(e,t,n,r){El(e)&&(e=rd(e)[0]);var i=fc(e||{}).get,a=n?wc:kc;return"native"===n&&(n=""),e?t?a((lc[t]&&lc[t].get||i)(e,t,n,r)):function(t,n,r){return a((lc[t]&&lc[t].get||i)(e,t,n,r))}:e},quickSetter:function(e,t,n){if((e=rd(e)).length>1){var r=e.map((function(e){return Mh.quickSetter(e,t,n)})),i=r.length;return function(e){for(var t=i;t--;)r[t](e)}}e=e[0]||{};var a=lc[t],s=fc(e),o=s.harness&&(s.harness.aliases||{})[t]||t,l=a?function(t){var r=new a;Sl._pt=0,r.init(e,n?t+n:t,Sl,0,[e]),r.render(1,r),Sl._pt&&lh(1,Sl)}:s.set(e,o);return a?l:function(t){return l(e,o,n?t+n:t,s,1)}},quickTo:function(e,t,n){var r,i=Mh.to(e,Mc(((r={})[t]="+=0.1",r.paused=!0,r),n||{})),a=function(e,n,r){return i.resetTo(t,e,n,r)};return a.tween=i,a},isTweening:function(e){return fl.getTweensOf(e,!0).length>0},defaults:function(e){return e&&e.ease&&(e.ease=Dd(e.ease,kl.ease)),Pc(kl,e||{})},config:function(e){return Pc(bl,e||{})},registerEffect:function(e){var t=e.name,n=e.effect,r=e.plugins,i=e.defaults,a=e.extendTimeline;(r||"").split(",").forEach((function(e){return e&&!lc[e]&&!Kl[e]&&$l(t+" effect requires "+e+" plugin.")})),cc[t]=function(e,t,r){return n(rd(e),jc(t||{},i),r)},a&&(Jd.prototype[t]=function(e,n,r){return this.add(cc[t](e,Bl(n)?n:(r=n)&&{},this),r)})},registerEase:function(e,t){Td[e]=Dd(t)},parseEase:function(e,t){return arguments.length?Dd(e,t):Td},getById:function(e){return fl.getById(e)},exportRoot:function(e,t){void 0===e&&(e={});var n,r,i=new Jd(e);for(i.smoothChildTiming=Gl(e.smoothChildTiming),fl.remove(i),i._dp=0,i._time=i._tTime=fl._time,n=fl._first;n;)r=n._next,!t&&!n._dur&&n instanceof $d&&n.vars.onComplete===n._targets[0]||Jc(i,n,n._start-n._delay),n=r;return Jc(fl,i,0),i},context:function(e,t){return e?new Ah(e,t):pl},matchMedia:function(e){return new bh(e)},matchMediaRefresh:function(){return fh.forEach((function(e){var t,n,r=e.conditions;for(n in r)r[n]&&(r[n]=!1,t=1);t&&e.revert()}))||Sh()},addEventListener:function(e,t){var n=mh[e]||(mh[e]=[]);~n.indexOf(t)||n.push(t)},removeEventListener:function(e,t){var n=mh[e],r=n&&n.indexOf(t);r>=0&&n.splice(r,1)},utils:{wrap:function e(t,n,r){var i=n-t;return zl(t)?dd(t,e(0,t.length),n):_c(r,(function(e){return(i+(e-t)%i)%i+t}))},wrapYoyo:function e(t,n,r){var i=n-t,a=2*i;return zl(t)?dd(t,e(0,t.length-1),n):_c(r,(function(e){return t+((e=(a+(e-t)%a)%a||0)>i?a-e:e)}))},distribute:sd,random:cd,snap:ld,normalize:function(e,t,n){return ud(e,t,0,1,n)},getUnit:ed,clamp:function(e,t,n){return _c(n,(function(n){return $c(e,t,n)}))},splitColor:Ad,toArray:rd,selector:id,mapRange:ud,pipe:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return t.reduce((function(e,t){return t(e)}),e)}},unitize:function(e,t){return function(n){return e(parseFloat(n))+(t||ed(n))}},interpolate:function e(t,n,r,i){var a=isNaN(t+n)?0:function(e){return(1-e)*t+e*n};if(!a){var s,o,l,c,d,h=El(t),u={};if(!0===r&&(i=1)&&(r=null),h)t={p:t},n={p:n};else if(zl(t)&&!zl(n)){for(l=[],c=t.length,d=c-2,o=1;o<c;o++)l.push(e(t[o-1],t[o]));c--,a=function(e){e*=c;var t=Math.min(d,~~e);return l[t](e-t)},r=n}else i||(t=Mc(zl(t)?[]:{},t));if(!l){for(s in n)Yd.call(u,t,s,"get",n[s]);a=function(e){return lh(e,u)||(h?t.p:t)}}}return _c(r,a)},shuffle:ad},install:Xl,effects:cc,ticker:Pd,updateRoot:Jd.updateRoot,plugins:lc,globalTimeline:fl,core:{PropTween:ph,globals:ec,Tween:$d,Timeline:Jd,Animation:zd,getCache:fc,_removeLinkedListItem:Cc,reverting:function(){return ul},context:function(e){return e&&pl&&(pl.data.push(e),e._ctx=pl),pl},suppressOverwrites:function(e){return hl=e}}};gc("to,from,fromTo,delayedCall,set,killTweensOf",(function(e){return kh[e]=$d[e]})),Pd.add(Jd.updateRoot),Sl=kh.to({},{duration:0});var wh=function(e,t){for(var n=e._pt;n&&n.p!==t&&n.op!==t&&n.fp!==t;)n=n._next;return n},jh=function(e,t){return{name:e,rawVars:1,init:function(e,n,r){r._onInit=function(e){var r,i;if(El(n)&&(r={},gc(n,(function(e){return r[e]=1})),n=r),t){for(i in r={},n)r[i]=t(n[i]);n=r}!function(e,t){var n,r,i,a=e._targets;for(n in t)for(r=a.length;r--;)(i=e._ptLookup[r][n])&&(i=i.d)&&(i._pt&&(i=wh(i,n)),i&&i.modifier&&i.modifier(t[n],e,a[r],n))}(e,n)}}}},Mh=kh.registerPlugin({name:"attr",init:function(e,t,n,r,i){var a,s,o;for(a in this.tween=n,t)o=e.getAttribute(a)||"",(s=this.add(e,"setAttribute",(o||0)+"",t[a],r,i,0,0,a)).op=a,s.b=o,this._props.push(a)},render:function(e,t){for(var n=t._pt;n;)ul?n.set(n.t,n.p,n.b,n):n.r(e,n.d),n=n._next}},{name:"endArray",init:function(e,t){for(var n=t.length;n--;)this.add(e,n,e[n]||0,t[n],0,0,0,0,0,1)}},jh("roundProps",od),jh("modifiers"),jh("snap",ld))||kh;$d.version=Jd.version=Mh.version="3.12.5",vl=1,ql()&&Od();Td.Power0,Td.Power1,Td.Power2,Td.Power3,Td.Power4,Td.Linear,Td.Quad,Td.Cubic,Td.Quart,Td.Quint,Td.Strong,Td.Elastic,Td.Back,Td.SteppedEase,Td.Bounce,Td.Sine,Td.Expo,Td.Circ;var Ph,Oh,Th,Ih,Ch,Eh,Vh,Rh,Dh={},Bh=180/Math.PI,Gh=Math.PI/180,qh=Math.atan2,Hh=/([A-Z])/g,Wh=/(left|right|width|margin|padding|x)/i,zh=/[\s,\(]\S/,Jh={autoAlpha:"opacity,visibility",scale:"scaleX,scaleY",alpha:"opacity"},Uh=function(e,t){return t.set(t.t,t.p,Math.round(1e4*(t.s+t.c*e))/1e4+t.u,t)},Nh=function(e,t){return t.set(t.t,t.p,1===e?t.e:Math.round(1e4*(t.s+t.c*e))/1e4+t.u,t)},Lh=function(e,t){return t.set(t.t,t.p,e?Math.round(1e4*(t.s+t.c*e))/1e4+t.u:t.b,t)},Yh=function(e,t){var n=t.s+t.c*e;t.set(t.t,t.p,~~(n+(n<0?-.5:.5))+t.u,t)},Fh=function(e,t){return t.set(t.t,t.p,e?t.e:t.b,t)},Zh=function(e,t){return t.set(t.t,t.p,1!==e?t.b:t.e,t)},Kh=function(e,t,n){return e.style[t]=n},Qh=function(e,t,n){return e.style.setProperty(t,n)},Xh=function(e,t,n){return e._gsap[t]=n},_h=function(e,t,n){return e._gsap.scaleX=e._gsap.scaleY=n},$h=function(e,t,n,r,i){var a=e._gsap;a.scaleX=a.scaleY=n,a.renderTransform(i,a)},eu=function(e,t,n,r,i){var a=e._gsap;a[t]=n,a.renderTransform(i,a)},tu="transform",nu=tu+"Origin",ru=function e(t,n){var r=this,i=this.target,a=i.style,s=i._gsap;if(t in Dh&&a){if(this.tfm=this.tfm||{},"transform"===t)return Jh.transform.split(",").forEach((function(t){return e.call(r,t,n)}));if(~(t=Jh[t]||t).indexOf(",")?t.split(",").forEach((function(e){return r.tfm[e]=Au(i,e)})):this.tfm[t]=s.x?s[t]:Au(i,t),t===nu&&(this.tfm.zOrigin=s.zOrigin),this.props.indexOf(tu)>=0)return;s.svg&&(this.svgo=i.getAttribute("data-svg-origin"),this.props.push(nu,n,"")),t=tu}(a||n)&&this.props.push(t,n,a[t])},iu=function(e){e.translate&&(e.removeProperty("translate"),e.removeProperty("scale"),e.removeProperty("rotate"))},au=function(){var e,t,n=this.props,r=this.target,i=r.style,a=r._gsap;for(e=0;e<n.length;e+=3)n[e+1]?r[n[e]]=n[e+2]:n[e+2]?i[n[e]]=n[e+2]:i.removeProperty("--"===n[e].substr(0,2)?n[e]:n[e].replace(Hh,"-$1").toLowerCase());if(this.tfm){for(t in this.tfm)a[t]=this.tfm[t];a.svg&&(a.renderTransform(),r.setAttribute("data-svg-origin",this.svgo||"")),(e=Vh())&&e.isStart||i[tu]||(iu(i),a.zOrigin&&i[nu]&&(i[nu]+=" "+a.zOrigin+"px",a.zOrigin=0,a.renderTransform()),a.uncache=1)}},su=function(e,t){var n={target:e,props:[],revert:au,save:ru};return e._gsap||Mh.core.getCache(e),t&&t.split(",").forEach((function(e){return n.save(e)})),n},ou=function(e,t){var n=Oh.createElementNS?Oh.createElementNS((t||"http://www.w3.org/1999/xhtml").replace(/^https/,"http"),e):Oh.createElement(e);return n&&n.style?n:Oh.createElement(e)},lu=function e(t,n,r){var i=getComputedStyle(t);return i[n]||i.getPropertyValue(n.replace(Hh,"-$1").toLowerCase())||i.getPropertyValue(n)||!r&&e(t,du(n)||n,1)||""},cu="O,Moz,ms,Ms,Webkit".split(","),du=function(e,t,n){var r=(t||Ch).style,i=5;if(e in r&&!n)return e;for(e=e.charAt(0).toUpperCase()+e.substr(1);i--&&!(cu[i]+e in r););return i<0?null:(3===i?"ms":i>=0?cu[i]:"")+e},hu=function(){"undefined"!==typeof window&&window.document&&(Ph=window,Oh=Ph.document,Th=Oh.documentElement,Ch=ou("div")||{style:{}},ou("div"),tu=du(tu),nu=tu+"Origin",Ch.style.cssText="border-width:0;line-height:0;position:absolute;padding:0",Rh=!!du("perspective"),Vh=Mh.core.reverting,Ih=1)},uu=function e(t){var n,r=ou("svg",this.ownerSVGElement&&this.ownerSVGElement.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),i=this.parentNode,a=this.nextSibling,s=this.style.cssText;if(Th.appendChild(r),r.appendChild(this),this.style.display="block",t)try{n=this.getBBox(),this._gsapBBox=this.getBBox,this.getBBox=e}catch(Are){}else this._gsapBBox&&(n=this._gsapBBox());return i&&(a?i.insertBefore(this,a):i.appendChild(this)),Th.removeChild(r),this.style.cssText=s,n},pu=function(e,t){for(var n=t.length;n--;)if(e.hasAttribute(t[n]))return e.getAttribute(t[n])},fu=function(e){var t;try{t=e.getBBox()}catch(n){t=uu.call(e,!0)}return t&&(t.width||t.height)||e.getBBox===uu||(t=uu.call(e,!0)),!t||t.width||t.x||t.y?t:{x:+pu(e,["x","cx","x1"])||0,y:+pu(e,["y","cy","y1"])||0,width:0,height:0}},mu=function(e){return!(!e.getCTM||e.parentNode&&!e.ownerSVGElement||!fu(e))},gu=function(e,t){if(t){var n,r=e.style;t in Dh&&t!==nu&&(t=tu),r.removeProperty?("ms"!==(n=t.substr(0,2))&&"webkit"!==t.substr(0,6)||(t="-"+t),r.removeProperty("--"===n?t:t.replace(Hh,"-$1").toLowerCase())):r.removeAttribute(t)}},yu=function(e,t,n,r,i,a){var s=new ph(e._pt,t,n,0,1,a?Zh:Fh);return e._pt=s,s.b=r,s.e=i,e._props.push(n),s},vu={deg:1,rad:1,turn:1},xu={grid:1,flex:1},Su=function e(t,n,r,i){var a,s,o,l,c=parseFloat(r)||0,d=(r+"").trim().substr((c+"").length)||"px",h=Ch.style,u=Wh.test(n),p="svg"===t.tagName.toLowerCase(),f=(p?"client":"offset")+(u?"Width":"Height"),m=100,g="px"===i,y="%"===i;if(i===d||!c||vu[i]||vu[d])return c;if("px"!==d&&!g&&(c=e(t,n,r,"px")),l=t.getCTM&&mu(t),(y||"%"===d)&&(Dh[n]||~n.indexOf("adius")))return a=l?t.getBBox()[u?"width":"height"]:t[f],yc(y?c/a*m:c/100*a);if(h[u?"width":"height"]=m+(g?d:i),s=~n.indexOf("adius")||"em"===i&&t.appendChild&&!p?t:t.parentNode,l&&(s=(t.ownerSVGElement||{}).parentNode),s&&s!==Oh&&s.appendChild||(s=Oh.body),(o=s._gsap)&&y&&o.width&&u&&o.time===Pd.time&&!o.uncache)return yc(c/o.width*m);if(!y||"height"!==n&&"width"!==n)(y||"%"===d)&&!xu[lu(s,"display")]&&(h.position=lu(t,"position")),s===t&&(h.position="static"),s.appendChild(Ch),a=Ch[f],s.removeChild(Ch),h.position="absolute";else{var v=t.style[n];t.style[n]=m+i,a=t[f],v?t.style[n]=v:gu(t,n)}return u&&y&&((o=fc(s)).time=Pd.time,o.width=s[f]),yc(g?a*c/m:a&&c?m/a*c:0)},Au=function(e,t,n,r){var i;return Ih||hu(),t in Jh&&"transform"!==t&&~(t=Jh[t]).indexOf(",")&&(t=t.split(",")[0]),Dh[t]&&"transform"!==t?(i=Vu(e,r),i="transformOrigin"!==t?i[t]:i.svg?i.origin:Ru(lu(e,nu))+" "+i.zOrigin+"px"):(!(i=e.style[t])||"auto"===i||r||~(i+"").indexOf("calc("))&&(i=Mu[t]&&Mu[t](e,t,n)||lu(e,t)||mc(e,t)||("opacity"===t?1:0)),n&&!~(i+"").trim().indexOf(" ")?Su(e,t,i,n)+n:i},bu=function(e,t,n,r){if(!n||"none"===n){var i=du(t,e,1),a=i&&lu(e,i,1);a&&a!==n?(t=i,n=a):"borderColor"===t&&(n=lu(e,"borderTopColor"))}var s,o,l,c,d,h,u,p,f,m,g,y=new ph(this._pt,e.style,t,0,1,oh),v=0,x=0;if(y.b=n,y.e=r,n+="","auto"===(r+="")&&(h=e.style[t],e.style[t]=r,r=lu(e,t)||r,h?e.style[t]=h:gu(e,t)),Md(s=[n,r]),r=s[1],l=(n=s[0]).match(Nl)||[],(r.match(Nl)||[]).length){for(;o=Nl.exec(r);)u=o[0],f=r.substring(v,o.index),d?d=(d+1)%5:"rgba("!==f.substr(-5)&&"hsla("!==f.substr(-5)||(d=1),u!==(h=l[x++]||"")&&(c=parseFloat(h)||0,g=h.substr((c+"").length),"="===u.charAt(1)&&(u=xc(c,u)+g),p=parseFloat(u),m=u.substr((p+"").length),v=Nl.lastIndex-m.length,m||(m=m||bl.units[t]||g,v===r.length&&(r+=m,y.e+=m)),g!==m&&(c=Su(e,t,h,m)||0),y._pt={_next:y._pt,p:f||1===x?f:",",s:c,c:p-c,m:d&&d<4||"zIndex"===t?Math.round:0});y.c=v<r.length?r.substring(v,r.length):""}else y.r="display"===t&&"none"===r?Zh:Fh;return Yl.test(r)&&(y.e=0),this._pt=y,y},ku={top:"0%",bottom:"100%",left:"0%",right:"100%",center:"50%"},wu=function(e){var t=e.split(" "),n=t[0],r=t[1]||"50%";return"top"!==n&&"bottom"!==n&&"left"!==r&&"right"!==r||(e=n,n=r,r=e),t[0]=ku[n]||n,t[1]=ku[r]||r,t.join(" ")},ju=function(e,t){if(t.tween&&t.tween._time===t.tween._dur){var n,r,i,a=t.t,s=a.style,o=t.u,l=a._gsap;if("all"===o||!0===o)s.cssText="",r=1;else for(i=(o=o.split(",")).length;--i>-1;)n=o[i],Dh[n]&&(r=1,n="transformOrigin"===n?nu:tu),gu(a,n);r&&(gu(a,tu),l&&(l.svg&&a.removeAttribute("transform"),Vu(a,1),l.uncache=1,iu(s)))}},Mu={clearProps:function(e,t,n,r,i){if("isFromStart"!==i.data){var a=e._pt=new ph(e._pt,t,n,0,0,ju);return a.u=r,a.pr=-10,a.tween=i,e._props.push(n),1}}},Pu=[1,0,0,1,0,0],Ou={},Tu=function(e){return"matrix(1, 0, 0, 1, 0, 0)"===e||"none"===e||!e},Iu=function(e){var t=lu(e,tu);return Tu(t)?Pu:t.substr(7).match(Ul).map(yc)},Cu=function(e,t){var n,r,i,a,s=e._gsap||fc(e),o=e.style,l=Iu(e);return s.svg&&e.getAttribute("transform")?"1,0,0,1,0,0"===(l=[(i=e.transform.baseVal.consolidate().matrix).a,i.b,i.c,i.d,i.e,i.f]).join(",")?Pu:l:(l!==Pu||e.offsetParent||e===Th||s.svg||(i=o.display,o.display="block",(n=e.parentNode)&&e.offsetParent||(a=1,r=e.nextElementSibling,Th.appendChild(e)),l=Iu(e),i?o.display=i:gu(e,"display"),a&&(r?n.insertBefore(e,r):n?n.appendChild(e):Th.removeChild(e))),t&&l.length>6?[l[0],l[1],l[4],l[5],l[12],l[13]]:l)},Eu=function(e,t,n,r,i,a){var s,o,l,c=e._gsap,d=i||Cu(e,!0),h=c.xOrigin||0,u=c.yOrigin||0,p=c.xOffset||0,f=c.yOffset||0,m=d[0],g=d[1],y=d[2],v=d[3],x=d[4],S=d[5],A=t.split(" "),b=parseFloat(A[0])||0,k=parseFloat(A[1])||0;n?d!==Pu&&(o=m*v-g*y)&&(l=b*(-g/o)+k*(m/o)-(m*S-g*x)/o,b=b*(v/o)+k*(-y/o)+(y*S-v*x)/o,k=l):(b=(s=fu(e)).x+(~A[0].indexOf("%")?b/100*s.width:b),k=s.y+(~(A[1]||A[0]).indexOf("%")?k/100*s.height:k)),r||!1!==r&&c.smooth?(x=b-h,S=k-u,c.xOffset=p+(x*m+S*y)-x,c.yOffset=f+(x*g+S*v)-S):c.xOffset=c.yOffset=0,c.xOrigin=b,c.yOrigin=k,c.smooth=!!r,c.origin=t,c.originIsAbsolute=!!n,e.style[nu]="0px 0px",a&&(yu(a,c,"xOrigin",h,b),yu(a,c,"yOrigin",u,k),yu(a,c,"xOffset",p,c.xOffset),yu(a,c,"yOffset",f,c.yOffset)),e.setAttribute("data-svg-origin",b+" "+k)},Vu=function(e,t){var n=e._gsap||new Wd(e);if("x"in n&&!t&&!n.uncache)return n;var r,i,a,s,o,l,c,d,h,u,p,f,m,g,y,v,x,S,A,b,k,w,j,M,P,O,T,I,C,E,V,R,D=e.style,B=n.scaleX<0,G="px",q="deg",H=getComputedStyle(e),W=lu(e,nu)||"0";return r=i=a=l=c=d=h=u=p=0,s=o=1,n.svg=!(!e.getCTM||!mu(e)),H.translate&&("none"===H.translate&&"none"===H.scale&&"none"===H.rotate||(D[tu]=("none"!==H.translate?"translate3d("+(H.translate+" 0 0").split(" ").slice(0,3).join(", ")+") ":"")+("none"!==H.rotate?"rotate("+H.rotate+") ":"")+("none"!==H.scale?"scale("+H.scale.split(" ").join(",")+") ":"")+("none"!==H[tu]?H[tu]:"")),D.scale=D.rotate=D.translate="none"),g=Cu(e,n.svg),n.svg&&(n.uncache?(P=e.getBBox(),W=n.xOrigin-P.x+"px "+(n.yOrigin-P.y)+"px",M=""):M=!t&&e.getAttribute("data-svg-origin"),Eu(e,M||W,!!M||n.originIsAbsolute,!1!==n.smooth,g)),f=n.xOrigin||0,m=n.yOrigin||0,g!==Pu&&(S=g[0],A=g[1],b=g[2],k=g[3],r=w=g[4],i=j=g[5],6===g.length?(s=Math.sqrt(S*S+A*A),o=Math.sqrt(k*k+b*b),l=S||A?qh(A,S)*Bh:0,(h=b||k?qh(b,k)*Bh+l:0)&&(o*=Math.abs(Math.cos(h*Gh))),n.svg&&(r-=f-(f*S+m*b),i-=m-(f*A+m*k))):(R=g[6],E=g[7],T=g[8],I=g[9],C=g[10],V=g[11],r=g[12],i=g[13],a=g[14],c=(y=qh(R,C))*Bh,y&&(M=w*(v=Math.cos(-y))+T*(x=Math.sin(-y)),P=j*v+I*x,O=R*v+C*x,T=w*-x+T*v,I=j*-x+I*v,C=R*-x+C*v,V=E*-x+V*v,w=M,j=P,R=O),d=(y=qh(-b,C))*Bh,y&&(v=Math.cos(-y),V=k*(x=Math.sin(-y))+V*v,S=M=S*v-T*x,A=P=A*v-I*x,b=O=b*v-C*x),l=(y=qh(A,S))*Bh,y&&(M=S*(v=Math.cos(y))+A*(x=Math.sin(y)),P=w*v+j*x,A=A*v-S*x,j=j*v-w*x,S=M,w=P),c&&Math.abs(c)+Math.abs(l)>359.9&&(c=l=0,d=180-d),s=yc(Math.sqrt(S*S+A*A+b*b)),o=yc(Math.sqrt(j*j+R*R)),y=qh(w,j),h=Math.abs(y)>2e-4?y*Bh:0,p=V?1/(V<0?-V:V):0),n.svg&&(M=e.getAttribute("transform"),n.forceCSS=e.setAttribute("transform","")||!Tu(lu(e,tu)),M&&e.setAttribute("transform",M))),Math.abs(h)>90&&Math.abs(h)<270&&(B?(s*=-1,h+=l<=0?180:-180,l+=l<=0?180:-180):(o*=-1,h+=h<=0?180:-180)),t=t||n.uncache,n.x=r-((n.xPercent=r&&(!t&&n.xPercent||(Math.round(e.offsetWidth/2)===Math.round(-r)?-50:0)))?e.offsetWidth*n.xPercent/100:0)+G,n.y=i-((n.yPercent=i&&(!t&&n.yPercent||(Math.round(e.offsetHeight/2)===Math.round(-i)?-50:0)))?e.offsetHeight*n.yPercent/100:0)+G,n.z=a+G,n.scaleX=yc(s),n.scaleY=yc(o),n.rotation=yc(l)+q,n.rotationX=yc(c)+q,n.rotationY=yc(d)+q,n.skewX=h+q,n.skewY=u+q,n.transformPerspective=p+G,(n.zOrigin=parseFloat(W.split(" ")[2])||!t&&n.zOrigin||0)&&(D[nu]=Ru(W)),n.xOffset=n.yOffset=0,n.force3D=bl.force3D,n.renderTransform=n.svg?zu:Rh?Wu:Bu,n.uncache=0,n},Ru=function(e){return(e=e.split(" "))[0]+" "+e[1]},Du=function(e,t,n){var r=ed(t);return yc(parseFloat(t)+parseFloat(Su(e,"x",n+"px",r)))+r},Bu=function(e,t){t.z="0px",t.rotationY=t.rotationX="0deg",t.force3D=0,Wu(e,t)},Gu="0deg",qu="0px",Hu=") ",Wu=function(e,t){var n=t||this,r=n.xPercent,i=n.yPercent,a=n.x,s=n.y,o=n.z,l=n.rotation,c=n.rotationY,d=n.rotationX,h=n.skewX,u=n.skewY,p=n.scaleX,f=n.scaleY,m=n.transformPerspective,g=n.force3D,y=n.target,v=n.zOrigin,x="",S="auto"===g&&e&&1!==e||!0===g;if(v&&(d!==Gu||c!==Gu)){var A,b=parseFloat(c)*Gh,k=Math.sin(b),w=Math.cos(b);b=parseFloat(d)*Gh,A=Math.cos(b),a=Du(y,a,k*A*-v),s=Du(y,s,-Math.sin(b)*-v),o=Du(y,o,w*A*-v+v)}m!==qu&&(x+="perspective("+m+Hu),(r||i)&&(x+="translate("+r+"%, "+i+"%) "),(S||a!==qu||s!==qu||o!==qu)&&(x+=o!==qu||S?"translate3d("+a+", "+s+", "+o+") ":"translate("+a+", "+s+Hu),l!==Gu&&(x+="rotate("+l+Hu),c!==Gu&&(x+="rotateY("+c+Hu),d!==Gu&&(x+="rotateX("+d+Hu),h===Gu&&u===Gu||(x+="skew("+h+", "+u+Hu),1===p&&1===f||(x+="scale("+p+", "+f+Hu),y.style[tu]=x||"translate(0, 0)"},zu=function(e,t){var n,r,i,a,s,o=t||this,l=o.xPercent,c=o.yPercent,d=o.x,h=o.y,u=o.rotation,p=o.skewX,f=o.skewY,m=o.scaleX,g=o.scaleY,y=o.target,v=o.xOrigin,x=o.yOrigin,S=o.xOffset,A=o.yOffset,b=o.forceCSS,k=parseFloat(d),w=parseFloat(h);u=parseFloat(u),p=parseFloat(p),(f=parseFloat(f))&&(p+=f=parseFloat(f),u+=f),u||p?(u*=Gh,p*=Gh,n=Math.cos(u)*m,r=Math.sin(u)*m,i=Math.sin(u-p)*-g,a=Math.cos(u-p)*g,p&&(f*=Gh,s=Math.tan(p-f),i*=s=Math.sqrt(1+s*s),a*=s,f&&(s=Math.tan(f),n*=s=Math.sqrt(1+s*s),r*=s)),n=yc(n),r=yc(r),i=yc(i),a=yc(a)):(n=m,a=g,r=i=0),(k&&!~(d+"").indexOf("px")||w&&!~(h+"").indexOf("px"))&&(k=Su(y,"x",d,"px"),w=Su(y,"y",h,"px")),(v||x||S||A)&&(k=yc(k+v-(v*n+x*i)+S),w=yc(w+x-(v*r+x*a)+A)),(l||c)&&(s=y.getBBox(),k=yc(k+l/100*s.width),w=yc(w+c/100*s.height)),s="matrix("+n+","+r+","+i+","+a+","+k+","+w+")",y.setAttribute("transform",s),b&&(y.style[tu]=s)},Ju=function(e,t,n,r,i){var a,s,o=360,l=El(i),c=parseFloat(i)*(l&&~i.indexOf("rad")?Bh:1)-r,d=r+c+"deg";return l&&("short"===(a=i.split("_")[1])&&(c%=o)!==c%180&&(c+=c<0?o:-360),"cw"===a&&c<0?c=(c+36e9)%o-~~(c/o)*o:"ccw"===a&&c>0&&(c=(c-36e9)%o-~~(c/o)*o)),e._pt=s=new ph(e._pt,t,n,r,c,Nh),s.e=d,s.u="deg",e._props.push(n),s},Uu=function(e,t){for(var n in t)e[n]=t[n];return e},Nu=function(e,t,n){var r,i,a,s,o,l,c,d=Uu({},n._gsap),h=n.style;for(i in d.svg?(a=n.getAttribute("transform"),n.setAttribute("transform",""),h[tu]=t,r=Vu(n,1),gu(n,tu),n.setAttribute("transform",a)):(a=getComputedStyle(n)[tu],h[tu]=t,r=Vu(n,1),h[tu]=a),Dh)(a=d[i])!==(s=r[i])&&"perspective,force3D,transformOrigin,svgOrigin".indexOf(i)<0&&(o=ed(a)!==(c=ed(s))?Su(n,i,a,c):parseFloat(a),l=parseFloat(s),e._pt=new ph(e._pt,r,i,o,l-o,Uh),e._pt.u=c||0,e._props.push(i));Uu(r,d)};gc("padding,margin,Width,Radius",(function(e,t){var n="Top",r="Right",i="Bottom",a="Left",s=(t<3?[n,r,i,a]:[n+a,n+r,i+r,i+a]).map((function(n){return t<2?e+n:"border"+n+e}));Mu[t>1?"border"+e:e]=function(e,t,n,r,i){var a,o;if(arguments.length<4)return a=s.map((function(t){return Au(e,t,n)})),5===(o=a.join(" ")).split(a[0]).length?a[0]:o;a=(r+"").split(" "),o={},s.forEach((function(e,t){return o[e]=a[t]=a[t]||a[(t-1)/2|0]})),e.init(t,o,i)}}));var Lu={name:"css",register:hu,targetTest:function(e){return e.style&&e.nodeType},init:function(e,t,n,r,i){var a,s,o,l,c,d,h,u,p,f,m,g,y,v,x,S,A=this._props,b=e.style,k=n.vars.startAt;for(h in Ih||hu(),this.styles=this.styles||su(e),S=this.styles.props,this.tween=n,t)if("autoRound"!==h&&(s=t[h],!lc[h]||!Fd(h,t,n,r,e,i)))if(c=typeof s,d=Mu[h],"function"===c&&(c=typeof(s=s.call(n,r,e,i))),"string"===c&&~s.indexOf("random(")&&(s=hd(s)),d)d(this,e,h,s,n)&&(x=1);else if("--"===h.substr(0,2))a=(getComputedStyle(e).getPropertyValue(h)+"").trim(),s+="",wd.lastIndex=0,wd.test(a)||(u=ed(a),p=ed(s)),p?u!==p&&(a=Su(e,h,a,p)+p):u&&(s+=u),this.add(b,"setProperty",a,s,r,i,0,0,h),A.push(h),S.push(h,0,b[h]);else if("undefined"!==c){if(k&&h in k?(a="function"===typeof k[h]?k[h].call(n,r,e,i):k[h],El(a)&&~a.indexOf("random(")&&(a=hd(a)),ed(a+"")||"auto"===a||(a+=bl.units[h]||ed(Au(e,h))||""),"="===(a+"").charAt(1)&&(a=Au(e,h))):a=Au(e,h),l=parseFloat(a),(f="string"===c&&"="===s.charAt(1)&&s.substr(0,2))&&(s=s.substr(2)),o=parseFloat(s),h in Jh&&("autoAlpha"===h&&(1===l&&"hidden"===Au(e,"visibility")&&o&&(l=0),S.push("visibility",0,b.visibility),yu(this,b,"visibility",l?"inherit":"hidden",o?"inherit":"hidden",!o)),"scale"!==h&&"transform"!==h&&~(h=Jh[h]).indexOf(",")&&(h=h.split(",")[0])),m=h in Dh)if(this.styles.save(h),g||((y=e._gsap).renderTransform&&!t.parseTransform||Vu(e,t.parseTransform),v=!1!==t.smoothOrigin&&y.smooth,(g=this._pt=new ph(this._pt,b,tu,0,1,y.renderTransform,y,0,-1)).dep=1),"scale"===h)this._pt=new ph(this._pt,y,"scaleY",y.scaleY,(f?xc(y.scaleY,f+o):o)-y.scaleY||0,Uh),this._pt.u=0,A.push("scaleY",h),h+="X";else{if("transformOrigin"===h){S.push(nu,0,b[nu]),s=wu(s),y.svg?Eu(e,s,0,v,0,this):((p=parseFloat(s.split(" ")[2])||0)!==y.zOrigin&&yu(this,y,"zOrigin",y.zOrigin,p),yu(this,b,h,Ru(a),Ru(s)));continue}if("svgOrigin"===h){Eu(e,s,1,v,0,this);continue}if(h in Ou){Ju(this,y,h,l,f?xc(l,f+s):s);continue}if("smoothOrigin"===h){yu(this,y,"smooth",y.smooth,s);continue}if("force3D"===h){y[h]=s;continue}if("transform"===h){Nu(this,s,e);continue}}else h in b||(h=du(h)||h);if(m||(o||0===o)&&(l||0===l)&&!zh.test(s)&&h in b)o||(o=0),(u=(a+"").substr((l+"").length))!==(p=ed(s)||(h in bl.units?bl.units[h]:u))&&(l=Su(e,h,a,p)),this._pt=new ph(this._pt,m?y:b,h,l,(f?xc(l,f+o):o)-l,m||"px"!==p&&"zIndex"!==h||!1===t.autoRound?Uh:Yh),this._pt.u=p||0,u!==p&&"%"!==p&&(this._pt.b=a,this._pt.r=Lh);else if(h in b)bu.call(this,e,h,a,f?f+s:s);else if(h in e)this.add(e,h,a||e[h],f?f+s:s,r,i);else if("parseTransform"!==h){_l(h,s);continue}m||(h in b?S.push(h,0,b[h]):S.push(h,1,a||e[h])),A.push(h)}x&&uh(this)},render:function(e,t){if(t.tween._time||!Vh())for(var n=t._pt;n;)n.r(e,n.d),n=n._next;else t.styles.revert()},get:Au,aliases:Jh,getSetter:function(e,t,n){var r=Jh[t];return r&&r.indexOf(",")<0&&(t=r),t in Dh&&t!==nu&&(e._gsap.x||Au(e,"x"))?n&&Eh===n?"scale"===t?_h:Xh:(Eh=n||{})&&("scale"===t?$h:eu):e.style&&!Dl(e.style[t])?Kh:~t.indexOf("-")?Qh:ih(e,t)},core:{_removeProperty:gu,_getMatrix:Cu}};Mh.utils.checkPrefix=du,Mh.core.getStyleSaver=su,function(e,t,n,r){var i=gc(e+","+t+",transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective",(function(e){Dh[e]=1}));gc(t,(function(e){bl.units[e]="deg",Ou[e]=1})),Jh[i[13]]=e+","+t,gc("0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY",(function(e){var t=e.split(":");Jh[t[1]]=i[t[0]]}))}("x,y,z,scale,scaleX,scaleY,xPercent,yPercent","rotation,rotationX,rotationY,skewX,skewY"),gc("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective",(function(e){bl.units[e]="px"})),Mh.registerPlugin(Lu);var Yu=Mh.registerPlugin(Lu)||Mh;Yu.core.Tween;let Fu="undefined"!==typeof window?t.useLayoutEffect:t.useEffect,Zu=e=>e&&!Array.isArray(e)&&"object"===typeof e,Ku=[],Qu={},Xu=Yu;const _u=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ku,r=Qu;Zu(e)?(r=e,e=null,n="dependencies"in r?r.dependencies:Ku):Zu(n)&&(r=n,n="dependencies"in r?r.dependencies:Ku);let{scope:i,revertOnUpdate:a}=r,[s,o]=(0,t.useState)(!1);e&&"function"!==typeof e&&console.warn("First parameter must be a function or config object");const l=Xu.context((()=>{}),i),c=()=>l.revert(),d=n&&n.length&&!a;return Fu((()=>{if(e&&l.add(e,i),!d||!s)return c}),n),d&&Fu((()=>(o(!0),c)),Ku),{context:l,contextSafe:e=>l.add(null,e)}};function $u(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}_u.register=e=>{Xu=e},_u.headless=!0;var ep,tp,np,rp,ip,ap,sp,op,lp,cp,dp,hp,up,pp=function(){return ep||"undefined"!==typeof window&&(ep=window.gsap)&&ep.registerPlugin&&ep},fp=1,mp=[],gp=[],yp=[],vp=Date.now,xp=function(e,t){return t},Sp=function(e,t){return~yp.indexOf(e)&&yp[yp.indexOf(e)+1][t]},Ap=function(e){return!!~cp.indexOf(e)},bp=function(e,t,n,r,i){return e.addEventListener(t,n,{passive:!1!==r,capture:!!i})},kp=function(e,t,n,r){return e.removeEventListener(t,n,!!r)},wp="scrollLeft",jp="scrollTop",Mp=function(){return dp&&dp.isPressed||gp.cache++},Pp=function(e,t){var n=function n(r){if(r||0===r){fp&&(np.history.scrollRestoration="manual");var i=dp&&dp.isPressed;r=n.v=Math.round(r)||(dp&&dp.iOS?1:0),e(r),n.cacheID=gp.cache,i&&xp("ss",r)}else(t||gp.cache!==n.cacheID||xp("ref"))&&(n.cacheID=gp.cache,n.v=e());return n.v+n.offset};return n.offset=0,e&&n},Op={s:wp,p:"left",p2:"Left",os:"right",os2:"Right",d:"width",d2:"Width",a:"x",sc:Pp((function(e){return arguments.length?np.scrollTo(e,Tp.sc()):np.pageXOffset||rp[wp]||ip[wp]||ap[wp]||0}))},Tp={s:jp,p:"top",p2:"Top",os:"bottom",os2:"Bottom",d:"height",d2:"Height",a:"y",op:Op,sc:Pp((function(e){return arguments.length?np.scrollTo(Op.sc(),e):np.pageYOffset||rp[jp]||ip[jp]||ap[jp]||0}))},Ip=function(e,t){return(t&&t._ctx&&t._ctx.selector||ep.utils.toArray)(e)[0]||("string"===typeof e&&!1!==ep.config().nullTargetWarn?console.warn("Element not found:",e):null)},Cp=function(e,t){var n=t.s,r=t.sc;Ap(e)&&(e=rp.scrollingElement||ip);var i=gp.indexOf(e),a=r===Tp.sc?1:2;!~i&&(i=gp.push(e)-1),gp[i+a]||bp(e,"scroll",Mp);var s=gp[i+a],o=s||(gp[i+a]=Pp(Sp(e,n),!0)||(Ap(e)?r:Pp((function(t){return arguments.length?e[n]=t:e[n]}))));return o.target=e,s||(o.smooth="smooth"===ep.getProperty(e,"scrollBehavior")),o},Ep=function(e,t,n){var r=e,i=e,a=vp(),s=a,o=t||50,l=Math.max(500,3*o),c=function(e,t){var l=vp();t||l-a>o?(i=r,r=e,s=a,a=l):n?r+=e:r=i+(e-i)/(l-s)*(a-s)};return{update:c,reset:function(){i=r=n?0:r,s=a=0},getVelocity:function(e){var t=s,o=i,d=vp();return(e||0===e)&&e!==r&&c(e),a===s||d-s>l?0:(r+(n?o:-o))/((n?d:a)-t)*1e3}}},Vp=function(e,t){return t&&!e._gsapAllow&&e.preventDefault(),e.changedTouches?e.changedTouches[0]:e},Rp=function(e){var t=Math.max.apply(Math,e),n=Math.min.apply(Math,e);return Math.abs(t)>=Math.abs(n)?t:n},Dp=function(){(lp=ep.core.globals().ScrollTrigger)&&lp.core&&function(){var e=lp.core,t=e.bridge||{},n=e._scrollers,r=e._proxies;n.push.apply(n,gp),r.push.apply(r,yp),gp=n,yp=r,xp=function(e,n){return t[e](n)}}()},Bp=function(e){return ep=e||pp(),!tp&&ep&&"undefined"!==typeof document&&document.body&&(np=window,rp=document,ip=rp.documentElement,ap=rp.body,cp=[np,rp,ip,ap],ep.utils.clamp,up=ep.core.context||function(){},op="onpointerenter"in ap?"pointer":"mouse",sp=Gp.isTouch=np.matchMedia&&np.matchMedia("(hover: none), (pointer: coarse)").matches?1:"ontouchstart"in np||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0?2:0,hp=Gp.eventTypes=("ontouchstart"in ip?"touchstart,touchmove,touchcancel,touchend":"onpointerdown"in ip?"pointerdown,pointermove,pointercancel,pointerup":"mousedown,mousemove,mouseup,mouseup").split(","),setTimeout((function(){return fp=0}),500),Dp(),tp=1),tp};Op.op=Tp,gp.cache=0;var Gp=function(){function e(e){this.init(e)}var t,n,r;return e.prototype.init=function(e){tp||Bp(ep)||console.warn("Please gsap.registerPlugin(Observer)"),lp||Dp();var t=e.tolerance,n=e.dragMinimum,r=e.type,i=e.target,a=e.lineHeight,s=e.debounce,o=e.preventDefault,l=e.onStop,c=e.onStopDelay,d=e.ignore,h=e.wheelSpeed,u=e.event,p=e.onDragStart,f=e.onDragEnd,m=e.onDrag,g=e.onPress,y=e.onRelease,v=e.onRight,x=e.onLeft,S=e.onUp,A=e.onDown,b=e.onChangeX,k=e.onChangeY,w=e.onChange,j=e.onToggleX,M=e.onToggleY,P=e.onHover,O=e.onHoverEnd,T=e.onMove,I=e.ignoreCheck,C=e.isNormalizer,E=e.onGestureStart,V=e.onGestureEnd,R=e.onWheel,D=e.onEnable,B=e.onDisable,G=e.onClick,q=e.scrollSpeed,H=e.capture,W=e.allowClicks,z=e.lockAxis,J=e.onLockAxis;this.target=i=Ip(i)||ip,this.vars=e,d&&(d=ep.utils.toArray(d)),t=t||1e-9,n=n||0,h=h||1,q=q||1,r=r||"wheel,touch,pointer",s=!1!==s,a||(a=parseFloat(np.getComputedStyle(ap).lineHeight)||22);var U,N,L,Y,F,Z,K,Q=this,X=0,_=0,$=e.passive||!o,ee=Cp(i,Op),te=Cp(i,Tp),ne=ee(),re=te(),ie=~r.indexOf("touch")&&!~r.indexOf("pointer")&&"pointerdown"===hp[0],ae=Ap(i),se=i.ownerDocument||rp,oe=[0,0,0],le=[0,0,0],ce=0,de=function(){return ce=vp()},he=function(e,t){return(Q.event=e)&&d&&~d.indexOf(e.target)||t&&ie&&"touch"!==e.pointerType||I&&I(e,t)},ue=function(){var e=Q.deltaX=Rp(oe),n=Q.deltaY=Rp(le),r=Math.abs(e)>=t,i=Math.abs(n)>=t;w&&(r||i)&&w(Q,e,n,oe,le),r&&(v&&Q.deltaX>0&&v(Q),x&&Q.deltaX<0&&x(Q),b&&b(Q),j&&Q.deltaX<0!==X<0&&j(Q),X=Q.deltaX,oe[0]=oe[1]=oe[2]=0),i&&(A&&Q.deltaY>0&&A(Q),S&&Q.deltaY<0&&S(Q),k&&k(Q),M&&Q.deltaY<0!==_<0&&M(Q),_=Q.deltaY,le[0]=le[1]=le[2]=0),(Y||L)&&(T&&T(Q),L&&(m(Q),L=!1),Y=!1),Z&&!(Z=!1)&&J&&J(Q),F&&(R(Q),F=!1),U=0},pe=function(e,t,n){oe[n]+=e,le[n]+=t,Q._vx.update(e),Q._vy.update(t),s?U||(U=requestAnimationFrame(ue)):ue()},fe=function(e,t){z&&!K&&(Q.axis=K=Math.abs(e)>Math.abs(t)?"x":"y",Z=!0),"y"!==K&&(oe[2]+=e,Q._vx.update(e,!0)),"x"!==K&&(le[2]+=t,Q._vy.update(t,!0)),s?U||(U=requestAnimationFrame(ue)):ue()},me=function(e){if(!he(e,1)){var t=(e=Vp(e,o)).clientX,r=e.clientY,i=t-Q.x,a=r-Q.y,s=Q.isDragging;Q.x=t,Q.y=r,(s||Math.abs(Q.startX-t)>=n||Math.abs(Q.startY-r)>=n)&&(m&&(L=!0),s||(Q.isDragging=!0),fe(i,a),s||p&&p(Q))}},ge=Q.onPress=function(e){he(e,1)||e&&e.button||(Q.axis=K=null,N.pause(),Q.isPressed=!0,e=Vp(e),X=_=0,Q.startX=Q.x=e.clientX,Q.startY=Q.y=e.clientY,Q._vx.reset(),Q._vy.reset(),bp(C?i:se,hp[1],me,$,!0),Q.deltaX=Q.deltaY=0,g&&g(Q))},ye=Q.onRelease=function(e){if(!he(e,1)){kp(C?i:se,hp[1],me,!0);var t=!isNaN(Q.y-Q.startY),n=Q.isDragging,r=n&&(Math.abs(Q.x-Q.startX)>3||Math.abs(Q.y-Q.startY)>3),a=Vp(e);!r&&t&&(Q._vx.reset(),Q._vy.reset(),o&&W&&ep.delayedCall(.08,(function(){if(vp()-ce>300&&!e.defaultPrevented)if(e.target.click)e.target.click();else if(se.createEvent){var t=se.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,np,1,a.screenX,a.screenY,a.clientX,a.clientY,!1,!1,!1,!1,0,null),e.target.dispatchEvent(t)}}))),Q.isDragging=Q.isGesturing=Q.isPressed=!1,l&&n&&!C&&N.restart(!0),f&&n&&f(Q),y&&y(Q,r)}},ve=function(e){return e.touches&&e.touches.length>1&&(Q.isGesturing=!0)&&E(e,Q.isDragging)},xe=function(){return(Q.isGesturing=!1)||V(Q)},Se=function(e){if(!he(e)){var t=ee(),n=te();pe((t-ne)*q,(n-re)*q,1),ne=t,re=n,l&&N.restart(!0)}},Ae=function(e){if(!he(e)){e=Vp(e,o),R&&(F=!0);var t=(1===e.deltaMode?a:2===e.deltaMode?np.innerHeight:1)*h;pe(e.deltaX*t,e.deltaY*t,0),l&&!C&&N.restart(!0)}},be=function(e){if(!he(e)){var t=e.clientX,n=e.clientY,r=t-Q.x,i=n-Q.y;Q.x=t,Q.y=n,Y=!0,l&&N.restart(!0),(r||i)&&fe(r,i)}},ke=function(e){Q.event=e,P(Q)},we=function(e){Q.event=e,O(Q)},je=function(e){return he(e)||Vp(e,o)&&G(Q)};N=Q._dc=ep.delayedCall(c||.25,(function(){Q._vx.reset(),Q._vy.reset(),N.pause(),l&&l(Q)})).pause(),Q.deltaX=Q.deltaY=0,Q._vx=Ep(0,50,!0),Q._vy=Ep(0,50,!0),Q.scrollX=ee,Q.scrollY=te,Q.isDragging=Q.isGesturing=Q.isPressed=!1,up(this),Q.enable=function(e){return Q.isEnabled||(bp(ae?se:i,"scroll",Mp),r.indexOf("scroll")>=0&&bp(ae?se:i,"scroll",Se,$,H),r.indexOf("wheel")>=0&&bp(i,"wheel",Ae,$,H),(r.indexOf("touch")>=0&&sp||r.indexOf("pointer")>=0)&&(bp(i,hp[0],ge,$,H),bp(se,hp[2],ye),bp(se,hp[3],ye),W&&bp(i,"click",de,!0,!0),G&&bp(i,"click",je),E&&bp(se,"gesturestart",ve),V&&bp(se,"gestureend",xe),P&&bp(i,op+"enter",ke),O&&bp(i,op+"leave",we),T&&bp(i,op+"move",be)),Q.isEnabled=!0,e&&e.type&&ge(e),D&&D(Q)),Q},Q.disable=function(){Q.isEnabled&&(mp.filter((function(e){return e!==Q&&Ap(e.target)})).length||kp(ae?se:i,"scroll",Mp),Q.isPressed&&(Q._vx.reset(),Q._vy.reset(),kp(C?i:se,hp[1],me,!0)),kp(ae?se:i,"scroll",Se,H),kp(i,"wheel",Ae,H),kp(i,hp[0],ge,H),kp(se,hp[2],ye),kp(se,hp[3],ye),kp(i,"click",de,!0),kp(i,"click",je),kp(se,"gesturestart",ve),kp(se,"gestureend",xe),kp(i,op+"enter",ke),kp(i,op+"leave",we),kp(i,op+"move",be),Q.isEnabled=Q.isPressed=Q.isDragging=!1,B&&B(Q))},Q.kill=Q.revert=function(){Q.disable();var e=mp.indexOf(Q);e>=0&&mp.splice(e,1),dp===Q&&(dp=0)},mp.push(Q),C&&Ap(i)&&(dp=Q),Q.enable(u)},t=e,(n=[{key:"velocityX",get:function(){return this._vx.getVelocity()}},{key:"velocityY",get:function(){return this._vy.getVelocity()}}])&&$u(t.prototype,n),r&&$u(t,r),e}();Gp.version="3.12.5",Gp.create=function(e){return new Gp(e)},Gp.register=Bp,Gp.getAll=function(){return mp.slice()},Gp.getById=function(e){return mp.filter((function(t){return t.vars.id===e}))[0]},pp()&&ep.registerPlugin(Gp);var qp,Hp,Wp,zp,Jp,Up,Np,Lp,Yp,Fp,Zp,Kp,Qp,Xp,_p,$p,ef,tf,nf,rf,af,sf,of,lf,cf,df,hf,uf,pf,ff,mf,gf,yf,vf,xf,Sf,Af,bf,kf=1,wf=Date.now,jf=wf(),Mf=0,Pf=0,Of=function(e,t,n){var r=Jf(e)&&("clamp("===e.substr(0,6)||e.indexOf("max")>-1);return n["_"+t+"Clamp"]=r,r?e.substr(6,e.length-7):e},Tf=function(e,t){return!t||Jf(e)&&"clamp("===e.substr(0,6)?e:"clamp("+e+")"},If=function e(){return Pf&&requestAnimationFrame(e)},Cf=function(){return Xp=1},Ef=function(){return Xp=0},Vf=function(e){return e},Rf=function(e){return Math.round(1e5*e)/1e5||0},Df=function(){return"undefined"!==typeof window},Bf=function(){return qp||Df()&&(qp=window.gsap)&&qp.registerPlugin&&qp},Gf=function(e){return!!~Np.indexOf(e)},qf=function(e){return("Height"===e?mf:Wp["inner"+e])||Jp["client"+e]||Up["client"+e]},Hf=function(e){return Sp(e,"getBoundingClientRect")||(Gf(e)?function(){return _m.width=Wp.innerWidth,_m.height=mf,_m}:function(){return hm(e)})},Wf=function(e,t){var n=t.s,r=t.d2,i=t.d,a=t.a;return Math.max(0,(n="scroll"+r)&&(a=Sp(e,n))?a()-Hf(e)()[i]:Gf(e)?(Jp[n]||Up[n])-qf(r):e[n]-e["offset"+r])},zf=function(e,t){for(var n=0;n<nf.length;n+=3)(!t||~t.indexOf(nf[n+1]))&&e(nf[n],nf[n+1],nf[n+2])},Jf=function(e){return"string"===typeof e},Uf=function(e){return"function"===typeof e},Nf=function(e){return"number"===typeof e},Lf=function(e){return"object"===typeof e},Yf=function(e,t,n){return e&&e.progress(t?0:1)&&n&&e.pause()},Ff=function(e,t){if(e.enabled){var n=e._ctx?e._ctx.add((function(){return t(e)})):t(e);n&&n.totalTime&&(e.callbackAnimation=n)}},Zf=Math.abs,Kf="left",Qf="right",Xf="bottom",_f="width",$f="height",em="Right",tm="Left",nm="Top",rm="Bottom",im="padding",am="margin",sm="Width",om="Height",lm="px",cm=function(e){return Wp.getComputedStyle(e)},dm=function(e,t){for(var n in t)n in e||(e[n]=t[n]);return e},hm=function(e,t){var n=t&&"matrix(1, 0, 0, 1, 0, 0)"!==cm(e)[_p]&&qp.to(e,{x:0,y:0,xPercent:0,yPercent:0,rotation:0,rotationX:0,rotationY:0,scale:1,skewX:0,skewY:0}).progress(1),r=e.getBoundingClientRect();return n&&n.progress(0).kill(),r},um=function(e,t){var n=t.d2;return e["offset"+n]||e["client"+n]||0},pm=function(e){var t,n=[],r=e.labels,i=e.duration();for(t in r)n.push(r[t]/i);return n},fm=function(e){var t=qp.utils.snap(e),n=Array.isArray(e)&&e.slice(0).sort((function(e,t){return e-t}));return n?function(e,r,i){var a;if(void 0===i&&(i=.001),!r)return t(e);if(r>0){for(e-=i,a=0;a<n.length;a++)if(n[a]>=e)return n[a];return n[a-1]}for(a=n.length,e+=i;a--;)if(n[a]<=e)return n[a];return n[0]}:function(n,r,i){void 0===i&&(i=.001);var a=t(n);return!r||Math.abs(a-n)<i||a-n<0===r<0?a:t(r<0?n-e:n+e)}},mm=function(e,t,n,r){return n.split(",").forEach((function(n){return e(t,n,r)}))},gm=function(e,t,n,r,i){return e.addEventListener(t,n,{passive:!r,capture:!!i})},ym=function(e,t,n,r){return e.removeEventListener(t,n,!!r)},vm=function(e,t,n){(n=n&&n.wheelHandler)&&(e(t,"wheel",n),e(t,"touchmove",n))},xm={startColor:"green",endColor:"red",indent:0,fontSize:"16px",fontWeight:"normal"},Sm={toggleActions:"play",anticipatePin:0},Am={top:0,left:0,center:.5,bottom:1,right:1},bm=function(e,t){if(Jf(e)){var n=e.indexOf("="),r=~n?+(e.charAt(n-1)+1)*parseFloat(e.substr(n+1)):0;~n&&(e.indexOf("%")>n&&(r*=t/100),e=e.substr(0,n-1)),e=r+(e in Am?Am[e]*t:~e.indexOf("%")?parseFloat(e)*t/100:parseFloat(e)||0)}return e},km=function(e,t,n,r,i,a,s,o){var l=i.startColor,c=i.endColor,d=i.fontSize,h=i.indent,u=i.fontWeight,p=zp.createElement("div"),f=Gf(n)||"fixed"===Sp(n,"pinType"),m=-1!==e.indexOf("scroller"),g=f?Up:n,y=-1!==e.indexOf("start"),v=y?l:c,x="border-color:"+v+";font-size:"+d+";color:"+v+";font-weight:"+u+";pointer-events:none;white-space:nowrap;font-family:sans-serif,Arial;z-index:1000;padding:4px 8px;border-width:0;border-style:solid;";return x+="position:"+((m||o)&&f?"fixed;":"absolute;"),(m||o||!f)&&(x+=(r===Tp?Qf:Xf)+":"+(a+parseFloat(h))+"px;"),s&&(x+="box-sizing:border-box;text-align:left;width:"+s.offsetWidth+"px;"),p._isStart=y,p.setAttribute("class","gsap-marker-"+e+(t?" marker-"+t:"")),p.style.cssText=x,p.innerText=t||0===t?e+"-"+t:e,g.children[0]?g.insertBefore(p,g.children[0]):g.appendChild(p),p._offset=p["offset"+r.op.d2],wm(p,0,r,y),p},wm=function(e,t,n,r){var i={display:"block"},a=n[r?"os2":"p2"],s=n[r?"p2":"os2"];e._isFlipped=r,i[n.a+"Percent"]=r?-100:0,i[n.a]=r?"1px":0,i["border"+a+sm]=1,i["border"+s+sm]=0,i[n.p]=t+"px",qp.set(e,i)},jm=[],Mm={},Pm=function(){return wf()-Mf>34&&(xf||(xf=requestAnimationFrame(Lm)))},Om=function(){(!of||!of.isPressed||of.startX>Up.clientWidth)&&(gp.cache++,of?xf||(xf=requestAnimationFrame(Lm)):Lm(),Mf||Rm("scrollStart"),Mf=wf())},Tm=function(){df=Wp.innerWidth,cf=Wp.innerHeight},Im=function(){gp.cache++,!Qp&&!sf&&!zp.fullscreenElement&&!zp.webkitFullscreenElement&&(!lf||df!==Wp.innerWidth||Math.abs(Wp.innerHeight-cf)>.25*Wp.innerHeight)&&Lp.restart(!0)},Cm={},Em=[],Vm=function e(){return ym(ag,"scrollEnd",e)||Jm(!0)},Rm=function(e){return Cm[e]&&Cm[e].map((function(e){return e()}))||Em},Dm=[],Bm=function(e){for(var t=0;t<Dm.length;t+=5)(!e||Dm[t+4]&&Dm[t+4].query===e)&&(Dm[t].style.cssText=Dm[t+1],Dm[t].getBBox&&Dm[t].setAttribute("transform",Dm[t+2]||""),Dm[t+3].uncache=1)},Gm=function(e,t){var n;for($p=0;$p<jm.length;$p++)!(n=jm[$p])||t&&n._ctx!==t||(e?n.kill(1):n.revert(!0,!0));gf=!0,t&&Bm(t),t||Rm("revert")},qm=function(e,t){gp.cache++,(t||!Sf)&&gp.forEach((function(e){return Uf(e)&&e.cacheID++&&(e.rec=0)})),Jf(e)&&(Wp.history.scrollRestoration=pf=e)},Hm=0,Wm=function(){Up.appendChild(ff),mf=!of&&ff.offsetHeight||Wp.innerHeight,Up.removeChild(ff)},zm=function(e){return Yp(".gsap-marker-start, .gsap-marker-end, .gsap-marker-scroller-start, .gsap-marker-scroller-end").forEach((function(t){return t.style.display=e?"none":"block"}))},Jm=function(e,t){if(!Mf||e||gf){Wm(),Sf=ag.isRefreshing=!0,gp.forEach((function(e){return Uf(e)&&++e.cacheID&&(e.rec=e())}));var n=Rm("refreshInit");rf&&ag.sort(),t||Gm(),gp.forEach((function(e){Uf(e)&&(e.smooth&&(e.target.style.scrollBehavior="auto"),e(0))})),jm.slice(0).forEach((function(e){return e.refresh()})),gf=!1,jm.forEach((function(e){if(e._subPinOffset&&e.pin){var t=e.vars.horizontal?"offsetWidth":"offsetHeight",n=e.pin[t];e.revert(!0,1),e.adjustPinSpacing(e.pin[t]-n),e.refresh()}})),yf=1,zm(!0),jm.forEach((function(e){var t=Wf(e.scroller,e._dir),n="max"===e.vars.end||e._endClamp&&e.end>t,r=e._startClamp&&e.start>=t;(n||r)&&e.setPositions(r?t-1:e.start,n?Math.max(r?t:e.start+1,t):e.end,!0)})),zm(!1),yf=0,n.forEach((function(e){return e&&e.render&&e.render(-1)})),gp.forEach((function(e){Uf(e)&&(e.smooth&&requestAnimationFrame((function(){return e.target.style.scrollBehavior="smooth"})),e.rec&&e(e.rec))})),qm(pf,1),Lp.pause(),Hm++,Sf=2,Lm(2),jm.forEach((function(e){return Uf(e.vars.onRefresh)&&e.vars.onRefresh(e)})),Sf=ag.isRefreshing=!1,Rm("refresh")}else gm(ag,"scrollEnd",Vm)},Um=0,Nm=1,Lm=function(e){if(2===e||!Sf&&!gf){ag.isUpdating=!0,bf&&bf.update(0);var t=jm.length,n=wf(),r=n-jf>=50,i=t&&jm[0].scroll();if(Nm=Um>i?-1:1,Sf||(Um=i),r&&(Mf&&!Xp&&n-Mf>200&&(Mf=0,Rm("scrollEnd")),Zp=jf,jf=n),Nm<0){for($p=t;$p-- >0;)jm[$p]&&jm[$p].update(0,r);Nm=1}else for($p=0;$p<t;$p++)jm[$p]&&jm[$p].update(0,r);ag.isUpdating=!1}xf=0},Ym=[Kf,"top",Xf,Qf,am+rm,am+em,am+nm,am+tm,"display","flexShrink","float","zIndex","gridColumnStart","gridColumnEnd","gridRowStart","gridRowEnd","gridArea","justifySelf","alignSelf","placeSelf","order"],Fm=Ym.concat([_f,$f,"boxSizing","max"+sm,"max"+om,"position",am,im,im+nm,im+em,im+rm,im+tm]),Zm=function(e,t,n,r){if(!e._gsap.swappedIn){for(var i,a=Ym.length,s=t.style,o=e.style;a--;)s[i=Ym[a]]=n[i];s.position="absolute"===n.position?"absolute":"relative","inline"===n.display&&(s.display="inline-block"),o[Xf]=o[Qf]="auto",s.flexBasis=n.flexBasis||"auto",s.overflow="visible",s.boxSizing="border-box",s[_f]=um(e,Op)+lm,s[$f]=um(e,Tp)+lm,s[im]=o[am]=o.top=o[Kf]="0",Qm(r),o[_f]=o["max"+sm]=n[_f],o[$f]=o["max"+om]=n[$f],o[im]=n[im],e.parentNode!==t&&(e.parentNode.insertBefore(t,e),t.appendChild(e)),e._gsap.swappedIn=!0}},Km=/([A-Z])/g,Qm=function(e){if(e){var t,n,r=e.t.style,i=e.length,a=0;for((e.t._gsap||qp.core.getCache(e.t)).uncache=1;a<i;a+=2)n=e[a+1],t=e[a],n?r[t]=n:r[t]&&r.removeProperty(t.replace(Km,"-$1").toLowerCase())}},Xm=function(e){for(var t=Fm.length,n=e.style,r=[],i=0;i<t;i++)r.push(Fm[i],n[Fm[i]]);return r.t=e,r},_m={left:0,top:0},$m=function(e,t,n,r,i,a,s,o,l,c,d,h,u,p){Uf(e)&&(e=e(o)),Jf(e)&&"max"===e.substr(0,3)&&(e=h+("="===e.charAt(4)?bm("0"+e.substr(3),n):0));var f,m,g,y=u?u.time():0;if(u&&u.seek(0),isNaN(e)||(e=+e),Nf(e))u&&(e=qp.utils.mapRange(u.scrollTrigger.start,u.scrollTrigger.end,0,h,e)),s&&wm(s,n,r,!0);else{Uf(t)&&(t=t(o));var v,x,S,A,b=(e||"0").split(" ");g=Ip(t,o)||Up,(v=hm(g)||{})&&(v.left||v.top)||"none"!==cm(g).display||(A=g.style.display,g.style.display="block",v=hm(g),A?g.style.display=A:g.style.removeProperty("display")),x=bm(b[0],v[r.d]),S=bm(b[1]||"0",n),e=v[r.p]-l[r.p]-c+x+i-S,s&&wm(s,S,r,n-S<20||s._isStart&&S>20),n-=n-S}if(p&&(o[p]=e||-.001,e<0&&(e=0)),a){var k=e+n,w=a._isStart;f="scroll"+r.d2,wm(a,k,r,w&&k>20||!w&&(d?Math.max(Up[f],Jp[f]):a.parentNode[f])<=k+1),d&&(l=hm(s),d&&(a.style[r.op.p]=l[r.op.p]-r.op.m-a._offset+lm))}return u&&g&&(f=hm(g),u.seek(h),m=hm(g),u._caScrollDist=f[r.p]-m[r.p],e=e/u._caScrollDist*h),u&&u.seek(y),u?e:Math.round(e)},eg=/(webkit|moz|length|cssText|inset)/i,tg=function(e,t,n,r){if(e.parentNode!==t){var i,a,s=e.style;if(t===Up){for(i in e._stOrig=s.cssText,a=cm(e))+i||eg.test(i)||!a[i]||"string"!==typeof s[i]||"0"===i||(s[i]=a[i]);s.top=n,s.left=r}else s.cssText=e._stOrig;qp.core.getCache(e).uncache=1,t.appendChild(e)}},ng=function(e,t,n){var r=t,i=r;return function(t){var a=Math.round(e());return a!==r&&a!==i&&Math.abs(a-r)>3&&Math.abs(a-i)>3&&(t=a,n&&n()),i=r,r=t,t}},rg=function(e,t,n){var r={};r[t.p]="+="+n,qp.set(e,r)},ig=function(e,t){var n=Cp(e,t),r="_scroll"+t.p2,i=function t(i,a,s,o,l){var c=t.tween,d=a.onComplete,h={};s=s||n();var u=ng(n,s,(function(){c.kill(),t.tween=0}));return l=o&&l||0,o=o||i-s,c&&c.kill(),a[r]=i,a.inherit=!1,a.modifiers=h,h[r]=function(){return u(s+o*c.ratio+l*c.ratio*c.ratio)},a.onUpdate=function(){gp.cache++,t.tween&&Lm()},a.onComplete=function(){t.tween=0,d&&d.call(c)},c=t.tween=qp.to(e,a)};return e[r]=n,n.wheelHandler=function(){return i.tween&&i.tween.kill()&&(i.tween=0)},gm(e,"wheel",n.wheelHandler),ag.isTouch&&gm(e,"touchmove",n.wheelHandler),i},ag=function(){function e(t,n){Hp||e.register(qp)||console.warn("Please gsap.registerPlugin(ScrollTrigger)"),uf(this),this.init(t,n)}return e.prototype.init=function(t,n){if(this.progress=this.start=0,this.vars&&this.kill(!0,!0),Pf){var r,i,a,s,o,l,c,d,h,u,p,f,m,g,y,v,x,S,A,b,k,w,j,M,P,O,T,I,C,E,V,R,D,B,G,q,H,W,z,J,U=t=dm(Jf(t)||Nf(t)||t.nodeType?{trigger:t}:t,Sm),N=U.onUpdate,L=U.toggleClass,Y=U.id,F=U.onToggle,Z=U.onRefresh,K=U.scrub,Q=U.trigger,X=U.pin,_=U.pinSpacing,$=U.invalidateOnRefresh,ee=U.anticipatePin,te=U.onScrubComplete,ne=U.onSnapComplete,re=U.once,ie=U.snap,ae=U.pinReparent,se=U.pinSpacer,oe=U.containerAnimation,le=U.fastScrollEnd,ce=U.preventOverlaps,de=t.horizontal||t.containerAnimation&&!1!==t.horizontal?Op:Tp,he=!K&&0!==K,ue=Ip(t.scroller||Wp),pe=qp.core.getCache(ue),fe=Gf(ue),me="fixed"===("pinType"in t?t.pinType:Sp(ue,"pinType")||fe&&"fixed"),ge=[t.onEnter,t.onLeave,t.onEnterBack,t.onLeaveBack],ye=he&&t.toggleActions.split(" "),ve="markers"in t?t.markers:Sm.markers,xe=fe?0:parseFloat(cm(ue)["border"+de.p2+sm])||0,Se=this,Ae=t.onRefreshInit&&function(){return t.onRefreshInit(Se)},be=function(e,t,n){var r=n.d,i=n.d2,a=n.a;return(a=Sp(e,"getBoundingClientRect"))?function(){return a()[r]}:function(){return(t?qf(i):e["client"+i])||0}}(ue,fe,de),ke=function(e,t){return!t||~yp.indexOf(e)?Hf(e):function(){return _m}}(ue,fe),we=0,je=0,Me=0,Pe=Cp(ue,de);if(Se._startClamp=Se._endClamp=!1,Se._dir=de,ee*=45,Se.scroller=ue,Se.scroll=oe?oe.time.bind(oe):Pe,s=Pe(),Se.vars=t,n=n||t.animation,"refreshPriority"in t&&(rf=1,-9999===t.refreshPriority&&(bf=Se)),pe.tweenScroll=pe.tweenScroll||{top:ig(ue,Tp),left:ig(ue,Op)},Se.tweenTo=r=pe.tweenScroll[de.p],Se.scrubDuration=function(e){(D=Nf(e)&&e)?R?R.duration(e):R=qp.to(n,{ease:"expo",totalProgress:"+=0",inherit:!1,duration:D,paused:!0,onComplete:function(){return te&&te(Se)}}):(R&&R.progress(1).kill(),R=0)},n&&(n.vars.lazy=!1,n._initted&&!Se.isReverted||!1!==n.vars.immediateRender&&!1!==t.immediateRender&&n.duration()&&n.render(0,!0,!0),Se.animation=n.pause(),n.scrollTrigger=Se,Se.scrubDuration(K),E=0,Y||(Y=n.vars.id)),ie&&(Lf(ie)&&!ie.push||(ie={snapTo:ie}),"scrollBehavior"in Up.style&&qp.set(fe?[Up,Jp]:ue,{scrollBehavior:"auto"}),gp.forEach((function(e){return Uf(e)&&e.target===(fe?zp.scrollingElement||Jp:ue)&&(e.smooth=!1)})),a=Uf(ie.snapTo)?ie.snapTo:"labels"===ie.snapTo?function(e){return function(t){return qp.utils.snap(pm(e),t)}}(n):"labelsDirectional"===ie.snapTo?(J=n,function(e,t){return fm(pm(J))(e,t.direction)}):!1!==ie.directional?function(e,t){return fm(ie.snapTo)(e,wf()-je<500?0:t.direction)}:qp.utils.snap(ie.snapTo),B=ie.duration||{min:.1,max:2},B=Lf(B)?Fp(B.min,B.max):Fp(B,B),G=qp.delayedCall(ie.delay||D/2||.1,(function(){var e=Pe(),t=wf()-je<500,i=r.tween;if(!(t||Math.abs(Se.getVelocity())<10)||i||Xp||we===e)Se.isActive&&we!==e&&G.restart(!0);else{var s,o,d=(e-l)/g,h=n&&!he?n.totalProgress():d,u=t?0:(h-V)/(wf()-Zp)*1e3||0,p=qp.utils.clamp(-d,1-d,Zf(u/2)*u/.185),f=d+(!1===ie.inertia?0:p),m=ie,y=m.onStart,v=m.onInterrupt,x=m.onComplete;if(s=a(f,Se),Nf(s)||(s=f),o=Math.round(l+s*g),e<=c&&e>=l&&o!==e){if(i&&!i._initted&&i.data<=Zf(o-e))return;!1===ie.inertia&&(p=s-d),r(o,{duration:B(Zf(.185*Math.max(Zf(f-h),Zf(s-h))/u/.05||0)),ease:ie.ease||"power3",data:Zf(o-e),onInterrupt:function(){return G.restart(!0)&&v&&v(Se)},onComplete:function(){Se.update(),we=Pe(),n&&(R?R.resetTo("totalProgress",s,n._tTime/n._tDur):n.progress(s)),E=V=n&&!he?n.totalProgress():Se.progress,ne&&ne(Se),x&&x(Se)}},e,p*g,o-e-p*g),y&&y(Se,r.tween)}}})).pause()),Y&&(Mm[Y]=Se),(z=(Q=Se.trigger=Ip(Q||!0!==X&&X))&&Q._gsap&&Q._gsap.stRevert)&&(z=z(Se)),X=!0===X?Q:Ip(X),Jf(L)&&(L={targets:Q,className:L}),X&&(!1===_||_===am||(_=!(!_&&X.parentNode&&X.parentNode.style&&"flex"===cm(X.parentNode).display)&&im),Se.pin=X,(i=qp.core.getCache(X)).spacer?y=i.pinState:(se&&((se=Ip(se))&&!se.nodeType&&(se=se.current||se.nativeElement),i.spacerIsNative=!!se,se&&(i.spacerState=Xm(se))),i.spacer=S=se||zp.createElement("div"),S.classList.add("pin-spacer"),Y&&S.classList.add("pin-spacer-"+Y),i.pinState=y=Xm(X)),!1!==t.force3D&&qp.set(X,{force3D:!0}),Se.spacer=S=i.spacer,C=cm(X),M=C[_+de.os2],b=qp.getProperty(X),k=qp.quickSetter(X,de.a,lm),Zm(X,S,C),x=Xm(X)),ve){f=Lf(ve)?dm(ve,xm):xm,u=km("scroller-start",Y,ue,de,f,0),p=km("scroller-end",Y,ue,de,f,0,u),A=u["offset"+de.op.d2];var Oe=Ip(Sp(ue,"content")||ue);d=this.markerStart=km("start",Y,Oe,de,f,A,0,oe),h=this.markerEnd=km("end",Y,Oe,de,f,A,0,oe),oe&&(W=qp.quickSetter([d,h],de.a,lm)),me||yp.length&&!0===Sp(ue,"fixedMarkers")||(!function(e){var t=cm(e).position;e.style.position="absolute"===t||"fixed"===t?t:"relative"}(fe?Up:ue),qp.set([u,p],{force3D:!0}),O=qp.quickSetter(u,de.a,lm),I=qp.quickSetter(p,de.a,lm))}if(oe){var Te=oe.vars.onUpdate,Ie=oe.vars.onUpdateParams;oe.eventCallback("onUpdate",(function(){Se.update(0,0,1),Te&&Te.apply(oe,Ie||[])}))}if(Se.previous=function(){return jm[jm.indexOf(Se)-1]},Se.next=function(){return jm[jm.indexOf(Se)+1]},Se.revert=function(e,t){if(!t)return Se.kill(!0);var r=!1!==e||!Se.enabled,i=Qp;r!==Se.isReverted&&(r&&(q=Math.max(Pe(),Se.scroll.rec||0),Me=Se.progress,H=n&&n.progress()),d&&[d,h,u,p].forEach((function(e){return e.style.display=r?"none":"block"})),r&&(Qp=Se,Se.update(r)),!X||ae&&Se.isActive||(r?function(e,t,n){Qm(n);var r=e._gsap;if(r.spacerIsNative)Qm(r.spacerState);else if(e._gsap.swappedIn){var i=t.parentNode;i&&(i.insertBefore(e,t),i.removeChild(t))}e._gsap.swappedIn=!1}(X,S,y):Zm(X,S,cm(X),P)),r||Se.update(r),Qp=i,Se.isReverted=r)},Se.refresh=function(i,a,f,A){if(!Qp&&Se.enabled||a)if(X&&i&&Mf)gm(e,"scrollEnd",Vm);else{!Sf&&Ae&&Ae(Se),Qp=Se,r.tween&&!f&&(r.tween.kill(),r.tween=0),R&&R.pause(),$&&n&&n.revert({kill:!1}).invalidate(),Se.isReverted||Se.revert(!0,!0),Se._subPinOffset=!1;var k,M,O,I,C,E,V,D,B,W,z,J,U,N=be(),L=ke(),Y=oe?oe.duration():Wf(ue,de),F=g<=.01,K=0,ee=A||0,te=Lf(f)?f.end:t.end,ne=t.endTrigger||Q,re=Lf(f)?f.start:t.start||(0!==t.start&&Q?X?"0 0":"0 100%":0),ie=Se.pinnedContainer=t.pinnedContainer&&Ip(t.pinnedContainer,Se),se=Q&&Math.max(0,jm.indexOf(Se))||0,le=se;for(ve&&Lf(f)&&(J=qp.getProperty(u,de.p),U=qp.getProperty(p,de.p));le--;)(E=jm[le]).end||E.refresh(0,1)||(Qp=Se),!(V=E.pin)||V!==Q&&V!==X&&V!==ie||E.isReverted||(W||(W=[]),W.unshift(E),E.revert(!0,!0)),E!==jm[le]&&(se--,le--);for(Uf(re)&&(re=re(Se)),re=Of(re,"start",Se),l=$m(re,Q,N,de,Pe(),d,u,Se,L,xe,me,Y,oe,Se._startClamp&&"_startClamp")||(X?-.001:0),Uf(te)&&(te=te(Se)),Jf(te)&&!te.indexOf("+=")&&(~te.indexOf(" ")?te=(Jf(re)?re.split(" ")[0]:"")+te:(K=bm(te.substr(2),N),te=Jf(re)?re:(oe?qp.utils.mapRange(0,oe.duration(),oe.scrollTrigger.start,oe.scrollTrigger.end,l):l)+K,ne=Q)),te=Of(te,"end",Se),c=Math.max(l,$m(te||(ne?"100% 0":Y),ne,N,de,Pe()+K,h,p,Se,L,xe,me,Y,oe,Se._endClamp&&"_endClamp"))||-.001,K=0,le=se;le--;)(V=(E=jm[le]).pin)&&E.start-E._pinPush<=l&&!oe&&E.end>0&&(k=E.end-(Se._startClamp?Math.max(0,E.start):E.start),(V===Q&&E.start-E._pinPush<l||V===ie)&&isNaN(re)&&(K+=k*(1-E.progress)),V===X&&(ee+=k));if(l+=K,c+=K,Se._startClamp&&(Se._startClamp+=K),Se._endClamp&&!Sf&&(Se._endClamp=c||-.001,c=Math.min(c,Wf(ue,de))),g=c-l||(l-=.01)&&.001,F&&(Me=qp.utils.clamp(0,1,qp.utils.normalize(l,c,q))),Se._pinPush=ee,d&&K&&((k={})[de.a]="+="+K,ie&&(k[de.p]="-="+Pe()),qp.set([d,h],k)),!X||yf&&Se.end>=Wf(ue,de)){if(Q&&Pe()&&!oe)for(M=Q.parentNode;M&&M!==Up;)M._pinOffset&&(l-=M._pinOffset,c-=M._pinOffset),M=M.parentNode}else k=cm(X),I=de===Tp,O=Pe(),w=parseFloat(b(de.a))+ee,!Y&&c>1&&(z={style:z=(fe?zp.scrollingElement||Jp:ue).style,value:z["overflow"+de.a.toUpperCase()]},fe&&"scroll"!==cm(Up)["overflow"+de.a.toUpperCase()]&&(z.style["overflow"+de.a.toUpperCase()]="scroll")),Zm(X,S,k),x=Xm(X),M=hm(X,!0),D=me&&Cp(ue,I?Op:Tp)(),_?((P=[_+de.os2,g+ee+lm]).t=S,(le=_===im?um(X,de)+g+ee:0)&&(P.push(de.d,le+lm),"auto"!==S.style.flexBasis&&(S.style.flexBasis=le+lm)),Qm(P),ie&&jm.forEach((function(e){e.pin===ie&&!1!==e.vars.pinSpacing&&(e._subPinOffset=!0)})),me&&Pe(q)):(le=um(X,de))&&"auto"!==S.style.flexBasis&&(S.style.flexBasis=le+lm),me&&((C={top:M.top+(I?O-l:D)+lm,left:M.left+(I?D:O-l)+lm,boxSizing:"border-box",position:"fixed"})[_f]=C["max"+sm]=Math.ceil(M.width)+lm,C[$f]=C["max"+om]=Math.ceil(M.height)+lm,C[am]=C[am+nm]=C[am+em]=C[am+rm]=C[am+tm]="0",C[im]=k[im],C[im+nm]=k[im+nm],C[im+em]=k[im+em],C[im+rm]=k[im+rm],C[im+tm]=k[im+tm],v=function(e,t,n){for(var r,i=[],a=e.length,s=n?8:0;s<a;s+=2)r=e[s],i.push(r,r in t?t[r]:e[s+1]);return i.t=e.t,i}(y,C,ae),Sf&&Pe(0)),n?(B=n._initted,af(1),n.render(n.duration(),!0,!0),j=b(de.a)-w+g+ee,T=Math.abs(g-j)>1,me&&T&&v.splice(v.length-2,2),n.render(0,!0,!0),B||n.invalidate(!0),n.parent||n.totalTime(n.totalTime()),af(0)):j=g,z&&(z.value?z.style["overflow"+de.a.toUpperCase()]=z.value:z.style.removeProperty("overflow-"+de.a));W&&W.forEach((function(e){return e.revert(!1,!0)})),Se.start=l,Se.end=c,s=o=Sf?q:Pe(),oe||Sf||(s<q&&Pe(q),Se.scroll.rec=0),Se.revert(!1,!0),je=wf(),G&&(we=-1,G.restart(!0)),Qp=0,n&&he&&(n._initted||H)&&n.progress()!==H&&n.progress(H||0,!0).render(n.time(),!0,!0),(F||Me!==Se.progress||oe||$)&&(n&&!he&&n.totalProgress(oe&&l<-.001&&!Me?qp.utils.normalize(l,c,0):Me,!0),Se.progress=F||(s-l)/g===Me?0:Me),X&&_&&(S._pinOffset=Math.round(Se.progress*j)),R&&R.invalidate(),isNaN(J)||(J-=qp.getProperty(u,de.p),U-=qp.getProperty(p,de.p),rg(u,de,J),rg(d,de,J-(A||0)),rg(p,de,U),rg(h,de,U-(A||0))),F&&!Sf&&Se.update(),!Z||Sf||m||(m=!0,Z(Se),m=!1)}},Se.getVelocity=function(){return(Pe()-o)/(wf()-Zp)*1e3||0},Se.endAnimation=function(){Yf(Se.callbackAnimation),n&&(R?R.progress(1):n.paused()?he||Yf(n,Se.direction<0,1):Yf(n,n.reversed()))},Se.labelToScroll=function(e){return n&&n.labels&&(l||Se.refresh()||l)+n.labels[e]/n.duration()*g||0},Se.getTrailing=function(e){var t=jm.indexOf(Se),n=Se.direction>0?jm.slice(0,t).reverse():jm.slice(t+1);return(Jf(e)?n.filter((function(t){return t.vars.preventOverlaps===e})):n).filter((function(e){return Se.direction>0?e.end<=l:e.start>=c}))},Se.update=function(e,t,i){if(!oe||i||e){var a,d,h,p,f,m,y,A=!0===Sf?q:Se.scroll(),b=e?0:(A-l)/g,P=b<0?0:b>1?1:b||0,C=Se.progress;if(t&&(o=s,s=oe?Pe():A,ie&&(V=E,E=n&&!he?n.totalProgress():P)),ee&&X&&!Qp&&!kf&&Mf&&(!P&&l<A+(A-o)/(wf()-Zp)*ee?P=1e-4:1===P&&c>A+(A-o)/(wf()-Zp)*ee&&(P=.9999)),P!==C&&Se.enabled){if(p=(f=(a=Se.isActive=!!P&&P<1)!==(!!C&&C<1))||!!P!==!!C,Se.direction=P>C?1:-1,Se.progress=P,p&&!Qp&&(d=P&&!C?0:1===P?1:1===C?2:3,he&&(h=!f&&"none"!==ye[d+1]&&ye[d+1]||ye[d],y=n&&("complete"===h||"reset"===h||h in n))),ce&&(f||y)&&(y||K||!n)&&(Uf(ce)?ce(Se):Se.getTrailing(ce).forEach((function(e){return e.endAnimation()}))),he||(!R||Qp||kf?n&&n.totalProgress(P,!(!Qp||!je&&!e)):(R._dp._time-R._start!==R._time&&R.render(R._dp._time-R._start),R.resetTo?R.resetTo("totalProgress",P,n._tTime/n._tDur):(R.vars.totalProgress=P,R.invalidate().restart()))),X)if(e&&_&&(S.style[_+de.os2]=M),me){if(p){if(m=!e&&P>C&&c+1>A&&A+1>=Wf(ue,de),ae)if(e||!a&&!m)tg(X,S);else{var D=hm(X,!0),B=A-l;tg(X,Up,D.top+(de===Tp?B:0)+lm,D.left+(de===Tp?0:B)+lm)}Qm(a||m?v:x),T&&P<1&&a||k(w+(1!==P||m?0:j))}}else k(Rf(w+j*P));ie&&!r.tween&&!Qp&&!kf&&G.restart(!0),L&&(f||re&&P&&(P<1||!vf))&&Yp(L.targets).forEach((function(e){return e.classList[a||re?"add":"remove"](L.className)})),N&&!he&&!e&&N(Se),p&&!Qp?(he&&(y&&("complete"===h?n.pause().totalProgress(1):"reset"===h?n.restart(!0).pause():"restart"===h?n.restart(!0):n[h]()),N&&N(Se)),!f&&vf||(F&&f&&Ff(Se,F),ge[d]&&Ff(Se,ge[d]),re&&(1===P?Se.kill(!1,1):ge[d]=0),f||ge[d=1===P?1:3]&&Ff(Se,ge[d])),le&&!a&&Math.abs(Se.getVelocity())>(Nf(le)?le:2500)&&(Yf(Se.callbackAnimation),R?R.progress(1):Yf(n,"reverse"===h?1:!P,1))):he&&N&&!Qp&&N(Se)}if(I){var H=oe?A/oe.duration()*(oe._caScrollDist||0):A;O(H+(u._isFlipped?1:0)),I(H)}W&&W(-A/oe.duration()*(oe._caScrollDist||0))}},Se.enable=function(t,n){Se.enabled||(Se.enabled=!0,gm(ue,"resize",Im),fe||gm(ue,"scroll",Om),Ae&&gm(e,"refreshInit",Ae),!1!==t&&(Se.progress=Me=0,s=o=we=Pe()),!1!==n&&Se.refresh())},Se.getTween=function(e){return e&&r?r.tween:R},Se.setPositions=function(e,t,n,r){if(oe){var i=oe.scrollTrigger,a=oe.duration(),s=i.end-i.start;e=i.start+s*e/a,t=i.start+s*t/a}Se.refresh(!1,!1,{start:Tf(e,n&&!!Se._startClamp),end:Tf(t,n&&!!Se._endClamp)},r),Se.update()},Se.adjustPinSpacing=function(e){if(P&&e){var t=P.indexOf(de.d)+1;P[t]=parseFloat(P[t])+e+lm,P[1]=parseFloat(P[1])+e+lm,Qm(P)}},Se.disable=function(t,n){if(Se.enabled&&(!1!==t&&Se.revert(!0,!0),Se.enabled=Se.isActive=!1,n||R&&R.pause(),q=0,i&&(i.uncache=1),Ae&&ym(e,"refreshInit",Ae),G&&(G.pause(),r.tween&&r.tween.kill()&&(r.tween=0)),!fe)){for(var a=jm.length;a--;)if(jm[a].scroller===ue&&jm[a]!==Se)return;ym(ue,"resize",Im),fe||ym(ue,"scroll",Om)}},Se.kill=function(e,r){Se.disable(e,r),R&&!r&&R.kill(),Y&&delete Mm[Y];var a=jm.indexOf(Se);a>=0&&jm.splice(a,1),a===$p&&Nm>0&&$p--,a=0,jm.forEach((function(e){return e.scroller===Se.scroller&&(a=1)})),a||Sf||(Se.scroll.rec=0),n&&(n.scrollTrigger=null,e&&n.revert({kill:!1}),r||n.kill()),d&&[d,h,u,p].forEach((function(e){return e.parentNode&&e.parentNode.removeChild(e)})),bf===Se&&(bf=0),X&&(i&&(i.uncache=1),a=0,jm.forEach((function(e){return e.pin===X&&a++})),a||(i.spacer=0)),t.onKill&&t.onKill(Se)},jm.push(Se),Se.enable(!1,!1),z&&z(Se),n&&n.add&&!g){var Ce=Se.update;Se.update=function(){Se.update=Ce,l||c||Se.refresh()},qp.delayedCall(.01,Se.update),g=.01,l=c=0}else Se.refresh();X&&function(){if(Af!==Hm){var e=Af=Hm;requestAnimationFrame((function(){return e===Hm&&Jm(!0)}))}}()}else this.update=this.refresh=this.kill=Vf},e.register=function(t){return Hp||(qp=t||Bf(),Df()&&window.document&&e.enable(),Hp=Pf),Hp},e.defaults=function(e){if(e)for(var t in e)Sm[t]=e[t];return Sm},e.disable=function(e,t){Pf=0,jm.forEach((function(n){return n[t?"kill":"disable"](e)})),ym(Wp,"wheel",Om),ym(zp,"scroll",Om),clearInterval(Kp),ym(zp,"touchcancel",Vf),ym(Up,"touchstart",Vf),mm(ym,zp,"pointerdown,touchstart,mousedown",Cf),mm(ym,zp,"pointerup,touchend,mouseup",Ef),Lp.kill(),zf(ym);for(var n=0;n<gp.length;n+=3)vm(ym,gp[n],gp[n+1]),vm(ym,gp[n],gp[n+2])},e.enable=function(){if(Wp=window,zp=document,Jp=zp.documentElement,Up=zp.body,qp&&(Yp=qp.utils.toArray,Fp=qp.utils.clamp,uf=qp.core.context||Vf,af=qp.core.suppressOverwrites||Vf,pf=Wp.history.scrollRestoration||"auto",Um=Wp.pageYOffset,qp.core.globals("ScrollTrigger",e),Up)){Pf=1,(ff=document.createElement("div")).style.height="100vh",ff.style.position="absolute",Wm(),If(),Gp.register(qp),e.isTouch=Gp.isTouch,hf=Gp.isTouch&&/(iPad|iPhone|iPod|Mac)/g.test(navigator.userAgent),lf=1===Gp.isTouch,gm(Wp,"wheel",Om),Np=[Wp,zp,Jp,Up],qp.matchMedia?(e.matchMedia=function(e){var t,n=qp.matchMedia();for(t in e)n.add(t,e[t]);return n},qp.addEventListener("matchMediaInit",(function(){return Gm()})),qp.addEventListener("matchMediaRevert",(function(){return Bm()})),qp.addEventListener("matchMedia",(function(){Jm(0,1),Rm("matchMedia")})),qp.matchMedia("(orientation: portrait)",(function(){return Tm(),Tm}))):console.warn("Requires GSAP 3.11.0 or later"),Tm(),gm(zp,"scroll",Om);var t,n,r=Up.style,i=r.borderTopStyle,a=qp.core.Animation.prototype;for(a.revert||Object.defineProperty(a,"revert",{value:function(){return this.time(-.01,!0)}}),r.borderTopStyle="solid",t=hm(Up),Tp.m=Math.round(t.top+Tp.sc())||0,Op.m=Math.round(t.left+Op.sc())||0,i?r.borderTopStyle=i:r.removeProperty("border-top-style"),Kp=setInterval(Pm,250),qp.delayedCall(.5,(function(){return kf=0})),gm(zp,"touchcancel",Vf),gm(Up,"touchstart",Vf),mm(gm,zp,"pointerdown,touchstart,mousedown",Cf),mm(gm,zp,"pointerup,touchend,mouseup",Ef),_p=qp.utils.checkPrefix("transform"),Fm.push(_p),Hp=wf(),Lp=qp.delayedCall(.2,Jm).pause(),nf=[zp,"visibilitychange",function(){var e=Wp.innerWidth,t=Wp.innerHeight;zp.hidden?(ef=e,tf=t):ef===e&&tf===t||Im()},zp,"DOMContentLoaded",Jm,Wp,"load",Jm,Wp,"resize",Im],zf(gm),jm.forEach((function(e){return e.enable(0,1)})),n=0;n<gp.length;n+=3)vm(ym,gp[n],gp[n+1]),vm(ym,gp[n],gp[n+2])}},e.config=function(t){"limitCallbacks"in t&&(vf=!!t.limitCallbacks);var n=t.syncInterval;n&&clearInterval(Kp)||(Kp=n)&&setInterval(Pm,n),"ignoreMobileResize"in t&&(lf=1===e.isTouch&&t.ignoreMobileResize),"autoRefreshEvents"in t&&(zf(ym)||zf(gm,t.autoRefreshEvents||"none"),sf=-1===(t.autoRefreshEvents+"").indexOf("resize"))},e.scrollerProxy=function(e,t){var n=Ip(e),r=gp.indexOf(n),i=Gf(n);~r&&gp.splice(r,i?6:2),t&&(i?yp.unshift(Wp,t,Up,t,Jp,t):yp.unshift(n,t))},e.clearMatchMedia=function(e){jm.forEach((function(t){return t._ctx&&t._ctx.query===e&&t._ctx.kill(!0,!0)}))},e.isInViewport=function(e,t,n){var r=(Jf(e)?Ip(e):e).getBoundingClientRect(),i=r[n?_f:$f]*t||0;return n?r.right-i>0&&r.left+i<Wp.innerWidth:r.bottom-i>0&&r.top+i<Wp.innerHeight},e.positionInViewport=function(e,t,n){Jf(e)&&(e=Ip(e));var r=e.getBoundingClientRect(),i=r[n?_f:$f],a=null==t?i/2:t in Am?Am[t]*i:~t.indexOf("%")?parseFloat(t)*i/100:parseFloat(t)||0;return n?(r.left+a)/Wp.innerWidth:(r.top+a)/Wp.innerHeight},e.killAll=function(e){if(jm.slice(0).forEach((function(e){return"ScrollSmoother"!==e.vars.id&&e.kill()})),!0!==e){var t=Cm.killAll||[];Cm={},t.forEach((function(e){return e()}))}},e}();ag.version="3.12.5",ag.saveStyles=function(e){return e?Yp(e).forEach((function(e){if(e&&e.style){var t=Dm.indexOf(e);t>=0&&Dm.splice(t,5),Dm.push(e,e.style.cssText,e.getBBox&&e.getAttribute("transform"),qp.core.getCache(e),uf())}})):Dm},ag.revert=function(e,t){return Gm(!e,t)},ag.create=function(e,t){return new ag(e,t)},ag.refresh=function(e){return e?Im():(Hp||ag.register())&&Jm(!0)},ag.update=function(e){return++gp.cache&&Lm(!0===e?2:0)},ag.clearScrollMemory=qm,ag.maxScroll=function(e,t){return Wf(e,t?Op:Tp)},ag.getScrollFunc=function(e,t){return Cp(Ip(e),t?Op:Tp)},ag.getById=function(e){return Mm[e]},ag.getAll=function(){return jm.filter((function(e){return"ScrollSmoother"!==e.vars.id}))},ag.isScrolling=function(){return!!Mf},ag.snapDirectional=fm,ag.addEventListener=function(e,t){var n=Cm[e]||(Cm[e]=[]);~n.indexOf(t)||n.push(t)},ag.removeEventListener=function(e,t){var n=Cm[e],r=n&&n.indexOf(t);r>=0&&n.splice(r,1)},ag.batch=function(e,t){var n,r=[],i={},a=t.interval||.016,s=t.batchMax||1e9,o=function(e,t){var n=[],r=[],i=qp.delayedCall(a,(function(){t(n,r),n=[],r=[]})).pause();return function(e){n.length||i.restart(!0),n.push(e.trigger),r.push(e),s<=n.length&&i.progress(1)}};for(n in t)i[n]="on"===n.substr(0,2)&&Uf(t[n])&&"onRefreshInit"!==n?o(0,t[n]):t[n];return Uf(s)&&(s=s(),gm(ag,"refresh",(function(){return s=t.batchMax()}))),Yp(e).forEach((function(e){var t={};for(n in i)t[n]=i[n];t.trigger=e,r.push(ag.create(t))})),r};var sg,og=function(e,t,n,r){return t>r?e(r):t<0&&e(0),n>r?(r-t)/(n-t):n<0?t/(t-n):1},lg=function e(t,n){!0===n?t.style.removeProperty("touch-action"):t.style.touchAction=!0===n?"auto":n?"pan-"+n+(Gp.isTouch?" pinch-zoom":""):"none",t===Jp&&e(Up,n)},cg={auto:1,scroll:1},dg=function(e){var t,n=e.event,r=e.target,i=e.axis,a=(n.changedTouches?n.changedTouches[0]:n).target,s=a._gsap||qp.core.getCache(a),o=wf();if(!s._isScrollT||o-s._isScrollT>2e3){for(;a&&a!==Up&&(a.scrollHeight<=a.clientHeight&&a.scrollWidth<=a.clientWidth||!cg[(t=cm(a)).overflowY]&&!cg[t.overflowX]);)a=a.parentNode;s._isScroll=a&&a!==r&&!Gf(a)&&(cg[(t=cm(a)).overflowY]||cg[t.overflowX]),s._isScrollT=o}(s._isScroll||"x"===i)&&(n.stopPropagation(),n._gsapAllow=!0)},hg=function(e,t,n,r){return Gp.create({target:e,capture:!0,debounce:!1,lockAxis:!0,type:t,onWheel:r=r&&dg,onPress:r,onDrag:r,onScroll:r,onEnable:function(){return n&&gm(zp,Gp.eventTypes[0],pg,!1,!0)},onDisable:function(){return ym(zp,Gp.eventTypes[0],pg,!0)}})},ug=/(input|label|select|textarea)/i,pg=function(e){var t=ug.test(e.target.tagName);(t||sg)&&(e._gsapAllow=!0,sg=t)},fg=function(e){Lf(e)||(e={}),e.preventDefault=e.isNormalizer=e.allowClicks=!0,e.type||(e.type="wheel,touch"),e.debounce=!!e.debounce,e.id=e.id||"normalizer";var t,n,r,i,a,s,o,l,c=e,d=c.normalizeScrollX,h=c.momentum,u=c.allowNestedScroll,p=c.onRelease,f=Ip(e.target)||Jp,m=qp.core.globals().ScrollSmoother,g=m&&m.get(),y=hf&&(e.content&&Ip(e.content)||g&&!1!==e.content&&!g.smooth()&&g.content()),v=Cp(f,Tp),x=Cp(f,Op),S=1,A=(Gp.isTouch&&Wp.visualViewport?Wp.visualViewport.scale*Wp.visualViewport.width:Wp.outerWidth)/Wp.innerWidth,b=0,k=Uf(h)?function(){return h(t)}:function(){return h||2.8},w=hg(f,e.type,!0,u),j=function(){return i=!1},M=Vf,P=Vf,O=function(){n=Wf(f,Tp),P=Fp(hf?1:0,n),d&&(M=Fp(0,Wf(f,Op))),r=Hm},T=function(){y._gsap.y=Rf(parseFloat(y._gsap.y)+v.offset)+"px",y.style.transform="matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, "+parseFloat(y._gsap.y)+", 0, 1)",v.offset=v.cacheID=0},I=function(){O(),a.isActive()&&a.vars.scrollY>n&&(v()>n?a.progress(1)&&v(n):a.resetTo("scrollY",n))};return y&&qp.set(y,{y:"+=0"}),e.ignoreCheck=function(e){return hf&&"touchmove"===e.type&&function(){if(i){requestAnimationFrame(j);var e=Rf(t.deltaY/2),n=P(v.v-e);if(y&&n!==v.v+v.offset){v.offset=n-v.v;var r=Rf((parseFloat(y&&y._gsap.y)||0)-v.offset);y.style.transform="matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, "+r+", 0, 1)",y._gsap.y=r+"px",v.cacheID=gp.cache,Lm()}return!0}v.offset&&T(),i=!0}()||S>1.05&&"touchstart"!==e.type||t.isGesturing||e.touches&&e.touches.length>1},e.onPress=function(){i=!1;var e=S;S=Rf((Wp.visualViewport&&Wp.visualViewport.scale||1)/A),a.pause(),e!==S&&lg(f,S>1.01||!d&&"x"),s=x(),o=v(),O(),r=Hm},e.onRelease=e.onGestureStart=function(e,t){if(v.offset&&T(),t){gp.cache++;var r,i,s=k();d&&(i=(r=x())+.05*s*-e.velocityX/.227,s*=og(x,r,i,Wf(f,Op)),a.vars.scrollX=M(i)),i=(r=v())+.05*s*-e.velocityY/.227,s*=og(v,r,i,Wf(f,Tp)),a.vars.scrollY=P(i),a.invalidate().duration(s).play(.01),(hf&&a.vars.scrollY>=n||r>=n-1)&&qp.to({},{onUpdate:I,duration:s})}else l.restart(!0);p&&p(e)},e.onWheel=function(){a._ts&&a.pause(),wf()-b>1e3&&(r=0,b=wf())},e.onChange=function(e,t,n,i,a){if(Hm!==r&&O(),t&&d&&x(M(i[2]===t?s+(e.startX-e.x):x()+t-i[1])),n){v.offset&&T();var l=a[2]===n,c=l?o+e.startY-e.y:v()+n-a[1],h=P(c);l&&c!==h&&(o+=h-c),v(h)}(n||t)&&Lm()},e.onEnable=function(){lg(f,!d&&"x"),ag.addEventListener("refresh",I),gm(Wp,"resize",I),v.smooth&&(v.target.style.scrollBehavior="auto",v.smooth=x.smooth=!1),w.enable()},e.onDisable=function(){lg(f,!0),ym(Wp,"resize",I),ag.removeEventListener("refresh",I),w.kill()},e.lockAxis=!1!==e.lockAxis,(t=new Gp(e)).iOS=hf,hf&&!v()&&v(1),hf&&qp.ticker.add(Vf),l=t._dc,a=qp.to(t,{ease:"power4",paused:!0,inherit:!1,scrollX:d?"+=0.1":"+=0",scrollY:"+=0.1",modifiers:{scrollY:ng(v,v(),(function(){return a.pause()}))},onUpdate:Lm,onComplete:l.vars.onComplete}),t};ag.sort=function(e){return jm.sort(e||function(e,t){return-1e6*(e.vars.refreshPriority||0)+e.start-(t.start+-1e6*(t.vars.refreshPriority||0))})},ag.observe=function(e){return new Gp(e)},ag.normalizeScroll=function(e){if("undefined"===typeof e)return of;if(!0===e&&of)return of.enable();if(!1===e)return of&&of.kill(),void(of=e);var t=e instanceof Gp?e:fg(e);return of&&of.target===t.target&&of.kill(),Gf(t.target)&&(of=t),t},ag.core={_getVelocityProp:Ep,_inputObserver:hg,_scrollers:gp,_proxies:yp,bridge:{ss:function(){Mf||Rm("scrollStart"),Mf=wf()},ref:function(){return Qp}}},Bf()&&qp.registerPlugin(ag),Yu.registerPlugin(ag);const mg=!1,gg="power1.in",yg="top 75%",vg=e=>Yu.from(e,{y:e.classList.contains("label-button")?0:10,opacity:0,ease:gg,duration:.4,scrollTrigger:{trigger:e,start:yg,end:"top",markers:mg}}),xg=[".has-animation",".label-button",".form-section"],Sg=e=>{let{items:t,container:n,dependencies:r=[]}=e;_u((()=>{Yu.utils.toArray([...xg,...t]).forEach((e=>vg(e)))}),{dependencies:r,scope:n,revertOnUpdate:!0})},Ag=e=>{let{item:t,container:n,trigger:r,dependencies:i=[]}=e;_u((()=>{(e=>{let{item:t,trigger:n}=e;Yu.from(t,{opacity:0,ease:gg,duration:.4,stagger:.15,scrollTrigger:{trigger:n,start:yg,markers:mg}})})({item:t,trigger:r})}),{dependencies:i,scope:n,revertOnUpdate:!0})};var bg=__webpack_require__(302),kg=__webpack_require__.n(bg),wg=__webpack_require__(756),jg=__webpack_require__.n(wg),Mg=__webpack_require__(128),Pg=__webpack_require__.n(Mg);function Og(){return Og=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Og.apply(this,arguments)}function Tg(e,t){return e(t={exports:{}},t.exports),t.exports}var Ig="function"===typeof Symbol&&Symbol.for,Cg=Ig?Symbol.for("react.element"):60103,Eg=Ig?Symbol.for("react.portal"):60106,Vg=Ig?Symbol.for("react.fragment"):60107,Rg=Ig?Symbol.for("react.strict_mode"):60108,Dg=Ig?Symbol.for("react.profiler"):60114,Bg=Ig?Symbol.for("react.provider"):60109,Gg=Ig?Symbol.for("react.context"):60110,qg=Ig?Symbol.for("react.async_mode"):60111,Hg=Ig?Symbol.for("react.concurrent_mode"):60111,Wg=Ig?Symbol.for("react.forward_ref"):60112,zg=Ig?Symbol.for("react.suspense"):60113,Jg=Ig?Symbol.for("react.suspense_list"):60120,Ug=Ig?Symbol.for("react.memo"):60115,Ng=Ig?Symbol.for("react.lazy"):60116,Lg=Ig?Symbol.for("react.block"):60121,Yg=Ig?Symbol.for("react.fundamental"):60117,Fg=Ig?Symbol.for("react.responder"):60118,Zg=Ig?Symbol.for("react.scope"):60119;function Kg(e){if("object"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case Cg:switch(e=e.type){case qg:case Hg:case Vg:case Dg:case Rg:case zg:return e;default:switch(e=e&&e.$$typeof){case Gg:case Wg:case Ng:case Ug:case Bg:return e;default:return t}}case Eg:return t}}}function Qg(e){return Kg(e)===Hg}var Xg={AsyncMode:qg,ConcurrentMode:Hg,ContextConsumer:Gg,ContextProvider:Bg,Element:Cg,ForwardRef:Wg,Fragment:Vg,Lazy:Ng,Memo:Ug,Portal:Eg,Profiler:Dg,StrictMode:Rg,Suspense:zg,isAsyncMode:function(e){return Qg(e)||Kg(e)===qg},isConcurrentMode:Qg,isContextConsumer:function(e){return Kg(e)===Gg},isContextProvider:function(e){return Kg(e)===Bg},isElement:function(e){return"object"===typeof e&&null!==e&&e.$$typeof===Cg},isForwardRef:function(e){return Kg(e)===Wg},isFragment:function(e){return Kg(e)===Vg},isLazy:function(e){return Kg(e)===Ng},isMemo:function(e){return Kg(e)===Ug},isPortal:function(e){return Kg(e)===Eg},isProfiler:function(e){return Kg(e)===Dg},isStrictMode:function(e){return Kg(e)===Rg},isSuspense:function(e){return Kg(e)===zg},isValidElementType:function(e){return"string"===typeof e||"function"===typeof e||e===Vg||e===Hg||e===Dg||e===Rg||e===zg||e===Jg||"object"===typeof e&&null!==e&&(e.$$typeof===Ng||e.$$typeof===Ug||e.$$typeof===Bg||e.$$typeof===Gg||e.$$typeof===Wg||e.$$typeof===Yg||e.$$typeof===Fg||e.$$typeof===Zg||e.$$typeof===Lg)},typeOf:Kg},_g=(Tg((function(e,t){0})),Tg((function(e){e.exports=Xg})),Object.getOwnPropertySymbols),$g=Object.prototype.hasOwnProperty,ey=Object.prototype.propertyIsEnumerable;(function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(t).map((function(e){return t[e]}));if("0123456789"!==r.join(""))return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach((function(e){i[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},i)).join("")}catch(a){return!1}})()&&Object.assign;var ty="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";Function.call.bind(Object.prototype.hasOwnProperty);function ny(e,t,n,r,i){}ny.resetWarningCache=function(){0};function ry(){}function iy(){}iy.resetWarningCache=ry;var ay=Tg((function(e){e.exports=function(){function e(e,t,n,r,i,a){if(a!==ty){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:iy,resetWarningCache:ry};return n.PropTypes=n,n}()})),sy={animationData:ay.object,path:ay.string,play:ay.bool,goTo:ay.number,speed:ay.number,direction:ay.number,loop:ay.oneOfType([ay.number,ay.bool]),useSubframes:ay.bool,segments:ay.oneOfType([ay.arrayOf(ay.number),ay.bool]),rendererSettings:ay.object,renderer:ay.string,audioFactory:ay.func,onComplete:ay.func,onLoopComplete:ay.func,onEnterFrame:ay.func,onSegmentStart:ay.func},oy={},ly=function(){},cy=function(e){var n=e.loadAnimation,r=(0,t.memo)((0,t.forwardRef)((function(e,r){var i=e.animationData,a=void 0===i?null:i,s=e.path,o=void 0===s?null:s,l=e.play,c=void 0===l?null:l,d=e.speed,h=void 0===d?1:d,u=e.direction,p=void 0===u?1:u,f=e.segments,m=void 0===f?null:f,g=e.goTo,y=void 0===g?null:g,v=e.useSubframes,x=void 0===v||v,S=e.renderer,A=void 0===S?"svg":S,b=e.loop,k=void 0===b||b,w=e.rendererSettings,j=void 0===w?oy:w,M=e.audioFactory,P=void 0===M?null:M,O=e.onLoad,T=void 0===O?ly:O,I=e.onComplete,C=void 0===I?ly:I,E=e.onLoopComplete,V=void 0===E?ly:E,R=e.onEnterFrame,D=void 0===R?ly:R,B=e.onSegmentStart,G=void 0===B?ly:B,q=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,["animationData","path","play","speed","direction","segments","goTo","useSubframes","renderer","loop","rendererSettings","audioFactory","onLoad","onComplete","onLoopComplete","onEnterFrame","onSegmentStart"]),H=(0,t.useRef)(),W=(0,t.useRef)(),z=(0,t.useState)(!1),J=z[0],U=z[1],N=(0,t.useState)(m),L=N[0],Y=N[1];(0,t.useEffect)((function(){jg()(L,m)||Y(m)}),[m,L]);var F=(0,t.useState)(j),Z=F[0],K=F[1];(0,t.useEffect)((function(){jg()(Z,j)||K(j)}),[j,Z]),(0,t.useEffect)((function(){return function(){return W.current.removeEventListener("complete",C)}}),[C]),(0,t.useEffect)((function(){return function(){return W.current.removeEventListener("loopComplete",V)}}),[V]),(0,t.useEffect)((function(){return function(){return W.current.removeEventListener("enterFrame",D)}}),[D]),(0,t.useEffect)((function(){return function(){return W.current.removeEventListener("segmentStart",G)}}),[G]),(0,t.useEffect)((function(){return function(){return W.current.removeEventListener("DOMLoaded",T)}}),[T]);var Q=(0,t.useCallback)((function(e){W.current=e,"function"===typeof r?r(e):void 0!==r&&null!==r&&(r.current=e)}),[r]);(0,t.useEffect)((function(){var e=n({animationData:null==a||"object"!==typeof a?a:"object"===typeof a.default?Pg()(a.default):Pg()(a),path:o,container:H.current,renderer:A,loop:!1,autoplay:!1,rendererSettings:Z,audioFactory:P});Q(e);var t=function(){return U(!0)};return W.current.addEventListener("DOMLoaded",t),function(){W.current.removeEventListener("DOMLoaded",t),U(!1),W.current.destroy(),Q(void 0)}}),[k,A,Z,a,o,P,Q]),(0,t.useEffect)((function(){W.current.addEventListener("DOMLoaded",T)}),[T]),(0,t.useEffect)((function(){W.current.addEventListener("complete",C)}),[C]),(0,t.useEffect)((function(){W.current.addEventListener("loopComplete",V)}),[V]),(0,t.useEffect)((function(){W.current.addEventListener("enterFrame",D)}),[D]),(0,t.useEffect)((function(){W.current.addEventListener("segmentStart",G)}),[G]),(0,t.useEffect)((function(){J&&(W.current.loop=k)}),[J,k]);var X=(0,t.useRef)(!1);return(0,t.useEffect)((function(){if(J)if(!0===c){if(L){if(W.current.playSegments(L,true),X.current=!0,-1===p)e(L[1])}else if(X.current&&W.current.resetSegments(true),X.current=!1,-1===p)e(W.current.getDuration(!0));else W.current.play()}else!1===c&&W.current.pause();function e(e){W.current.goToAndPlay(e,!0),W.current.setDirection(p)}}),[c,L,J,p]),(0,t.useEffect)((function(){J&&(Number.isNaN(h)||W.current.setSpeed(h))}),[h,J]),(0,t.useEffect)((function(){J&&W.current.setDirection(p)}),[p,J]),(0,t.useEffect)((function(){if(J&&null!=y){c?W.current.goToAndPlay(y,true):W.current.goToAndStop(y,true)}}),[y,c,J]),(0,t.useEffect)((function(){W.current.setSubframe&&W.current.setSubframe(x)}),[x]),t.createElement("div",Og({},q,{ref:H}))})));return r.propTypes=sy,r}(kg());const dy=cy,hy=JSON.parse('{"nm":"Preloader","v":"5.9.6","fr":60,"ip":0,"op":239,"w":1440,"h":800,"ddd":0,"markers":[],"assets":[{"nm":"Progress","fr":60,"id":"3567:24596","layers":[{"ty":3,"ddd":0,"ind":11,"hd":false,"nm":"Progress - Null","ks":{"a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[608,440]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"st":0,"ip":0,"op":240,"bm":0,"sr":1},{"ty":4,"ddd":0,"ind":12,"hd":false,"nm":"Progress - Shape Mask","parent":11,"ks":{"a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}},"st":0,"ip":0,"op":240,"bm":0,"sr":1,"shapes":[{"ty":"gr","nm":"Group","hd":false,"np":3,"it":[{"ty":"sh","nm":"Path","hd":false,"ks":{"a":0,"k":{"c":true,"v":[[2,0],[222,0],[224,2],[224,2],[222,4],[2,4],[0,2],[0,2],[2,0],[2,0]],"i":[[0,0],[0,0],[0,-1.1046],[0,0],[1.1046,0],[0,0],[0,1.1046],[0,0],[-1.1046,0],[0,0]],"o":[[0,0],[1.1045699999999954,0],[0,0],[0,1.1045699999999998],[0,0],[-1.10457,0],[0,0],[0,-1.10457],[0,0],[0,0]]}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0,1,0,1]},"nm":"Fill","hd":false,"r":1},{"ty":"tr","a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}}]}]}]},{"nm":"[GROUP] Vector - Null / Vector / Vector - Null / Vector / Vector - Null / Vector / Vector - Null / Vector / Vector - Null / Vector / Vector - Null / Vector / Vector - Null / Vector","fr":60,"id":"lqwldr6djxkcaiduwd","layers":[{"ty":3,"ddd":0,"ind":13,"hd":false,"nm":"Logo UniferX - Null","ks":{"a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[602,356]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"st":0,"ip":0,"op":240,"bm":0,"sr":1},{"ty":3,"ddd":0,"ind":14,"hd":false,"nm":"Text - Null","parent":13,"ks":{"a":{"a":0,"k":[83.8417,26.2013]},"o":{"a":0,"k":100},"p":{"a":1,"k":[{"t":6,"s":[178.0001,32.2013],"o":{"x":[0.5],"y":[0.35]},"i":{"x":[0.15],"y":[1]},"ti":[0,0],"to":[0,0]},{"t":168,"s":[89.8417,32.2013]}]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"st":0,"ip":0,"op":240,"bm":0,"sr":1},{"ty":3,"ddd":0,"ind":15,"hd":false,"nm":"Vector - Null","parent":14,"ks":{"a":{"a":0,"k":[0,0]},"o":{"a":1,"k":[{"t":44.4,"s":[0],"o":{"x":[0.5],"y":[0.35]},"i":{"x":[0.15],"y":[1]}},{"t":97.8,"s":[100]}]},"p":{"a":0,"k":[72.5802,0]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"st":0,"ip":0,"op":240,"bm":0,"sr":1},{"ty":4,"ddd":0,"ind":16,"hd":false,"nm":"Vector","parent":15,"ks":{"a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":1,"k":[{"t":44.4,"s":[0],"o":{"x":[0.5],"y":[0.35]},"i":{"x":[0.15],"y":[1]}},{"t":97.8,"s":[100]}]}},"st":0,"ip":0,"op":240,"bm":0,"sr":1,"shapes":[{"ty":"gr","nm":"Group","hd":false,"np":3,"it":[{"ty":"sh","nm":"Path","hd":false,"ks":{"a":0,"k":{"c":true,"v":[[12.8398,6.2403],[6.4199,12.4806],[0,6.2404],[6.4199,0.0001],[12.8398,6.2404],[12.8398,6.2403]],"i":[[0,0],[3.5431,0],[0,3.4439],[-3.5431,0],[0,-3.4439],[0,0]],"o":[[0,3.4512799999999997],[-3.54307,0],[0,-3.44392],[3.54307,0],[0,0],[0,0]]}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[1,1,1,1]},"nm":"Fill","hd":false,"r":1},{"ty":"tr","a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}}]}]},{"ty":3,"ddd":0,"ind":17,"hd":false,"nm":"Vector - Null","parent":14,"ks":{"a":{"a":0,"k":[0,0]},"o":{"a":1,"k":[{"t":44.4,"s":[0],"o":{"x":[0.5],"y":[0.35]},"i":{"x":[0.15],"y":[1]}},{"t":97.8,"s":[100]}]},"p":{"a":0,"k":[72.8147,16.2925]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"st":0,"ip":0,"op":240,"bm":0,"sr":1},{"ty":4,"ddd":0,"ind":18,"hd":false,"nm":"Vector","parent":17,"ks":{"a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":1,"k":[{"t":44.4,"s":[0],"o":{"x":[0.5],"y":[0.35]},"i":{"x":[0.15],"y":[1]}},{"t":97.8,"s":[100]}]}},"st":0,"ip":0,"op":240,"bm":0,"sr":1,"shapes":[{"ty":"gr","nm":"Group","hd":false,"np":3,"it":[{"ty":"sh","nm":"Path","hd":false,"ks":{"a":0,"k":{"c":true,"v":[[0,0],[12.3629,0],[12.3629,34.8366],[0,34.8366],[0,0]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]]}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[1,1,1,1]},"nm":"Fill","hd":false,"r":1},{"ty":"tr","a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}}]}]},{"ty":3,"ddd":0,"ind":19,"hd":false,"nm":"Vector - Null","parent":14,"ks":{"a":{"a":0,"k":[0,0]},"o":{"a":1,"k":[{"t":76.8,"s":[0],"o":{"x":[0.5],"y":[0.35]},"i":{"x":[0.15],"y":[1]}},{"t":131.4,"s":[100]}]},"p":{"a":0,"k":[147.2047,15.6287]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"st":0,"ip":0,"op":240,"bm":0,"sr":1},{"ty":4,"ddd":0,"ind":20,"hd":false,"nm":"Vector","parent":19,"ks":{"a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":1,"k":[{"t":76.8,"s":[0],"o":{"x":[0.5],"y":[0.35]},"i":{"x":[0.15],"y":[1]}},{"t":131.4,"s":[100]}]}},"st":0,"ip":0,"op":240,"bm":0,"sr":1,"shapes":[{"ty":"gr","nm":"Group","hd":false,"np":3,"it":[{"ty":"sh","nm":"Path","hd":false,"ks":{"a":0,"k":{"c":false,"v":[[0,2.7314],[0,35.5002],[12.3629,35.5002],[12.3629,9.0674],[17.9501,10.0977],[20.4787,0.2075],[0.0076,2.7316]],"i":[[0,0],[0,0],[0,0],[0,0],[-2.0668,-1.1627],[0,0],[4.4516,-2.0678]],"o":[[0,0],[0,0],[0,0],[1.59741,-0.3237900000000007],[0,0],[-10.84118,-0.70644],[0,0]]}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[1,1,1,1]},"nm":"Fill","hd":false,"r":1},{"ty":"tr","a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}}]}]},{"ty":3,"ddd":0,"ind":21,"hd":false,"nm":"Vector - Null","parent":14,"ks":{"a":{"a":0,"k":[0,0]},"o":{"a":1,"k":[{"t":64.80000000000001,"s":[0],"o":{"x":[0.5],"y":[0.35]},"i":{"x":[0.15],"y":[1]}},{"t":119.4,"s":[100]}]},"p":{"a":0,"k":[109.8808,15.5055]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"st":0,"ip":0,"op":240,"bm":0,"sr":1},{"ty":4,"ddd":0,"ind":22,"hd":false,"nm":"Vector","parent":21,"ks":{"a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":1,"k":[{"t":64.80000000000001,"s":[0],"o":{"x":[0.5],"y":[0.35]},"i":{"x":[0.15],"y":[1]}},{"t":119.4,"s":[100]}]}},"st":0,"ip":0,"op":240,"bm":0,"sr":1,"shapes":[{"ty":"gr","nm":"Group","hd":false,"np":4,"it":[{"ty":"sh","nm":"Path","hd":false,"ks":{"a":0,"k":{"c":false,"v":[[32.6144,10.2508],[29.2606,4.5992],[17.0794,0],[10.6519,1.1995],[5.3449,4.7464],[1.4687,10.5819],[0,18.706],[1.1204,25.8514],[4.6407,31.6501],[10.3868,35.4987],[18.8054,36.8969],[22.5832,36.6982],[26.1112,36.2052],[29.1243,35.5135],[31.3425,34.7041],[31.7438,34.5054],[30.2145,25.5277],[29.5029,25.8368],[25.3542,26.9848],[20.1229,27.4558],[13.7106,25.8222],[11.2198,22.187],[33.4927,22.187],[33.5381,21.6425],[33.6744,19.8616],[33.7425,17.9851],[32.6221,10.2363]],"i":[[0,0],[1.4839,1.5233],[5.1026,0],[2.0744,-0.7947],[1.605,-1.5527],[0.969,-2.318],[0,-3.076],[-0.7419,-2.1929],[-1.5823,-1.6263],[-2.3923,-0.9272],[-3.2024,0],[-1.2567,0.1325],[-1.0977,0.1987],[-0.9009,0.2649],[-0.5602,0.2723],[0,0],[0,0],[0,0],[1.6958,-0.3091],[1.7715,0],[1.5671,1.0817],[0.318,1.5012],[0,0],[0,0],[-0.0454,0.6697],[0,0.5593],[0.7419,2.2371]],"o":[[-0.7495000000000012,-2.237070000000001],[-2.9828399999999995,-3.0539],[-2.18792,0],[-2.08193,0.8021099999999999],[-1.6049800000000003,1.5527100000000003],[-0.97662,2.3180200000000006],[0,2.546140000000001],[0.7570700000000001,2.2223599999999983],[1.5747,1.626290000000001],[2.38476,0.9272100000000023],[1.256730000000001,0],[1.2491599999999998,-0.1324600000000018],[1.0977500000000013,-0.19868999999999915],[0.9160499999999985,-0.2649199999999965],[0,0],[0,0],[0,0],[-1.0598899999999993,0.4488899999999987],[-1.7033999999999985,0.31643000000000043],[-2.6875800000000005,0],[-1.35515,-0.9345700000000008],[0,0],[0,0],[0.045420000000000016,-0.5224699999999984],[0.045420000000000016,-0.6843700000000013],[0,-2.9214400000000005],[0,0]]}}},{"ty":"sh","nm":"Path","hd":false,"ks":{"a":0,"k":{"c":true,"v":[[11.2576,14.4306],[11.6512,11.7888],[17.1399,7.6532],[22.6059,11.7888],[22.9238,13.2606],[23.0298,14.4306],[11.2576,14.4306]],"i":[[0,0],[-0.4845,1.6263],[-3.4674,0],[-1.3551,-4.3417],[-0.0681,-0.5445],[0,-0.5961],[0,0]],"o":[[0,0],[0.5905100000000001,-1.9721600000000006],[0,0],[0.13626999999999967,0.4415300000000002],[0.06813999999999965,0.5003999999999991],[0,0],[0,0]]}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[1,1,1,1]},"nm":"Fill","hd":false,"r":1},{"ty":"tr","a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}}]}]},{"ty":3,"ddd":0,"ind":23,"hd":false,"nm":"Vector - Null","parent":14,"ks":{"a":{"a":0,"k":[0,0]},"o":{"a":1,"k":[{"t":32.400000000000006,"s":[0],"o":{"x":[0.5],"y":[0.35]},"i":{"x":[0.15],"y":[1]}},{"t":87,"s":[100]}]},"p":{"a":0,"k":[36.4073,15.6449]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"st":0,"ip":0,"op":240,"bm":0,"sr":1},{"ty":4,"ddd":0,"ind":24,"hd":false,"nm":"Vector","parent":23,"ks":{"a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":1,"k":[{"t":32.400000000000006,"s":[0],"o":{"x":[0.5],"y":[0.35]},"i":{"x":[0.15],"y":[1]}},{"t":87,"s":[100]}]}},"st":0,"ip":0,"op":240,"bm":0,"sr":1,"shapes":[{"ty":"gr","nm":"Group","hd":false,"np":3,"it":[{"ty":"sh","nm":"Path","hd":false,"ks":{"a":0,"k":{"c":false,"v":[[15.5577,0],[0,2.6492],[0,35.4841],[12.3175,35.4841],[12.3175,9.0513],[15.2171,8.86],[19.8428,11.8329],[19.8428,35.4841],[32.3041,35.4841],[32.3041,11.7005],[15.5502,0]],"i":[[0,0],[3.9292,-1.5527],[0,0],[0,0],[0,0],[-0.8025,0],[0,-2.0825],[0,0],[0,0],[0,0],[12.9004,0]],"o":[[-6.91958,0],[0,0],[0,0],[0,0],[0.46937999999999924,-0.06622999999999912],[2.1954900000000013,0],[0,0],[0,0],[0,0],[0,-7.63107],[0,0]]}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[1,1,1,1]},"nm":"Fill","hd":false,"r":1},{"ty":"tr","a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}}]}]},{"ty":3,"ddd":0,"ind":25,"hd":false,"nm":"Vector - Null","parent":14,"ks":{"a":{"a":0,"k":[0,0]},"o":{"a":1,"k":[{"t":22.2,"s":[0],"o":{"x":[0.5],"y":[0.35]},"i":{"x":[0.15],"y":[1]}},{"t":76.8,"s":[100]}]},"p":{"a":0,"k":[0,16.2848]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"st":0,"ip":0,"op":240,"bm":0,"sr":1},{"ty":4,"ddd":0,"ind":26,"hd":false,"nm":"Vector","parent":25,"ks":{"a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":1,"k":[{"t":22.2,"s":[0],"o":{"x":[0.5],"y":[0.35]},"i":{"x":[0.15],"y":[1]}},{"t":76.8,"s":[100]}]}},"st":0,"ip":0,"op":240,"bm":0,"sr":1,"shapes":[{"ty":"gr","nm":"Group","hd":false,"np":3,"it":[{"ty":"sh","nm":"Path","hd":false,"ks":{"a":0,"k":{"c":true,"v":[[19.9563,0.0074],[19.9563,21.0756],[16.2316,24.2399],[12.363,21.1419],[12.363,0.0074],[0.0001,0.0074],[0.0001,21.3332],[15.626,35.6167],[32.3041,21.2671],[32.3041,0.0002],[19.9412,0.0002],[19.9563,0.0074]],"i":[[0,0],[0,0],[1.7942,0],[0,2.3254],[0,0],[0,0],[0,0],[-9.5088,0],[0,9.4413],[0,0],[0,0],[0,0]],"o":[[0,0],[0,2.39161],[-1.79425,0],[0,0],[0,0],[0,0],[0,9.37511],[9.508749999999997,0],[0,0],[0,0],[0,0],[0,0]]}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[1,1,1,1]},"nm":"Fill","hd":false,"r":1},{"ty":"tr","a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}}]}]},{"ty":3,"ddd":0,"ind":27,"hd":false,"nm":"Vector - Null","parent":14,"ks":{"a":{"a":0,"k":[0,0]},"o":{"a":1,"k":[{"t":54.6,"s":[0],"o":{"x":[0.5],"y":[0.35]},"i":{"x":[0.15],"y":[1]}},{"t":108,"s":[100]}]},"p":{"a":0,"k":[88.623,0.1502]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"st":0,"ip":0,"op":240,"bm":0,"sr":1},{"ty":4,"ddd":0,"ind":28,"hd":false,"nm":"Vector","parent":27,"ks":{"a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":1,"k":[{"t":54.6,"s":[0],"o":{"x":[0.5],"y":[0.35]},"i":{"x":[0.15],"y":[1]}},{"t":108,"s":[100]}]}},"st":0,"ip":0,"op":240,"bm":0,"sr":1,"shapes":[{"ty":"gr","nm":"Group","hd":false,"np":3,"it":[{"ty":"sh","nm":"Path","hd":false,"ks":{"a":0,"k":{"c":false,"v":[[20.5619,9.5047],[20.5619,0.3283],[3.4144,13.9715],[3.4144,16.1718],[0,16.1718],[0,25.672],[3.4144,25.672],[3.4144,51.0083],[15.7697,51.0083],[15.7697,25.672],[20.5543,25.672],[20.5543,16.1718],[15.7697,16.1718],[15.7697,13.0075],[20.5543,9.5194]],"i":[[0,0],[0,0],[0,-10.5378],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-3.3917,-0.3238]],"o":[[0,0],[-11.49983,-1.67781],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,-3.1642799999999998],[0,0]]}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[1,1,1,1]},"nm":"Fill","hd":false,"r":1},{"ty":"tr","a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}}]}]}]},{"nm":"[FRAME] Logo UniferX - Null / Mark - Null / Mark / Text","fr":60,"id":"lqwldr6amvv38mz5xzq","layers":[{"ty":3,"ddd":0,"ind":29,"hd":false,"nm":"Logo UniferX - Null","ks":{"a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[602,356]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"st":0,"ip":0,"op":240,"bm":0,"sr":1},{"ty":3,"ddd":0,"ind":30,"hd":false,"nm":"Mark - Null","parent":29,"ks":{"a":{"a":0,"k":[28.9124,29.7663]},"o":{"a":0,"k":100},"p":{"a":1,"k":[{"t":6,"s":[118.0001,36.2363],"o":{"x":[0.5],"y":[0.35]},"i":{"x":[0.15],"y":[1]},"ti":[0,0],"to":[0,0]},{"t":162,"s":[202.08239999999998,36.2363]}]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"st":0,"ip":0,"op":240,"bm":0,"sr":1},{"ty":4,"ddd":0,"ind":31,"hd":false,"nm":"Mark","parent":30,"ks":{"a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}},"st":0,"ip":0,"op":240,"bm":0,"sr":1,"shapes":[{"ty":"gr","nm":"Group","hd":false,"np":3,"it":[{"ty":"sh","nm":"Path","hd":false,"ks":{"a":0,"k":{"c":false,"v":[[34.8705,29.321],[57.5446,0.6511],[28.8367,21.2336],[0.4694,0.7026],[22.7651,29.3136],[0.0001,58.8812],[28.8368,37.4744],[57.8248,59.0283],[34.863,29.3135]],"i":[[0,0],[-7.9795,2.2591],[4.3001,-16.0569],[15.7848,-3.2084],[-14.4902,-4.327],[10.7655,-3.0686],[-3.967,15.5197],[-15.8605,2.7669],[14.0663,0]],"o":[[13.82403,-3.2452299999999994],[-16.557029999999997,-2.81106],[-4.2622800000000005,-15.79934],[8.5397,2.20764],[-11.17429,0],[16.85229,2.950879999999998],[4.065439999999999,15.497630000000001],[-10.56107,-1.0375900000000016],[0,0]]}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0,1,0,1]},"nm":"Fill","hd":false,"r":1},{"ty":"tr","a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}}]}]},{"ddd":0,"ind":32,"ty":0,"nm":"Text","refId":"lqwldr6djxkcaiduwd","sr":1,"ks":{"a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}},"ao":0,"w":1440,"h":800,"ip":0,"op":240,"st":0,"hd":false,"bm":0}]},{"nm":"Progress","fr":60,"id":"lqwldr6qh5xpu4e8m4","layers":[{"ty":3,"ddd":0,"ind":40,"hd":false,"nm":"Progress - Null","ks":{"a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[608,440]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"st":0,"ip":0,"op":240,"bm":0,"sr":1},{"ty":3,"ddd":0,"ind":34,"hd":false,"nm":"Rectangle - Null","parent":40,"ks":{"a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"st":0,"ip":0,"op":240,"bm":0,"sr":1},{"ty":4,"ddd":0,"ind":35,"hd":false,"nm":"Rectangle","parent":34,"ks":{"a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}},"st":0,"ip":0,"op":240,"bm":0,"sr":1,"shapes":[{"ty":"gr","nm":"Group","hd":false,"np":3,"it":[{"ty":"sh","nm":"Path","hd":false,"ks":{"a":1,"k":[{"t":0,"s":[{"c":true,"v":[[0,0],[0,0],[0,0],[0,4],[0,4],[0,4],[0,4],[0,0]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}],"o":{"x":[0.3365],"y":[0.2115]},"i":{"x":[0.0237],"y":[0.9808]}},{"t":240,"s":[{"c":true,"v":[[0,0],[224,0],[224,0],[224,4],[224,4],[0,4],[0,4],[0,0]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}]}]}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0,1,0,1]},"nm":"Fill","hd":false,"r":1},{"ty":"tr","a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}}]}]},{"ty":4,"ddd":0,"ind":36,"hd":false,"nm":"Progress","parent":40,"ks":{"a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}},"st":0,"ip":0,"op":240,"bm":0,"sr":1,"shapes":[{"ty":"gr","nm":"Group","hd":false,"np":3,"it":[{"ty":"sh","nm":"Path","hd":false,"ks":{"a":0,"k":{"c":true,"v":[[2,0],[222,0],[224,2],[224,2],[222,4],[2,4],[0,2],[0,2],[2,0],[2,0]],"i":[[0,0],[0,0],[0,-1.1046],[0,0],[1.1046,0],[0,0],[0,1.1046],[0,0],[-1.1046,0],[0,0]],"o":[[0,0],[1.1045699999999954,0],[0,0],[0,1.1045699999999998],[0,0],[-1.10457,0],[0,0],[0,-1.10457],[0,0],[0,0]]}}},{"ty":"fl","o":{"a":0,"k":20},"c":{"a":0,"k":[1,1,1,1]},"nm":"Fill","hd":false,"r":1},{"ty":"tr","a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}}]}]}]},{"nm":"Preloader","fr":60,"id":"lqwldr680ead7dvt8bwj","layers":[{"ty":3,"ddd":0,"ind":37,"hd":false,"nm":"Preloader - Null","ks":{"a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"st":0,"ip":0,"op":240,"bm":0,"sr":1},{"ddd":0,"ind":38,"ty":0,"nm":"Logo UniferX","refId":"lqwldr6amvv38mz5xzq","sr":1,"ks":{"a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}},"ao":0,"w":1440,"h":800,"ip":0,"op":240,"st":0,"hd":false,"bm":0},{"ty":3,"ddd":0,"ind":39,"hd":false,"nm":"Progress - Null","ks":{"a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[608,440]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"st":0,"ip":0,"op":240,"bm":0,"sr":1},{"ty":3,"ddd":0,"ind":40,"hd":false,"nm":"Progress - Null","ks":{"a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[608,440]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"st":0,"ip":0,"op":240,"bm":0,"sr":1},{"ddd":0,"ind":41,"ty":0,"nm":"Progress","td":1,"refId":"3567:24596","sr":1,"ks":{"a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}},"ao":0,"w":1440,"h":800,"ip":0,"op":240,"st":0,"hd":false,"bm":0},{"ddd":0,"ind":42,"ty":0,"nm":"Progress","refId":"lqwldr6qh5xpu4e8m4","sr":1,"ks":{"a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}},"ao":0,"w":1440,"h":800,"ip":0,"op":240,"st":0,"hd":false,"bm":0,"tt":1},{"ty":4,"ddd":0,"ind":43,"hd":false,"nm":"Preloader","parent":37,"ks":{"a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}},"st":0,"ip":0,"op":240,"bm":0,"sr":1,"shapes":[{"ty":"gr","nm":"Group","hd":false,"np":3,"it":[{"ty":"sh","nm":"Path","hd":false,"ks":{"a":0,"k":{"c":true,"v":[[0,0],[1440,0],[1440,0],[1440,800],[1440,800],[0,800],[0,800],[0,0]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}}},{"ty":"gf","o":{"a":0,"k":100},"g":{"p":2,"k":{"a":0,"k":[0,0.09803921568627451,0.38823529411764707,0.4196078431372549,1,0,1,0,0,0,1,0.7]}},"s":{"a":0,"k":[722.2154258763405,-0.000003360184469825132]},"e":{"a":0,"k":[722.2154354442332,799.9999966398155]},"t":1,"nm":"Fill","hd":false,"r":1},{"ty":"tr","a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}}]}]},{"ty":4,"ddd":0,"ind":44,"hd":false,"nm":"Preloader","parent":37,"ks":{"a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}},"st":0,"ip":0,"op":240,"bm":0,"sr":1,"shapes":[{"ty":"gr","nm":"Group","hd":false,"np":3,"it":[{"ty":"sh","nm":"Path","hd":false,"ks":{"a":0,"k":{"c":true,"v":[[0,0],[1440,0],[1440,0],[1440,800],[1440,800],[0,800],[0,800],[0,0]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.07058823529411765,0.08235294117647059,0.09019607843137255,1]},"nm":"Fill","hd":false,"r":1},{"ty":"tr","a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}}]}]}]}],"layers":[{"ty":3,"ddd":0,"ind":37,"hd":false,"nm":"Preloader - Null","ks":{"a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"st":0,"ip":0,"op":240,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":0,"nm":"Preloader","refId":"lqwldr680ead7dvt8bwj","sr":1,"ks":{"a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}},"ao":0,"w":1440,"h":800,"ip":0,"op":240,"st":0,"hd":false,"bm":0}],"meta":{"a":"","d":"","tc":"","g":"Aninix"}}'),uy=JSON.parse('{"nm":"Preloader X","v":"5.9.6","fr":60,"ip":0,"op":119,"w":1440,"h":800,"ddd":0,"markers":[],"assets":[{"nm":"Preloader X","fr":60,"id":"lr0iaaxxb3dp9w61bfq","layers":[{"ty":3,"ddd":0,"ind":5,"hd":false,"nm":"Preloader X - Null","ks":{"a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"st":0,"ip":0,"op":120,"bm":0,"sr":1},{"ty":3,"ddd":0,"ind":6,"hd":false,"nm":"Mark - Null","parent":5,"ks":{"a":{"a":0,"k":[40,40]},"o":{"a":0,"k":100},"p":{"a":0,"k":[725,405]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"st":0,"ip":0,"op":120,"bm":0,"sr":1},{"ty":4,"ddd":0,"ind":7,"hd":false,"nm":"Mark","parent":6,"ks":{"a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}},"st":0,"ip":0,"op":120,"bm":0,"sr":1,"shapes":[{"ty":"gr","nm":"Group","hd":false,"np":3,"it":[{"ty":"sh","nm":"Path","hd":false,"ks":{"a":1,"k":[{"t":0,"s":[{"c":false,"v":[[47.2127,39.4764],[74.6609,5.7656],[39.9084,29.9671],[5.5682,5.8262],[32.5583,39.4678],[5,74.2342],[39.9084,49.0636],[75,74.4073],[47.2035,39.4678]],"i":[[0,0],[-9.6596,2.6564],[5.2055,-18.8801],[19.1084,-3.7726],[-17.5412,-5.0878],[13.0322,-3.6082],[-4.8023,18.2485],[-19.2,3.2534],[17.028,0]],"o":[[16.73475,-3.8158299999999983],[-20.0432,-3.30532],[-5.159729999999996,-18.57728],[10.337779999999999,2.5958000000000006],[-13.5271,0],[20.40063,3.4697199999999953],[4.921439999999997,18.22253],[-12.784759999999999,-1.2200299999999942],[0,0]]}],"o":{"x":[0.5],"y":[0.35]},"i":{"x":[0.15],"y":[1]}},{"t":60,"s":[{"c":false,"v":[[48.243,39.4016],[79.6124,0.8749],[39.8953,28.5338],[0.6493,0.9442],[31.4952,39.3917],[0,79.1248],[39.8954,50.3583],[80.0001,79.3225],[48.2327,39.3917]],"i":[[0,0],[-11.0395,3.0358],[5.9492,-21.5773],[21.8382,-4.3115],[-20.0471,-5.8146],[14.894,-4.1236],[-5.4884,20.8554],[-21.9429,3.7182],[19.4606,0]],"o":[[19.12542,-4.3609500000000025],[-22.90652,-3.7775100000000004],[-5.896830000000001,-21.23118],[11.81461,2.96663],[-15.45954,0],[23.315,3.9654000000000025],[5.624510000000001,20.825739999999996],[-14.611149999999995,-1.3943199999999933],[0,0]]}],"o":{"x":[0.5],"y":[0.35]},"i":{"x":[0.15],"y":[1]}},{"t":120,"s":[{"c":false,"v":[[47.2127,39.4764],[74.6609,5.7656],[39.9084,29.9671],[5.5682,5.8262],[32.5583,39.4678],[5,74.2342],[39.9084,49.0636],[75,74.4073],[47.2035,39.4678]],"i":[[0,0],[-9.6596,2.6564],[5.2055,-18.8801],[19.1084,-3.7726],[-17.5412,-5.0878],[13.0322,-3.6082],[-4.8023,18.2485],[-19.2,3.2534],[17.028,0]],"o":[[16.73475,-3.8158299999999983],[-20.0432,-3.30532],[-5.159729999999996,-18.57728],[10.337779999999999,2.5958000000000006],[-13.5271,0],[20.40063,3.4697199999999953],[4.921439999999997,18.22253],[-12.784759999999999,-1.2200299999999942],[0,0]]}]}]}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0,1,0,1]},"nm":"Fill","hd":false,"r":1},{"ty":"tr","a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}}]}]},{"ty":4,"ddd":0,"ind":8,"hd":false,"nm":"Preloader X","parent":5,"ks":{"a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}},"st":0,"ip":0,"op":120,"bm":0,"sr":1,"shapes":[{"ty":"gr","nm":"Group","hd":false,"np":3,"it":[{"ty":"sh","nm":"Path","hd":false,"ks":{"a":0,"k":{"c":true,"v":[[0,0],[1440,0],[1440,0],[1440,800],[1440,800],[0,800],[0,800],[0,0]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}}},{"ty":"gf","o":{"a":0,"k":100},"g":{"p":2,"k":{"a":0,"k":[0,0.09803921568627451,0.38823529411764707,0.4196078431372549,1,0,1,0,0,0,1,0.699999988079071]}},"s":{"a":0,"k":[722.2154258755136,-0.000003360373182693965]},"e":{"a":0,"k":[722.2154354452384,799.9999966396268]},"t":1,"nm":"Fill","hd":false,"r":1},{"ty":"tr","a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}}]}]},{"ty":4,"ddd":0,"ind":9,"hd":false,"nm":"Preloader X","parent":5,"ks":{"a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}},"st":0,"ip":0,"op":120,"bm":0,"sr":1,"shapes":[{"ty":"gr","nm":"Group","hd":false,"np":3,"it":[{"ty":"sh","nm":"Path","hd":false,"ks":{"a":0,"k":{"c":true,"v":[[0,0],[1440,0],[1440,0],[1440,800],[1440,800],[0,800],[0,800],[0,0]],"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]]}}},{"ty":"fl","o":{"a":0,"k":100},"c":{"a":0,"k":[0.07058823529411765,0.08235294117647059,0.09019607843137255,1]},"nm":"Fill","hd":false,"r":1},{"ty":"tr","a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}}]}]}]}],"layers":[{"ty":3,"ddd":0,"ind":5,"hd":false,"nm":"Preloader X - Null","ks":{"a":{"a":0,"k":[0,0]},"o":{"a":0,"k":100},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0}},"st":0,"ip":0,"op":120,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":0,"nm":"Preloader X","refId":"lr0iaaxxb3dp9w61bfq","sr":1,"ks":{"a":{"a":0,"k":[0,0]},"p":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"sa":{"a":0,"k":0},"r":{"a":0,"k":0},"o":{"a":0,"k":100}},"ao":0,"w":1440,"h":800,"ip":0,"op":120,"st":0,"hd":false,"bm":0}],"meta":{"a":"","d":"","tc":"","g":"Aninix"}}'),py=e=>{let{main:t=!1}=e;return t?(0,$o.jsx)(dy,{loop:!1,animationData:hy,play:!0,speed:1,className:"preloader",rendererSettings:{preserveAspectRatio:"xMidYMid slice"}}):(0,$o.jsx)(dy,{loop:!0,animationData:uy,play:!0,className:"preloader",rendererSettings:{preserveAspectRatio:"xMidYMid slice"}})},fy=()=>{const e=Ss(),n=hs(vr),r=hs(mr),{fs_title:i,fs_title_background:a,fs_view_button:s,agricultural_tag:o,agricultural_title:l,agricultural_description:c}=hs(fr);(0,t.useEffect)((()=>{e(cr())}),[e]);const d=(0,t.useRef)();return Sg({items:[".product-card "],container:d,dependencies:[r]}),r?(0,$o.jsx)(py,{}):(0,$o.jsxs)("div",{ref:d,children:[(0,$o.jsx)(sl,{title:i,image:a,buttonText:s,onClickButton:()=>Wa("product-card-container",100)}),(0,$o.jsx)("section",{className:"container",children:(0,$o.jsx)("div",{className:"inner-container type-2",children:(0,$o.jsxs)("div",{className:"main-text-container",children:[(0,$o.jsx)(ll,{children:o}),(0,$o.jsx)(ol,{className:"has-animation",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:l}})}),(0,$o.jsx)("div",{className:"offset-left-4 max-width-760",children:(0,$o.jsx)(ol,{size:"super-small",className:"has-animation",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:c}})})})]})})}),(0,$o.jsx)(tl,{data:n})]})},my=()=>{const e=Ss(),n=hs(or);(0,t.useEffect)((()=>{e(ir())}),[e]);const{fs_title:r,fs_view_button:i,fs_title_background:a,agricultural_tag:s,agricultural_title:o,agricultural_description:l,crop_nutrition_programs:c,trial_results:d,information_materials:h}=hs(sr),u=[{slug:Fo.cropNutritionPrograms,...c},{slug:Fo.trialResults,...d},{slug:Fo.informationMaterials,...h}],p=(0,t.useRef)();return Sg({items:[".product-card"],container:p,dependencies:[n]}),n?(0,$o.jsx)(py,{}):(0,$o.jsxs)("div",{ref:p,children:[(0,$o.jsx)(sl,{title:r,image:a,buttonText:i,onClickButton:()=>Wa("product-card-container",100)}),(0,$o.jsx)("section",{className:"container",children:(0,$o.jsx)("div",{className:"inner-container type-2",children:(0,$o.jsxs)("div",{className:"main-text-container",children:[(0,$o.jsx)(ll,{children:s}),(0,$o.jsx)(ol,{className:"has-animation",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:o}})}),(0,$o.jsx)("div",{className:"offset-left-4 max-width-760",children:(0,$o.jsx)(ol,{size:"super-small",className:"has-animation",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:l}})})})]})})}),(0,$o.jsx)(tl,{data:u})]})};const gy=__webpack_require__.p+"static/media/GoodfaceLogo.d13214ff6ee9bfd14094468112bd4e1c.svg",yy=e=>{let{children:t,pathName:n}=e;const r=Fo[n];return(0,$o.jsx)(No,{to:r,className:"button-text",children:t})},vy=()=>{const{menu_logo:e}=hs(Ta);return(0,$o.jsx)(No,{to:"/",children:(0,$o.jsx)("img",{src:e,alt:"",className:"main-logo-icon"})})};var xy,Sy;function Ay(){return Ay=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ay.apply(this,arguments)}function by(e,n){let{title:r,titleId:i,...a}=e;return t.createElement("svg",Ay({width:24,height:24,viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",ref:n,"aria-labelledby":i},a),r?t.createElement("title",{id:i},r):null,xy||(xy=t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4.81858 6.71713C5.16627 6.40964 5.62012 6.25 6.07692 6.25H17.9231C18.3799 6.25 18.8337 6.40965 19.1814 6.71713C19.5321 7.02724 19.75 7.46906 19.75 7.95238V16.0476C19.75 16.5309 19.5321 16.9728 19.1814 17.2829C18.8337 17.5904 18.3799 17.75 17.9231 17.75H6.07692C5.62012 17.75 5.16626 17.5904 4.81858 17.2829C4.4679 16.9728 4.25 16.5309 4.25 16.0476V7.95238C4.25 7.46906 4.4679 7.02725 4.81858 6.71713ZM6.07692 7.75C5.96249 7.75 5.86851 7.79103 5.81227 7.84077C5.75902 7.88786 5.75 7.93053 5.75 7.95238V16.0476C5.75 16.0695 5.75902 16.1121 5.81227 16.1592C5.86851 16.209 5.96249 16.25 6.07692 16.25H17.9231C18.0375 16.25 18.1315 16.209 18.1877 16.1592C18.241 16.1121 18.25 16.0695 18.25 16.0476V7.95238C18.25 7.93053 18.241 7.88786 18.1877 7.84077C18.1315 7.79103 18.0375 7.75 17.9231 7.75H6.07692Z"})),Sy||(Sy=t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4.35852 7.61139C4.57314 7.25712 5.03433 7.14391 5.3886 7.35854L11.6955 11.1794C11.759 11.2164 11.8658 11.25 12 11.25C12.1342 11.25 12.241 11.2164 12.3044 11.1794L18.6114 7.35854C18.9657 7.14391 19.4268 7.25712 19.6415 7.61139C19.8561 7.96567 19.7429 8.42685 19.3886 8.64147L13.0719 12.4682C12.7474 12.6607 12.3683 12.75 12 12.75C11.6317 12.75 11.2526 12.6607 10.9281 12.4682L10.9221 12.4647L4.61138 8.64147C4.2571 8.42685 4.1439 7.96567 4.35852 7.61139Z"})))}const ky=t.forwardRef(by);__webpack_require__.p;var wy,jy;function My(){return My=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},My.apply(this,arguments)}function Py(e,n){let{title:r,titleId:i,...a}=e;return t.createElement("svg",My({width:24,height:24,viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",ref:n,"aria-labelledby":i},a),r?t.createElement("title",{id:i},r):null,wy||(wy=t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.7852 4.81772C7.13185 4.45773 7.60818 4.25 8.11111 4.25H15.8889C16.3918 4.25 16.8681 4.45773 17.2148 4.81772C17.5605 5.17675 17.75 5.65786 17.75 6.15385V18.8462C17.75 19.3421 17.5605 19.8233 17.2148 20.1823C16.8681 20.5423 16.3918 20.75 15.8889 20.75H8.11111C7.60818 20.75 7.13185 20.5423 6.7852 20.1823C6.43947 19.8233 6.25 19.3421 6.25 18.8462V6.15385C6.25 5.65786 6.43947 5.17675 6.7852 4.81772ZM8.11111 5.75C8.02467 5.75 7.93577 5.7854 7.86568 5.85819C7.79466 5.93194 7.75 6.0378 7.75 6.15385V18.8462C7.75 18.9622 7.79466 19.0681 7.86568 19.1418C7.93577 19.2146 8.02467 19.25 8.11111 19.25H15.8889C15.9753 19.25 16.0642 19.2146 16.1343 19.1418C16.2053 19.0681 16.25 18.9622 16.25 18.8462V6.15385C16.25 6.0378 16.2053 5.93194 16.1343 5.85819C16.0642 5.7854 15.9753 5.75 15.8889 5.75H8.11111Z"})),jy||(jy=t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10.25 16C10.25 15.5858 10.5858 15.25 11 15.25H13C13.4142 15.25 13.75 15.5858 13.75 16C13.75 16.4142 13.4142 16.75 13 16.75H11C10.5858 16.75 10.25 16.4142 10.25 16Z"})))}const Oy=t.forwardRef(Py);__webpack_require__.p;var Ty,Iy;function Cy(){return Cy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Cy.apply(this,arguments)}function Ey(e,n){let{title:r,titleId:i,...a}=e;return t.createElement("svg",Cy({width:24,height:24,viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",ref:n,"aria-labelledby":i},a),r?t.createElement("title",{id:i},r):null,Ty||(Ty=t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 8.75C11.3096 8.75 10.75 9.30964 10.75 10C10.75 10.6904 11.3096 11.25 12 11.25C12.6904 11.25 13.25 10.6904 13.25 10C13.25 9.30964 12.6904 8.75 12 8.75ZM9.25 10C9.25 8.48122 10.4812 7.25 12 7.25C13.5188 7.25 14.75 8.48122 14.75 10C14.75 11.5188 13.5188 12.75 12 12.75C10.4812 12.75 9.25 11.5188 9.25 10Z"})),Iy||(Iy=t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 4.75C10.6138 4.75 9.28047 5.3146 8.29436 6.32599C7.30762 7.33804 6.75 8.71462 6.75 10.1538C6.75 12.6596 8.11544 14.9508 9.57207 16.6688C10.292 17.5179 11.0136 18.2028 11.5554 18.6751C11.7232 18.8214 11.8733 18.9469 12 19.05C12.1267 18.9469 12.2768 18.8214 12.4446 18.6751C12.9864 18.2028 13.708 17.5179 14.4279 16.6688C15.8846 14.9508 17.25 12.6596 17.25 10.1538C17.25 8.71462 16.6924 7.33804 15.7056 6.32599C14.7195 5.3146 13.3862 4.75 12 4.75ZM12 20C11.5626 20.6092 11.5624 20.6091 11.5622 20.6089L11.5616 20.6085L11.56 20.6074L11.5553 20.604L11.5395 20.5924C11.5261 20.5826 11.5072 20.5687 11.4831 20.5506C11.435 20.5146 11.3661 20.4622 11.2795 20.3944C11.1063 20.2586 10.8618 20.0604 10.5696 19.8057C9.98636 19.2972 9.20803 18.559 8.42793 17.6389C6.88456 15.8185 5.25 13.1866 5.25 10.1538C5.25 8.32887 5.95667 6.57494 7.22036 5.27884C8.48468 3.9821 10.2036 3.25 12 3.25C13.7964 3.25 15.5153 3.9821 16.7796 5.27884C18.0433 6.57494 18.75 8.32887 18.75 10.1538C18.75 13.1866 17.1154 15.8185 15.5721 17.6389C14.792 18.559 14.0136 19.2972 13.4304 19.8057C13.1382 20.0604 12.8937 20.2586 12.7205 20.3944C12.6339 20.4622 12.565 20.5146 12.5169 20.5506C12.4928 20.5687 12.4739 20.5826 12.4605 20.5924L12.4447 20.604L12.44 20.6074L12.4384 20.6085L12.4378 20.6089C12.4376 20.6091 12.4374 20.6092 12 20ZM12 20L12.4374 20.6092L12 20.9233L11.5626 20.6092L12 20Z"})))}const Vy=t.forwardRef(Ey),Ry=(__webpack_require__.p,()=>{const e=hs(vr),{footer_description_text:t,menu_company_text:n,menu_about_text:r,menu_news_text:i,menu_career_text:a,menu_contacts_text:s,menu_products_text:o,menu_resources_text:l,menu_crop_nutrition_text:c,menu_trial_results_text:d,menu_information_materials_text:h,footer_social_media_text:u,footer_contacts_email_text:p,footer_contacts_phone_text:f,footer_contacts_address_text:m,footer_copyright_text:g,footer_terms_conditions_text:y,footer_legal_info_text:v,footer_instagram_link:x,footer_facebook_link:S,footer_youtube_link:A}=hs(Ta),b=()=>(0,$o.jsxs)("div",{className:"new-footer-start",children:[(0,$o.jsx)(vy,{}),(0,$o.jsx)("p",{className:"description-medium",children:t})]}),k=()=>(0,$o.jsxs)("div",{className:"footer-links-block",children:[(0,$o.jsx)("div",{className:"footer-title",children:n}),(0,$o.jsx)(yy,{pathName:"aboutUs",children:r}),(0,$o.jsx)(yy,{pathName:"news",children:i}),(0,$o.jsx)(yy,{pathName:"career",children:a}),(0,$o.jsx)(yy,{pathName:"contacts",children:s})]}),w=()=>(0,$o.jsxs)("div",{className:"footer-links-block",children:[(0,$o.jsx)("div",{className:"footer-title",children:o}),e.map((e=>(0,$o.jsx)(No,{to:Fo.products+"/"+e.slug,className:"button-text",children:e.preview_title},e.slug)))]}),j=()=>(0,$o.jsxs)("div",{className:"footer-links-block",children:[(0,$o.jsx)("div",{className:"footer-title",children:l}),(0,$o.jsx)(yy,{pathName:"cropNutritionPrograms",children:c}),(0,$o.jsx)(yy,{pathName:"trialResults",children:d}),(0,$o.jsx)(yy,{pathName:"informationMaterials",children:h})]}),M=()=>(0,$o.jsxs)("div",{children:[(0,$o.jsx)("div",{className:"footer-title",children:u}),(0,$o.jsxs)("div",{className:"footer-social",children:[(0,$o.jsx)(No,{target:"_blank",to:x,className:"button instagram"}),(0,$o.jsx)(No,{target:"_blank",to:S,className:"button facebook"}),(0,$o.jsx)(No,{target:"_blank",to:A,className:"button youtube"})]})]}),P=()=>(0,$o.jsxs)("div",{className:"footer-links-block",children:[(0,$o.jsx)("div",{className:"footer-title",children:s}),(0,$o.jsxs)("a",{href:"mailto:".concat(p),className:"footer-contact-link",children:[(0,$o.jsx)(ky,{}),(0,$o.jsx)("span",{children:p})]}),(0,$o.jsxs)("a",{href:"tel:".concat(f),className:"footer-contact-link",children:[(0,$o.jsx)(Oy,{}),(0,$o.jsx)("span",{children:f})]}),(0,$o.jsxs)("a",{href:"/#",className:"footer-contact-link",children:[(0,$o.jsx)(Vy,{}),(0,$o.jsx)("span",{children:m})]})]}),O=()=>(0,$o.jsxs)("div",{className:"footer-copy",children:[(0,$o.jsx)("p",{className:"copyright",children:g}),(0,$o.jsxs)("div",{className:"policies",children:[(0,$o.jsx)(yy,{pathName:"termsAndConditions",children:y}),(0,$o.jsx)(yy,{pathName:"legalInfo",children:v})]}),(0,$o.jsxs)("div",{className:"goodface-bar",children:[(0,$o.jsx)("span",{className:"body1",children:"Created by"}),(0,$o.jsxs)("a",{href:"https://goodface.agency",target:"_blank",rel:"noreferrer",className:"goodface-link",children:[(0,$o.jsx)("span",{children:"Goodface"}),(0,$o.jsx)("img",{src:gy,alt:"Goodface logo"})]})]})]});return(0,$o.jsx)("footer",{className:"container",children:(0,$o.jsxs)("div",{className:"new-footer",children:[(0,$o.jsxs)("div",{className:"new-footer-row",children:[(0,$o.jsx)(b,{}),(0,$o.jsx)(k,{}),(0,$o.jsx)(w,{}),(0,$o.jsx)(j,{})]}),(0,$o.jsxs)("div",{className:"new-footer-row",children:[(0,$o.jsx)("div",{}),(0,$o.jsx)(M,{}),(0,$o.jsx)(P,{})]}),(0,$o.jsx)(O,{})]})})}),Dy=e=>{const[n,r]=(0,t.useState)(!1);return(0,t.useEffect)((()=>{const t=window.matchMedia("(".concat(e,")"));t.matches!==n&&r(t.matches);const i=()=>r(t.matches);return window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)}),[n,e]),n};var By;function Gy(){return Gy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Gy.apply(this,arguments)}function qy(e,n){let{title:r,titleId:i,...a}=e;return t.createElement("svg",Gy({width:18,height:18,viewBox:"0 0 18 18",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",ref:n,"aria-labelledby":i},a),r?t.createElement("title",{id:i},r):null,By||(By=t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.00001 1.29291L16.7071 9.00001L9.00001 16.7071L7.5858 15.2929L12.8787 10H1.29291V8.00001H12.8787L7.5858 2.70712L9.00001 1.29291Z"})))}const Hy=t.forwardRef(qy),Wy=(__webpack_require__.p,e=>{let{item:t}=e;return(0,$o.jsxs)(No,{className:"header-navigation-card",to:t.link,children:[(0,$o.jsx)("span",{className:"header-navigation-card__icons",children:t.icons.map(((e,t)=>(0,$o.jsx)("img",{src:e,alt:"icon"},t)))}),(0,$o.jsxs)("span",{className:"header-navigation-card__title",children:[t.name,(0,$o.jsx)(Hy,{})]})]})}),zy=e=>{let{items:n,button:r}=e;const i=fo(),[a,s]=(0,t.useState)(!1);(0,t.useEffect)((()=>{s(!0);const e=setTimeout((()=>{s(!1)}),50);return()=>clearTimeout(e)}),[i]);const o=a?{display:"none"}:null;return(0,$o.jsxs)("div",{className:"navigation-item__dropdown",style:o,children:[(0,$o.jsx)("div",{className:"navigation-item__dropdown-items",children:n.map((e=>(0,$o.jsx)(Wy,{item:e},e.link)))}),r&&(0,$o.jsx)("div",{className:"navigation-item__dropdown-button",children:(0,$o.jsx)(al,{href:r.link,type:"learn-more-arrow white-text",children:r.name})})]})};var Jy;function Uy(){return Uy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Uy.apply(this,arguments)}function Ny(e,n){let{title:r,titleId:i,...a}=e;return t.createElement("svg",Uy({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,viewBox:"0 0 16 16",fill:"currentColor",ref:n,"aria-labelledby":i},a),r?t.createElement("title",{id:i},r):null,Jy||(Jy=t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M1.51978 6.57616L2.48005 5.42383L7.99991 10.0237L13.5198 5.42383L14.4801 6.57616L7.99991 11.9763L1.51978 6.57616Z"})))}const Ly=t.forwardRef(Ny),Yy=(__webpack_require__.p,e=>{let{name:t,link:n,hasList:r,onClickMobile:i,mobileClassName:a=""}=e;return r?(0,$o.jsxs)("div",{className:"navigation-item__name ".concat(a),onClick:()=>i(t),children:[(0,$o.jsx)("span",{children:t}),r&&(0,$o.jsx)(Ly,{className:"navigation-item__name-arrow"})]}):(0,$o.jsx)(No,{to:n,className:"navigation-item__name",children:(0,$o.jsx)("span",{children:t})})}),Fy=e=>{var t;let{category:n,mobileState:r,onClick:i}=e;const a=Ss(),s=null===(t=r.find((e=>e.name===n.name)))||void 0===t?void 0:t.isOpen;return(0,$o.jsxs)("div",{className:"navigation-item",onMouseOver:()=>a(Ya(!0)),onMouseLeave:()=>a(Ya(!1)),children:[(0,$o.jsx)(Yy,{mobileClassName:s?"opened":"",onClickMobile:i,link:n.link,name:n.name,hasList:!!n.items}),n.items&&(0,$o.jsx)(zy,{button:n.button,items:n.items})]})},Zy=()=>{const{footer_instagram_link:e,footer_facebook_link:t,footer_youtube_link:n}=hs(Ta);return(0,$o.jsxs)("div",{className:"social-media-section",children:[(0,$o.jsx)("p",{children:"We're on social media"}),(0,$o.jsxs)("div",{className:"social-media-wrapper",children:[(0,$o.jsx)(No,{target:"_blank",to:e,className:"button instagram"}),(0,$o.jsx)(No,{target:"_blank",to:t,className:"button facebook"}),(0,$o.jsx)(No,{target:"_blank",to:n,className:"button youtube"})]})]})};const Ky=__webpack_require__.p+"static/media/variant1.64445f5f4ad5602ca6f8f608ae4ccd6b.svg";const Qy=__webpack_require__.p+"static/media/variant2.ab39f172278087a342a22625bcdfb611.svg";const Xy=__webpack_require__.p+"static/media/variant3.a0f5c767658cfe200b15a8430a9501f4.svg";const _y=__webpack_require__.p+"static/media/variant4.a967d1c3055e1e96dfb1683193604458.svg";const $y=__webpack_require__.p+"static/media/variant5.eeb9b8e215af824a0b7b0207d13c6f69.svg";const ev=__webpack_require__.p+"static/media/variant6.5023db131f46ab9963fed588dea09c3b.svg";const tv=__webpack_require__.p+"static/media/variant7.df06ba0f50204170b7028a809458d263.svg";const nv=__webpack_require__.p+"static/media/variant8.10e57877d5c7fdd6232db935bd9a5da9.svg",rv=()=>{const e=Dy("max-width: 1023px"),n=hs(vr),r=fo(),{menu_company_text:i,menu_products_text:a,menu_resources_text:s,menu_contacts_text:o,menu_about_text:l,menu_news_text:c,menu_career_text:d,menu_all_products_btn:h,menu_crop_nutrition_text:u,menu_trial_results_text:p,menu_information_materials_text:f,menu_all_resources_btn:m}=hs(Ta),g=n.map((e=>({icons:[e.logo],name:e.preview_title,link:Fo.products+"/"+e.slug}))),y=(e=>{const{menu_company_text:t,menu_products_text:n,menu_resources_text:r,menu_contacts_text:i,menu_about_text:a,menu_news_text:s,menu_career_text:o,menu_all_products_btn:l,menu_crop_nutrition_text:c,menu_trial_results_text:d,menu_information_materials_text:h,menu_all_resources_btn:u,formated_products:p}=e;return[{id:1,name:t,items:[{name:a,link:Fo.aboutUs,icons:[Ky]},{name:s,link:Fo.news,icons:[nv,Qy,tv]},{name:o,link:Fo.career,icons:[Xy]}]},{id:2,name:n,button:{name:l,link:Fo.products},items:p},{id:3,name:r,button:{name:u,link:Fo.resources},items:[{icons:[_y],name:c,link:Fo.cropNutritionPrograms},{icons:[$y],name:d,link:Fo.trialResults},{icons:[ev],name:h,link:Fo.informationMaterials}]},{id:4,name:i,link:Fo.contacts}]})({menu_company_text:i,menu_products_text:a,menu_resources_text:s,menu_contacts_text:o,menu_about_text:l,menu_news_text:c,menu_career_text:d,menu_all_products_btn:h,menu_crop_nutrition_text:u,menu_trial_results_text:p,menu_information_materials_text:f,menu_all_resources_btn:m,formated_products:g}),v=y.filter((e=>!!e.items)).map((e=>({name:e.name,isOpen:!1}))),[x,S]=(0,t.useState)(v),A=e=>{const t=x.map((t=>({...t,isOpen:t.name===e&&!t.isOpen})));S(t)};return(0,t.useEffect)((()=>{S(v)}),[r]),(0,$o.jsxs)("div",{className:"header-nav",children:[y.map((e=>(0,$o.jsx)(Fy,{category:e,mobileState:x,onClick:A},e.id))),e&&(0,$o.jsx)(Zy,{})]})},iv=e=>{let{label:n="",options:r=[],onChange:i,selectedValue:a}=e;const{dropdown_not_selected_text:s}=hs(Ta),[o,l]=(0,t.useState)(!1),c=(0,t.useRef)(null);(0,t.useEffect)((()=>{const e=e=>{c.current&&!c.current.contains(e.target)&&l(!1)};return document.addEventListener("click",e),()=>{document.removeEventListener("click",e)}}),[]);return(0,$o.jsxs)("label",{className:"new-dropdown form-control-container",children:[n&&(0,$o.jsx)("div",{className:"form-control__label",children:n}),(0,$o.jsxs)("div",{className:"select-input ".concat(o?"-active":""," ").concat(a?"-selected":""),ref:c,children:[(0,$o.jsx)("div",{className:"--dropdown__value",onClick:()=>{l(!o)},children:(0,$o.jsx)("span",{className:"--dropdown__value-text body1",children:null!==a&&void 0!==a&&a.name?(0,$o.jsxs)("div",{className:"selected-item",children:[(null===a||void 0===a?void 0:a.icon)&&(0,$o.jsx)("img",{src:null===a||void 0===a?void 0:a.icon,alt:null===a||void 0===a?void 0:a.name}),null===a||void 0===a?void 0:a.name]}):(0,$o.jsx)("div",{children:s})})}),(0,$o.jsx)("ul",{children:r.filter((e=>(null===e||void 0===e?void 0:e.name)!==(null===a||void 0===a?void 0:a.name)&&!(null===e||void 0===e||!e.name))).map((e=>(0,$o.jsxs)("li",{className:"body1",onClick:()=>{return t=e,l(!1),void i(t);var t},children:[(null===e||void 0===e?void 0:e.icon)&&(0,$o.jsx)("img",{src:null===e||void 0===e?void 0:e.icon,alt:e.name}),e.name]},e.name)))})]})]})};var av;function sv(){return sv=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},sv.apply(this,arguments)}function ov(e,n){let{title:r,titleId:i,...a}=e;return t.createElement("svg",sv({width:20,height:20,viewBox:"0 0 20 20",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",ref:n,"aria-labelledby":i},a),r?t.createElement("title",{id:i},r):null,av||(av=t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18.5304 2.53044L19.0608 2.00011L18.0001 0.939453L17.4698 1.46978L10.0001 8.93945L2.53044 1.46978L2.00011 0.939453L0.939453 2.00011L1.46978 2.53044L8.93945 10.0001L1.46978 17.4698L0.939453 18.0001L2.00011 19.0608L2.53044 18.5304L10.0001 11.0608L17.4698 18.5304L18.0001 19.0608L19.0608 18.0001L18.5304 17.4698L11.0608 10.0001L18.5304 2.53044Z"})))}const lv=t.forwardRef(ov);__webpack_require__.p;var cv,dv;function hv(){return hv=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},hv.apply(this,arguments)}function uv(e,n){let{title:r,titleId:i,...a}=e;return t.createElement("svg",hv({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"currentColor",ref:n,"aria-labelledby":i},a),r?t.createElement("title",{id:i},r):null,cv||(cv=t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M11 4.25C7.27208 4.25 4.25 7.27208 4.25 11C4.25 14.7279 7.27208 17.75 11 17.75C14.7279 17.75 17.75 14.7279 17.75 11C17.75 7.27208 14.7279 4.25 11 4.25ZM2.75 11C2.75 6.44365 6.44365 2.75 11 2.75C15.5563 2.75 19.25 6.44365 19.25 11C19.25 15.5563 15.5563 19.25 11 19.25C6.44365 19.25 2.75 15.5563 2.75 11Z"})),dv||(dv=t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M16.3048 15.2432L21.1155 20.0538L20.0548 21.1145L15.2441 16.3038L16.3048 15.2432Z"})))}const pv=t.forwardRef(uv);__webpack_require__.p;var fv,mv,gv;function yv(){return yv=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},yv.apply(this,arguments)}function vv(e,n){let{title:r,titleId:i,...a}=e;return t.createElement("svg",yv({width:24,height:24,viewBox:"0 0 24 24",stroke:"currentColor",fill:"none",xmlns:"http://www.w3.org/2000/svg",ref:n,"aria-labelledby":i},a),r?t.createElement("title",{id:i},r):null,fv||(fv=t.createElement("path",{d:"M12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21Z",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})),mv||(mv=t.createElement("path",{d:"M8.25 12.0001C8.25 15.512 9.49969 18.6489 11.4637 20.7648C11.532 20.839 11.6149 20.8983 11.7072 20.9388C11.7995 20.9793 11.8992 21.0002 12 21.0002C12.1008 21.0002 12.2005 20.9793 12.2928 20.9388C12.3851 20.8983 12.468 20.839 12.5363 20.7648C14.5003 18.6489 15.75 15.512 15.75 12.0001C15.75 8.48824 14.5003 5.35137 12.5363 3.23543C12.468 3.16122 12.3851 3.10197 12.2928 3.06145C12.2005 3.02092 12.1008 3 12 3C11.8992 3 11.7995 3.02092 11.7072 3.06145C11.6149 3.10197 11.532 3.16122 11.4637 3.23543C9.49969 5.35137 8.25 8.48824 8.25 12.0001Z",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})),gv||(gv=t.createElement("path",{d:"M3 12H21",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})))}const xv=t.forwardRef(vv),Sv=(__webpack_require__.p,e=>({close:(0,$o.jsx)(lv,{}),search:(0,$o.jsx)(pv,{}),globe:(0,$o.jsx)(xv,{})}[e])),Av=e=>{let{onClick:t,size:n="",iconName:r="close",text:i=""}=e;const a="header-button header-button-".concat(r," header-button--").concat(n);return(0,$o.jsxs)("button",{className:a,onClick:t,children:[Sv(r),i&&(0,$o.jsx)("span",{children:i})]})},bv=e=>{let{onClose:n}=e;const r=Ss(),{country:i,language:a,languages:s,countries:o}=hs(di),{menu_change_country_text:l,menu_choose_country_text:c,menu_available_languages_text:d,menu_save_choice_text:h}=hs(Ta),[u,p]=t.useState({language:a,country:i}),f=go();return(0,$o.jsxs)("div",{className:"country-selector-popup",children:[(0,$o.jsx)("div",{className:"country-selector-popup__title",children:l}),(0,$o.jsx)(Av,{onClick:n,size:"small"}),(0,$o.jsxs)("div",{className:"country-selector-controls",children:[(0,$o.jsx)(iv,{label:c,selectedValue:u.country,options:o,onChange:e=>p({...u,country:e})}),(0,$o.jsx)(iv,{label:d,selectedValue:u.language,options:s,onChange:e=>p({...u,language:e})}),(0,$o.jsx)(al,{onClick:()=>{r(gi(u.language)),r(yi(u.country)),n(),f(0)},type:"default",children:h})]})]})},kv=e=>{let{isOpen:n,setIsOpen:r}=e;const{menu_change_country_text:i}=hs(Ta),a=(0,t.useRef)(null),s=()=>r(!n);return(0,t.useEffect)((()=>{const e=e=>{const t=e.target.matches("li.body1");!a.current||a.current.contains(e.target)||t||r(!1)};return document.addEventListener("click",e),()=>{document.removeEventListener("click",e)}}),[]),(0,$o.jsxs)("div",{ref:a,className:"country-selector-container",children:[(0,$o.jsx)(Av,{iconName:"globe",text:i,onClick:s}),n&&(0,$o.jsx)(bv,{onClose:s})]})},wv=e=>{let{value:t,onClear:n,onChange:r,inputRef:i}=e;const{menu_search_placeholder:a,menu_clear_button_text:s}=hs(Ta);return(0,$o.jsxs)("label",{className:"search-control",children:[(0,$o.jsx)(pv,{}),(0,$o.jsx)("input",{ref:i,value:t,onChange:r,type:"text",placeholder:a,className:"body1 search-control__input"}),!!t&&(0,$o.jsxs)("button",{className:"search-control__clear",onClick:n,children:[(0,$o.jsx)("span",{children:s}),(0,$o.jsx)(lv,{})]})]})},jv=e=>{let{title:t,slug:n,img:r,desc:i}=e;return(0,$o.jsxs)(No,{to:n,className:"result-item-card",children:[r&&(0,$o.jsx)("img",{src:r,alt:t}),(0,$o.jsxs)("div",{className:"result-item-card__desc",children:[(0,$o.jsx)("p",{children:t}),(0,$o.jsx)("p",{children:i})]}),(0,$o.jsx)("div",{className:"learn-more-arrow",children:(0,$o.jsx)("div",{})})]})},Mv=e=>{let{data:t,title:n,children:r,link:i,linkText:a}=e;return!!t.length&&(0,$o.jsxs)("div",{className:"result-category-block",children:[(0,$o.jsx)("div",{className:"result-category-block__title",children:n}),(0,$o.jsx)("div",{className:"result-category-block__content",children:r}),i&&(0,$o.jsx)(al,{href:i,type:"learn-more-arrow",className:"result-category-block__button",children:a})]})};const Pv=__webpack_require__.p+"static/media/pdf.97f7accb812c1c2a1929e053064cde0e.svg",Ov=()=>{const e=hs(Ba),t=hs(Ga),{menu_search_results_text:n,menu_search_not_found_text:r,menu_search_products_text:i,menu_search_all_products_text:a,menu_search_resources_text:s,menu_search_all_resources_text:o,menu_search_nutrition_programs_text:l,menu_search_all_nutrition_programs_text:c,menu_search_trial_results_text:d,menu_search_all_trial_results_text:h,menu_search_posts_text:u,menu_search_all_posts_text:p,menu_search_vacancies_text:f,menu_search_all_vacancies_text:m,menu_crop_nutrition_text:g,menu_information_materials_text:y,menu_trial_results_text:v,menu_career_text:x}=hs(Ta),{products:S,cropsNutrition:A,cropsTrials:b,posts:k,catalogs:w,vacancies:j,flyers:M}=e,P=!(null!==S&&void 0!==S&&S.length)&&!(null!==A&&void 0!==A&&A.length)&&!(null!==b&&void 0!==b&&b.length)&&!(null!==k&&void 0!==k&&k.length)&&!(null!==w&&void 0!==w&&w.length)&&!(null!==M&&void 0!==M&&M.length)&&!(null!==j&&void 0!==j&&j.length),O=P&&t?r:t&&!P?n:"Searching...",T=[...w,...M];return(0,$o.jsxs)("div",{className:"search-results",children:[(0,$o.jsx)("div",{className:"search-results-title",children:O}),(0,$o.jsxs)("div",{className:"search-results-content",children:[(0,$o.jsx)(Mv,{data:S,title:i,link:Fo.products,linkText:a,children:S.map((e=>{let{slug:t,preview_title:n,logo:r}=e;return(0,$o.jsx)(jv,{title:n,slug:Fo.products+"/"+t,img:r,desc:i},t)}))}),(0,$o.jsx)(Mv,{data:A,title:l,link:Fo.cropNutritionPrograms,linkText:c,children:A.map((e=>{let{icon:t,slug:n,title:r}=e;return(0,$o.jsx)(jv,{title:r,slug:Fo.cropNutritionPrograms+"/"+n,img:t,desc:g},n)}))}),(0,$o.jsx)(Mv,{data:b,title:d,link:Fo.trialResults,linkText:h,children:b.map((e=>{let{icon:t,slug:n,title:r}=e;return(0,$o.jsx)(jv,{title:r,slug:Fo.trialResults+"/"+n,img:t,desc:v},n)}))}),(0,$o.jsx)(Mv,{data:k,title:u,link:Fo.news,linkText:p,children:k.map((e=>{let{slug:t,title:n,title_background:r,type:i}=e;return(0,$o.jsx)(jv,{title:n,slug:Fo.news+"/"+t,img:r,desc:i},t)}))}),(0,$o.jsx)(Mv,{data:j,title:f,link:Fo.career,linkText:m,children:j.map((e=>{let{slug:t,title:n,title_background:r}=e;return(0,$o.jsx)(jv,{title:n,slug:Fo.career+"/"+t,img:r,desc:x},t)}))}),(0,$o.jsxs)(Mv,{data:T,title:s,link:Fo.informationMaterials,linkText:o,children:[null===w||void 0===w?void 0:w.map((e=>{let{id:t,title:n,image:r}=e;return(0,$o.jsx)(jv,{title:n,slug:Fo.informationMaterials,img:r,desc:y},t)})),null===M||void 0===M?void 0:M.map(((e,t)=>{let{title:n}=e;return(0,$o.jsx)(jv,{title:n,slug:Fo.informationMaterials,img:Pv,desc:y},t)}))]})]})]})},Tv=(e,n)=>{const[r,i]=(0,t.useState)(e);return(0,t.useEffect)((()=>{const t=setTimeout((()=>i(e)),n||500);return()=>{clearTimeout(t)}}),[e,n]),r},Iv=()=>{const e=Ss(),[n,r]=(0,t.useState)(""),i=Tv(n),a=(0,t.useRef)(null);return(0,t.useEffect)((()=>{a&&a.current.focus()}),[]),(0,t.useEffect)((()=>{i&&e(Va({search:i}))}),[e,i]),(0,$o.jsxs)("div",{className:"search-component",children:[(0,$o.jsx)(wv,{inputRef:a,value:n,onClear:()=>{r(""),e(qa())},onChange:e=>r(e.target.value)}),!!n&&(0,$o.jsx)(Ov,{})]})},Cv=e=>{let{isOpen:n,setIsOpen:r}=e;const i=Ss(),a=fo();return(0,t.useEffect)((()=>{r(!1),i(qa())}),[i,a,r]),(0,$o.jsxs)("div",{className:"search-container",children:[(0,$o.jsx)(Av,{iconName:n?"close":"search",onClick:()=>{r(!n),!1===n&&i(qa())}}),n&&(0,$o.jsx)("div",{className:"search-dropdown ".concat(n?"opened":""),children:(0,$o.jsx)(Iv,{})})]})},Ev=()=>(0,$o.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"56",height:"40",viewBox:"0 0 56 40",fill:"none",children:[(0,$o.jsx)("line",{x1:"16",y1:"15.25",x2:"41",y2:"15.25",stroke:"white",strokeWidth:"1.5"}),(0,$o.jsx)("line",{x1:"16",y1:"23.25",x2:"41",y2:"23.25",stroke:"white",strokeWidth:"1.5"})]}),Vv=()=>{const e=fo(),[n,r]=t.useState(!1),[i,a]=t.useState(!1),[s,o]=t.useState(!1),l=()=>r(!n),c=hs(Ua);return t.useEffect((()=>{r(!1)}),[e]),t.useEffect((()=>{s&&(a(!1),r(!1))}),[s]),t.useEffect((()=>{i&&(o(!1),r(!1))}),[i]),t.useEffect((()=>{c&&(o(!1),a(!1))}),[c]),t.useEffect((()=>{n&&(o(!1),a(!1))}),[n]),(0,$o.jsxs)($o.Fragment,{children:[!!n&&(0,$o.jsx)("div",{className:"overlay",onClick:l}),(0,$o.jsx)("header",{children:(0,$o.jsx)("div",{className:"container",children:(0,$o.jsx)("div",{className:"header ".concat(n?"mobile-menu-isOpen":""),children:(0,$o.jsxs)("div",{className:"header__main",children:[(0,$o.jsx)("div",{className:"header-logo",children:(0,$o.jsx)(vy,{})}),(0,$o.jsx)(rv,{}),(0,$o.jsxs)("div",{className:"header-finish",children:[(0,$o.jsx)(kv,{isOpen:i,setIsOpen:a}),(0,$o.jsx)(Cv,{isOpen:s,setIsOpen:o}),(0,$o.jsx)("button",{className:"burger-button",onClick:l,children:(0,$o.jsx)(Ev,{})})]})]})})})})]})},Rv=()=>{const{language:e}=hs(fi);return(0,$o.jsxs)($o.Fragment,{children:[(0,$o.jsx)(Vv,{}),(0,$o.jsx)("main",{className:"lang-"+(null===e||void 0===e?void 0:e.code),children:(0,$o.jsx)(Eo,{})}),(0,$o.jsx)(Ry,{})]})},Dv=e=>{let{Sidebar:t,children:n,mobileReversed:r=!1,containerType:i="",breakpoint:a="xl"}=e;return(0,$o.jsx)("div",{className:"inner-container ".concat(i),children:(0,$o.jsxs)("div",{className:"with-sidebar-layout ".concat(r?"mobile-reverse":""," ").concat(a),children:[(0,$o.jsx)("div",{className:"with-sidebar-layout__left",children:t}),(0,$o.jsx)("div",{className:"with-sidebar-layout__right",children:n})]})})},Bv=e=>{let{sidebar:t,children:n,className:r=""}=e;return(0,$o.jsx)("section",{className:"container form-section ".concat(r),children:(0,$o.jsx)(Dv,{Sidebar:t,breakpoint:"lg",children:n})})},Gv=e=>{let{children:t}=e;return(0,$o.jsxs)("div",{className:"new-form-sidebar",children:[(0,$o.jsx)("div",{className:"new-form-sidebar-inner",children:t}),(0,$o.jsx)("div",{className:"new-form-sidebar__gradient"})]})},qv=()=>{const{cta_tag:e,cta_title:t,cta_image:n}=hs(Ta);return(0,$o.jsxs)(Gv,{children:[(0,$o.jsx)(ll,{children:e}),(0,$o.jsx)("div",{className:"pb-24",children:(0,$o.jsx)(ol,{size:"middle",textColor:"white",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:t}})})}),(0,$o.jsx)("img",{src:n,alt:""})]})},Hv=e=>/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(e),Wv=e=>{let{value:n,onChange:r,label:i,placeholder:a,required:s=!1,type:o,className:l=""}=e;const{cta_required_error:c,cta_invalid_error:d}=hs(Ta),[h,u]=(0,t.useState)("");return(0,$o.jsx)("div",{className:"form-control-container ".concat(l),children:(0,$o.jsxs)("label",{className:"form-control ".concat(h?"invalid":""),children:[i&&(0,$o.jsxs)("span",{className:"form-control__label",children:[i,s?"*":""]}),(0,$o.jsx)("input",{onBlur:()=>{s&&u(""===n?c:""),"email"===o&&u(Hv(n)?"":d)},type:"text",placeholder:a,value:n,onChange:e=>r(e.target.value),className:"form-control__input"}),h&&(0,$o.jsx)("div",{className:"invalid-text",children:h})]})})},zv=e=>{let{value:t,onChange:n,label:r,placeholder:i}=e;return(0,$o.jsx)("div",{className:"form-control-container",children:(0,$o.jsxs)("label",{className:"form-control",children:[(0,$o.jsx)("span",{className:"form-control__label",children:r}),(0,$o.jsx)("textarea",{className:"form-control__textarea",value:t,onChange:e=>n(e.target.value),placeholder:i})]})})},Jv=e=>{let{checked:t,onChange:n,children:r}=e;return(0,$o.jsxs)("div",{className:"checkbox-container",children:[(0,$o.jsx)("div",{className:"checkbox",children:(0,$o.jsx)("input",{className:t?"checked":"",type:"checkbox",checked:t,onChange:n})}),(0,$o.jsx)("div",{className:"checkbox-label",children:r})]})},Uv=e=>{let{onClick:t,disabled:n=!1}=e;const{cta_submit_button:r}=hs(Ta);return(0,$o.jsx)("button",{className:"button-submit",onClick:t,disabled:n,children:r})},Nv=()=>{const{cta_thanks_title:e,cta_thanks_description:t,cta_thanks_image:n,cta_thanks_social_text:r,footer_instagram_link:i,footer_facebook_link:a,footer_youtube_link:s}=hs(Ta);return(0,$o.jsx)("div",{className:"thankyou-container",children:(0,$o.jsx)("div",{className:"thankyou-wrapper",style:{backgroundImage:'url("'.concat(n,'")')},children:(0,$o.jsxs)("div",{className:"thankyou-background",children:[(0,$o.jsx)("h3",{children:e}),(0,$o.jsx)("p",{className:"body1",children:t}),(0,$o.jsx)("div",{className:"thankyou-bottom-wrapper",children:(0,$o.jsxs)("div",{className:"thankyou-background-bottom",children:[(0,$o.jsx)("p",{className:"body1",children:r}),(0,$o.jsxs)("div",{className:"social-buttons",children:[(0,$o.jsx)(No,{target:"_blank",to:i,className:"button instagram"}),(0,$o.jsx)(No,{target:"_blank",to:a,className:"button facebook"}),(0,$o.jsx)(No,{target:"_blank",to:s,className:"button youtube"})]})]})})]})})})},Lv="feedback",Yv=e=>{let{name:t,activeType:n,type:r,onClick:i}=e;return(0,$o.jsx)("button",{className:"form-type-change__item ".concat(n===r?"active":""),onClick:()=>i(r),children:t})},Fv=e=>{let{activeType:t,onClick:n}=e;const{cta_feedback_title:r,cta_anonymous_feedback_title:i}=hs(Ta);return(0,$o.jsxs)("div",{className:"form-type-change",children:[(0,$o.jsx)(Yv,{onClick:n,name:r,activeType:t,type:Lv}),(0,$o.jsx)(Yv,{onClick:n,name:i,activeType:t,type:"anonymous"})]})},Zv=()=>{const{pathname:e}=fo(),[n,r]=(0,t.useState)(""),[i,a]=(0,t.useState)(!1),[s,o]=(0,t.useState)(!1),[l,c]=(0,t.useState)(null),[d,h]=(0,t.useState)(""),[u,p]=(0,t.useState)(""),[f,m]=(0,t.useState)(Lv),[g,y]=(0,t.useState)({name:"",email:"",phone:"",organization:""}),v=f===Lv,{cta_field_email_placeholder:x,cta_field_email_title:S,cta_field_message_placeholder:A,cta_field_message_title:b,cta_field_name_placeholder:k,cta_field_name_title:w,cta_field_organization_placeholder:j,cta_field_organization_title:M,cta_field_phone_placeholder:P,cta_field_phone_title:O,cta_field_sender_title:T,cta_policy_text:I,cta_field_sender_options:C,cta_field_subject_message_title:E,cta_field_subject_message_placeholder:V}=hs(Ta),R=[{name:"name",required:!0,label:w,placeholder:k},{name:"email",required:!0,label:S,placeholder:x},{name:"phone",label:O,placeholder:P},{name:"organization",label:M,placeholder:j}],D=null===C||void 0===C?void 0:C.map((e=>({...e,name:e.title}))),B=v?!s||""===g.name||""===g.email||i:!s||i||""===d||""===u;return"success"===n?(0,$o.jsx)(Nv,{}):(0,$o.jsxs)("div",{className:"form-container form-type-".concat(f),children:[(0,$o.jsxs)("div",{className:"form-body",children:[(0,$o.jsx)(Fv,{activeType:f,onClick:m}),v&&R.map((e=>{let{placeholder:t,label:n,name:r,required:i}=e;return(0,$o.jsx)(Wv,{type:r,value:g[r],onChange:e=>y({...g,[r]:e}),label:n,placeholder:t,required:i,className:"form-item-half"},r)})),(0,$o.jsx)(iv,{label:T,options:D,selectedValue:l,onChange:e=>c(e)}),!v&&(0,$o.jsx)(Wv,{value:u,onChange:p,label:E,placeholder:V,type:void 0}),(0,$o.jsx)(zv,{value:d,onChange:e=>h(e),label:b,placeholder:A})]}),(0,$o.jsxs)("div",{className:"form-footer",children:[(0,$o.jsx)(Jv,{onChange:()=>o(!s),checked:s,children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:I}})}),(0,$o.jsx)(Uv,{onClick:()=>{if(!B){a(!0);const t={...g,message:d,category:null===l||void 0===l?void 0:l.value,from_page:e},n={message:d,subject:u,category:null===l||void 0===l?void 0:l.value,from_page:e};Zn.postForm("".concat(nr+Kn.Zd),v?t:n).then((e=>{r(e.data.status),a(!1)})).catch((function(e){console.log(e),a(!1)}))}},disabled:B})]})]})},Kv=()=>(0,$o.jsx)(Bv,{sidebar:(0,$o.jsx)(qv,{}),children:(0,$o.jsx)(Zv,{})}),Qv=e=>{let{item:t,index:n,withCustomContent:r}=e;const{title:i,description:a,type:s}=t,o=r?(0,$o.jsx)("div",{dangerouslySetInnerHTML:{__html:t.description}}):(0,$o.jsxs)($o.Fragment,{children:[i&&(0,$o.jsx)("div",{className:"description-demibold benefit-card__title",children:i}),(0,$o.jsx)("div",{className:"body1 opacity-80 benefit-card__text",children:a})]});return(0,$o.jsxs)("div",{className:"benefit-card ".concat(s?"benefit-card__".concat(s):""),children:[(0,$o.jsx)("div",{className:"gradient-number dark",children:(0,$o.jsx)("span",{children:n+1})}),o]},i)},Xv=e=>{let{data:t,withCustomContent:n=!1}=e;return(0,$o.jsx)("div",{className:"benefits-container",children:null===t||void 0===t?void 0:t.map(((e,t)=>(0,$o.jsx)(Qv,{item:e,index:t,withCustomContent:n},t)))})},_v=e=>{let{title:t,data:n,children:r}=e;return(0,$o.jsxs)("div",{className:"box",children:[t&&(0,$o.jsx)("h3",{children:t}),(0,$o.jsx)(Xv,{data:n}),r]})},$v=e=>{let{children:t}=e;return(0,$o.jsx)("div",{className:"box general-info-box",children:t})},ex=e=>{let{index:t,activeIndex:n,text:r,onClick:i}=e;return(0,$o.jsx)("div",{className:"navigation-sidebar__item ".concat(t===n?"navigation-sidebar__active":""),onClick:i,children:(0,$o.jsx)("p",{className:"button-text",children:r})})},tx=e=>{let{items:t,activeIndex:n,refs:r,includesTitle:i=""}=e;return(0,$o.jsx)("div",{className:"navigation-sidebar",children:t.map(((e,t)=>e!==i&&(0,$o.jsx)(ex,{index:t,activeIndex:n,text:e,onClick:()=>{window.scrollTo({top:r[t].current.getBoundingClientRect().top+window.scrollY-100,behavior:"smooth"})}},t)))})},nx=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return Array.from({length:(t-e)/n+1},((t,i)=>Number((e+i*n).toFixed(r))))},rx=(e,n)=>{const[r,i]=t.useState({isIntersecting:!1,ratio:0,width:0,height:0});return t.useEffect((()=>{const t=e.current,r=new IntersectionObserver((e=>{let[t]=e;i((e=>({...e,isIntersecting:t.isIntersecting,ratio:Math.round(100*t.intersectionRatio),width:Math.round(t.intersectionRect.width),height:Math.round(t.intersectionRect.height)})))}),n);return r.observe(t),()=>r.unobserve(t)}),[]),r},ix=e=>{let{children:n,index:r,setData:i}=e;const a=t.useRef(null),s={threshold:nx(0,1,.01,2)},{ratio:o}=rx(a,{...s});return t.useEffect((()=>{i((e=>({...e,[r]:o})))}),[r,o,i]),(0,$o.jsx)("div",{ref:a,children:n})},ax=e=>{let t=0;for(const n in e)e[n]>50&&(t=Number(n));return t},sx=e=>{let{data:t}=e;return(0,$o.jsxs)("div",{className:"pdf-card",children:[(0,$o.jsxs)("div",{className:"pdf-card__top",children:[(0,$o.jsx)("img",{src:Pv,alt:"pdf"}),(0,$o.jsxs)("div",{className:"pdf-card__top__right-icons",children:[(0,$o.jsx)("button",{children:(0,$o.jsx)("div",{className:"button view"})}),(0,$o.jsx)("button",{children:(0,$o.jsx)("div",{className:"button download"})})]})]}),(0,$o.jsx)("p",{className:"body2",children:t.title})]})},ox=e=>{let{title:t="",data:n,children:r}=e;return(0,$o.jsxs)("div",{className:"box pdf-box",children:[t&&(0,$o.jsx)("h3",{children:t}),(0,$o.jsx)("div",{className:"pdf-items",children:null===n||void 0===n?void 0:n.map(((e,t)=>(0,$o.jsx)(sx,{data:e},t)))}),r]})},lx=e=>{let{title:t,image:n,description:r,file:i}=e;return(0,$o.jsxs)("div",{className:"box product-box",children:[(0,$o.jsx)("h3",{children:t}),(0,$o.jsxs)("div",{className:"product-catalog",children:[(0,$o.jsx)("img",{src:n,alt:t}),(0,$o.jsx)("p",{className:"body1 product-catalog__text",children:r}),(0,$o.jsxs)("div",{className:"product-catalog__buttons",children:[(0,$o.jsxs)("button",{className:"button button-eye  has-children",children:[(0,$o.jsx)("div",{}),(0,$o.jsx)("div",{children:"VIEW CATALOG"})]}),(0,$o.jsxs)("button",{className:"button download-button has-children",children:[(0,$o.jsx)("div",{}),(0,$o.jsx)("div",{children:"DOWNLOAD"})]})]})]})]})},cx=e=>{let{icon:t,slug:n,title:r}=e;return(0,$o.jsxs)(No,{to:n,className:"product-item",children:[(0,$o.jsx)("div",{className:"product-item__image",children:t&&(0,$o.jsx)("img",{src:t,alt:r})}),(0,$o.jsx)("div",{className:"product-item__name",children:(0,$o.jsx)("p",{className:"body2",children:r})})]})},dx=e=>{let{data:t,baseRoute:n,withSixItems:r=!1}=e;const i=null===t||void 0===t?void 0:t.map((e=>({...e,__slug:n+"/"+e.slug,__icon:e.logo||e.icon,__title:e.preview_title||e.title})));return(0,$o.jsx)("div",{className:"product-items ".concat(r?"six-items":""),children:null===i||void 0===i?void 0:i.map((e=>{let{__slug:t,__icon:n,__title:r}=e;return(0,$o.jsx)(cx,{icon:n,slug:t,title:r},t)}))})},hx=e=>{let{text:t="",onClick:n,next:r}=e;const{other_show_more_button:i}=hs(Ta);return r&&(0,$o.jsx)("button",{className:"button show-more full-width has-children",onClick:n,children:t||i})},ux=e=>{let{title:n}=e;const r=Ss(),{slug:i}=vo(),[a,s]=(0,t.useState)(1),{data:o,next:l}=hs(Yi);(0,t.useEffect)((()=>{r(Gi({product:i,type:Qn,page:a}))}),[r,i,a]);return(0,$o.jsxs)("div",{className:"box product-box",children:[n&&(0,$o.jsx)("h3",{children:n}),(null===o||void 0===o?void 0:o.length)&&(0,$o.jsx)(dx,{data:o,baseRoute:Fo.cropNutritionPrograms}),(0,$o.jsx)(hx,{next:l,onClick:()=>s(a+1)})]})},px=e=>{let{title:n}=e;const[r,i]=(0,t.useState)(1),a=Ss(),{slug:s}=vo(),{data:o,next:l}=hs(Sr);(0,t.useEffect)((()=>{a(ur({slug:s,page:r}))}),[a,s,r]);return(0,$o.jsxs)("div",{className:"box product-box",children:[n&&(0,$o.jsx)("h3",{children:n}),(null===o||void 0===o?void 0:o.length)>0&&(0,$o.jsx)(dx,{data:o,baseRoute:Fo.products}),(0,$o.jsx)(hx,{next:l,onClick:()=>i(r+1)})]})},fx=e=>{let{title:n,setSelectedTab:r,index:i,isActive:a}=e;const s=(0,t.useCallback)((()=>{r(i)}),[r,i]);return(0,$o.jsx)("button",{className:"tab-button ".concat(a?"active":""),onClick:s,children:n})},mx=e=>{let{children:n,preSelectedTabIndex:r=0}=e;const[i,a]=(0,t.useState)(r);return(0,$o.jsxs)("div",{className:"tabs",children:[(0,$o.jsx)("div",{className:"tabs-nav",children:n.map(((e,t)=>(0,$o.jsx)(fx,{title:e.props.title,index:t,isActive:t===i,setSelectedTab:a},e.props.title)))}),n[i]]})},gx=e=>{let{title:t,children:n}=e;return(0,$o.jsx)("div",{className:"tab-pane","data-title":t,children:n})},yx=e=>{let{title:n}=e;const r=Ss(),{slug:i}=vo(),[a,s]=(0,t.useState)(1),[o,l]=(0,t.useState)(1),c=hs(Vr),d=hs(Rr),h=hs(ui),{code:u}=h,{trial_in_country_tab:p,trial_in_other_country_tab:f}=hs(gr);(0,t.useEffect)((()=>{r(jr({product:i,type:Xn,trials_country:u,page:a}))}),[r,i,u,a]),(0,t.useEffect)((()=>{r(Mr({product:i,type:Xn,page:o}))}),[r,i,u,o]);const m=[{title:p,data:c.data||[],next:c.next,onClick:()=>s(a+1)},{title:f,data:d.data||[],next:d.next,onClick:()=>l(o+1)}];return(0,$o.jsxs)("div",{className:"box product-box",children:[n&&(0,$o.jsx)("h3",{children:n}),(0,$o.jsx)(mx,{children:m.map((e=>(0,$o.jsxs)(gx,{title:e.title,children:[(0,$o.jsx)(dx,{data:e.data,baseRoute:Fo.trialResults}),(0,$o.jsx)(hx,{next:e.next,onClick:e.onClick})]},e.title)))})]})};const vx=__webpack_require__.p+"static/media/uniferIcon.1bb5c3c02f5b2e23f6d3dc9f63e92ec4.svg",xx=e=>{let{image:t,href:n,title:r,icon:i=vx}=e;return n&&(0,$o.jsxs)("div",{className:"youtube-link",children:[(0,$o.jsxs)("div",{className:"youtube-link__title",children:[(0,$o.jsx)("img",{src:i,alt:"uniferX icon"}),(0,$o.jsx)("p",{className:"description-demibold",children:r})]}),(0,$o.jsx)("a",{href:n,target:"_blank",className:"button youtube youtube-link_button",rel:"noreferrer"}),(0,$o.jsx)("img",{src:t,alt:"Video Thumbnail",className:"youtube-link__image"})]})},Sx=(e,n)=>{(0,t.useEffect)((()=>{const t=setTimeout((()=>e()),n);return()=>clearTimeout(t)}),[n,e])},Ax=e=>{let{title:t,table:n,description:r}=e;return(0,$o.jsxs)("div",{className:"box table-box",children:[t&&(0,$o.jsx)("h3",{children:t}),(0,$o.jsx)("div",{className:"table-box__table",dangerouslySetInnerHTML:{__html:n}}),!!r&&(0,$o.jsx)("div",{className:"table-box__description",dangerouslySetInnerHTML:{__html:r}}),(0,$o.jsx)("div",{className:"table-box__piece"})]})},bx=e=>{let{title:t}=e;return(0,$o.jsxs)("div",{className:"box table-box table-box-without-table",children:[(0,$o.jsx)(ol,{size:"middle",textColor:"white",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:t}})}),(0,$o.jsx)("div",{className:"table-box__piece"})]})},kx=e=>{let{pageContentData:n}=e;const[r,i]=(0,t.useState)({}),[a,s]=(0,t.useState)(0),o=[],l=[],c=hs(yr),[d,h]=(0,t.useState)(!1);Object.entries(n).forEach((e=>{let[t,n]=e;((e,t)=>{return"benefits_data"===e?null!==t:"table_data"===e?!(null===t||void 0===t||!t.formula_table):"text_block"===e?!(null===t||void 0===t||!t.text):"composition_compatibility"===e?(null===t||void 0===t||null===(n=t.composition_compatibility)||void 0===n?void 0:n.length)>0:"related_products"===e||"trial_results"===e||"nutrition_programs"===e?null===t||void 0===t?void 0:t.hasOwnProperty("main_title"):!e.startsWith("catalog_")||!(null===t||void 0===t||null===(r=t.data)||void 0===r||!r.file);var n,r})(t,n)&&(o.push(((e,t)=>{if("general_information"===e){const{main_title:e,general_information:n}=t;return(0,$o.jsxs)($v,{children:[e&&(0,$o.jsx)("h3",{children:e}),(0,$o.jsx)("div",{dangerouslySetInnerHTML:{__html:n}})]})}if("table_data"===e){const{main_title:e,formula_table:n,formula_description:r}=t;return(0,$o.jsx)(Ax,{title:e,table:n,description:r})}if("text_block"===e)return(0,$o.jsx)(bx,{title:null===t||void 0===t?void 0:t.text});if("benefits_data"===e){const{benefits_preview_video:e,benefits_preview_text:n,benefits_video:r}=(null===t||void 0===t?void 0:t.video)||{};return(0,$o.jsx)(_v,{title:null===t||void 0===t?void 0:t.main_title,data:null===t||void 0===t?void 0:t.benefits,children:r&&(0,$o.jsx)(xx,{image:e,href:r,title:n})})}if("composition_compatibility"===e){const{main_title:e,composition_compatibility:n}=t;return(0,$o.jsx)(ox,{title:e,data:n})}return"related_products"===e?(0,$o.jsx)(px,{title:t.main_title}):"nutrition_programs"===e?(0,$o.jsx)(ux,{title:t.main_title}):"trial_results"===e?(0,$o.jsx)(yx,{title:t.main_title}):e.startsWith(wx)?(0,$o.jsx)(lx,{file:t.data.file,title:t.main_title,image:t.data.image,description:t.data.description}):null})(t,n)),l.push(n.main_title))}));const u=o.length,[p,f]=(0,t.useState)([]);(0,t.useEffect)((()=>{f((e=>Array(u).fill().map(((n,r)=>e[r]||(0,t.createRef)()))))}),[u]),(0,t.useEffect)((()=>{s(ax(r))}),[r]),Sx((()=>h(!0)),2e3);const m=(0,t.useRef)();return Sg({items:[".box",".picture-component"],container:m,dependencies:[c,d]}),(0,$o.jsx)("div",{ref:m,children:(0,$o.jsx)(Dv,{Sidebar:(0,$o.jsx)(tx,{activeIndex:a,refs:p,items:l,includesTitle:"formula_text"}),children:o.map(((e,t)=>(0,$o.jsx)("div",{ref:p[t],children:(0,$o.jsx)(ix,{index:t,setData:i,children:e})},t)))})})},wx="catalog_",jx=()=>{const{slug:e}=vo(),n=Ss(),r=fo(),i=hs(yr),a=go(),{general_information:s,general_information_title:o,benefits_title:l,benefits:c,benefits_preview_video:d,benefits_video:h,benefits_preview_text:u,formula_description:p,formula_table:f,formula_title:m,formula_text:g,title:y,title_image:v,title_button:x,about_title:S,about_description:A,composition_compatibility:b,composition_compatibility_title:k,products_title:w,nutrition_programs_title:j,trial_results_title:M,has_related_products:P,has_nutrition_programs:O,has_trial_results:T,catalogs:I,group_slug:C}=hs(gr);(0,t.useEffect)((()=>()=>{n(Za({pathname:r.pathname,state:C}))}),[r,C]),(0,t.useEffect)((()=>{za(n(dr({slug:e})),a)}),[n,e]);const E=hs(Ta),V=null===E||void 0===E?void 0:E.product_about_tag,R=null===E||void 0===E?void 0:E.benefits_title,D={general_information:{general_information:s,main_title:o},table_data:{main_title:m,formula_table:f,formula_description:p},text_block:{main_title:"formula_text",text:g},benefits_data:c&&c.length||h?{main_title:l||R,benefits:c,video:h&&{benefits_preview_video:d,benefits_preview_text:u,benefits_video:h}}:null,related_products:P?{main_title:w}:null,composition_compatibility:{composition_compatibility:b,main_title:k},nutrition_programs:O?{main_title:j}:null,trial_results:T?{main_title:M}:null,...null===I||void 0===I?void 0:I.reduce(((e,t,n)=>({...e,["".concat(wx).concat(n)]:{main_title:t.title,data:t}})),{})},B=(0,t.useRef)();return Sg({items:[],container:B,dependencies:[i]}),i?(0,$o.jsx)(py,{}):(0,$o.jsxs)("div",{ref:B,children:[(0,$o.jsx)(sl,{title:y,image:v,buttonText:x,buttonType:"find-desktop",to:Fo.contacts+"#find"}),(0,$o.jsxs)("section",{className:"container",children:[(0,$o.jsx)("div",{className:"inner-container type-2",children:(0,$o.jsxs)("div",{className:"main-text-container",children:[(0,$o.jsx)(ll,{children:V}),(0,$o.jsx)(ol,{className:"has-animation",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:S}})}),A&&(0,$o.jsx)("div",{className:"offset-left-4 max-width-760",children:(0,$o.jsx)(ol,{size:"super-small",className:"has-animation",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:A}})})})]})}),(0,$o.jsx)(kx,{pageContentData:D})]}),(0,$o.jsx)(Kv,{})]})},Mx=()=>{const e=Ss(),n=hs(zi),{fs_title:r,fs_title_background:i,fs_view_button:a,agricultural_tag:s,agricultural_title:o}=hs(Wi),l=hs(Ji);(0,t.useEffect)((()=>{e(Di()),e(qi({type:Qn,all:!0}))}),[e]);const c=(0,t.useRef)();return Sg({items:[".with-sidebar-layout"],container:c,dependencies:[n]}),n?(0,$o.jsx)(py,{}):(0,$o.jsxs)("div",{ref:c,children:[(0,$o.jsx)(sl,{title:r,image:i,buttonText:a,onClickButton:()=>Wa("box",100)}),(0,$o.jsxs)("section",{className:"container",children:[(0,$o.jsx)("div",{className:"inner-container type-3",children:(0,$o.jsxs)("div",{className:"main-text-container",children:[(0,$o.jsx)(ll,{children:s}),(0,$o.jsx)(ol,{className:"has-animation",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:o}})})]})}),(0,$o.jsx)("div",{className:"box",children:(0,$o.jsx)(dx,{data:l,baseRoute:Fo.cropNutritionPrograms,withSixItems:!0})})]}),(0,$o.jsx)(Kv,{})]})},Px=()=>{const e=Ss(),n=hs(Cr),{fs_title:r,fs_title_background:i,fs_view_button:a,agricultural_tag:s,agricultural_title:o,agricultural_description:l}=hs(Ir),c=hs(Dr);(0,t.useEffect)((()=>{e(Pr({all:!0,type:Xn})),e(kr())}),[e]);const d=(0,t.useRef)();return Sg({items:[".with-sidebar-layout"],container:d,dependencies:[n]}),n?(0,$o.jsx)(py,{}):(0,$o.jsxs)("div",{ref:d,children:[(0,$o.jsx)(sl,{title:r,image:i,buttonText:a,onClickButton:()=>Wa("box",100)}),(0,$o.jsxs)("section",{className:"container",children:[(0,$o.jsx)("div",{className:"inner-container type-2",children:(0,$o.jsxs)("div",{className:"main-text-container",children:[(0,$o.jsx)(ll,{children:s}),(0,$o.jsx)(ol,{className:"has-animation",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:o}})}),(0,$o.jsx)("div",{className:"offset-left-4 max-width-760",children:(0,$o.jsx)(ol,{size:"super-small",className:"has-animation",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:l}})})})]})}),(0,$o.jsx)("div",{className:"box",children:(0,$o.jsx)(dx,{data:c,baseRoute:Fo.trialResults,withSixItems:!0})})]}),(0,$o.jsx)(Kv,{})]})},Ox=e=>{let{title:t,data:n,baseRoute:r}=e;return(0,$o.jsxs)("div",{className:"product-sidebar",children:[(0,$o.jsx)("div",{className:"description-demibold product-sidebar__title",children:t}),(0,$o.jsx)("div",{className:"product-sidebar-cards",children:null===n||void 0===n?void 0:n.map((e=>(0,$o.jsx)(No,{to:r+"/"+e.slug,className:"product-sidebar-card",title:e.title,children:e.icon?(0,$o.jsx)("img",{src:e.icon,alt:e.title}):(0,$o.jsx)("span",{children:e.title})},r+"/"+e.slug)))})]})};var Tx,Ix,Cx,Ex,Vx,Rx;function Dx(){return Dx=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Dx.apply(this,arguments)}function Bx(e,n){let{title:r,titleId:i,...a}=e;return t.createElement("svg",Dx({width:16,height:16,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",ref:n,"aria-labelledby":i},a),r?t.createElement("title",{id:i},r):null,Tx||(Tx=t.createElement("path",{d:"M6.125 6.125C7.16053 6.125 8 5.28553 8 4.25C8 3.21447 7.16053 2.375 6.125 2.375C5.08947 2.375 4.25 3.21447 4.25 4.25C4.25 5.28553 5.08947 6.125 6.125 6.125Z",stroke:"white",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})),Ix||(Ix=t.createElement("path",{d:"M11.125 13.625C12.1605 13.625 13 12.7855 13 11.75C13 10.7145 12.1605 9.875 11.125 9.875C10.0895 9.875 9.25 10.7145 9.25 11.75C9.25 12.7855 10.0895 13.625 11.125 13.625Z",stroke:"white",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})),Cx||(Cx=t.createElement("path",{d:"M8 4.25H14.875",stroke:"white",strokeWidth:1.5,strokeLinecap:"square",strokeLinejoin:"round"})),Ex||(Ex=t.createElement("path",{d:"M1.125 4.25H4.25",stroke:"white",strokeWidth:1.5,strokeLinecap:"square",strokeLinejoin:"round"})),Vx||(Vx=t.createElement("path",{d:"M13 11.75H14.875",stroke:"white",strokeWidth:1.5,strokeLinecap:"square",strokeLinejoin:"round"})),Rx||(Rx=t.createElement("path",{d:"M1.125 11.75H9.25",stroke:"white",strokeWidth:1.5,strokeLinecap:"square",strokeLinejoin:"round"})))}const Gx=t.forwardRef(Bx),qx=(__webpack_require__.p,e=>{let{children:t,onReset:n,hasSelected:r,title:i="Filter",withoutSticky:a=!1}=e;const{reset_filter:s}=hs(Ta);return(0,$o.jsxs)("div",{className:"filter-sidebar ".concat(a?"without-sticky":""),children:[(0,$o.jsxs)("div",{className:"filter-sidebar__header",children:[(0,$o.jsx)(Gx,{}),i]}),(0,$o.jsx)("div",{className:"filter-sidebar__body",children:t}),r&&(0,$o.jsx)("button",{className:"filter-sidebar-reset",onClick:n,children:s})]})}),Hx=()=>{const e=Ss(),{slug:n}=vo(),r=go(),{title:i,fs_view_button:a,fs_background:s,details:o,sidebar_text:l}=hs(Ni),{sidebar_text_crop_nutrition:c}=hs(Ta),d=hs(Ji),h=hs(Li),u=hs(Fi);(0,t.useEffect)((()=>{e(qi({type:Qn,all:!0})),za(e(Bi({slug:n,type:Qn,product:null===u||void 0===u?void 0:u.value})),r)}),[e,n,u]);const p=(0,t.useRef)();return Sg({items:[".box"],container:p,dependencies:[h]}),h?(0,$o.jsx)(py,{}):(0,$o.jsxs)("div",{ref:p,children:[(0,$o.jsx)(sl,{title:i,image:s,buttonText:a,onClickButton:()=>Wa("this")}),(0,$o.jsx)("section",{className:"container this",children:(0,$o.jsx)(Dv,{containerType:"type-1",mobileReversed:!0,Sidebar:(0,$o.jsx)($o.Fragment,{children:(0,$o.jsx)(Ox,{baseRoute:Fo.cropNutritionPrograms,title:c||l,data:d})}),children:null===o||void 0===o?void 0:o.map(((e,t)=>{let{product:n,detailed_data:r,purpose_processing:i,purposes:a}=e;return(0,$o.jsxs)($v,{children:[n&&(0,$o.jsx)("h3",{children:n}),(0,$o.jsx)("div",{dangerouslySetInnerHTML:{__html:r}}),i&&(0,$o.jsx)("h3",{children:i}),!(null===a||void 0===a||!a.length)&&(0,$o.jsx)(Xv,{data:a,withCustomContent:!0})]},t)}))})})]})},Wx=()=>{var e;const t=Ss(),n=hs(Hr),r=hs(Wr),i=hs(mi),{filter_name:a,product_select:s,country_select:o}=hs(Ir),l=hs(xr),c=hs(La);if(null===c||void 0===c||null===(e=c.pathname)||void 0===e?void 0:e.startsWith(Fo.products)){const e=l.find((e=>e.value===c.state));t(zr(e))}return(0,$o.jsxs)(qx,{onReset:()=>{t(zr(null)),t(Jr(null)),t(Za(null))},hasSelected:n||r,title:a,withoutSticky:!0,children:[(0,$o.jsx)(iv,{label:s,options:l,onChange:e=>{t(zr(e)),t(Za(null))},selectedValue:n}),(0,$o.jsx)(iv,{label:o,options:i,onChange:e=>{t(Jr(e))},selectedValue:r})]})},zx=()=>{const e=Ss(),n=go(),{slug:r}=vo(),[i,a]=(0,t.useState)(1),{flyers:s,next:o}=hs(Er),l=hs(Br),c=hs(Dr),{sidebar_text_trials_result:d}=hs(Ta),h=hs(Gr),{title:u,fs_background:p,fs_view_button:f}=l,m=hs(Hr),g=hs(Wr);(0,t.useEffect)((()=>{a(1),e(Pr({all:!0})),za(e(Or({slug:r})),n),e(kr())}),[e,r]),(0,t.useEffect)((()=>{a(1)}),[e,m,g]),(0,t.useEffect)((()=>{e(wr({slug:r,page:i,product:null===m||void 0===m?void 0:m.value,trials_country:null===g||void 0===g?void 0:g.value}))}),[e,i,r,m,g]);const y=(0,t.useRef)();return Sg({items:[".box"],container:y,dependencies:[h]}),h?(0,$o.jsx)(py,{}):(0,$o.jsxs)("div",{ref:y,children:[(0,$o.jsx)(sl,{title:u,image:p,buttonText:f,onClickButton:()=>Wa("this")}),(0,$o.jsx)("section",{className:"container this",children:(0,$o.jsx)(Dv,{containerType:"type-1",mobileReversed:!0,Sidebar:(0,$o.jsxs)($o.Fragment,{children:[(0,$o.jsx)(Wx,{}),(0,$o.jsx)(Ox,{title:d,data:c,baseRoute:Fo.trialResults})]}),children:(0,$o.jsx)(ox,{data:s,children:(0,$o.jsx)(hx,{onClick:()=>a(i+1),next:o})})})})]})},Jx=()=>{const e=Ss(),n=hs(ta),r=hs(na),{filter_name:i,product_select:a}=hs(Wi),{fs_title:s,fs_title_background:o,fs_view_button:l,agricultural_tag:c,agricultural_title:d,agricultural_description:h,catalogs:u=[]}=hs(ea);(0,t.useEffect)((()=>{e(Qi())}),[e]);const p=hs(ra);(0,t.useEffect)((()=>{Object.entries(p).forEach((t=>{let[n]=t;e(Xi({id:n,page:1}))}))}),[u]);const f=hs(xr),[m,g]=(0,t.useState)(null),y=e=>g(e);(0,t.useEffect)((()=>{m&&e(_i({product:m.value}))}),[e,m]);const v=()=>{g(null),e(Qi())},x=()=>(0,$o.jsx)(qx,{onReset:v,hasSelected:m,title:i,children:(0,$o.jsx)(iv,{label:a,options:f,onChange:y,selectedValue:m})}),S=(0,t.useRef)();return Sg({items:[".box",".with-sidebar-layout__left"],container:S,dependencies:[n]}),n&&r?(0,$o.jsx)(py,{}):(0,$o.jsxs)("div",{ref:S,children:[(0,$o.jsx)(sl,{title:s,image:o,buttonText:l,onClickButton:()=>Wa("with-sidebar-layout__right",100)}),(0,$o.jsxs)("section",{className:"container",children:[(0,$o.jsx)("div",{className:"inner-container type-2",children:(0,$o.jsxs)("div",{className:"main-text-container",children:[(0,$o.jsx)(ll,{children:c}),(0,$o.jsx)(ol,{className:"has-animation",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:d}})}),(0,$o.jsx)("div",{className:"offset-left-4 max-width-760",children:(0,$o.jsx)(ol,{size:"super-small",className:"has-animation",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:h}})})})]})}),(0,$o.jsx)(Dv,{Sidebar:(0,$o.jsx)(x,{}),children:u.map(((n,r)=>{let{title:i,image:a,description:s,file:o,id:l}=n;return(0,$o.jsxs)(t.Fragment,{children:[(0,$o.jsx)(lx,{file:o,title:i,image:a,description:s}),p.hasOwnProperty(l)&&(0,$o.jsx)(ox,{data:p[l].flyers,children:(0,$o.jsx)(hx,{onClick:()=>e(Xi({id:l,page:p[l].page+1})),next:p[l].next})})]},r)}))})]}),(0,$o.jsx)(Kv,{})]})};const Ux=__webpack_require__.p+"static/media/headOfficePin.6e886e7a5ba1eeed4df677e8e03bf220.svg",Nx=e=>{let{data:t}=e;const{image:n,title:r,description:i}=t;return(0,$o.jsxs)("div",{className:"team-member-card",children:[(0,$o.jsx)("div",{className:"team-member-card__img",children:(0,$o.jsx)("img",{src:n,alt:r})}),(0,$o.jsx)("div",{className:"description-demibold",children:r}),(0,$o.jsx)("div",{className:"body1 opacity-80",children:i})]})};const Lx=__webpack_require__.p+"static/media/career-card.aca668808c3922bf33a141b062aafbd8.svg",Yx=()=>{const{team_card_button:e,team_card_text:t,team_card_title:n}=hs(ba);return(0,$o.jsx)("div",{className:"team-career-card",children:(0,$o.jsxs)("div",{className:"team-career-card-inner",children:[(0,$o.jsx)("img",{className:"team-career-card__img",src:Lx,alt:""}),(0,$o.jsxs)("div",{className:"team-career-card__content",children:[(0,$o.jsxs)("div",{children:[(0,$o.jsx)("div",{className:"h2",children:n}),(0,$o.jsx)("p",{className:"body1 opacity-80",children:t})]}),(0,$o.jsx)(al,{href:Fo.career,type:"button-arrow",children:e})]})]})})};const Fx=__webpack_require__.p+"static/media/team-info-card.d643a6cd1284bbbbaf9b523aa78ffcd3.svg",Zx=e=>{let{data:t}=e;const{image:n,title:r,description:i}=t;return(0,$o.jsx)("div",{className:"team-info-card",children:(0,$o.jsxs)("div",{className:"team-info-card-inner",children:[(0,$o.jsx)("img",{className:"team-info-card__img",src:Fx,alt:""}),(0,$o.jsxs)("div",{className:"team-info-card__content",children:[(0,$o.jsx)("img",{className:"team-info-card__icon",src:n,alt:"icon"}),(0,$o.jsxs)("div",{children:[(0,$o.jsx)(ol,{textColor:"white",children:(0,$o.jsx)("em",{children:r})}),(0,$o.jsx)("div",{className:"body1 opacity-70",children:i})]})]})]})})},Kx=e=>{let{showMore:t}=e;const{team_show_more:n}=hs(ba),{data:r=[],next:i}=hs(ka);return(0,$o.jsxs)($o.Fragment,{children:[(0,$o.jsxs)("div",{className:"team",children:[r.map(((e,t)=>"info"===e.type?(0,$o.jsx)(Zx,{data:e},t):(0,$o.jsx)(Nx,{data:e},t))),(0,$o.jsx)(Yx,{})]}),(0,$o.jsx)(hx,{next:i,text:n,onClick:t})]})},Qx=e=>{let{showMore:t}=e;const{team_title:n,team_tag:r}=hs(ba);return(0,$o.jsx)("section",{className:"container",children:(0,$o.jsxs)("div",{className:"inner-container type-2",children:[(0,$o.jsxs)("div",{className:"main-text-container with-absolute-label",children:[(0,$o.jsx)(ll,{children:r}),(0,$o.jsx)("div",{className:"offset-left-4",children:(0,$o.jsx)(ol,{size:"middle",className:"has-animation",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:n}})})})]}),(0,$o.jsx)(Kx,{showMore:t})]})})};const Xx=__webpack_require__.p+"static/media/X mask.5afe92d83d453f2ef53e6a1e20aca5fd.svg";Yu.registerPlugin(ag);const _x=!1,$x="power1.in",eS=e=>{let{background:n="",title:r="",data:i=[],loading:a}=e;const s={maskImage:"url('".concat(Xx,"')"),WebkitMaskImage:"url('".concat(Xx,"')")},o=(0,t.useRef)();return _u((()=>{Yu.from(".mission-section__title div",{y:10,opacity:0,ease:$x,duration:.4,scrollTrigger:{trigger:".mission-section",start:"top 70%",markers:_x}}),Yu.from(".mission-section__mask",{y:10,opacity:0,ease:$x,duration:.4,scrollTrigger:{trigger:".mission-section",start:"top 50%",markers:_x}})}),{dependencies:[a,i],scope:o}),_u((()=>{if(i.length){Yu.timeline({scrollTrigger:{trigger:".mission-section",start:"top 8px",end:"+=100%",scrub:1,markers:_x,pin:!0}}).fromTo(".mission-section__mask",{maskSize:40},{maskSize:500}).to(".mission-section__title",{opacity:0},"<").fromTo(".values-card-wrapper",{yPercent:400},{yPercent:0,stagger:.1},"-=.2").fromTo(".values-section",{yPercent:0},{yPercent:-50})}}),{dependencies:[a,i],scope:o}),(0,$o.jsx)("section",{className:"mission-values-section container",ref:o,children:(0,$o.jsxs)("div",{className:"mission-section",children:[(0,$o.jsx)("div",{className:"mission-section__gradient"}),(0,$o.jsx)("div",{className:"mission-section__mask",style:s,children:(0,$o.jsx)("img",{src:n,alt:"background"})}),(0,$o.jsx)("div",{className:"mission-section__title",children:(0,$o.jsx)("div",{children:r})}),(0,$o.jsx)("div",{className:"values-section",children:null===i||void 0===i?void 0:i.map(((e,t)=>(0,$o.jsxs)("div",{className:"values-card-wrapper",children:[(0,$o.jsx)("div",{className:"angle-decor"}),(0,$o.jsxs)("div",{className:"values-card",children:[(0,$o.jsx)("div",{className:"gradient-number light",children:(0,$o.jsx)("span",{children:t+1})}),e.title&&(0,$o.jsx)("div",{className:"values-card__title",children:e.title}),e.text&&(0,$o.jsx)("div",{className:"values-card__text",children:e.text})]})]},t)))})]})})},tS=__webpack_require__.p+"static/media/our-history 1.61cd06a9cd0c7e3a7277.jpg",nS=e=>{let{title:t,cards:n=[]}=e;const r=n.filter((e=>!!e.title&&!!e.text));return(0,$o.jsx)("section",{className:"container",children:(0,$o.jsxs)("div",{className:"our-history-section",style:{backgroundImage:'url("'.concat(tS,'")')},children:[(0,$o.jsx)("div",{className:"our-history-section-gradient"}),(0,$o.jsxs)("div",{className:"our-history",children:[(0,$o.jsx)("div",{className:"our-history__title h1 has-animation",children:t}),(0,$o.jsx)("div",{className:"our-history-cards",children:r.map((e=>(0,$o.jsxs)("div",{className:"history-card-wrapper",children:[(0,$o.jsx)("div",{className:"angle-decor"}),(0,$o.jsxs)("div",{className:"history-card",children:[(0,$o.jsx)(ol,{textColor:"white",children:(0,$o.jsx)("em",{children:e.title})}),(0,$o.jsx)("div",{className:"body1 opacity-80",children:e.text})]})]},e.title)))})]})]})})},rS=()=>{const e=Ss(),n=hs(ja),r=hs(wa),[i,a]=t.useState(1),{fs_title:s,fs_background:o,fs_description:l,about_tag:c,about_title:d,about_text:h,about_card_text:u,about_card_image:p,mission_cards:f,history_title:m,histories_cards:g,histories_image:y,mission_background_image:v,mission_title:x}=hs(ba);t.useEffect((()=>{e(xa())}),[e]),t.useEffect((()=>{e(Sa({page:i}))}),[e,i]);const S=(0,t.useRef)();return Sg({items:[".team",".our-history-cards"],container:S,dependencies:[n,r]}),n||r?(0,$o.jsx)(py,{}):(0,$o.jsxs)("div",{ref:S,children:[(0,$o.jsx)(sl,{image:o,buttonText:l,onClickButton:()=>Wa("this",100),children:(0,$o.jsx)(ol,{size:"middle",textColor:"white",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:s}})})}),(0,$o.jsx)("section",{className:"container this",children:(0,$o.jsx)("div",{className:"inner-container type-2",children:(0,$o.jsxs)("div",{className:"main-text-container",children:[(0,$o.jsx)(ll,{children:c}),(0,$o.jsx)(ol,{className:"has-animation",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:d}})}),(0,$o.jsx)("div",{className:"offset-left-4 max-width-760",children:(0,$o.jsx)(ol,{size:"small",className:"has-animation",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:h}})})})]})})}),(0,$o.jsx)("section",{className:"container",children:(0,$o.jsx)("div",{className:"inner-container type-2",children:(0,$o.jsxs)("div",{className:"head-office has-animation",children:[(0,$o.jsxs)("div",{className:"head-office__left",children:[(0,$o.jsx)("img",{src:Ux,alt:"icon pin"}),(0,$o.jsx)(ol,{size:"super-small",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:u}})})]}),(0,$o.jsx)("div",{className:"head-office__right",children:(0,$o.jsx)("img",{src:p,alt:"head office"})})]})})}),(0,$o.jsx)(eS,{loading:n,background:v,title:x,data:f}),(0,$o.jsx)(Qx,{showMore:()=>a(i+1)}),(0,$o.jsx)(nS,{title:m,cards:g}),y&&(0,$o.jsx)("section",{className:"container about-us-photo",children:(0,$o.jsx)("img",{src:y,alt:"",loading:"eager"})}),(0,$o.jsx)(Kv,{})]})},iS=e=>{let{children:t}=e;return(0,$o.jsx)("div",{className:"label body3",children:t})};var aS;function sS(){return sS=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},sS.apply(this,arguments)}function oS(e,n){let{title:r,titleId:i,...a}=e;return t.createElement("svg",sS({width:16,height:16,viewBox:"0 0 16 16",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",ref:n,"aria-labelledby":i},a),r?t.createElement("title",{id:i},r):null,aS||(aS=t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.75 -0.25V0.75H10.25V-0.25H11.75V0.75H13.9091C14.6497 0.75 15.25 1.35034 15.25 2.09091V13.9091C15.25 14.6497 14.6497 15.25 13.9091 15.25H2.09091C1.35034 15.25 0.75 14.6497 0.75 13.9091V2.09091C0.75 1.35035 1.35035 0.75 2.09091 0.75H4.25V-0.25H5.75ZM4.25 2.25H2.25V4.75H13.75V2.25H11.75V3.25H10.25V2.25H5.75V3.25H4.25V2.25ZM13.75 6.25H2.25V13.75H13.75V6.25Z"})))}const lS=t.forwardRef(oS);__webpack_require__.p;var cS;function dS(){return dS=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},dS.apply(this,arguments)}function hS(e,n){let{title:r,titleId:i,...a}=e;return t.createElement("svg",dS({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,viewBox:"0 0 16 16",fill:"currentColor",ref:n,"aria-labelledby":i},a),r?t.createElement("title",{id:i},r):null,cS||(cS=t.createElement("path",{d:"M8.75 4.5V3.75H7.25V4.5H8.75ZM8 8H7.25V8.75H8V8ZM11.5 8.75H12.25V7.25H11.5V8.75ZM13.75 8C13.75 11.1756 11.1756 13.75 8 13.75V15.25C12.0041 15.25 15.25 12.0041 15.25 8H13.75ZM8 13.75C4.82436 13.75 2.25 11.1756 2.25 8H0.75C0.75 12.0041 3.99594 15.25 8 15.25V13.75ZM2.25 8C2.25 4.82436 4.82436 2.25 8 2.25V0.75C3.99594 0.75 0.75 3.99594 0.75 8H2.25ZM8 2.25C11.1756 2.25 13.75 4.82436 13.75 8H15.25C15.25 3.99594 12.0041 0.75 8 0.75V2.25ZM7.25 4.5V8H8.75V4.5H7.25ZM8 8.75H11.5V7.25H8V8.75Z"})))}const uS=t.forwardRef(hS),pS=(__webpack_require__.p,e=>({calendar:(0,$o.jsx)(lS,{}),clock:(0,$o.jsx)(uS,{})}[e])),fS=e=>{let{iconName:t,text:n}=e;return n&&(0,$o.jsxs)("div",{className:"text-with-icon body3",children:[(0,$o.jsx)("div",{className:"text-with-icon__icon",children:pS(t)}),(0,$o.jsx)("div",{className:"text-with-icon__text",children:n})]})},mS=e=>{let{data:t,big:n=!1}=e;const{title_background:r,title:i,type:a,slug:s,crated_at:o,time_to_read:l}=t,c=hs(Ca)[a];return(0,$o.jsxs)(No,{to:Fo.news+"/"+s,className:"news-card ".concat(n?"news-card--big":""),children:[(0,$o.jsx)("div",{className:"news-card__image",children:(0,$o.jsx)("img",{src:r,alt:"news"})}),(0,$o.jsxs)("div",{className:"news-card__content",children:[(0,$o.jsx)("div",{className:"news-card-labels",children:(0,$o.jsx)(iS,{children:c})}),(0,$o.jsx)("div",{className:"news-card__title description-demibold",children:i}),(0,$o.jsxs)("div",{className:"news-card-date",children:[(0,$o.jsx)(fS,{iconName:"calendar",text:o}),(0,$o.jsx)(fS,{iconName:"clock",text:l})]})]})]})},gS=()=>(0,$o.jsx)("svg",{width:"287",height:"80",viewBox:"0 0 287 80",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,$o.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M286.069 80V16C286.069 7.16345 278.906 0 270.069 0H0C3.9104 0 7.6853 1.43201 10.6119 4.02554L73.7448 59.9745C76.6714 62.568 80.4463 64 84.3567 64H270.069C278.906 64 286.069 71.1635 286.069 80Z",fill:"#ffffff"})}),yS=()=>{const{subscribe_title:e,subscribe_description:n,subscribe_policy_text:r,subscribe_thanks_description:i,subscribe_thanks_title:a,subscribe_tag:s}=hs(Mi),{cta_field_email_placeholder:o}=hs(Ta),[l,c]=t.useState(""),[d,h]=t.useState(""),[u,p]=t.useState(!0),[f,m]=t.useState(!1),g=""===l||!u||!Hv(l)||f;return(0,$o.jsxs)("div",{className:"subscribe-card",children:[(0,$o.jsxs)("div",{className:"subscribe-card__label",children:[(0,$o.jsxs)("div",{className:"subscribe-card__label-label",children:["\u2022 ",s]}),(0,$o.jsx)(gS,{})]}),"success"===d?(0,$o.jsxs)("div",{className:"subscribe-card__content",children:[(0,$o.jsx)("h2",{children:a}),(0,$o.jsx)("p",{className:"body1 opacity-80",children:i})]}):(0,$o.jsxs)("div",{className:"subscribe-card__content",children:[(0,$o.jsx)("h2",{dangerouslySetInnerHTML:{__html:e}}),(0,$o.jsx)("p",{className:"body1 opacity-80",children:n}),(0,$o.jsxs)("div",{className:"subscribe-form",children:[(0,$o.jsxs)("div",{className:"subscribe-form__input",children:[(0,$o.jsx)(Wv,{value:l,onChange:e=>c(e),label:void 0,placeholder:o,type:"email"}),(0,$o.jsx)("button",{className:"button send ".concat(g?"disabled":""),onClick:()=>{m(!0),Zn.post("".concat(nr+Kn.B1),{email:l}).then((e=>{h(e.data.status),m(!1)})).catch((function(e){console.log(e),m(!1)}))}})]}),(0,$o.jsx)(Jv,{checked:u,onChange:()=>p(!u),children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:r}})})]})]})]})},vS=e=>{let{posts:t=[]}=e;return(0,$o.jsxs)("div",{className:"news-cards",children:[t.map(((e,t)=>(0,$o.jsx)(mS,{data:e,big:0===t},t))),(0,$o.jsx)(yS,{})]})},xS=e=>{let{tag:t,onClick:n,selectedTag:r}=e;const i=(null===r||void 0===r?void 0:r.type)===(null===t||void 0===t?void 0:t.type);return(0,$o.jsx)("button",{onClick:()=>n(t),className:"tag-item ".concat(i?"selected":""),children:t.name})},SS=e=>{let{tags:t=[],selectedTag:n,onClick:r}=e;return(0,$o.jsx)("div",{className:"tags-filter",children:t.map((e=>(0,$o.jsx)(xS,{tag:e,selectedTag:n,onClick:r},e.type)))})},AS=()=>{const e=Ss(),[n,r]=(0,t.useState)(void 0),[i,a]=(0,t.useState)(1),s=hs(Vi),{title:o,description:l,tags:c,title_background:d,show_all_button:h,show_more_button:u,fs_button_text:p}=hs(Mi),f=hs(Ca),{data:m,next:g}=hs(Ti),y={type:"all",name:h};(0,t.useEffect)((()=>{e(Ai()),r(y)}),[e,h]),(0,t.useEffect)((()=>{e(ki({tag:"all"===(null===n||void 0===n?void 0:n.type)?null:null===n||void 0===n?void 0:n.type,page:i}))}),[e,n,i,h]);const v=null===c||void 0===c?void 0:c.map((e=>({type:e,name:f[e]}))),x=v?[y,...v]:[],S=(0,t.useRef)();return Sg({items:[".news-heading",".news-cards"],container:S,dependencies:[s]}),s?(0,$o.jsx)(py,{}):(0,$o.jsxs)("div",{ref:S,children:[(0,$o.jsx)(sl,{title:o,image:d,buttonText:p,onClickButton:()=>Wa("subscribe-card",100)}),(0,$o.jsx)("section",{className:"container",children:(0,$o.jsxs)("div",{className:"inner-container",children:[(0,$o.jsxs)("div",{className:"news-heading",children:[(0,$o.jsx)(ol,{size:"small",children:(0,$o.jsx)("div",{className:"max-width-760",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:l}})})}),(0,$o.jsx)(SS,{tags:x,selectedTag:n,onClick:e=>{a(1),r(e)}})]}),(0,$o.jsx)(vS,{posts:m}),(0,$o.jsx)(hx,{next:g,text:u,onClick:()=>a(i+1)})]})})]})};function bS(e){return null!==e&&"object"===typeof e&&"constructor"in e&&e.constructor===Object}function kS(e,t){void 0===e&&(e={}),void 0===t&&(t={}),Object.keys(t).forEach((n=>{"undefined"===typeof e[n]?e[n]=t[n]:bS(t[n])&&bS(e[n])&&Object.keys(t[n]).length>0&&kS(e[n],t[n])}))}const wS={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function jS(){const e="undefined"!==typeof document?document:{};return kS(e,wS),e}const MS={document:wS,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"===typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!==typeof setTimeout&&clearTimeout(e)}};function PS(){const e="undefined"!==typeof window?window:{};return kS(e,MS),e}function OS(e,t){return void 0===t&&(t=0),setTimeout(e,t)}function TS(){return Date.now()}function IS(e,t){void 0===t&&(t="x");const n=PS();let r,i,a;const s=function(e){const t=PS();let n;return t.getComputedStyle&&(n=t.getComputedStyle(e,null)),!n&&e.currentStyle&&(n=e.currentStyle),n||(n=e.style),n}(e);return n.WebKitCSSMatrix?(i=s.transform||s.webkitTransform,i.split(",").length>6&&(i=i.split(", ").map((e=>e.replace(",","."))).join(", ")),a=new n.WebKitCSSMatrix("none"===i?"":i)):(a=s.MozTransform||s.OTransform||s.MsTransform||s.msTransform||s.transform||s.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),r=a.toString().split(",")),"x"===t&&(i=n.WebKitCSSMatrix?a.m41:16===r.length?parseFloat(r[12]):parseFloat(r[4])),"y"===t&&(i=n.WebKitCSSMatrix?a.m42:16===r.length?parseFloat(r[13]):parseFloat(r[5])),i||0}function CS(e){return"object"===typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function ES(){const e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"];for(let r=1;r<arguments.length;r+=1){const i=r<0||arguments.length<=r?void 0:arguments[r];if(void 0!==i&&null!==i&&(n=i,!("undefined"!==typeof window&&"undefined"!==typeof window.HTMLElement?n instanceof HTMLElement:n&&(1===n.nodeType||11===n.nodeType)))){const n=Object.keys(Object(i)).filter((e=>t.indexOf(e)<0));for(let t=0,r=n.length;t<r;t+=1){const r=n[t],a=Object.getOwnPropertyDescriptor(i,r);void 0!==a&&a.enumerable&&(CS(e[r])&&CS(i[r])?i[r].__swiper__?e[r]=i[r]:ES(e[r],i[r]):!CS(e[r])&&CS(i[r])?(e[r]={},i[r].__swiper__?e[r]=i[r]:ES(e[r],i[r])):e[r]=i[r])}}}var n;return e}function VS(e,t,n){e.style.setProperty(t,n)}function RS(e){let{swiper:t,targetPosition:n,side:r}=e;const i=PS(),a=-t.translate;let s,o=null;const l=t.params.speed;t.wrapperEl.style.scrollSnapType="none",i.cancelAnimationFrame(t.cssModeFrameID);const c=n>a?"next":"prev",d=(e,t)=>"next"===c&&e>=t||"prev"===c&&e<=t,h=()=>{s=(new Date).getTime(),null===o&&(o=s);const e=Math.max(Math.min((s-o)/l,1),0),c=.5-Math.cos(e*Math.PI)/2;let u=a+c*(n-a);if(d(u,n)&&(u=n),t.wrapperEl.scrollTo({[r]:u}),d(u,n))return t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.scrollSnapType="",setTimeout((()=>{t.wrapperEl.style.overflow="",t.wrapperEl.scrollTo({[r]:u})})),void i.cancelAnimationFrame(t.cssModeFrameID);t.cssModeFrameID=i.requestAnimationFrame(h)};h()}function DS(e){return e.querySelector(".swiper-slide-transform")||e.shadowRoot&&e.shadowRoot.querySelector(".swiper-slide-transform")||e}function BS(e,t){return void 0===t&&(t=""),[...e.children].filter((e=>e.matches(t)))}function GS(e,t){void 0===t&&(t=[]);const n=document.createElement(e);return n.classList.add(...Array.isArray(t)?t:[t]),n}function qS(e,t){return PS().getComputedStyle(e,null).getPropertyValue(t)}function HS(e){let t,n=e;if(n){for(t=0;null!==(n=n.previousSibling);)1===n.nodeType&&(t+=1);return t}}function WS(e,t){const n=[];let r=e.parentElement;for(;r;)t?r.matches(t)&&n.push(r):n.push(r),r=r.parentElement;return n}function zS(e,t,n){const r=PS();return n?e["width"===t?"offsetWidth":"offsetHeight"]+parseFloat(r.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-right":"margin-top"))+parseFloat(r.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-left":"margin-bottom")):e.offsetWidth}let JS,US,NS;function LS(){return JS||(JS=function(){const e=PS(),t=jS();return{smoothScroll:t.documentElement&&t.documentElement.style&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch)}}()),JS}function YS(e){return void 0===e&&(e={}),US||(US=function(e){let{userAgent:t}=void 0===e?{}:e;const n=LS(),r=PS(),i=r.navigator.platform,a=t||r.navigator.userAgent,s={ios:!1,android:!1},o=r.screen.width,l=r.screen.height,c=a.match(/(Android);?[\s\/]+([\d.]+)?/);let d=a.match(/(iPad).*OS\s([\d_]+)/);const h=a.match(/(iPod)(.*OS\s([\d_]+))?/),u=!d&&a.match(/(iPhone\sOS|iOS)\s([\d_]+)/),p="Win32"===i;let f="MacIntel"===i;return!d&&f&&n.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf("".concat(o,"x").concat(l))>=0&&(d=a.match(/(Version)\/([\d.]+)/),d||(d=[0,1,"13_0_0"]),f=!1),c&&!p&&(s.os="android",s.android=!0),(d||u||h)&&(s.os="ios",s.ios=!0),s}(e)),US}function FS(){return NS||(NS=function(){const e=PS();let t=!1;function n(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}if(n()){const n=String(e.navigator.userAgent);if(n.includes("Version/")){const[e,r]=n.split("Version/")[1].split(" ")[0].split(".").map((e=>Number(e)));t=e<16||16===e&&r<2}}return{isSafari:t||n(),needPerspectiveFix:t,isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent)}}()),NS}var ZS={on(e,t,n){const r=this;if(!r.eventsListeners||r.destroyed)return r;if("function"!==typeof t)return r;const i=n?"unshift":"push";return e.split(" ").forEach((e=>{r.eventsListeners[e]||(r.eventsListeners[e]=[]),r.eventsListeners[e][i](t)})),r},once(e,t,n){const r=this;if(!r.eventsListeners||r.destroyed)return r;if("function"!==typeof t)return r;function i(){r.off(e,i),i.__emitterProxy&&delete i.__emitterProxy;for(var n=arguments.length,a=new Array(n),s=0;s<n;s++)a[s]=arguments[s];t.apply(r,a)}return i.__emitterProxy=t,r.on(e,i,n)},onAny(e,t){const n=this;if(!n.eventsListeners||n.destroyed)return n;if("function"!==typeof e)return n;const r=t?"unshift":"push";return n.eventsAnyListeners.indexOf(e)<0&&n.eventsAnyListeners[r](e),n},offAny(e){const t=this;if(!t.eventsListeners||t.destroyed)return t;if(!t.eventsAnyListeners)return t;const n=t.eventsAnyListeners.indexOf(e);return n>=0&&t.eventsAnyListeners.splice(n,1),t},off(e,t){const n=this;return!n.eventsListeners||n.destroyed?n:n.eventsListeners?(e.split(" ").forEach((e=>{"undefined"===typeof t?n.eventsListeners[e]=[]:n.eventsListeners[e]&&n.eventsListeners[e].forEach(((r,i)=>{(r===t||r.__emitterProxy&&r.__emitterProxy===t)&&n.eventsListeners[e].splice(i,1)}))})),n):n},emit(){const e=this;if(!e.eventsListeners||e.destroyed)return e;if(!e.eventsListeners)return e;let t,n,r;for(var i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];"string"===typeof a[0]||Array.isArray(a[0])?(t=a[0],n=a.slice(1,a.length),r=e):(t=a[0].events,n=a[0].data,r=a[0].context||e),n.unshift(r);return(Array.isArray(t)?t:t.split(" ")).forEach((t=>{e.eventsAnyListeners&&e.eventsAnyListeners.length&&e.eventsAnyListeners.forEach((e=>{e.apply(r,[t,...n])})),e.eventsListeners&&e.eventsListeners[t]&&e.eventsListeners[t].forEach((e=>{e.apply(r,n)}))})),e}};const KS=(e,t)=>{if(!e||e.destroyed||!e.params)return;const n=t.closest(e.isElement?"swiper-slide":".".concat(e.params.slideClass));if(n){let t=n.querySelector(".".concat(e.params.lazyPreloaderClass));!t&&e.isElement&&(n.shadowRoot?t=n.shadowRoot.querySelector(".".concat(e.params.lazyPreloaderClass)):requestAnimationFrame((()=>{n.shadowRoot&&(t=n.shadowRoot.querySelector(".".concat(e.params.lazyPreloaderClass)),t&&t.remove())}))),t&&t.remove()}},QS=(e,t)=>{if(!e.slides[t])return;const n=e.slides[t].querySelector('[loading="lazy"]');n&&n.removeAttribute("loading")},XS=e=>{if(!e||e.destroyed||!e.params)return;let t=e.params.lazyPreloadPrevNext;const n=e.slides.length;if(!n||!t||t<0)return;t=Math.min(t,n);const r="auto"===e.params.slidesPerView?e.slidesPerViewDynamic():Math.ceil(e.params.slidesPerView),i=e.activeIndex;if(e.params.grid&&e.params.grid.rows>1){const n=i,a=[n-t];return a.push(...Array.from({length:t}).map(((e,t)=>n+r+t))),void e.slides.forEach(((t,n)=>{a.includes(t.column)&&QS(e,n)}))}const a=i+r-1;if(e.params.rewind||e.params.loop)for(let s=i-t;s<=a+t;s+=1){const t=(s%n+n)%n;(t<i||t>a)&&QS(e,t)}else for(let s=Math.max(i-t,0);s<=Math.min(a+t,n-1);s+=1)s!==i&&(s>a||s<i)&&QS(e,s)};var _S={updateSize:function(){const e=this;let t,n;const r=e.el;t="undefined"!==typeof e.params.width&&null!==e.params.width?e.params.width:r.clientWidth,n="undefined"!==typeof e.params.height&&null!==e.params.height?e.params.height:r.clientHeight,0===t&&e.isHorizontal()||0===n&&e.isVertical()||(t=t-parseInt(qS(r,"padding-left")||0,10)-parseInt(qS(r,"padding-right")||0,10),n=n-parseInt(qS(r,"padding-top")||0,10)-parseInt(qS(r,"padding-bottom")||0,10),Number.isNaN(t)&&(t=0),Number.isNaN(n)&&(n=0),Object.assign(e,{width:t,height:n,size:e.isHorizontal()?t:n}))},updateSlides:function(){const e=this;function t(t){return e.isHorizontal()?t:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[t]}function n(e,n){return parseFloat(e.getPropertyValue(t(n))||0)}const r=e.params,{wrapperEl:i,slidesEl:a,size:s,rtlTranslate:o,wrongRTL:l}=e,c=e.virtual&&r.virtual.enabled,d=c?e.virtual.slides.length:e.slides.length,h=BS(a,".".concat(e.params.slideClass,", swiper-slide")),u=c?e.virtual.slides.length:h.length;let p=[];const f=[],m=[];let g=r.slidesOffsetBefore;"function"===typeof g&&(g=r.slidesOffsetBefore.call(e));let y=r.slidesOffsetAfter;"function"===typeof y&&(y=r.slidesOffsetAfter.call(e));const v=e.snapGrid.length,x=e.slidesGrid.length;let S=r.spaceBetween,A=-g,b=0,k=0;if("undefined"===typeof s)return;"string"===typeof S&&S.indexOf("%")>=0?S=parseFloat(S.replace("%",""))/100*s:"string"===typeof S&&(S=parseFloat(S)),e.virtualSize=-S,h.forEach((e=>{o?e.style.marginLeft="":e.style.marginRight="",e.style.marginBottom="",e.style.marginTop=""})),r.centeredSlides&&r.cssMode&&(VS(i,"--swiper-centered-offset-before",""),VS(i,"--swiper-centered-offset-after",""));const w=r.grid&&r.grid.rows>1&&e.grid;let j;w&&e.grid.initSlides(u);const M="auto"===r.slidesPerView&&r.breakpoints&&Object.keys(r.breakpoints).filter((e=>"undefined"!==typeof r.breakpoints[e].slidesPerView)).length>0;for(let P=0;P<u;P+=1){let i;if(j=0,h[P]&&(i=h[P]),w&&e.grid.updateSlide(P,i,u,t),!h[P]||"none"!==qS(i,"display")){if("auto"===r.slidesPerView){M&&(h[P].style[t("width")]="");const a=getComputedStyle(i),s=i.style.transform,o=i.style.webkitTransform;if(s&&(i.style.transform="none"),o&&(i.style.webkitTransform="none"),r.roundLengths)j=e.isHorizontal()?zS(i,"width",!0):zS(i,"height",!0);else{const e=n(a,"width"),t=n(a,"padding-left"),r=n(a,"padding-right"),s=n(a,"margin-left"),o=n(a,"margin-right"),l=a.getPropertyValue("box-sizing");if(l&&"border-box"===l)j=e+s+o;else{const{clientWidth:n,offsetWidth:a}=i;j=e+t+r+s+o+(a-n)}}s&&(i.style.transform=s),o&&(i.style.webkitTransform=o),r.roundLengths&&(j=Math.floor(j))}else j=(s-(r.slidesPerView-1)*S)/r.slidesPerView,r.roundLengths&&(j=Math.floor(j)),h[P]&&(h[P].style[t("width")]="".concat(j,"px"));h[P]&&(h[P].swiperSlideSize=j),m.push(j),r.centeredSlides?(A=A+j/2+b/2+S,0===b&&0!==P&&(A=A-s/2-S),0===P&&(A=A-s/2-S),Math.abs(A)<.001&&(A=0),r.roundLengths&&(A=Math.floor(A)),k%r.slidesPerGroup===0&&p.push(A),f.push(A)):(r.roundLengths&&(A=Math.floor(A)),(k-Math.min(e.params.slidesPerGroupSkip,k))%e.params.slidesPerGroup===0&&p.push(A),f.push(A),A=A+j+S),e.virtualSize+=j+S,b=j,k+=1}}if(e.virtualSize=Math.max(e.virtualSize,s)+y,o&&l&&("slide"===r.effect||"coverflow"===r.effect)&&(i.style.width="".concat(e.virtualSize+S,"px")),r.setWrapperSize&&(i.style[t("width")]="".concat(e.virtualSize+S,"px")),w&&e.grid.updateWrapperSize(j,p,t),!r.centeredSlides){const t=[];for(let n=0;n<p.length;n+=1){let i=p[n];r.roundLengths&&(i=Math.floor(i)),p[n]<=e.virtualSize-s&&t.push(i)}p=t,Math.floor(e.virtualSize-s)-Math.floor(p[p.length-1])>1&&p.push(e.virtualSize-s)}if(c&&r.loop){const t=m[0]+S;if(r.slidesPerGroup>1){const n=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/r.slidesPerGroup),i=t*r.slidesPerGroup;for(let e=0;e<n;e+=1)p.push(p[p.length-1]+i)}for(let n=0;n<e.virtual.slidesBefore+e.virtual.slidesAfter;n+=1)1===r.slidesPerGroup&&p.push(p[p.length-1]+t),f.push(f[f.length-1]+t),e.virtualSize+=t}if(0===p.length&&(p=[0]),0!==S){const n=e.isHorizontal()&&o?"marginLeft":t("marginRight");h.filter(((e,t)=>!(r.cssMode&&!r.loop)||t!==h.length-1)).forEach((e=>{e.style[n]="".concat(S,"px")}))}if(r.centeredSlides&&r.centeredSlidesBounds){let e=0;m.forEach((t=>{e+=t+(S||0)})),e-=S;const t=e-s;p=p.map((e=>e<=0?-g:e>t?t+y:e))}if(r.centerInsufficientSlides){let e=0;if(m.forEach((t=>{e+=t+(S||0)})),e-=S,e<s){const t=(s-e)/2;p.forEach(((e,n)=>{p[n]=e-t})),f.forEach(((e,n)=>{f[n]=e+t}))}}if(Object.assign(e,{slides:h,snapGrid:p,slidesGrid:f,slidesSizesGrid:m}),r.centeredSlides&&r.cssMode&&!r.centeredSlidesBounds){VS(i,"--swiper-centered-offset-before","".concat(-p[0],"px")),VS(i,"--swiper-centered-offset-after","".concat(e.size/2-m[m.length-1]/2,"px"));const t=-e.snapGrid[0],n=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map((e=>e+t)),e.slidesGrid=e.slidesGrid.map((e=>e+n))}if(u!==d&&e.emit("slidesLengthChange"),p.length!==v&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),f.length!==x&&e.emit("slidesGridLengthChange"),r.watchSlidesProgress&&e.updateSlidesOffset(),!c&&!r.cssMode&&("slide"===r.effect||"fade"===r.effect)){const t="".concat(r.containerModifierClass,"backface-hidden"),n=e.el.classList.contains(t);u<=r.maxBackfaceHiddenSlides?n||e.el.classList.add(t):n&&e.el.classList.remove(t)}},updateAutoHeight:function(e){const t=this,n=[],r=t.virtual&&t.params.virtual.enabled;let i,a=0;"number"===typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const s=e=>r?t.slides[t.getSlideIndexByData(e)]:t.slides[e];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||[]).forEach((e=>{n.push(e)}));else for(i=0;i<Math.ceil(t.params.slidesPerView);i+=1){const e=t.activeIndex+i;if(e>t.slides.length&&!r)break;n.push(s(e))}else n.push(s(t.activeIndex));for(i=0;i<n.length;i+=1)if("undefined"!==typeof n[i]){const e=n[i].offsetHeight;a=e>a?e:a}(a||0===a)&&(t.wrapperEl.style.height="".concat(a,"px"))},updateSlidesOffset:function(){const e=this,t=e.slides,n=e.isElement?e.isHorizontal()?e.wrapperEl.offsetLeft:e.wrapperEl.offsetTop:0;for(let r=0;r<t.length;r+=1)t[r].swiperSlideOffset=(e.isHorizontal()?t[r].offsetLeft:t[r].offsetTop)-n-e.cssOverflowAdjustment()},updateSlidesProgress:function(e){void 0===e&&(e=this&&this.translate||0);const t=this,n=t.params,{slides:r,rtlTranslate:i,snapGrid:a}=t;if(0===r.length)return;"undefined"===typeof r[0].swiperSlideOffset&&t.updateSlidesOffset();let s=-e;i&&(s=e),r.forEach((e=>{e.classList.remove(n.slideVisibleClass)})),t.visibleSlidesIndexes=[],t.visibleSlides=[];let o=n.spaceBetween;"string"===typeof o&&o.indexOf("%")>=0?o=parseFloat(o.replace("%",""))/100*t.size:"string"===typeof o&&(o=parseFloat(o));for(let l=0;l<r.length;l+=1){const e=r[l];let c=e.swiperSlideOffset;n.cssMode&&n.centeredSlides&&(c-=r[0].swiperSlideOffset);const d=(s+(n.centeredSlides?t.minTranslate():0)-c)/(e.swiperSlideSize+o),h=(s-a[0]+(n.centeredSlides?t.minTranslate():0)-c)/(e.swiperSlideSize+o),u=-(s-c),p=u+t.slidesSizesGrid[l];(u>=0&&u<t.size-1||p>1&&p<=t.size||u<=0&&p>=t.size)&&(t.visibleSlides.push(e),t.visibleSlidesIndexes.push(l),r[l].classList.add(n.slideVisibleClass)),e.progress=i?-d:d,e.originalProgress=i?-h:h}},updateProgress:function(e){const t=this;if("undefined"===typeof e){const n=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*n||0}const n=t.params,r=t.maxTranslate()-t.minTranslate();let{progress:i,isBeginning:a,isEnd:s,progressLoop:o}=t;const l=a,c=s;if(0===r)i=0,a=!0,s=!0;else{i=(e-t.minTranslate())/r;const n=Math.abs(e-t.minTranslate())<1,o=Math.abs(e-t.maxTranslate())<1;a=n||i<=0,s=o||i>=1,n&&(i=0),o&&(i=1)}if(n.loop){const n=t.getSlideIndexByData(0),r=t.getSlideIndexByData(t.slides.length-1),i=t.slidesGrid[n],a=t.slidesGrid[r],s=t.slidesGrid[t.slidesGrid.length-1],l=Math.abs(e);o=l>=i?(l-i)/s:(l+s-a)/s,o>1&&(o-=1)}Object.assign(t,{progress:i,progressLoop:o,isBeginning:a,isEnd:s}),(n.watchSlidesProgress||n.centeredSlides&&n.autoHeight)&&t.updateSlidesProgress(e),a&&!l&&t.emit("reachBeginning toEdge"),s&&!c&&t.emit("reachEnd toEdge"),(l&&!a||c&&!s)&&t.emit("fromEdge"),t.emit("progress",i)},updateSlidesClasses:function(){const e=this,{slides:t,params:n,slidesEl:r,activeIndex:i}=e,a=e.virtual&&n.virtual.enabled,s=e=>BS(r,".".concat(n.slideClass).concat(e,", swiper-slide").concat(e))[0];let o;if(t.forEach((e=>{e.classList.remove(n.slideActiveClass,n.slideNextClass,n.slidePrevClass)})),a)if(n.loop){let t=i-e.virtual.slidesBefore;t<0&&(t=e.virtual.slides.length+t),t>=e.virtual.slides.length&&(t-=e.virtual.slides.length),o=s('[data-swiper-slide-index="'.concat(t,'"]'))}else o=s('[data-swiper-slide-index="'.concat(i,'"]'));else o=t[i];if(o){o.classList.add(n.slideActiveClass);let e=function(e,t){const n=[];for(;e.nextElementSibling;){const r=e.nextElementSibling;t?r.matches(t)&&n.push(r):n.push(r),e=r}return n}(o,".".concat(n.slideClass,", swiper-slide"))[0];n.loop&&!e&&(e=t[0]),e&&e.classList.add(n.slideNextClass);let r=function(e,t){const n=[];for(;e.previousElementSibling;){const r=e.previousElementSibling;t?r.matches(t)&&n.push(r):n.push(r),e=r}return n}(o,".".concat(n.slideClass,", swiper-slide"))[0];n.loop&&0===!r&&(r=t[t.length-1]),r&&r.classList.add(n.slidePrevClass)}e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,n=t.rtlTranslate?t.translate:-t.translate,{snapGrid:r,params:i,activeIndex:a,realIndex:s,snapIndex:o}=t;let l,c=e;const d=e=>{let n=e-t.virtual.slidesBefore;return n<0&&(n=t.virtual.slides.length+n),n>=t.virtual.slides.length&&(n-=t.virtual.slides.length),n};if("undefined"===typeof c&&(c=function(e){const{slidesGrid:t,params:n}=e,r=e.rtlTranslate?e.translate:-e.translate;let i;for(let a=0;a<t.length;a+=1)"undefined"!==typeof t[a+1]?r>=t[a]&&r<t[a+1]-(t[a+1]-t[a])/2?i=a:r>=t[a]&&r<t[a+1]&&(i=a+1):r>=t[a]&&(i=a);return n.normalizeSlideIndex&&(i<0||"undefined"===typeof i)&&(i=0),i}(t)),r.indexOf(n)>=0)l=r.indexOf(n);else{const e=Math.min(i.slidesPerGroupSkip,c);l=e+Math.floor((c-e)/i.slidesPerGroup)}if(l>=r.length&&(l=r.length-1),c===a)return l!==o&&(t.snapIndex=l,t.emit("snapIndexChange")),void(t.params.loop&&t.virtual&&t.params.virtual.enabled&&(t.realIndex=d(c)));let h;h=t.virtual&&i.virtual.enabled&&i.loop?d(c):t.slides[c]?parseInt(t.slides[c].getAttribute("data-swiper-slide-index")||c,10):c,Object.assign(t,{previousSnapIndex:o,snapIndex:l,previousRealIndex:s,realIndex:h,previousIndex:a,activeIndex:c}),t.initialized&&XS(t),t.emit("activeIndexChange"),t.emit("snapIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&(s!==h&&t.emit("realIndexChange"),t.emit("slideChange"))},updateClickedSlide:function(e,t){const n=this,r=n.params;let i=e.closest(".".concat(r.slideClass,", swiper-slide"));!i&&n.isElement&&t&&t.length>1&&t.includes(e)&&[...t.slice(t.indexOf(e)+1,t.length)].forEach((e=>{!i&&e.matches&&e.matches(".".concat(r.slideClass,", swiper-slide"))&&(i=e)}));let a,s=!1;if(i)for(let o=0;o<n.slides.length;o+=1)if(n.slides[o]===i){s=!0,a=o;break}if(!i||!s)return n.clickedSlide=void 0,void(n.clickedIndex=void 0);n.clickedSlide=i,n.virtual&&n.params.virtual.enabled?n.clickedIndex=parseInt(i.getAttribute("data-swiper-slide-index"),10):n.clickedIndex=a,r.slideToClickedSlide&&void 0!==n.clickedIndex&&n.clickedIndex!==n.activeIndex&&n.slideToClickedSlide()}};var $S={getTranslate:function(e){void 0===e&&(e=this.isHorizontal()?"x":"y");const{params:t,rtlTranslate:n,translate:r,wrapperEl:i}=this;if(t.virtualTranslate)return n?-r:r;if(t.cssMode)return r;let a=IS(i,e);return a+=this.cssOverflowAdjustment(),n&&(a=-a),a||0},setTranslate:function(e,t){const n=this,{rtlTranslate:r,params:i,wrapperEl:a,progress:s}=n;let o,l=0,c=0;n.isHorizontal()?l=r?-e:e:c=e,i.roundLengths&&(l=Math.floor(l),c=Math.floor(c)),n.previousTranslate=n.translate,n.translate=n.isHorizontal()?l:c,i.cssMode?a[n.isHorizontal()?"scrollLeft":"scrollTop"]=n.isHorizontal()?-l:-c:i.virtualTranslate||(n.isHorizontal()?l-=n.cssOverflowAdjustment():c-=n.cssOverflowAdjustment(),a.style.transform="translate3d(".concat(l,"px, ").concat(c,"px, ").concat(0,"px)"));const d=n.maxTranslate()-n.minTranslate();o=0===d?0:(e-n.minTranslate())/d,o!==s&&n.updateProgress(e),n.emit("setTranslate",n.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(e,t,n,r,i){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===n&&(n=!0),void 0===r&&(r=!0);const a=this,{params:s,wrapperEl:o}=a;if(a.animating&&s.preventInteractionOnTransition)return!1;const l=a.minTranslate(),c=a.maxTranslate();let d;if(d=r&&e>l?l:r&&e<c?c:e,a.updateProgress(d),s.cssMode){const e=a.isHorizontal();if(0===t)o[e?"scrollLeft":"scrollTop"]=-d;else{if(!a.support.smoothScroll)return RS({swiper:a,targetPosition:-d,side:e?"left":"top"}),!0;o.scrollTo({[e?"left":"top"]:-d,behavior:"smooth"})}return!0}return 0===t?(a.setTransition(0),a.setTranslate(d),n&&(a.emit("beforeTransitionStart",t,i),a.emit("transitionEnd"))):(a.setTransition(t),a.setTranslate(d),n&&(a.emit("beforeTransitionStart",t,i),a.emit("transitionStart")),a.animating||(a.animating=!0,a.onTranslateToWrapperTransitionEnd||(a.onTranslateToWrapperTransitionEnd=function(e){a&&!a.destroyed&&e.target===this&&(a.wrapperEl.removeEventListener("transitionend",a.onTranslateToWrapperTransitionEnd),a.onTranslateToWrapperTransitionEnd=null,delete a.onTranslateToWrapperTransitionEnd,n&&a.emit("transitionEnd"))}),a.wrapperEl.addEventListener("transitionend",a.onTranslateToWrapperTransitionEnd))),!0}};function eA(e){let{swiper:t,runCallbacks:n,direction:r,step:i}=e;const{activeIndex:a,previousIndex:s}=t;let o=r;if(o||(o=a>s?"next":a<s?"prev":"reset"),t.emit("transition".concat(i)),n&&a!==s){if("reset"===o)return void t.emit("slideResetTransition".concat(i));t.emit("slideChangeTransition".concat(i)),"next"===o?t.emit("slideNextTransition".concat(i)):t.emit("slidePrevTransition".concat(i))}}var tA={setTransition:function(e,t){const n=this;n.params.cssMode||(n.wrapperEl.style.transitionDuration="".concat(e,"ms"),n.wrapperEl.style.transitionDelay=0===e?"0ms":""),n.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);const n=this,{params:r}=n;r.cssMode||(r.autoHeight&&n.updateAutoHeight(),eA({swiper:n,runCallbacks:e,direction:t,step:"Start"}))},transitionEnd:function(e,t){void 0===e&&(e=!0);const n=this,{params:r}=n;n.animating=!1,r.cssMode||(n.setTransition(0),eA({swiper:n,runCallbacks:e,direction:t,step:"End"}))}};var nA={slideTo:function(e,t,n,r,i){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===n&&(n=!0),"string"===typeof e&&(e=parseInt(e,10));const a=this;let s=e;s<0&&(s=0);const{params:o,snapGrid:l,slidesGrid:c,previousIndex:d,activeIndex:h,rtlTranslate:u,wrapperEl:p,enabled:f}=a;if(a.animating&&o.preventInteractionOnTransition||!f&&!r&&!i)return!1;const m=Math.min(a.params.slidesPerGroupSkip,s);let g=m+Math.floor((s-m)/a.params.slidesPerGroup);g>=l.length&&(g=l.length-1);const y=-l[g];if(o.normalizeSlideIndex)for(let x=0;x<c.length;x+=1){const e=-Math.floor(100*y),t=Math.floor(100*c[x]),n=Math.floor(100*c[x+1]);"undefined"!==typeof c[x+1]?e>=t&&e<n-(n-t)/2?s=x:e>=t&&e<n&&(s=x+1):e>=t&&(s=x)}if(a.initialized&&s!==h){if(!a.allowSlideNext&&(u?y>a.translate&&y>a.minTranslate():y<a.translate&&y<a.minTranslate()))return!1;if(!a.allowSlidePrev&&y>a.translate&&y>a.maxTranslate()&&(h||0)!==s)return!1}let v;if(s!==(d||0)&&n&&a.emit("beforeSlideChangeStart"),a.updateProgress(y),v=s>h?"next":s<h?"prev":"reset",u&&-y===a.translate||!u&&y===a.translate)return a.updateActiveIndex(s),o.autoHeight&&a.updateAutoHeight(),a.updateSlidesClasses(),"slide"!==o.effect&&a.setTranslate(y),"reset"!==v&&(a.transitionStart(n,v),a.transitionEnd(n,v)),!1;if(o.cssMode){const e=a.isHorizontal(),n=u?y:-y;if(0===t){const t=a.virtual&&a.params.virtual.enabled;t&&(a.wrapperEl.style.scrollSnapType="none",a._immediateVirtual=!0),t&&!a._cssModeVirtualInitialSet&&a.params.initialSlide>0?(a._cssModeVirtualInitialSet=!0,requestAnimationFrame((()=>{p[e?"scrollLeft":"scrollTop"]=n}))):p[e?"scrollLeft":"scrollTop"]=n,t&&requestAnimationFrame((()=>{a.wrapperEl.style.scrollSnapType="",a._immediateVirtual=!1}))}else{if(!a.support.smoothScroll)return RS({swiper:a,targetPosition:n,side:e?"left":"top"}),!0;p.scrollTo({[e?"left":"top"]:n,behavior:"smooth"})}return!0}return a.setTransition(t),a.setTranslate(y),a.updateActiveIndex(s),a.updateSlidesClasses(),a.emit("beforeTransitionStart",t,r),a.transitionStart(n,v),0===t?a.transitionEnd(n,v):a.animating||(a.animating=!0,a.onSlideToWrapperTransitionEnd||(a.onSlideToWrapperTransitionEnd=function(e){a&&!a.destroyed&&e.target===this&&(a.wrapperEl.removeEventListener("transitionend",a.onSlideToWrapperTransitionEnd),a.onSlideToWrapperTransitionEnd=null,delete a.onSlideToWrapperTransitionEnd,a.transitionEnd(n,v))}),a.wrapperEl.addEventListener("transitionend",a.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e,t,n,r){if(void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===n&&(n=!0),"string"===typeof e){e=parseInt(e,10)}const i=this;let a=e;return i.params.loop&&(i.virtual&&i.params.virtual.enabled?a+=i.virtual.slidesBefore:a=i.getSlideIndexByData(a)),i.slideTo(a,t,n,r)},slideNext:function(e,t,n){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);const r=this,{enabled:i,params:a,animating:s}=r;if(!i)return r;let o=a.slidesPerGroup;"auto"===a.slidesPerView&&1===a.slidesPerGroup&&a.slidesPerGroupAuto&&(o=Math.max(r.slidesPerViewDynamic("current",!0),1));const l=r.activeIndex<a.slidesPerGroupSkip?1:o,c=r.virtual&&a.virtual.enabled;if(a.loop){if(s&&!c&&a.loopPreventsSliding)return!1;if(r.loopFix({direction:"next"}),r._clientLeft=r.wrapperEl.clientLeft,r.activeIndex===r.slides.length-1&&a.cssMode)return requestAnimationFrame((()=>{r.slideTo(r.activeIndex+l,e,t,n)})),!0}return a.rewind&&r.isEnd?r.slideTo(0,e,t,n):r.slideTo(r.activeIndex+l,e,t,n)},slidePrev:function(e,t,n){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);const r=this,{params:i,snapGrid:a,slidesGrid:s,rtlTranslate:o,enabled:l,animating:c}=r;if(!l)return r;const d=r.virtual&&i.virtual.enabled;if(i.loop){if(c&&!d&&i.loopPreventsSliding)return!1;r.loopFix({direction:"prev"}),r._clientLeft=r.wrapperEl.clientLeft}function h(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}const u=h(o?r.translate:-r.translate),p=a.map((e=>h(e)));let f=a[p.indexOf(u)-1];if("undefined"===typeof f&&i.cssMode){let e;a.forEach(((t,n)=>{u>=t&&(e=n)})),"undefined"!==typeof e&&(f=a[e>0?e-1:e])}let m=0;if("undefined"!==typeof f&&(m=s.indexOf(f),m<0&&(m=r.activeIndex-1),"auto"===i.slidesPerView&&1===i.slidesPerGroup&&i.slidesPerGroupAuto&&(m=m-r.slidesPerViewDynamic("previous",!0)+1,m=Math.max(m,0))),i.rewind&&r.isBeginning){const i=r.params.virtual&&r.params.virtual.enabled&&r.virtual?r.virtual.slides.length-1:r.slides.length-1;return r.slideTo(i,e,t,n)}return i.loop&&0===r.activeIndex&&i.cssMode?(requestAnimationFrame((()=>{r.slideTo(m,e,t,n)})),!0):r.slideTo(m,e,t,n)},slideReset:function(e,t,n){return void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),this.slideTo(this.activeIndex,e,t,n)},slideToClosest:function(e,t,n,r){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),void 0===r&&(r=.5);const i=this;let a=i.activeIndex;const s=Math.min(i.params.slidesPerGroupSkip,a),o=s+Math.floor((a-s)/i.params.slidesPerGroup),l=i.rtlTranslate?i.translate:-i.translate;if(l>=i.snapGrid[o]){const e=i.snapGrid[o];l-e>(i.snapGrid[o+1]-e)*r&&(a+=i.params.slidesPerGroup)}else{const e=i.snapGrid[o-1];l-e<=(i.snapGrid[o]-e)*r&&(a-=i.params.slidesPerGroup)}return a=Math.max(a,0),a=Math.min(a,i.slidesGrid.length-1),i.slideTo(a,e,t,n)},slideToClickedSlide:function(){const e=this,{params:t,slidesEl:n}=e,r="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let i,a=e.clickedIndex;const s=e.isElement?"swiper-slide":".".concat(t.slideClass);if(t.loop){if(e.animating)return;i=parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10),t.centeredSlides?a<e.loopedSlides-r/2||a>e.slides.length-e.loopedSlides+r/2?(e.loopFix(),a=e.getSlideIndex(BS(n,"".concat(s,'[data-swiper-slide-index="').concat(i,'"]'))[0]),OS((()=>{e.slideTo(a)}))):e.slideTo(a):a>e.slides.length-r?(e.loopFix(),a=e.getSlideIndex(BS(n,"".concat(s,'[data-swiper-slide-index="').concat(i,'"]'))[0]),OS((()=>{e.slideTo(a)}))):e.slideTo(a)}else e.slideTo(a)}};var rA={loopCreate:function(e){const t=this,{params:n,slidesEl:r}=t;if(!n.loop||t.virtual&&t.params.virtual.enabled)return;BS(r,".".concat(n.slideClass,", swiper-slide")).forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t)})),t.loopFix({slideRealIndex:e,direction:n.centeredSlides?void 0:"next"})},loopFix:function(e){let{slideRealIndex:t,slideTo:n=!0,direction:r,setTranslate:i,activeSlideIndex:a,byController:s,byMousewheel:o}=void 0===e?{}:e;const l=this;if(!l.params.loop)return;l.emit("beforeLoopFix");const{slides:c,allowSlidePrev:d,allowSlideNext:h,slidesEl:u,params:p}=l;if(l.allowSlidePrev=!0,l.allowSlideNext=!0,l.virtual&&p.virtual.enabled)return n&&(p.centeredSlides||0!==l.snapIndex?p.centeredSlides&&l.snapIndex<p.slidesPerView?l.slideTo(l.virtual.slides.length+l.snapIndex,0,!1,!0):l.snapIndex===l.snapGrid.length-1&&l.slideTo(l.virtual.slidesBefore,0,!1,!0):l.slideTo(l.virtual.slides.length,0,!1,!0)),l.allowSlidePrev=d,l.allowSlideNext=h,void l.emit("loopFix");const f="auto"===p.slidesPerView?l.slidesPerViewDynamic():Math.ceil(parseFloat(p.slidesPerView,10));let m=p.loopedSlides||f;m%p.slidesPerGroup!==0&&(m+=p.slidesPerGroup-m%p.slidesPerGroup),l.loopedSlides=m;const g=[],y=[];let v=l.activeIndex;"undefined"===typeof a?a=l.getSlideIndex(l.slides.filter((e=>e.classList.contains(p.slideActiveClass)))[0]):v=a;const x="next"===r||!r,S="prev"===r||!r;let A=0,b=0;if(a<m){A=Math.max(m-a,p.slidesPerGroup);for(let e=0;e<m-a;e+=1){const t=e-Math.floor(e/c.length)*c.length;g.push(c.length-t-1)}}else if(a>l.slides.length-2*m){b=Math.max(a-(l.slides.length-2*m),p.slidesPerGroup);for(let e=0;e<b;e+=1){const t=e-Math.floor(e/c.length)*c.length;y.push(t)}}if(S&&g.forEach((e=>{l.slides[e].swiperLoopMoveDOM=!0,u.prepend(l.slides[e]),l.slides[e].swiperLoopMoveDOM=!1})),x&&y.forEach((e=>{l.slides[e].swiperLoopMoveDOM=!0,u.append(l.slides[e]),l.slides[e].swiperLoopMoveDOM=!1})),l.recalcSlides(),"auto"===p.slidesPerView&&l.updateSlides(),p.watchSlidesProgress&&l.updateSlidesOffset(),n)if(g.length>0&&S)if("undefined"===typeof t){const e=l.slidesGrid[v],t=l.slidesGrid[v+A]-e;o?l.setTranslate(l.translate-t):(l.slideTo(v+A,0,!1,!0),i&&(l.touches[l.isHorizontal()?"startX":"startY"]+=t,l.touchEventsData.currentTranslate=l.translate))}else i&&(l.slideToLoop(t,0,!1,!0),l.touchEventsData.currentTranslate=l.translate);else if(y.length>0&&x)if("undefined"===typeof t){const e=l.slidesGrid[v],t=l.slidesGrid[v-b]-e;o?l.setTranslate(l.translate-t):(l.slideTo(v-b,0,!1,!0),i&&(l.touches[l.isHorizontal()?"startX":"startY"]+=t,l.touchEventsData.currentTranslate=l.translate))}else l.slideToLoop(t,0,!1,!0);if(l.allowSlidePrev=d,l.allowSlideNext=h,l.controller&&l.controller.control&&!s){const e={slideRealIndex:t,direction:r,setTranslate:i,activeSlideIndex:a,byController:!0};Array.isArray(l.controller.control)?l.controller.control.forEach((t=>{!t.destroyed&&t.params.loop&&t.loopFix({...e,slideTo:t.params.slidesPerView===p.slidesPerView&&n})})):l.controller.control instanceof l.constructor&&l.controller.control.params.loop&&l.controller.control.loopFix({...e,slideTo:l.controller.control.params.slidesPerView===p.slidesPerView&&n})}l.emit("loopFix")},loopDestroy:function(){const e=this,{params:t,slidesEl:n}=e;if(!t.loop||e.virtual&&e.params.virtual.enabled)return;e.recalcSlides();const r=[];e.slides.forEach((e=>{const t="undefined"===typeof e.swiperSlideIndex?1*e.getAttribute("data-swiper-slide-index"):e.swiperSlideIndex;r[t]=e})),e.slides.forEach((e=>{e.removeAttribute("data-swiper-slide-index")})),r.forEach((e=>{n.append(e)})),e.recalcSlides(),e.slideTo(e.realIndex,0)}};var iA={setGrabCursor:function(e){const t=this;if(!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const n="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;t.isElement&&(t.__preventObserver__=!0),n.style.cursor="move",n.style.cursor=e?"grabbing":"grab",t.isElement&&requestAnimationFrame((()=>{t.__preventObserver__=!1}))},unsetGrabCursor:function(){const e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame((()=>{e.__preventObserver__=!1})))}};function aA(e){const t=this,n=jS(),r=PS(),i=t.touchEventsData;i.evCache.push(e);const{params:a,touches:s,enabled:o}=t;if(!o)return;if(!a.simulateTouch&&"mouse"===e.pointerType)return;if(t.animating&&a.preventInteractionOnTransition)return;!t.animating&&a.cssMode&&a.loop&&t.loopFix();let l=e;l.originalEvent&&(l=l.originalEvent);let c=l.target;if("wrapper"===a.touchEventsTarget&&!t.wrapperEl.contains(c))return;if("which"in l&&3===l.which)return;if("button"in l&&l.button>0)return;if(i.isTouched&&i.isMoved)return;const d=!!a.noSwipingClass&&""!==a.noSwipingClass,h=e.composedPath?e.composedPath():e.path;d&&l.target&&l.target.shadowRoot&&h&&(c=h[0]);const u=a.noSwipingSelector?a.noSwipingSelector:".".concat(a.noSwipingClass),p=!(!l.target||!l.target.shadowRoot);if(a.noSwiping&&(p?function(e,t){return void 0===t&&(t=this),function t(n){if(!n||n===jS()||n===PS())return null;n.assignedSlot&&(n=n.assignedSlot);const r=n.closest(e);return r||n.getRootNode?r||t(n.getRootNode().host):null}(t)}(u,c):c.closest(u)))return void(t.allowClick=!0);if(a.swipeHandler&&!c.closest(a.swipeHandler))return;s.currentX=l.pageX,s.currentY=l.pageY;const f=s.currentX,m=s.currentY,g=a.edgeSwipeDetection||a.iOSEdgeSwipeDetection,y=a.edgeSwipeThreshold||a.iOSEdgeSwipeThreshold;if(g&&(f<=y||f>=r.innerWidth-y)){if("prevent"!==g)return;e.preventDefault()}Object.assign(i,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),s.startX=f,s.startY=m,i.touchStartTime=TS(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,a.threshold>0&&(i.allowThresholdMove=!1);let v=!0;c.matches(i.focusableElements)&&(v=!1,"SELECT"===c.nodeName&&(i.isTouched=!1)),n.activeElement&&n.activeElement.matches(i.focusableElements)&&n.activeElement!==c&&n.activeElement.blur();const x=v&&t.allowTouchMove&&a.touchStartPreventDefault;!a.touchStartForcePreventDefault&&!x||c.isContentEditable||l.preventDefault(),a.freeMode&&a.freeMode.enabled&&t.freeMode&&t.animating&&!a.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",l)}function sA(e){const t=jS(),n=this,r=n.touchEventsData,{params:i,touches:a,rtlTranslate:s,enabled:o}=n;if(!o)return;if(!i.simulateTouch&&"mouse"===e.pointerType)return;let l=e;if(l.originalEvent&&(l=l.originalEvent),!r.isTouched)return void(r.startMoving&&r.isScrolling&&n.emit("touchMoveOpposite",l));const c=r.evCache.findIndex((e=>e.pointerId===l.pointerId));c>=0&&(r.evCache[c]=l);const d=r.evCache.length>1?r.evCache[0]:l,h=d.pageX,u=d.pageY;if(l.preventedByNestedSwiper)return a.startX=h,void(a.startY=u);if(!n.allowTouchMove)return l.target.matches(r.focusableElements)||(n.allowClick=!1),void(r.isTouched&&(Object.assign(a,{startX:h,startY:u,prevX:n.touches.currentX,prevY:n.touches.currentY,currentX:h,currentY:u}),r.touchStartTime=TS()));if(i.touchReleaseOnEdges&&!i.loop)if(n.isVertical()){if(u<a.startY&&n.translate<=n.maxTranslate()||u>a.startY&&n.translate>=n.minTranslate())return r.isTouched=!1,void(r.isMoved=!1)}else if(h<a.startX&&n.translate<=n.maxTranslate()||h>a.startX&&n.translate>=n.minTranslate())return;if(t.activeElement&&l.target===t.activeElement&&l.target.matches(r.focusableElements))return r.isMoved=!0,void(n.allowClick=!1);if(r.allowTouchCallbacks&&n.emit("touchMove",l),l.targetTouches&&l.targetTouches.length>1)return;a.currentX=h,a.currentY=u;const p=a.currentX-a.startX,f=a.currentY-a.startY;if(n.params.threshold&&Math.sqrt(p**2+f**2)<n.params.threshold)return;if("undefined"===typeof r.isScrolling){let e;n.isHorizontal()&&a.currentY===a.startY||n.isVertical()&&a.currentX===a.startX?r.isScrolling=!1:p*p+f*f>=25&&(e=180*Math.atan2(Math.abs(f),Math.abs(p))/Math.PI,r.isScrolling=n.isHorizontal()?e>i.touchAngle:90-e>i.touchAngle)}if(r.isScrolling&&n.emit("touchMoveOpposite",l),"undefined"===typeof r.startMoving&&(a.currentX===a.startX&&a.currentY===a.startY||(r.startMoving=!0)),r.isScrolling||n.zoom&&n.params.zoom&&n.params.zoom.enabled&&r.evCache.length>1)return void(r.isTouched=!1);if(!r.startMoving)return;n.allowClick=!1,!i.cssMode&&l.cancelable&&l.preventDefault(),i.touchMoveStopPropagation&&!i.nested&&l.stopPropagation();let m=n.isHorizontal()?p:f,g=n.isHorizontal()?a.currentX-a.previousX:a.currentY-a.previousY;i.oneWayMovement&&(m=Math.abs(m)*(s?1:-1),g=Math.abs(g)*(s?1:-1)),a.diff=m,m*=i.touchRatio,s&&(m=-m,g=-g);const y=n.touchesDirection;n.swipeDirection=m>0?"prev":"next",n.touchesDirection=g>0?"prev":"next";const v=n.params.loop&&!i.cssMode,x="next"===n.swipeDirection&&n.allowSlideNext||"prev"===n.swipeDirection&&n.allowSlidePrev;if(!r.isMoved){if(v&&x&&n.loopFix({direction:n.swipeDirection}),r.startTranslate=n.getTranslate(),n.setTransition(0),n.animating){const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});n.wrapperEl.dispatchEvent(e)}r.allowMomentumBounce=!1,!i.grabCursor||!0!==n.allowSlideNext&&!0!==n.allowSlidePrev||n.setGrabCursor(!0),n.emit("sliderFirstMove",l)}let S;r.isMoved&&y!==n.touchesDirection&&v&&x&&Math.abs(m)>=1&&(n.loopFix({direction:n.swipeDirection,setTranslate:!0}),S=!0),n.emit("sliderMove",l),r.isMoved=!0,r.currentTranslate=m+r.startTranslate;let A=!0,b=i.resistanceRatio;if(i.touchReleaseOnEdges&&(b=0),m>0?(v&&x&&!S&&r.currentTranslate>(i.centeredSlides?n.minTranslate()-n.size/2:n.minTranslate())&&n.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),r.currentTranslate>n.minTranslate()&&(A=!1,i.resistance&&(r.currentTranslate=n.minTranslate()-1+(-n.minTranslate()+r.startTranslate+m)**b))):m<0&&(v&&x&&!S&&r.currentTranslate<(i.centeredSlides?n.maxTranslate()+n.size/2:n.maxTranslate())&&n.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:n.slides.length-("auto"===i.slidesPerView?n.slidesPerViewDynamic():Math.ceil(parseFloat(i.slidesPerView,10)))}),r.currentTranslate<n.maxTranslate()&&(A=!1,i.resistance&&(r.currentTranslate=n.maxTranslate()+1-(n.maxTranslate()-r.startTranslate-m)**b))),A&&(l.preventedByNestedSwiper=!0),!n.allowSlideNext&&"next"===n.swipeDirection&&r.currentTranslate<r.startTranslate&&(r.currentTranslate=r.startTranslate),!n.allowSlidePrev&&"prev"===n.swipeDirection&&r.currentTranslate>r.startTranslate&&(r.currentTranslate=r.startTranslate),n.allowSlidePrev||n.allowSlideNext||(r.currentTranslate=r.startTranslate),i.threshold>0){if(!(Math.abs(m)>i.threshold||r.allowThresholdMove))return void(r.currentTranslate=r.startTranslate);if(!r.allowThresholdMove)return r.allowThresholdMove=!0,a.startX=a.currentX,a.startY=a.currentY,r.currentTranslate=r.startTranslate,void(a.diff=n.isHorizontal()?a.currentX-a.startX:a.currentY-a.startY)}i.followFinger&&!i.cssMode&&((i.freeMode&&i.freeMode.enabled&&n.freeMode||i.watchSlidesProgress)&&(n.updateActiveIndex(),n.updateSlidesClasses()),i.freeMode&&i.freeMode.enabled&&n.freeMode&&n.freeMode.onTouchMove(),n.updateProgress(r.currentTranslate),n.setTranslate(r.currentTranslate))}function oA(e){const t=this,n=t.touchEventsData,r=n.evCache.findIndex((t=>t.pointerId===e.pointerId));if(r>=0&&n.evCache.splice(r,1),["pointercancel","pointerout","pointerleave","contextmenu"].includes(e.type)){if(!(["pointercancel","contextmenu"].includes(e.type)&&(t.browser.isSafari||t.browser.isWebView)))return}const{params:i,touches:a,rtlTranslate:s,slidesGrid:o,enabled:l}=t;if(!l)return;if(!i.simulateTouch&&"mouse"===e.pointerType)return;let c=e;if(c.originalEvent&&(c=c.originalEvent),n.allowTouchCallbacks&&t.emit("touchEnd",c),n.allowTouchCallbacks=!1,!n.isTouched)return n.isMoved&&i.grabCursor&&t.setGrabCursor(!1),n.isMoved=!1,void(n.startMoving=!1);i.grabCursor&&n.isMoved&&n.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const d=TS(),h=d-n.touchStartTime;if(t.allowClick){const e=c.path||c.composedPath&&c.composedPath();t.updateClickedSlide(e&&e[0]||c.target,e),t.emit("tap click",c),h<300&&d-n.lastClickTime<300&&t.emit("doubleTap doubleClick",c)}if(n.lastClickTime=TS(),OS((()=>{t.destroyed||(t.allowClick=!0)})),!n.isTouched||!n.isMoved||!t.swipeDirection||0===a.diff||n.currentTranslate===n.startTranslate)return n.isTouched=!1,n.isMoved=!1,void(n.startMoving=!1);let u;if(n.isTouched=!1,n.isMoved=!1,n.startMoving=!1,u=i.followFinger?s?t.translate:-t.translate:-n.currentTranslate,i.cssMode)return;if(i.freeMode&&i.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:u});let p=0,f=t.slidesSizesGrid[0];for(let x=0;x<o.length;x+=x<i.slidesPerGroupSkip?1:i.slidesPerGroup){const e=x<i.slidesPerGroupSkip-1?1:i.slidesPerGroup;"undefined"!==typeof o[x+e]?u>=o[x]&&u<o[x+e]&&(p=x,f=o[x+e]-o[x]):u>=o[x]&&(p=x,f=o[o.length-1]-o[o.length-2])}let m=null,g=null;i.rewind&&(t.isBeginning?g=i.virtual&&i.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(m=0));const y=(u-o[p])/f,v=p<i.slidesPerGroupSkip-1?1:i.slidesPerGroup;if(h>i.longSwipesMs){if(!i.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(y>=i.longSwipesRatio?t.slideTo(i.rewind&&t.isEnd?m:p+v):t.slideTo(p)),"prev"===t.swipeDirection&&(y>1-i.longSwipesRatio?t.slideTo(p+v):null!==g&&y<0&&Math.abs(y)>i.longSwipesRatio?t.slideTo(g):t.slideTo(p))}else{if(!i.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(c.target===t.navigation.nextEl||c.target===t.navigation.prevEl)?c.target===t.navigation.nextEl?t.slideTo(p+v):t.slideTo(p):("next"===t.swipeDirection&&t.slideTo(null!==m?m:p+v),"prev"===t.swipeDirection&&t.slideTo(null!==g?g:p))}}function lA(){const e=this,{params:t,el:n}=e;if(n&&0===n.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:r,allowSlidePrev:i,snapGrid:a}=e,s=e.virtual&&e.params.virtual.enabled;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses();const o=s&&t.loop;!("auto"===t.slidesPerView||t.slidesPerView>1)||!e.isEnd||e.isBeginning||e.params.centeredSlides||o?e.params.loop&&!s?e.slideToLoop(e.realIndex,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0):e.slideTo(e.slides.length-1,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&(clearTimeout(e.autoplay.resizeTimeout),e.autoplay.resizeTimeout=setTimeout((()=>{e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.resume()}),500)),e.allowSlidePrev=i,e.allowSlideNext=r,e.params.watchOverflow&&a!==e.snapGrid&&e.checkOverflow()}function cA(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function dA(){const e=this,{wrapperEl:t,rtlTranslate:n,enabled:r}=e;if(!r)return;let i;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const a=e.maxTranslate()-e.minTranslate();i=0===a?0:(e.translate-e.minTranslate())/a,i!==e.progress&&e.updateProgress(n?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}function hA(e){const t=this;KS(t,e.target),t.params.cssMode||"auto"!==t.params.slidesPerView&&!t.params.autoHeight||t.update()}let uA=!1;function pA(){}const fA=(e,t)=>{const n=jS(),{params:r,el:i,wrapperEl:a,device:s}=e,o=!!r.nested,l="on"===t?"addEventListener":"removeEventListener",c=t;i[l]("pointerdown",e.onTouchStart,{passive:!1}),n[l]("pointermove",e.onTouchMove,{passive:!1,capture:o}),n[l]("pointerup",e.onTouchEnd,{passive:!0}),n[l]("pointercancel",e.onTouchEnd,{passive:!0}),n[l]("pointerout",e.onTouchEnd,{passive:!0}),n[l]("pointerleave",e.onTouchEnd,{passive:!0}),n[l]("contextmenu",e.onTouchEnd,{passive:!0}),(r.preventClicks||r.preventClicksPropagation)&&i[l]("click",e.onClick,!0),r.cssMode&&a[l]("scroll",e.onScroll),r.updateOnWindowResize?e[c](s.ios||s.android?"resize orientationchange observerUpdate":"resize observerUpdate",lA,!0):e[c]("observerUpdate",lA,!0),i[l]("load",e.onLoad,{capture:!0})};var mA={attachEvents:function(){const e=this,t=jS(),{params:n}=e;e.onTouchStart=aA.bind(e),e.onTouchMove=sA.bind(e),e.onTouchEnd=oA.bind(e),n.cssMode&&(e.onScroll=dA.bind(e)),e.onClick=cA.bind(e),e.onLoad=hA.bind(e),uA||(t.addEventListener("touchstart",pA),uA=!0),fA(e,"on")},detachEvents:function(){fA(this,"off")}};const gA=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var yA={setBreakpoint:function(){const e=this,{realIndex:t,initialized:n,params:r,el:i}=e,a=r.breakpoints;if(!a||a&&0===Object.keys(a).length)return;const s=e.getBreakpoint(a,e.params.breakpointsBase,e.el);if(!s||e.currentBreakpoint===s)return;const o=(s in a?a[s]:void 0)||e.originalParams,l=gA(e,r),c=gA(e,o),d=r.enabled;l&&!c?(i.classList.remove("".concat(r.containerModifierClass,"grid"),"".concat(r.containerModifierClass,"grid-column")),e.emitContainerClasses()):!l&&c&&(i.classList.add("".concat(r.containerModifierClass,"grid")),(o.grid.fill&&"column"===o.grid.fill||!o.grid.fill&&"column"===r.grid.fill)&&i.classList.add("".concat(r.containerModifierClass,"grid-column")),e.emitContainerClasses()),["navigation","pagination","scrollbar"].forEach((t=>{if("undefined"===typeof o[t])return;const n=r[t]&&r[t].enabled,i=o[t]&&o[t].enabled;n&&!i&&e[t].disable(),!n&&i&&e[t].enable()}));const h=o.direction&&o.direction!==r.direction,u=r.loop&&(o.slidesPerView!==r.slidesPerView||h),p=r.loop;h&&n&&e.changeDirection(),ES(e.params,o);const f=e.params.enabled,m=e.params.loop;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),d&&!f?e.disable():!d&&f&&e.enable(),e.currentBreakpoint=s,e.emit("_beforeBreakpoint",o),n&&(u?(e.loopDestroy(),e.loopCreate(t),e.updateSlides()):!p&&m?(e.loopCreate(t),e.updateSlides()):p&&!m&&e.loopDestroy()),e.emit("breakpoint",o)},getBreakpoint:function(e,t,n){if(void 0===t&&(t="window"),!e||"container"===t&&!n)return;let r=!1;const i=PS(),a="window"===t?i.innerHeight:n.clientHeight,s=Object.keys(e).map((e=>{if("string"===typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:a*t,point:e}}return{value:e,point:e}}));s.sort(((e,t)=>parseInt(e.value,10)-parseInt(t.value,10)));for(let o=0;o<s.length;o+=1){const{point:e,value:a}=s[o];"window"===t?i.matchMedia("(min-width: ".concat(a,"px)")).matches&&(r=e):a<=n.clientWidth&&(r=e)}return r||"max"}};var vA={addClasses:function(){const e=this,{classNames:t,params:n,rtl:r,el:i,device:a}=e,s=function(e,t){const n=[];return e.forEach((e=>{"object"===typeof e?Object.keys(e).forEach((r=>{e[r]&&n.push(t+r)})):"string"===typeof e&&n.push(t+e)})),n}(["initialized",n.direction,{"free-mode":e.params.freeMode&&n.freeMode.enabled},{autoheight:n.autoHeight},{rtl:r},{grid:n.grid&&n.grid.rows>1},{"grid-column":n.grid&&n.grid.rows>1&&"column"===n.grid.fill},{android:a.android},{ios:a.ios},{"css-mode":n.cssMode},{centered:n.cssMode&&n.centeredSlides},{"watch-progress":n.watchSlidesProgress}],n.containerModifierClass);t.push(...s),i.classList.add(...t),e.emitContainerClasses()},removeClasses:function(){const{el:e,classNames:t}=this;e.classList.remove(...t),this.emitContainerClasses()}};var xA={checkOverflow:function(){const e=this,{isLocked:t,params:n}=e,{slidesOffsetBefore:r}=n;if(r){const t=e.slides.length-1,n=e.slidesGrid[t]+e.slidesSizesGrid[t]+2*r;e.isLocked=e.size>n}else e.isLocked=1===e.snapGrid.length;!0===n.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===n.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},SA={init:!0,direction:"horizontal",oneWayMovement:!1,touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:5,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loop:!1,loopedSlides:null,loopPreventsSliding:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",lazyPreloaderClass:"swiper-lazy-preloader",lazyPreloadPrevNext:0,runCallbacksOnInit:!0,_emitClasses:!1};function AA(e,t){return function(n){void 0===n&&(n={});const r=Object.keys(n)[0],i=n[r];"object"===typeof i&&null!==i?(!0===e[r]&&(e[r]={enabled:!0}),"navigation"===r&&e[r]&&e[r].enabled&&!e[r].prevEl&&!e[r].nextEl&&(e[r].auto=!0),["pagination","scrollbar"].indexOf(r)>=0&&e[r]&&e[r].enabled&&!e[r].el&&(e[r].auto=!0),r in e&&"enabled"in i?("object"!==typeof e[r]||"enabled"in e[r]||(e[r].enabled=!0),e[r]||(e[r]={enabled:!1}),ES(t,n)):ES(t,n)):ES(t,n)}}const bA={eventsEmitter:ZS,update:_S,translate:$S,transition:tA,slide:nA,loop:rA,grabCursor:iA,events:mA,breakpoints:yA,checkOverflow:xA,classes:vA},kA={};class wA{constructor(){let e,t;for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];1===r.length&&r[0].constructor&&"Object"===Object.prototype.toString.call(r[0]).slice(8,-1)?t=r[0]:[e,t]=r,t||(t={}),t=ES({},t),e&&!t.el&&(t.el=e);const a=jS();if(t.el&&"string"===typeof t.el&&a.querySelectorAll(t.el).length>1){const e=[];return a.querySelectorAll(t.el).forEach((n=>{const r=ES({},t,{el:n});e.push(new wA(r))})),e}const s=this;s.__swiper__=!0,s.support=LS(),s.device=YS({userAgent:t.userAgent}),s.browser=FS(),s.eventsListeners={},s.eventsAnyListeners=[],s.modules=[...s.__modules__],t.modules&&Array.isArray(t.modules)&&s.modules.push(...t.modules);const o={};s.modules.forEach((e=>{e({params:t,swiper:s,extendParams:AA(t,o),on:s.on.bind(s),once:s.once.bind(s),off:s.off.bind(s),emit:s.emit.bind(s)})}));const l=ES({},SA,o);return s.params=ES({},l,kA,t),s.originalParams=ES({},s.params),s.passedParams=ES({},t),s.params&&s.params.on&&Object.keys(s.params.on).forEach((e=>{s.on(e,s.params.on[e])})),s.params&&s.params.onAny&&s.onAny(s.params.onAny),Object.assign(s,{enabled:s.params.enabled,el:e,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===s.params.direction,isVertical:()=>"vertical"===s.params.direction,activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23},allowSlideNext:s.params.allowSlideNext,allowSlidePrev:s.params.allowSlidePrev,touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:s.params.focusableElements,lastClickTime:0,clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,evCache:[]},allowClick:!0,allowTouchMove:s.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),s.emit("_swiper"),s.params.init&&s.init(),s}getSlideIndex(e){const{slidesEl:t,params:n}=this,r=HS(BS(t,".".concat(n.slideClass,", swiper-slide"))[0]);return HS(e)-r}getSlideIndexByData(e){return this.getSlideIndex(this.slides.filter((t=>1*t.getAttribute("data-swiper-slide-index")===e))[0])}recalcSlides(){const{slidesEl:e,params:t}=this;this.slides=BS(e,".".concat(t.slideClass,", swiper-slide"))}enable(){const e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))}disable(){const e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))}setProgress(e,t){const n=this;e=Math.min(Math.max(e,0),1);const r=n.minTranslate(),i=(n.maxTranslate()-r)*e+r;n.translateTo(i,"undefined"===typeof t?0:t),n.updateActiveIndex(),n.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter((t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass)));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter((e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass))).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.forEach((n=>{const r=e.getSlideClasses(n);t.push({slideEl:n,classNames:r}),e.emit("_slideClass",n,r)})),e.emit("_slideClasses",t)}slidesPerViewDynamic(e,t){void 0===e&&(e="current"),void 0===t&&(t=!1);const{params:n,slides:r,slidesGrid:i,slidesSizesGrid:a,size:s,activeIndex:o}=this;let l=1;if("number"===typeof n.slidesPerView)return n.slidesPerView;if(n.centeredSlides){let e,t=r[o]?r[o].swiperSlideSize:0;for(let n=o+1;n<r.length;n+=1)r[n]&&!e&&(t+=r[n].swiperSlideSize,l+=1,t>s&&(e=!0));for(let n=o-1;n>=0;n-=1)r[n]&&!e&&(t+=r[n].swiperSlideSize,l+=1,t>s&&(e=!0))}else if("current"===e)for(let c=o+1;c<r.length;c+=1){(t?i[c]+a[c]-i[o]<s:i[c]-i[o]<s)&&(l+=1)}else for(let c=o-1;c>=0;c-=1){i[o]-i[c]<s&&(l+=1)}return l}update(){const e=this;if(!e||e.destroyed)return;const{snapGrid:t,params:n}=e;function r(){const t=e.rtlTranslate?-1*e.translate:e.translate,n=Math.min(Math.max(t,e.maxTranslate()),e.minTranslate());e.setTranslate(n),e.updateActiveIndex(),e.updateSlidesClasses()}let i;if(n.breakpoints&&e.setBreakpoint(),[...e.el.querySelectorAll('[loading="lazy"]')].forEach((t=>{t.complete&&KS(e,t)})),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),n.freeMode&&n.freeMode.enabled&&!n.cssMode)r(),n.autoHeight&&e.updateAutoHeight();else{if(("auto"===n.slidesPerView||n.slidesPerView>1)&&e.isEnd&&!n.centeredSlides){const t=e.virtual&&n.virtual.enabled?e.virtual.slides:e.slides;i=e.slideTo(t.length-1,0,!1,!0)}else i=e.slideTo(e.activeIndex,0,!1,!0);i||r()}n.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t){void 0===t&&(t=!0);const n=this,r=n.params.direction;return e||(e="horizontal"===r?"vertical":"horizontal"),e===r||"horizontal"!==e&&"vertical"!==e||(n.el.classList.remove("".concat(n.params.containerModifierClass).concat(r)),n.el.classList.add("".concat(n.params.containerModifierClass).concat(e)),n.emitContainerClasses(),n.params.direction=e,n.slides.forEach((t=>{"vertical"===e?t.style.width="":t.style.height=""})),n.emit("changeDirection"),t&&n.update()),n}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.el.classList.add("".concat(t.params.containerModifierClass,"rtl")),t.el.dir="rtl"):(t.el.classList.remove("".concat(t.params.containerModifierClass,"rtl")),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;let n=e||t.params.el;if("string"===typeof n&&(n=document.querySelector(n)),!n)return!1;n.swiper=t,n.parentNode&&n.parentNode.host&&"SWIPER-CONTAINER"===n.parentNode.host.nodeName&&(t.isElement=!0);const r=()=>".".concat((t.params.wrapperClass||"").trim().split(" ").join("."));let i=(()=>{if(n&&n.shadowRoot&&n.shadowRoot.querySelector){return n.shadowRoot.querySelector(r())}return BS(n,r())[0]})();return!i&&t.params.createElements&&(i=GS("div",t.params.wrapperClass),n.append(i),BS(n,".".concat(t.params.slideClass)).forEach((e=>{i.append(e)}))),Object.assign(t,{el:n,wrapperEl:i,slidesEl:t.isElement&&!n.parentNode.host.slideSlots?n.parentNode.host:i,hostEl:t.isElement?n.parentNode.host:n,mounted:!0,rtl:"rtl"===n.dir.toLowerCase()||"rtl"===qS(n,"direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===n.dir.toLowerCase()||"rtl"===qS(n,"direction")),wrongRTL:"-webkit-box"===qS(i,"display")}),!0}init(e){const t=this;if(t.initialized)return t;if(!1===t.mount(e))return t;t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.loop&&t.virtual&&t.params.virtual.enabled?t.slideTo(t.params.initialSlide+t.virtual.slidesBefore,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.params.loop&&t.loopCreate(),t.attachEvents();const n=[...t.el.querySelectorAll('[loading="lazy"]')];return t.isElement&&n.push(...t.hostEl.querySelectorAll('[loading="lazy"]')),n.forEach((e=>{e.complete?KS(t,e):e.addEventListener("load",(e=>{KS(t,e.target)}))})),XS(t),t.initialized=!0,XS(t),t.emit("init"),t.emit("afterInit"),t}destroy(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);const n=this,{params:r,el:i,wrapperEl:a,slides:s}=n;return"undefined"===typeof n.params||n.destroyed||(n.emit("beforeDestroy"),n.initialized=!1,n.detachEvents(),r.loop&&n.loopDestroy(),t&&(n.removeClasses(),i.removeAttribute("style"),a.removeAttribute("style"),s&&s.length&&s.forEach((e=>{e.classList.remove(r.slideVisibleClass,r.slideActiveClass,r.slideNextClass,r.slidePrevClass),e.removeAttribute("style"),e.removeAttribute("data-swiper-slide-index")}))),n.emit("destroy"),Object.keys(n.eventsListeners).forEach((e=>{n.off(e)})),!1!==e&&(n.el.swiper=null,function(e){const t=e;Object.keys(t).forEach((e=>{try{t[e]=null}catch(Are){}try{delete t[e]}catch(Are){}}))}(n)),n.destroyed=!0),null}static extendDefaults(e){ES(kA,e)}static get extendedDefaults(){return kA}static get defaults(){return SA}static installModule(e){wA.prototype.__modules__||(wA.prototype.__modules__=[]);const t=wA.prototype.__modules__;"function"===typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach((e=>wA.installModule(e))),wA):(wA.installModule(e),wA)}}Object.keys(bA).forEach((e=>{Object.keys(bA[e]).forEach((t=>{wA.prototype[t]=bA[e][t]}))})),wA.use([function(e){let{swiper:t,on:n,emit:r}=e;const i=PS();let a=null,s=null;const o=()=>{t&&!t.destroyed&&t.initialized&&(r("beforeResize"),r("resize"))},l=()=>{t&&!t.destroyed&&t.initialized&&r("orientationchange")};n("init",(()=>{t.params.resizeObserver&&"undefined"!==typeof i.ResizeObserver?t&&!t.destroyed&&t.initialized&&(a=new ResizeObserver((e=>{s=i.requestAnimationFrame((()=>{const{width:n,height:r}=t;let i=n,a=r;e.forEach((e=>{let{contentBoxSize:n,contentRect:r,target:s}=e;s&&s!==t.el||(i=r?r.width:(n[0]||n).inlineSize,a=r?r.height:(n[0]||n).blockSize)})),i===n&&a===r||o()}))})),a.observe(t.el)):(i.addEventListener("resize",o),i.addEventListener("orientationchange",l))})),n("destroy",(()=>{s&&i.cancelAnimationFrame(s),a&&a.unobserve&&t.el&&(a.unobserve(t.el),a=null),i.removeEventListener("resize",o),i.removeEventListener("orientationchange",l)}))},function(e){let{swiper:t,extendParams:n,on:r,emit:i}=e;const a=[],s=PS(),o=function(e,n){void 0===n&&(n={});const r=new(s.MutationObserver||s.WebkitMutationObserver)((e=>{if(t.__preventObserver__)return;if(1===e.length)return void i("observerUpdate",e[0]);const n=function(){i("observerUpdate",e[0])};s.requestAnimationFrame?s.requestAnimationFrame(n):s.setTimeout(n,0)}));r.observe(e,{attributes:"undefined"===typeof n.attributes||n.attributes,childList:"undefined"===typeof n.childList||n.childList,characterData:"undefined"===typeof n.characterData||n.characterData}),a.push(r)};n({observer:!1,observeParents:!1,observeSlideChildren:!1}),r("init",(()=>{if(t.params.observer){if(t.params.observeParents){const e=WS(t.hostEl);for(let t=0;t<e.length;t+=1)o(e[t])}o(t.hostEl,{childList:t.params.observeSlideChildren}),o(t.wrapperEl,{attributes:!1})}})),r("destroy",(()=>{a.forEach((e=>{e.disconnect()})),a.splice(0,a.length)}))}]);const jA=["eventsPrefix","injectStyles","injectStylesUrls","modules","init","_direction","oneWayMovement","touchEventsTarget","initialSlide","_speed","cssMode","updateOnWindowResize","resizeObserver","nested","focusableElements","_enabled","_width","_height","preventInteractionOnTransition","userAgent","url","_edgeSwipeDetection","_edgeSwipeThreshold","_freeMode","_autoHeight","setWrapperSize","virtualTranslate","_effect","breakpoints","breakpointsBase","_spaceBetween","_slidesPerView","maxBackfaceHiddenSlides","_grid","_slidesPerGroup","_slidesPerGroupSkip","_slidesPerGroupAuto","_centeredSlides","_centeredSlidesBounds","_slidesOffsetBefore","_slidesOffsetAfter","normalizeSlideIndex","_centerInsufficientSlides","_watchOverflow","roundLengths","touchRatio","touchAngle","simulateTouch","_shortSwipes","_longSwipes","longSwipesRatio","longSwipesMs","_followFinger","allowTouchMove","_threshold","touchMoveStopPropagation","touchStartPreventDefault","touchStartForcePreventDefault","touchReleaseOnEdges","uniqueNavElements","_resistance","_resistanceRatio","_watchSlidesProgress","_grabCursor","preventClicks","preventClicksPropagation","_slideToClickedSlide","_loop","loopedSlides","loopPreventsSliding","_rewind","_allowSlidePrev","_allowSlideNext","_swipeHandler","_noSwiping","noSwipingClass","noSwipingSelector","passiveListeners","containerModifierClass","slideClass","slideActiveClass","slideVisibleClass","slideNextClass","slidePrevClass","wrapperClass","lazyPreloaderClass","lazyPreloadPrevNext","runCallbacksOnInit","observer","observeParents","observeSlideChildren","a11y","_autoplay","_controller","coverflowEffect","cubeEffect","fadeEffect","flipEffect","creativeEffect","cardsEffect","hashNavigation","history","keyboard","mousewheel","_navigation","_pagination","parallax","_scrollbar","_thumbs","virtual","zoom","control"];function MA(e){return"object"===typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)&&!e.__swiper__}function PA(e,t){const n=["__proto__","constructor","prototype"];Object.keys(t).filter((e=>n.indexOf(e)<0)).forEach((n=>{"undefined"===typeof e[n]?e[n]=t[n]:MA(t[n])&&MA(e[n])&&Object.keys(t[n]).length>0?t[n].__swiper__?e[n]=t[n]:PA(e[n],t[n]):e[n]=t[n]}))}function OA(e){return void 0===e&&(e={}),e.navigation&&"undefined"===typeof e.navigation.nextEl&&"undefined"===typeof e.navigation.prevEl}function TA(e){return void 0===e&&(e={}),e.pagination&&"undefined"===typeof e.pagination.el}function IA(e){return void 0===e&&(e={}),e.scrollbar&&"undefined"===typeof e.scrollbar.el}function CA(e){void 0===e&&(e="");const t=e.split(" ").map((e=>e.trim())).filter((e=>!!e)),n=[];return t.forEach((e=>{n.indexOf(e)<0&&n.push(e)})),n.join(" ")}function EA(e){return void 0===e&&(e=""),e?e.includes("swiper-wrapper")?e:"swiper-wrapper ".concat(e):"swiper-wrapper"}function VA(){return VA=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},VA.apply(this,arguments)}function RA(e){return e.type&&e.type.displayName&&e.type.displayName.includes("SwiperSlide")}function DA(e){const n=[];return t.Children.toArray(e).forEach((e=>{RA(e)?n.push(e):e.props&&e.props.children&&DA(e.props.children).forEach((e=>n.push(e)))})),n}function BA(e){const n=[],r={"container-start":[],"container-end":[],"wrapper-start":[],"wrapper-end":[]};return t.Children.toArray(e).forEach((e=>{if(RA(e))n.push(e);else if(e.props&&e.props.slot&&r[e.props.slot])r[e.props.slot].push(e);else if(e.props&&e.props.children){const t=DA(e.props.children);t.length>0?t.forEach((e=>n.push(e))):r["container-end"].push(e)}else r["container-end"].push(e)})),{slides:n,slots:r}}function GA(e,n){return"undefined"===typeof window?(0,t.useEffect)(e,n):(0,t.useLayoutEffect)(e,n)}const qA=(0,t.createContext)(null),HA=(0,t.createContext)(null),WA=(0,t.forwardRef)((function(e,n){let{className:r,tag:i="div",wrapperTag:a="div",children:s,onSwiper:o,...l}=void 0===e?{}:e,c=!1;const[d,h]=(0,t.useState)("swiper"),[u,p]=(0,t.useState)(null),[f,m]=(0,t.useState)(!1),g=(0,t.useRef)(!1),y=(0,t.useRef)(null),v=(0,t.useRef)(null),x=(0,t.useRef)(null),S=(0,t.useRef)(null),A=(0,t.useRef)(null),b=(0,t.useRef)(null),k=(0,t.useRef)(null),w=(0,t.useRef)(null),{params:j,passedParams:M,rest:P,events:O}=function(e,t){void 0===e&&(e={}),void 0===t&&(t=!0);const n={on:{}},r={},i={};PA(n,SA),n._emitClasses=!0,n.init=!1;const a={},s=jA.map((e=>e.replace(/_/,""))),o=Object.assign({},e);return Object.keys(o).forEach((o=>{"undefined"!==typeof e[o]&&(s.indexOf(o)>=0?MA(e[o])?(n[o]={},i[o]={},PA(n[o],e[o]),PA(i[o],e[o])):(n[o]=e[o],i[o]=e[o]):0===o.search(/on[A-Z]/)&&"function"===typeof e[o]?t?r["".concat(o[2].toLowerCase()).concat(o.substr(3))]=e[o]:n.on["".concat(o[2].toLowerCase()).concat(o.substr(3))]=e[o]:a[o]=e[o])})),["navigation","pagination","scrollbar"].forEach((e=>{!0===n[e]&&(n[e]={}),!1===n[e]&&delete n[e]})),{params:n,passedParams:i,rest:a,events:r}}(l),{slides:T,slots:I}=BA(s),C=()=>{m(!f)};Object.assign(j.on,{_containerClasses(e,t){h(t)}});const E=()=>{Object.assign(j.on,O),c=!0;const e={...j};if(delete e.wrapperClass,v.current=new wA(e),v.current.virtual&&v.current.params.virtual.enabled){v.current.virtual.slides=T;const e={cache:!1,slides:T,renderExternal:p,renderExternalUpdate:!1};PA(v.current.params.virtual,e),PA(v.current.originalParams.virtual,e)}};y.current||E(),v.current&&v.current.on("_beforeBreakpoint",C);return(0,t.useEffect)((()=>()=>{v.current&&v.current.off("_beforeBreakpoint",C)})),(0,t.useEffect)((()=>{!g.current&&v.current&&(v.current.emitSlidesClasses(),g.current=!0)})),GA((()=>{if(n&&(n.current=y.current),y.current)return v.current.destroyed&&E(),function(e,t){let{el:n,nextEl:r,prevEl:i,paginationEl:a,scrollbarEl:s,swiper:o}=e;OA(t)&&r&&i&&(o.params.navigation.nextEl=r,o.originalParams.navigation.nextEl=r,o.params.navigation.prevEl=i,o.originalParams.navigation.prevEl=i),TA(t)&&a&&(o.params.pagination.el=a,o.originalParams.pagination.el=a),IA(t)&&s&&(o.params.scrollbar.el=s,o.originalParams.scrollbar.el=s),o.init(n)}({el:y.current,nextEl:A.current,prevEl:b.current,paginationEl:k.current,scrollbarEl:w.current,swiper:v.current},j),o&&o(v.current),()=>{v.current&&!v.current.destroyed&&v.current.destroy(!0,!1)}}),[]),GA((()=>{!c&&O&&v.current&&Object.keys(O).forEach((e=>{v.current.on(e,O[e])}));const e=function(e,t,n,r,i){const a=[];if(!t)return a;const s=e=>{a.indexOf(e)<0&&a.push(e)};if(n&&r){const e=r.map(i),t=n.map(i);e.join("")!==t.join("")&&s("children"),r.length!==n.length&&s("children")}return jA.filter((e=>"_"===e[0])).map((e=>e.replace(/_/,""))).forEach((n=>{if(n in e&&n in t)if(MA(e[n])&&MA(t[n])){const r=Object.keys(e[n]),i=Object.keys(t[n]);r.length!==i.length?s(n):(r.forEach((r=>{e[n][r]!==t[n][r]&&s(n)})),i.forEach((r=>{e[n][r]!==t[n][r]&&s(n)})))}else e[n]!==t[n]&&s(n)})),a}(M,x.current,T,S.current,(e=>e.key));return x.current=M,S.current=T,e.length&&v.current&&!v.current.destroyed&&function(e){let{swiper:t,slides:n,passedParams:r,changedParams:i,nextEl:a,prevEl:s,scrollbarEl:o,paginationEl:l}=e;const c=i.filter((e=>"children"!==e&&"direction"!==e&&"wrapperClass"!==e)),{params:d,pagination:h,navigation:u,scrollbar:p,virtual:f,thumbs:m}=t;let g,y,v,x,S,A,b,k;i.includes("thumbs")&&r.thumbs&&r.thumbs.swiper&&d.thumbs&&!d.thumbs.swiper&&(g=!0),i.includes("controller")&&r.controller&&r.controller.control&&d.controller&&!d.controller.control&&(y=!0),i.includes("pagination")&&r.pagination&&(r.pagination.el||l)&&(d.pagination||!1===d.pagination)&&h&&!h.el&&(v=!0),i.includes("scrollbar")&&r.scrollbar&&(r.scrollbar.el||o)&&(d.scrollbar||!1===d.scrollbar)&&p&&!p.el&&(x=!0),i.includes("navigation")&&r.navigation&&(r.navigation.prevEl||s)&&(r.navigation.nextEl||a)&&(d.navigation||!1===d.navigation)&&u&&!u.prevEl&&!u.nextEl&&(S=!0);const w=e=>{t[e]&&(t[e].destroy(),"navigation"===e?(t.isElement&&(t[e].prevEl.remove(),t[e].nextEl.remove()),d[e].prevEl=void 0,d[e].nextEl=void 0,t[e].prevEl=void 0,t[e].nextEl=void 0):(t.isElement&&t[e].el.remove(),d[e].el=void 0,t[e].el=void 0))};i.includes("loop")&&t.isElement&&(d.loop&&!r.loop?A=!0:!d.loop&&r.loop?b=!0:k=!0),c.forEach((e=>{if(MA(d[e])&&MA(r[e]))PA(d[e],r[e]),"navigation"!==e&&"pagination"!==e&&"scrollbar"!==e||!("enabled"in r[e])||r[e].enabled||w(e);else{const t=r[e];!0!==t&&!1!==t||"navigation"!==e&&"pagination"!==e&&"scrollbar"!==e?d[e]=r[e]:!1===t&&w(e)}})),c.includes("controller")&&!y&&t.controller&&t.controller.control&&d.controller&&d.controller.control&&(t.controller.control=d.controller.control),i.includes("children")&&n&&f&&d.virtual.enabled&&(f.slides=n,f.update(!0)),i.includes("children")&&n&&d.loop&&(k=!0),g&&m.init()&&m.update(!0);y&&(t.controller.control=d.controller.control),v&&(!t.isElement||l&&"string"!==typeof l||(l=document.createElement("div"),l.classList.add("swiper-pagination"),l.part.add("pagination"),t.el.appendChild(l)),l&&(d.pagination.el=l),h.init(),h.render(),h.update()),x&&(!t.isElement||o&&"string"!==typeof o||(o=document.createElement("div"),o.classList.add("swiper-scrollbar"),o.part.add("scrollbar"),t.el.appendChild(o)),o&&(d.scrollbar.el=o),p.init(),p.updateSize(),p.setTranslate()),S&&(t.isElement&&(a&&"string"!==typeof a||(a=document.createElement("div"),a.classList.add("swiper-button-next"),a.innerHTML=t.hostEl.constructor.nextButtonSvg,a.part.add("button-next"),t.el.appendChild(a)),s&&"string"!==typeof s||(s=document.createElement("div"),s.classList.add("swiper-button-prev"),s.innerHTML=t.hostEl.constructor.prevButtonSvg,s.part.add("button-prev"),t.el.appendChild(s))),a&&(d.navigation.nextEl=a),s&&(d.navigation.prevEl=s),u.init(),u.update()),i.includes("allowSlideNext")&&(t.allowSlideNext=r.allowSlideNext),i.includes("allowSlidePrev")&&(t.allowSlidePrev=r.allowSlidePrev),i.includes("direction")&&t.changeDirection(r.direction,!1),(A||k)&&t.loopDestroy(),(b||k)&&t.loopCreate(),t.update()}({swiper:v.current,slides:T,passedParams:M,changedParams:e,nextEl:A.current,prevEl:b.current,scrollbarEl:w.current,paginationEl:k.current}),()=>{O&&v.current&&Object.keys(O).forEach((e=>{v.current.off(e,O[e])}))}})),GA((()=>{(e=>{!e||e.destroyed||!e.params.virtual||e.params.virtual&&!e.params.virtual.enabled||(e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),e.parallax&&e.params.parallax&&e.params.parallax.enabled&&e.parallax.setTranslate())})(v.current)}),[u]),t.createElement(i,VA({ref:y,className:CA("".concat(d).concat(r?" ".concat(r):""))},P),t.createElement(HA.Provider,{value:v.current},I["container-start"],t.createElement(a,{className:EA(j.wrapperClass)},I["wrapper-start"],j.virtual?function(e,n,r){if(!r)return null;const i=e=>{let t=e;return e<0?t=n.length+e:t>=n.length&&(t-=n.length),t},a=e.isHorizontal()?{[e.rtlTranslate?"right":"left"]:"".concat(r.offset,"px")}:{top:"".concat(r.offset,"px")},{from:s,to:o}=r,l=e.params.loop?-n.length:0,c=e.params.loop?2*n.length:n.length,d=[];for(let t=l;t<c;t+=1)t>=s&&t<=o&&d.push(n[i(t)]);return d.map(((n,r)=>t.cloneElement(n,{swiper:e,style:a,key:"slide-".concat(r)})))}(v.current,T,u):T.map(((e,n)=>t.cloneElement(e,{swiper:v.current,swiperSlideIndex:n}))),I["wrapper-end"]),OA(j)&&t.createElement(t.Fragment,null,t.createElement("div",{ref:b,className:"swiper-button-prev"}),t.createElement("div",{ref:A,className:"swiper-button-next"})),IA(j)&&t.createElement("div",{ref:w,className:"swiper-scrollbar"}),TA(j)&&t.createElement("div",{ref:k,className:"swiper-pagination"}),I["container-end"]))}));WA.displayName="Swiper";const zA=(0,t.forwardRef)((function(e,n){let{tag:r="div",children:i,className:a="",swiper:s,zoom:o,lazy:l,virtualIndex:c,swiperSlideIndex:d,...h}=void 0===e?{}:e;const u=(0,t.useRef)(null),[p,f]=(0,t.useState)("swiper-slide"),[m,g]=(0,t.useState)(!1);function y(e,t,n){t===u.current&&f(n)}GA((()=>{if("undefined"!==typeof d&&(u.current.swiperSlideIndex=d),n&&(n.current=u.current),u.current&&s){if(!s.destroyed)return s.on("_slideClass",y),()=>{s&&s.off("_slideClass",y)};"swiper-slide"!==p&&f("swiper-slide")}})),GA((()=>{s&&u.current&&!s.destroyed&&f(s.getSlideClasses(u.current))}),[s]);const v={isActive:p.indexOf("swiper-slide-active")>=0,isVisible:p.indexOf("swiper-slide-visible")>=0,isPrev:p.indexOf("swiper-slide-prev")>=0,isNext:p.indexOf("swiper-slide-next")>=0},x=()=>"function"===typeof i?i(v):i;return t.createElement(r,VA({ref:u,className:CA("".concat(p).concat(a?" ".concat(a):"")),"data-swiper-slide-index":c,onLoad:()=>{g(!0)}},h),o&&t.createElement(qA.Provider,{value:v},t.createElement("div",{className:"swiper-zoom-container","data-swiper-zoom":"number"===typeof o?o:void 0},x(),l&&!m&&t.createElement("div",{className:"swiper-lazy-preloader"}))),!o&&t.createElement(qA.Provider,{value:v},x(),l&&!m&&t.createElement("div",{className:"swiper-lazy-preloader"})))}));function JA(e,t,n,r){return e.params.createElements&&Object.keys(r).forEach((i=>{if(!n[i]&&!0===n.auto){let a=BS(e.el,".".concat(r[i]))[0];a||(a=GS("div",r[i]),a.className=r[i],e.el.append(a)),n[i]=a,t[i]=a}})),n}function UA(e){let{swiper:t,extendParams:n,on:r,emit:i}=e;n({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),t.navigation={nextEl:null,prevEl:null};const a=e=>(Array.isArray(e)?e:[e]).filter((e=>!!e));function s(e){let n;return e&&"string"===typeof e&&t.isElement&&(n=t.el.querySelector(e),n)?n:(e&&("string"===typeof e&&(n=[...document.querySelectorAll(e)]),t.params.uniqueNavElements&&"string"===typeof e&&n.length>1&&1===t.el.querySelectorAll(e).length&&(n=t.el.querySelector(e))),e&&!n?e:n)}function o(e,n){const r=t.params.navigation;(e=a(e)).forEach((e=>{e&&(e.classList[n?"add":"remove"](...r.disabledClass.split(" ")),"BUTTON"===e.tagName&&(e.disabled=n),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](r.lockClass))}))}function l(){const{nextEl:e,prevEl:n}=t.navigation;if(t.params.loop)return o(n,!1),void o(e,!1);o(n,t.isBeginning&&!t.params.rewind),o(e,t.isEnd&&!t.params.rewind)}function c(e){e.preventDefault(),(!t.isBeginning||t.params.loop||t.params.rewind)&&(t.slidePrev(),i("navigationPrev"))}function d(e){e.preventDefault(),(!t.isEnd||t.params.loop||t.params.rewind)&&(t.slideNext(),i("navigationNext"))}function h(){const e=t.params.navigation;if(t.params.navigation=JA(t,t.originalParams.navigation,t.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!e.nextEl&&!e.prevEl)return;let n=s(e.nextEl),r=s(e.prevEl);Object.assign(t.navigation,{nextEl:n,prevEl:r}),n=a(n),r=a(r);const i=(n,r)=>{n&&n.addEventListener("click","next"===r?d:c),!t.enabled&&n&&n.classList.add(...e.lockClass.split(" "))};n.forEach((e=>i(e,"next"))),r.forEach((e=>i(e,"prev")))}function u(){let{nextEl:e,prevEl:n}=t.navigation;e=a(e),n=a(n);const r=(e,n)=>{e.removeEventListener("click","next"===n?d:c),e.classList.remove(...t.params.navigation.disabledClass.split(" "))};e.forEach((e=>r(e,"next"))),n.forEach((e=>r(e,"prev")))}r("init",(()=>{!1===t.params.navigation.enabled?p():(h(),l())})),r("toEdge fromEdge lock unlock",(()=>{l()})),r("destroy",(()=>{u()})),r("enable disable",(()=>{let{nextEl:e,prevEl:n}=t.navigation;e=a(e),n=a(n),t.enabled?l():[...e,...n].filter((e=>!!e)).forEach((e=>e.classList.add(t.params.navigation.lockClass)))})),r("click",((e,n)=>{let{nextEl:r,prevEl:s}=t.navigation;r=a(r),s=a(s);const o=n.target;if(t.params.navigation.hideOnClick&&!s.includes(o)&&!r.includes(o)){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===o||t.pagination.el.contains(o)))return;let e;r.length?e=r[0].classList.contains(t.params.navigation.hiddenClass):s.length&&(e=s[0].classList.contains(t.params.navigation.hiddenClass)),i(!0===e?"navigationShow":"navigationHide"),[...r,...s].filter((e=>!!e)).forEach((e=>e.classList.toggle(t.params.navigation.hiddenClass)))}}));const p=()=>{t.el.classList.add(...t.params.navigation.navigationDisabledClass.split(" ")),u()};Object.assign(t.navigation,{enable:()=>{t.el.classList.remove(...t.params.navigation.navigationDisabledClass.split(" ")),h(),l()},disable:p,update:l,init:h,destroy:u})}function NA(e){return void 0===e&&(e=""),".".concat(e.trim().replace(/([\.:!+\/])/g,"\\$1").replace(/ /g,"."))}function LA(e){let{swiper:t,extendParams:n,on:r,emit:i}=e;const a="swiper-pagination";let s;n({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:e=>e,formatFractionTotal:e=>e,bulletClass:"".concat(a,"-bullet"),bulletActiveClass:"".concat(a,"-bullet-active"),modifierClass:"".concat(a,"-"),currentClass:"".concat(a,"-current"),totalClass:"".concat(a,"-total"),hiddenClass:"".concat(a,"-hidden"),progressbarFillClass:"".concat(a,"-progressbar-fill"),progressbarOppositeClass:"".concat(a,"-progressbar-opposite"),clickableClass:"".concat(a,"-clickable"),lockClass:"".concat(a,"-lock"),horizontalClass:"".concat(a,"-horizontal"),verticalClass:"".concat(a,"-vertical"),paginationDisabledClass:"".concat(a,"-disabled")}}),t.pagination={el:null,bullets:[]};let o=0;const l=e=>(Array.isArray(e)?e:[e]).filter((e=>!!e));function c(){return!t.params.pagination.el||!t.pagination.el||Array.isArray(t.pagination.el)&&0===t.pagination.el.length}function d(e,n){const{bulletActiveClass:r}=t.params.pagination;e&&(e=e["".concat("prev"===n?"previous":"next","ElementSibling")])&&(e.classList.add("".concat(r,"-").concat(n)),(e=e["".concat("prev"===n?"previous":"next","ElementSibling")])&&e.classList.add("".concat(r,"-").concat(n,"-").concat(n)))}function h(e){const n=e.target.closest(NA(t.params.pagination.bulletClass));if(!n)return;e.preventDefault();const r=HS(n)*t.params.slidesPerGroup;if(t.params.loop){if(t.realIndex===r)return;const e=t.realIndex,n=t.getSlideIndexByData(r),i=t.getSlideIndexByData(t.realIndex),a=r=>{const i=t.activeIndex;t.loopFix({direction:r,activeSlideIndex:n,slideTo:!1});i===t.activeIndex&&t.slideToLoop(e,0,!1,!0)};if(n>t.slides.length-t.loopedSlides)a(n>i?"next":"prev");else if(t.params.centeredSlides){const e="auto"===t.params.slidesPerView?t.slidesPerViewDynamic():Math.ceil(parseFloat(t.params.slidesPerView,10));n<Math.floor(e/2)&&a("prev")}t.slideToLoop(r)}else t.slideTo(r)}function u(){const e=t.rtl,n=t.params.pagination;if(c())return;let r,a,h=t.pagination.el;h=l(h);const u=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,p=t.params.loop?Math.ceil(u/t.params.slidesPerGroup):t.snapGrid.length;if(t.params.loop?(a=t.previousRealIndex||0,r=t.params.slidesPerGroup>1?Math.floor(t.realIndex/t.params.slidesPerGroup):t.realIndex):"undefined"!==typeof t.snapIndex?(r=t.snapIndex,a=t.previousSnapIndex):(a=t.previousIndex||0,r=t.activeIndex||0),"bullets"===n.type&&t.pagination.bullets&&t.pagination.bullets.length>0){const i=t.pagination.bullets;let l,c,u;if(n.dynamicBullets&&(s=zS(i[0],t.isHorizontal()?"width":"height",!0),h.forEach((e=>{e.style[t.isHorizontal()?"width":"height"]="".concat(s*(n.dynamicMainBullets+4),"px")})),n.dynamicMainBullets>1&&void 0!==a&&(o+=r-(a||0),o>n.dynamicMainBullets-1?o=n.dynamicMainBullets-1:o<0&&(o=0)),l=Math.max(r-o,0),c=l+(Math.min(i.length,n.dynamicMainBullets)-1),u=(c+l)/2),i.forEach((e=>{const t=[...["","-next","-next-next","-prev","-prev-prev","-main"].map((e=>"".concat(n.bulletActiveClass).concat(e)))].map((e=>"string"===typeof e&&e.includes(" ")?e.split(" "):e)).flat();e.classList.remove(...t)})),h.length>1)i.forEach((e=>{const i=HS(e);i===r?e.classList.add(...n.bulletActiveClass.split(" ")):t.isElement&&e.setAttribute("part","bullet"),n.dynamicBullets&&(i>=l&&i<=c&&e.classList.add(..."".concat(n.bulletActiveClass,"-main").split(" ")),i===l&&d(e,"prev"),i===c&&d(e,"next"))}));else{const e=i[r];if(e&&e.classList.add(...n.bulletActiveClass.split(" ")),t.isElement&&i.forEach(((e,t)=>{e.setAttribute("part",t===r?"bullet-active":"bullet")})),n.dynamicBullets){const e=i[l],t=i[c];for(let r=l;r<=c;r+=1)i[r]&&i[r].classList.add(..."".concat(n.bulletActiveClass,"-main").split(" "));d(e,"prev"),d(t,"next")}}if(n.dynamicBullets){const r=Math.min(i.length,n.dynamicMainBullets+4),a=(s*r-s)/2-u*s,o=e?"right":"left";i.forEach((e=>{e.style[t.isHorizontal()?o:"top"]="".concat(a,"px")}))}}h.forEach(((e,a)=>{if("fraction"===n.type&&(e.querySelectorAll(NA(n.currentClass)).forEach((e=>{e.textContent=n.formatFractionCurrent(r+1)})),e.querySelectorAll(NA(n.totalClass)).forEach((e=>{e.textContent=n.formatFractionTotal(p)}))),"progressbar"===n.type){let i;i=n.progressbarOpposite?t.isHorizontal()?"vertical":"horizontal":t.isHorizontal()?"horizontal":"vertical";const a=(r+1)/p;let s=1,o=1;"horizontal"===i?s=a:o=a,e.querySelectorAll(NA(n.progressbarFillClass)).forEach((e=>{e.style.transform="translate3d(0,0,0) scaleX(".concat(s,") scaleY(").concat(o,")"),e.style.transitionDuration="".concat(t.params.speed,"ms")}))}"custom"===n.type&&n.renderCustom?(e.innerHTML=n.renderCustom(t,r+1,p),0===a&&i("paginationRender",e)):(0===a&&i("paginationRender",e),i("paginationUpdate",e)),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](n.lockClass)}))}function p(){const e=t.params.pagination;if(c())return;const n=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length;let r=t.pagination.el;r=l(r);let a="";if("bullets"===e.type){let r=t.params.loop?Math.ceil(n/t.params.slidesPerGroup):t.snapGrid.length;t.params.freeMode&&t.params.freeMode.enabled&&r>n&&(r=n);for(let n=0;n<r;n+=1)e.renderBullet?a+=e.renderBullet.call(t,n,e.bulletClass):a+="<".concat(e.bulletElement," ").concat(t.isElement?'part="bullet"':"",' class="').concat(e.bulletClass,'"></').concat(e.bulletElement,">")}"fraction"===e.type&&(a=e.renderFraction?e.renderFraction.call(t,e.currentClass,e.totalClass):'<span class="'.concat(e.currentClass,'"></span>')+" / "+'<span class="'.concat(e.totalClass,'"></span>')),"progressbar"===e.type&&(a=e.renderProgressbar?e.renderProgressbar.call(t,e.progressbarFillClass):'<span class="'.concat(e.progressbarFillClass,'"></span>')),t.pagination.bullets=[],r.forEach((n=>{"custom"!==e.type&&(n.innerHTML=a||""),"bullets"===e.type&&t.pagination.bullets.push(...n.querySelectorAll(NA(e.bulletClass)))})),"custom"!==e.type&&i("paginationRender",r[0])}function f(){t.params.pagination=JA(t,t.originalParams.pagination,t.params.pagination,{el:"swiper-pagination"});const e=t.params.pagination;if(!e.el)return;let n;"string"===typeof e.el&&t.isElement&&(n=t.el.querySelector(e.el)),n||"string"!==typeof e.el||(n=[...document.querySelectorAll(e.el)]),n||(n=e.el),n&&0!==n.length&&(t.params.uniqueNavElements&&"string"===typeof e.el&&Array.isArray(n)&&n.length>1&&(n=[...t.el.querySelectorAll(e.el)],n.length>1&&(n=n.filter((e=>WS(e,".swiper")[0]===t.el))[0])),Array.isArray(n)&&1===n.length&&(n=n[0]),Object.assign(t.pagination,{el:n}),n=l(n),n.forEach((n=>{"bullets"===e.type&&e.clickable&&n.classList.add(...(e.clickableClass||"").split(" ")),n.classList.add(e.modifierClass+e.type),n.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass),"bullets"===e.type&&e.dynamicBullets&&(n.classList.add("".concat(e.modifierClass).concat(e.type,"-dynamic")),o=0,e.dynamicMainBullets<1&&(e.dynamicMainBullets=1)),"progressbar"===e.type&&e.progressbarOpposite&&n.classList.add(e.progressbarOppositeClass),e.clickable&&n.addEventListener("click",h),t.enabled||n.classList.add(e.lockClass)})))}function m(){const e=t.params.pagination;if(c())return;let n=t.pagination.el;n&&(n=l(n),n.forEach((n=>{n.classList.remove(e.hiddenClass),n.classList.remove(e.modifierClass+e.type),n.classList.remove(t.isHorizontal()?e.horizontalClass:e.verticalClass),e.clickable&&(n.classList.remove(...(e.clickableClass||"").split(" ")),n.removeEventListener("click",h))}))),t.pagination.bullets&&t.pagination.bullets.forEach((t=>t.classList.remove(...e.bulletActiveClass.split(" "))))}r("changeDirection",(()=>{if(!t.pagination||!t.pagination.el)return;const e=t.params.pagination;let{el:n}=t.pagination;n=l(n),n.forEach((n=>{n.classList.remove(e.horizontalClass,e.verticalClass),n.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass)}))})),r("init",(()=>{!1===t.params.pagination.enabled?g():(f(),p(),u())})),r("activeIndexChange",(()=>{"undefined"===typeof t.snapIndex&&u()})),r("snapIndexChange",(()=>{u()})),r("snapGridLengthChange",(()=>{p(),u()})),r("destroy",(()=>{m()})),r("enable disable",(()=>{let{el:e}=t.pagination;e&&(e=l(e),e.forEach((e=>e.classList[t.enabled?"remove":"add"](t.params.pagination.lockClass))))})),r("lock unlock",(()=>{u()})),r("click",((e,n)=>{const r=n.target,a=l(t.pagination.el);if(t.params.pagination.el&&t.params.pagination.hideOnClick&&a&&a.length>0&&!r.classList.contains(t.params.pagination.bulletClass)){if(t.navigation&&(t.navigation.nextEl&&r===t.navigation.nextEl||t.navigation.prevEl&&r===t.navigation.prevEl))return;const e=a[0].classList.contains(t.params.pagination.hiddenClass);i(!0===e?"paginationShow":"paginationHide"),a.forEach((e=>e.classList.toggle(t.params.pagination.hiddenClass)))}}));const g=()=>{t.el.classList.add(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=l(e),e.forEach((e=>e.classList.add(t.params.pagination.paginationDisabledClass)))),m()};Object.assign(t.pagination,{enable:()=>{t.el.classList.remove(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=l(e),e.forEach((e=>e.classList.remove(t.params.pagination.paginationDisabledClass)))),f(),p(),u()},disable:g,render:p,update:u,init:f,destroy:m})}function YA(e){let t,n,{swiper:r,extendParams:i,on:a,emit:s,params:o}=e;r.autoplay={running:!1,paused:!1,timeLeft:0},i({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}});let l,c,d,h,u,p,f,m=o&&o.autoplay?o.autoplay.delay:3e3,g=o&&o.autoplay?o.autoplay.delay:3e3,y=(new Date).getTime;function v(e){r&&!r.destroyed&&r.wrapperEl&&e.target===r.wrapperEl&&(r.wrapperEl.removeEventListener("transitionend",v),w())}const x=()=>{if(r.destroyed||!r.autoplay.running)return;r.autoplay.paused?c=!0:c&&(g=l,c=!1);const e=r.autoplay.paused?l:y+g-(new Date).getTime();r.autoplay.timeLeft=e,s("autoplayTimeLeft",e,e/m),n=requestAnimationFrame((()=>{x()}))},S=e=>{if(r.destroyed||!r.autoplay.running)return;cancelAnimationFrame(n),x();let i="undefined"===typeof e?r.params.autoplay.delay:e;m=r.params.autoplay.delay,g=r.params.autoplay.delay;const a=(()=>{let e;if(e=r.virtual&&r.params.virtual.enabled?r.slides.filter((e=>e.classList.contains("swiper-slide-active")))[0]:r.slides[r.activeIndex],!e)return;return parseInt(e.getAttribute("data-swiper-autoplay"),10)})();!Number.isNaN(a)&&a>0&&"undefined"===typeof e&&(i=a,m=a,g=a),l=i;const o=r.params.speed,c=()=>{r&&!r.destroyed&&(r.params.autoplay.reverseDirection?!r.isBeginning||r.params.loop||r.params.rewind?(r.slidePrev(o,!0,!0),s("autoplay")):r.params.autoplay.stopOnLastSlide||(r.slideTo(r.slides.length-1,o,!0,!0),s("autoplay")):!r.isEnd||r.params.loop||r.params.rewind?(r.slideNext(o,!0,!0),s("autoplay")):r.params.autoplay.stopOnLastSlide||(r.slideTo(0,o,!0,!0),s("autoplay")),r.params.cssMode&&(y=(new Date).getTime(),requestAnimationFrame((()=>{S()}))))};return i>0?(clearTimeout(t),t=setTimeout((()=>{c()}),i)):requestAnimationFrame((()=>{c()})),i},A=()=>{r.autoplay.running=!0,S(),s("autoplayStart")},b=()=>{r.autoplay.running=!1,clearTimeout(t),cancelAnimationFrame(n),s("autoplayStop")},k=(e,n)=>{if(r.destroyed||!r.autoplay.running)return;clearTimeout(t),e||(f=!0);const i=()=>{s("autoplayPause"),r.params.autoplay.waitForTransition?r.wrapperEl.addEventListener("transitionend",v):w()};if(r.autoplay.paused=!0,n)return p&&(l=r.params.autoplay.delay),p=!1,void i();const a=l||r.params.autoplay.delay;l=a-((new Date).getTime()-y),r.isEnd&&l<0&&!r.params.loop||(l<0&&(l=0),i())},w=()=>{r.isEnd&&l<0&&!r.params.loop||r.destroyed||!r.autoplay.running||(y=(new Date).getTime(),f?(f=!1,S(l)):S(),r.autoplay.paused=!1,s("autoplayResume"))},j=()=>{if(r.destroyed||!r.autoplay.running)return;const e=jS();"hidden"===e.visibilityState&&(f=!0,k(!0)),"visible"===e.visibilityState&&w()},M=e=>{"mouse"===e.pointerType&&(f=!0,r.animating||r.autoplay.paused||k(!0))},P=e=>{"mouse"===e.pointerType&&r.autoplay.paused&&w()};a("init",(()=>{r.params.autoplay.enabled&&(r.params.autoplay.pauseOnMouseEnter&&(r.el.addEventListener("pointerenter",M),r.el.addEventListener("pointerleave",P)),jS().addEventListener("visibilitychange",j),y=(new Date).getTime(),A())})),a("destroy",(()=>{r.el.removeEventListener("pointerenter",M),r.el.removeEventListener("pointerleave",P),jS().removeEventListener("visibilitychange",j),r.autoplay.running&&b()})),a("beforeTransitionStart",((e,t,n)=>{!r.destroyed&&r.autoplay.running&&(n||!r.params.autoplay.disableOnInteraction?k(!0,!0):b())})),a("sliderFirstMove",(()=>{!r.destroyed&&r.autoplay.running&&(r.params.autoplay.disableOnInteraction?b():(d=!0,h=!1,f=!1,u=setTimeout((()=>{f=!0,h=!0,k(!0)}),200)))})),a("touchEnd",(()=>{if(!r.destroyed&&r.autoplay.running&&d){if(clearTimeout(u),clearTimeout(t),r.params.autoplay.disableOnInteraction)return h=!1,void(d=!1);h&&r.params.cssMode&&w(),h=!1,d=!1}})),a("slideChange",(()=>{!r.destroyed&&r.autoplay.running&&(p=!0)})),Object.assign(r.autoplay,{start:A,stop:b,pause:k,resume:w})}function FA(e,t){const n=DS(t);return n!==t&&(n.style.backfaceVisibility="hidden",n.style["-webkit-backface-visibility"]="hidden"),n}function ZA(e){let{swiper:t,duration:n,transformElements:r,allSlides:i}=e;const{activeIndex:a}=t;if(t.params.virtualTranslate&&0!==n){let e,n=!1;e=i?r:r.filter((e=>{const n=e.classList.contains("swiper-slide-transform")?(e=>{if(!e.parentElement)return t.slides.filter((t=>t.shadowRoot&&t.shadowRoot===e.parentNode))[0];return e.parentElement})(e):e;return t.getSlideIndex(n)===a})),e.forEach((e=>{!function(e,t){t&&e.addEventListener("transitionend",(function n(r){r.target===e&&(t.call(e,r),e.removeEventListener("transitionend",n))}))}(e,(()=>{if(n)return;if(!t||t.destroyed)return;n=!0,t.animating=!1;const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});t.wrapperEl.dispatchEvent(e)}))}))}}function KA(e){let{swiper:t,extendParams:n,on:r}=e;n({fadeEffect:{crossFade:!1}});!function(e){const{effect:t,swiper:n,on:r,setTranslate:i,setTransition:a,overwriteParams:s,perspective:o,recreateShadows:l,getEffectParams:c}=e;let d;r("beforeInit",(()=>{if(n.params.effect!==t)return;n.classNames.push("".concat(n.params.containerModifierClass).concat(t)),o&&o()&&n.classNames.push("".concat(n.params.containerModifierClass,"3d"));const e=s?s():{};Object.assign(n.params,e),Object.assign(n.originalParams,e)})),r("setTranslate",(()=>{n.params.effect===t&&i()})),r("setTransition",((e,r)=>{n.params.effect===t&&a(r)})),r("transitionEnd",(()=>{if(n.params.effect===t&&l){if(!c||!c().slideShadows)return;n.slides.forEach((e=>{e.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((e=>e.remove()))})),l()}})),r("virtualUpdate",(()=>{n.params.effect===t&&(n.slides.length||(d=!0),requestAnimationFrame((()=>{d&&n.slides&&n.slides.length&&(i(),d=!1)})))}))}({effect:"fade",swiper:t,on:r,setTranslate:()=>{const{slides:e}=t;t.params.fadeEffect;for(let n=0;n<e.length;n+=1){const e=t.slides[n];let r=-e.swiperSlideOffset;t.params.virtualTranslate||(r-=t.translate);let i=0;t.isHorizontal()||(i=r,r=0);const a=t.params.fadeEffect.crossFade?Math.max(1-Math.abs(e.progress),0):1+Math.min(Math.max(e.progress,-1),0),s=FA(0,e);s.style.opacity=a,s.style.transform="translate3d(".concat(r,"px, ").concat(i,"px, 0px)")}},setTransition:e=>{const n=t.slides.map((e=>DS(e)));n.forEach((t=>{t.style.transitionDuration="".concat(e,"ms")})),ZA({swiper:t,duration:e,transformElements:n,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})}zA.displayName="SwiperSlide";const QA=e=>{let{prev:t=!1}=e;const n=(t?"backwards":"")+" "+(t?"swiper-button-prev":"swiper-button-next");return(0,$o.jsx)("button",{className:"button next ".concat(n)})},XA=()=>{const{slug:e}=vo(),n=Ss(),r=hs(Ei);t.useEffect((()=>{n(wi())}),[n,e]);const i=r.filter((t=>t.slug!==e)),a=[UA,LA];return!!i.length&&(0,$o.jsx)("section",{className:"container",children:(0,$o.jsxs)("div",{className:"news-slider-section",children:[(0,$o.jsx)("h2",{children:"You may be interested"}),(0,$o.jsxs)("div",{className:"news-slider",children:[(0,$o.jsxs)("div",{className:"news-slider__navigation",children:[(0,$o.jsx)(QA,{prev:!0}),(0,$o.jsx)(QA,{})]}),(0,$o.jsx)(WA,{pagination:!0,modules:a,navigation:{nextEl:".swiper-button-next",prevEl:".swiper-button-prev"},breakpoints:{320:{slidesPerView:1},768:{slidesPerView:2},1024:{slidesPerView:3}},spaceBetween:8,children:i.map((e=>(0,$o.jsx)(zA,{children:(0,$o.jsx)(mS,{data:e})},e.title)))})]})]})})},_A=()=>{const{slug:e}=vo(),n=Ss(),r=hs(Ii),i=hs(Ci),a=hs(Ca),s=go(),o=Wa("article-content");t.useEffect((()=>{za(n(Si({slug:e})),s)}),[n,e]);const{up_text:l="",down_text:c="",section_text:d=[],title:h,title_background:u,type:p,crated_at:f,time_to_read:m,fs_button:g}=r,y=d.map((e=>"<div class='box'><img src='".concat(e.image,"' alt='article-image' /><div>").concat(e.text,"</div></div>"))).join(""),v="".concat(l||"").concat(y).concat(c||""),x=a[p];return i?(0,$o.jsx)(py,{}):(0,$o.jsxs)($o.Fragment,{children:[(0,$o.jsxs)(sl,{image:u,buttonText:g,onClickButton:o,children:[(0,$o.jsx)(iS,{children:x}),(0,$o.jsx)("h2",{children:h}),(0,$o.jsxs)("div",{children:[(0,$o.jsx)(fS,{iconName:"calendar",text:f}),(0,$o.jsx)(fS,{iconName:"clock",text:m})]})]}),(0,$o.jsx)("article",{className:"article-content",dangerouslySetInnerHTML:{__html:v}}),(0,$o.jsx)(XA,{})]})},$A=e=>{let{label:n,children:r,setFile:i}=e;const[a,s]=(0,t.useState)(""),o=a?"file-attached":"";return(0,$o.jsxs)("div",{className:"form-control-container",children:[(0,$o.jsx)("span",{className:"form-control__label",children:n}),(0,$o.jsx)("div",{className:"attach-file-wrapper",children:(0,$o.jsxs)("label",{className:"button attach-file ".concat(o),children:[a||r,(0,$o.jsx)("input",{type:"file",onChange:e=>{var t;const n=e.target;s((null===n||void 0===n||null===(t=n.files[0])||void 0===t?void 0:t.name)||r),i(null===n||void 0===n?void 0:n.files[0])}})]})})]})},eb=()=>{const{pathname:e}=fo(),[n,r]=(0,t.useState)(""),[i,a]=(0,t.useState)(!1),[s,o]=(0,t.useState)(!1),[l,c]=(0,t.useState)(""),[d,h]=(0,t.useState)(null),[u,p]=(0,t.useState)({name:"",email:"",phone:"",last_name:""}),{cta_field_email_placeholder:f,cta_field_email_title:m,cta_field_message_placeholder:g,cta_field_message_title:y,cta_field_name_placeholder:v,cta_field_name_title:x,cta_field_phone_placeholder:S,cta_field_phone_title:A,cta_field_file_title:b,cta_field_file_placeholder:k,cta_policy_careers_text:w,cta_field_last_name_title:j,cta_field_last_name_placeholder:M}=hs(Ta),P=[{name:"name",required:!0,label:x,placeholder:v},{name:"last_name",required:!0,label:j,placeholder:M},{name:"email",required:!0,label:m,placeholder:f},{name:"phone",label:A,placeholder:S}],O=!s||""===u.name||""===u.last_name||""===u.email||i;return"success"===n?(0,$o.jsx)(Nv,{}):(0,$o.jsxs)("div",{className:"form-container",children:[(0,$o.jsxs)("div",{className:"form-body",children:[P.map((e=>{let{placeholder:t,label:n,name:r,required:i}=e;return(0,$o.jsx)(Wv,{type:r,value:u[r],onChange:e=>p({...u,[r]:e}),label:n,placeholder:t,required:i,className:"form-item-half"},r)})),(0,$o.jsx)(zv,{value:l,onChange:e=>c(e),label:y,placeholder:g}),(0,$o.jsx)($A,{setFile:h,label:b,children:k})]}),(0,$o.jsxs)("div",{className:"form-footer",children:[(0,$o.jsx)(Jv,{onChange:()=>o(!s),checked:s,children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:w}})}),(0,$o.jsx)(Uv,{onClick:()=>{O||(a(!0),Zn.postForm("".concat(nr+Kn.Zd),{...u,message:l,from_page:e,file:d}).then((e=>{r(e.data.status),a(!1)})).catch((function(e){console.log(e),a(!1)})))},disabled:O})]})]})},tb=()=>{const{cta_description:e}=hs(Ta);return(0,$o.jsx)(Gv,{children:(0,$o.jsx)("div",{className:"career-form",children:(0,$o.jsx)("p",{className:"description-medium",dangerouslySetInnerHTML:{__html:e}})})})},nb=()=>(0,$o.jsx)(Bv,{sidebar:(0,$o.jsx)(tb,{}),className:"career-form-section",children:(0,$o.jsx)(eb,{})});var rb,ib;function ab(){return ab=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ab.apply(this,arguments)}function sb(e,n){let{title:r,titleId:i,...a}=e;return t.createElement("svg",ab({xmlns:"http://www.w3.org/2000/svg",width:18,height:18,viewBox:"0 0 18 18",fill:"currentColor",ref:n,"aria-labelledby":i},a),r?t.createElement("title",{id:i},r):null,rb||(rb=t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9 6.9375C8.79289 6.9375 8.625 7.10539 8.625 7.3125C8.625 7.51961 8.79289 7.6875 9 7.6875C9.20711 7.6875 9.375 7.51961 9.375 7.3125C9.375 7.10539 9.20711 6.9375 9 6.9375ZM7.125 7.3125C7.125 6.27697 7.96447 5.4375 9 5.4375C10.0355 5.4375 10.875 6.27697 10.875 7.3125C10.875 8.34803 10.0355 9.1875 9 9.1875C7.96447 9.1875 7.125 8.34803 7.125 7.3125Z"})),ib||(ib=t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9 2.4375C7.62099 2.4375 6.30538 2.95957 5.34089 3.87813C4.37765 4.79551 3.84375 6.0317 3.84375 7.3125C3.84375 9.5607 5.16578 11.6336 6.60074 13.2052C7.30744 13.9792 8.01637 14.604 8.54905 15.0352C8.72019 15.1738 8.87253 15.2919 9 15.388C9.12747 15.2919 9.27981 15.1738 9.45095 15.0352C9.98363 14.604 10.6926 13.9792 11.3993 13.2052C12.8342 11.6336 14.1562 9.5607 14.1562 7.3125C14.1562 6.0317 13.6224 4.79551 12.6591 3.87813C11.6946 2.95957 10.379 2.4375 9 2.4375ZM9 16.3125C8.58397 16.9365 8.58377 16.9364 8.58355 16.9363L8.58298 16.9359L8.58144 16.9348L8.57677 16.9317L8.56112 16.9211C8.54793 16.9121 8.52928 16.8993 8.50554 16.8828C8.45808 16.8498 8.3902 16.8019 8.30484 16.7398C8.13419 16.6156 7.89319 16.4342 7.60525 16.2011C7.03051 15.7358 6.26287 15.0598 5.49301 14.2166C3.97485 12.5539 2.34375 10.1268 2.34375 7.3125C2.34375 5.60961 3.05438 3.98433 4.30641 2.79192C5.55719 1.6007 7.24614 0.9375 9 0.9375C10.7539 0.9375 12.4428 1.6007 13.6936 2.79192C14.9456 3.98433 15.6562 5.60961 15.6562 7.3125C15.6562 10.1268 14.0252 12.5539 12.507 14.2166C11.7371 15.0598 10.9695 15.7358 10.3948 16.2011C10.1068 16.4342 9.86581 16.6156 9.69516 16.7398C9.6098 16.8019 9.54192 16.8498 9.49446 16.8828C9.47072 16.8993 9.45207 16.9121 9.43888 16.9211L9.42323 16.9317L9.41856 16.9348L9.41702 16.9359L9.41645 16.9363C9.41623 16.9364 9.41603 16.9365 9 16.3125ZM9 16.3125L9.41603 16.9365L9 17.2139L8.58397 16.9365L9 16.3125Z"})))}const ob=t.forwardRef(sb);__webpack_require__.p;var lb,cb,db,hb,ub,pb,fb;function mb(){return mb=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},mb.apply(this,arguments)}function gb(e,n){let{title:r,titleId:i,...a}=e;return t.createElement("svg",mb({xmlns:"http://www.w3.org/2000/svg",width:18,height:18,viewBox:"0 0 18 18",fill:"currentColor",ref:n,"aria-labelledby":i},a),r?t.createElement("title",{id:i},r):null,lb||(lb=t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.93608 0.939394C9.17333 0.927825 9.40928 0.980859 9.61876 1.09284C9.82824 1.20482 10.0034 1.37155 10.1256 1.57526C10.2478 1.77897 10.3124 2.01201 10.3125 2.24955V2.25V15.1875H8.8125V2.60067L3.5625 6.10045V15.1875H2.0625V6.00172M8.93608 0.939394C8.69892 0.950958 8.46934 1.02664 8.27181 1.15837ZM9.10406 2.40631C9.10398 2.40636 9.1039 2.40642 9.10382 2.40647Z"})),cb||(cb=t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M14.4375 6.9375H9.5625V5.4375H14.625C14.9731 5.4375 15.3069 5.57578 15.5531 5.82192C15.7992 6.06806 15.9375 6.4019 15.9375 6.75V15.1875H14.4375V6.9375Z"})),db||(db=t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M16.875 15.9375H1.125V14.4375H16.875V15.9375Z"})),hb||(hb=t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.5625 9V7.875H8.0625V9H6.5625Z"})),ub||(ub=t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4.3125 9V7.875H5.8125V9H4.3125Z"})),pb||(pb=t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4.3125 12.9375V11.8125H5.8125V12.9375H4.3125Z"})),fb||(fb=t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.5625 12.9375V11.8125H8.0625V12.9375H6.5625Z"})))}const yb=t.forwardRef(gb);__webpack_require__.p;var vb,xb;function Sb(){return Sb=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Sb.apply(this,arguments)}function Ab(e,n){let{title:r,titleId:i,...a}=e;return t.createElement("svg",Sb({xmlns:"http://www.w3.org/2000/svg",width:18,height:18,viewBox:"0 0 18 18",fill:"currentColor",ref:n,"aria-labelledby":i},a),r?t.createElement("title",{id:i},r):null,vb||(vb=t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.7155 3.45704C7.50071 3.64211 7.23331 3.84465 6.91804 3.97516L6.91794 3.9752C6.60554 4.10447 6.27442 4.14598 5.99737 4.16395C5.81653 4.17567 5.60999 4.17889 5.42788 4.18173C5.34366 4.18304 5.26466 4.18427 5.19584 4.18622C4.64709 4.2018 4.44666 4.27244 4.35955 4.35955C4.27244 4.44666 4.2018 4.64709 4.18622 5.19584C4.18427 5.26466 4.18304 5.34366 4.18173 5.42788C4.17889 5.60999 4.17567 5.81653 4.16395 5.99737C4.14598 6.27442 4.10447 6.60554 3.9752 6.91794L3.97472 6.91909C3.84412 7.23324 3.64159 7.50002 3.45684 7.71426C3.33023 7.86107 3.18183 8.016 3.05159 8.15196C2.99838 8.2075 2.94821 8.25988 2.90379 8.30725C2.73133 8.49116 2.60793 8.63714 2.52692 8.76845C2.44894 8.89485 2.4375 8.96472 2.4375 9C2.4375 9.03528 2.44894 9.10515 2.52692 9.23155C2.60793 9.36286 2.73133 9.50884 2.90379 9.69275C2.94821 9.74012 2.99838 9.79249 3.05158 9.84803C3.18182 9.984 3.33023 10.1389 3.45684 10.2857C3.64159 10.5 3.84412 10.7668 3.97472 11.0809L3.97529 11.0823C4.10447 11.3947 4.14598 11.7258 4.16395 12.0029C4.17567 12.1838 4.17889 12.3903 4.18173 12.5724C4.18304 12.6566 4.18427 12.7356 4.18622 12.8044C4.20179 13.353 4.27241 13.5533 4.35955 13.6405C4.44666 13.7276 4.64709 13.7982 5.19584 13.8138C5.26465 13.8157 5.34365 13.817 5.42787 13.8183C5.60998 13.8211 5.81652 13.8243 5.99737 13.8361C6.27442 13.854 6.60554 13.8955 6.91794 14.0248L6.91909 14.0253C7.23324 14.1559 7.50002 14.3584 7.71426 14.5432C7.86108 14.6698 8.01601 14.8182 8.15197 14.9484C8.20751 15.0016 8.25988 15.0518 8.30725 15.0962C8.49116 15.2687 8.63714 15.3921 8.76845 15.4731C8.89485 15.5511 8.96472 15.5625 9 15.5625C9.03528 15.5625 9.10515 15.5511 9.23155 15.4731C9.36286 15.3921 9.50884 15.2687 9.69275 15.0962C9.74012 15.0518 9.79249 15.0016 9.84803 14.9484C9.98399 14.8182 10.1389 14.6698 10.2857 14.5432C10.5 14.3584 10.7668 14.1559 11.0809 14.0253L11.0823 14.0247C11.3947 13.8955 11.7258 13.854 12.0029 13.8361C12.1838 13.8243 12.3903 13.8211 12.5724 13.8183C12.6566 13.817 12.7356 13.8157 12.8044 13.8138C13.353 13.7982 13.5533 13.7276 13.6405 13.6405C13.7276 13.5533 13.7982 13.353 13.8138 12.8044C13.8157 12.7356 13.817 12.6566 13.8183 12.5724C13.8211 12.3903 13.8243 12.1838 13.8361 12.0029C13.854 11.7258 13.8955 11.3947 14.0247 11.0823L14.0253 11.0809C14.1559 10.7668 14.3584 10.5 14.5432 10.2857C14.6698 10.1389 14.8182 9.98399 14.9484 9.84803C15.0016 9.79249 15.0518 9.74012 15.0962 9.69275C15.2687 9.50884 15.3921 9.36286 15.4731 9.23155C15.5511 9.10515 15.5625 9.03528 15.5625 9C15.5625 8.96485 15.5511 8.89531 15.4733 8.76934C15.3924 8.63835 15.2691 8.49273 15.0965 8.30888C15.0526 8.26207 15.003 8.21042 14.9506 8.15567C14.8198 8.01924 14.6705 7.86354 14.543 7.7155C14.3579 7.50071 14.1554 7.23331 14.0248 6.91804L14.0247 6.91772C13.8955 6.60527 13.854 6.27418 13.8361 5.99707C13.8243 5.81621 13.8211 5.60968 13.8183 5.42759C13.817 5.34337 13.8157 5.26438 13.8138 5.19558C13.7982 4.647 13.7276 4.44669 13.6405 4.35955C13.5533 4.27241 13.353 4.20179 12.8044 4.18622C12.7356 4.18427 12.6566 4.18304 12.5724 4.18173C12.3903 4.17889 12.1838 4.17567 12.0029 4.16395C11.7258 4.14598 11.3947 4.10447 11.0823 3.97529L11.0809 3.97472C10.7668 3.84412 10.5 3.64159 10.2857 3.45684C10.1389 3.33023 9.984 3.18182 9.84803 3.05158C9.79249 2.99838 9.74012 2.94821 9.69275 2.90379C9.50884 2.73133 9.36286 2.60793 9.23155 2.52692C9.10515 2.44894 9.03528 2.4375 9 2.4375C8.96485 2.4375 8.89531 2.44886 8.76934 2.52668C8.63835 2.6076 8.49273 2.7309 8.30888 2.9035C8.26207 2.94744 8.21042 2.99696 8.15566 3.04945C8.01924 3.18024 7.86354 3.32949 7.7155 3.45704ZM7.98099 1.25055C8.25259 1.08276 8.5957 0.9375 9 0.9375C9.40418 0.9375 9.74739 1.08268 10.0191 1.25031C10.2859 1.41491 10.5231 1.62611 10.7188 1.80961C10.7926 1.87884 10.8591 1.94258 10.9217 2.00259C11.0424 2.11839 11.1487 2.22029 11.2653 2.32087C11.4346 2.46683 11.5593 2.54902 11.6561 2.58937C11.7416 2.62459 11.8788 2.65275 12.1 2.66709C12.2466 2.6766 12.3837 2.67857 12.5399 2.68082C12.6334 2.68217 12.7337 2.68361 12.847 2.68683C13.3387 2.70078 14.1414 2.73915 14.7011 3.29889C15.2608 3.85863 15.2992 4.66133 15.3132 5.15301C15.3164 5.26629 15.3178 5.36659 15.3192 5.46006C15.3214 5.61626 15.3234 5.75338 15.3329 5.90003C15.3473 6.12182 15.3756 6.25911 15.4109 6.34462L14.7178 6.63117L15.4108 6.3443C15.4511 6.44177 15.5334 6.56698 15.6793 6.7364C15.7803 6.85355 15.8828 6.96041 15.9995 7.08197C16.0588 7.14382 16.1218 7.20947 16.1901 7.28221C16.3735 7.47753 16.5848 7.71441 16.7494 7.98099C16.9172 8.25259 17.0625 8.5957 17.0625 9C17.0625 9.40418 16.9173 9.74739 16.7497 10.0191C16.5851 10.2859 16.3739 10.5231 16.1904 10.7188C16.1212 10.7926 16.0574 10.8591 15.9974 10.9217C15.8816 11.0424 15.7797 11.1487 15.6791 11.2653C15.5332 11.4345 15.451 11.5592 15.4107 11.656C15.3754 11.7415 15.3473 11.8787 15.3329 12.1C15.3234 12.2466 15.3214 12.3837 15.3192 12.5399C15.3178 12.6334 15.3164 12.7337 15.3132 12.847C15.2992 13.3387 15.2608 14.1414 14.7011 14.7011C14.1414 15.2608 13.3387 15.2992 12.847 15.3132C12.7337 15.3164 12.6334 15.3178 12.5399 15.3192C12.3837 15.3214 12.2466 15.3234 12.1 15.3329C11.8787 15.3473 11.7415 15.3754 11.656 15.4107C11.5592 15.451 11.4345 15.5332 11.2653 15.6791C11.1487 15.7797 11.0424 15.8816 10.9217 15.9974C10.8591 16.0574 10.7926 16.1212 10.7188 16.1904C10.5231 16.3739 10.2859 16.5851 10.0191 16.7497C9.74739 16.9173 9.40418 17.0625 9 17.0625C8.59582 17.0625 8.25261 16.9173 7.98089 16.7497C7.71407 16.5851 7.47689 16.3739 7.28121 16.1904C7.20738 16.1212 7.14091 16.0574 7.07833 15.9974C6.95758 15.8816 6.85132 15.7797 6.73467 15.6791C6.56542 15.5332 6.44065 15.451 6.34393 15.4106C6.25867 15.3755 6.12169 15.3473 5.90032 15.3329C5.75369 15.3234 5.61657 15.3214 5.46035 15.3192C5.36688 15.3178 5.26656 15.3164 5.15328 15.3132C4.66158 15.2992 3.85865 15.2609 3.29889 14.7011C2.73915 14.1414 2.70078 13.3387 2.68683 12.847C2.68361 12.7337 2.68217 12.6334 2.68082 12.5399C2.67857 12.3837 2.6766 12.2466 2.66709 12.1C2.65275 11.8788 2.62459 11.7416 2.58937 11.6561C2.54902 11.5593 2.46683 11.4346 2.32087 11.2653C2.22029 11.1487 2.11839 11.0424 2.00259 10.9217C1.94258 10.8591 1.87884 10.7926 1.80961 10.7188C1.62611 10.5231 1.41491 10.2859 1.25031 10.0191C1.08268 9.74739 0.9375 9.40418 0.9375 9C0.9375 8.59582 1.08268 8.25261 1.25031 7.98089C1.41491 7.71407 1.62611 7.47689 1.80961 7.28121C1.87883 7.20738 1.94258 7.14091 2.00259 7.07833C2.11839 6.95758 2.22029 6.85132 2.32087 6.73467C2.46688 6.56536 2.54908 6.44056 2.58942 6.34382C2.62457 6.25856 2.65274 6.1216 2.66709 5.90032C2.6766 5.75369 2.67857 5.61657 2.68082 5.46034C2.68217 5.36687 2.68361 5.26656 2.68683 5.15328C2.70078 4.66158 2.73913 3.85865 3.29889 3.29889C3.85865 2.73913 4.66158 2.70078 5.15328 2.68683C5.26656 2.68361 5.36687 2.68217 5.46034 2.68082C5.61657 2.67857 5.75369 2.6766 5.90032 2.66709C6.12202 2.65271 6.25908 2.62446 6.3443 2.58922M7.98099 1.25055C7.71441 1.41524 7.47753 1.62654 7.28221 1.8099ZM7.28221 1.8099C7.20947 1.8782 7.14382 1.94119 7.08197 2.00054ZM7.08197 2.00054C6.96041 2.11719 6.85355 2.21973 6.7364 2.32067ZM6.7364 2.32067C6.56704 2.46659 6.44186 2.54881 6.34441 2.58917Z"})),xb||(xb=t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12.3429 7.84283L7.87506 12.3107L5.65723 10.0928L6.71789 9.03217L7.87506 10.1893L11.2822 6.78217L12.3429 7.84283Z"})))}const bb=t.forwardRef(Ab),kb=(__webpack_require__.p,e=>{let{experience:t,locations:n,work_type:r}=e;const i=[{type:"experience",text:t},{type:"locations",text:n},{type:"work_type",text:r}].filter((e=>!!e.text));return!!i.length&&(0,$o.jsx)("div",{className:"job-labels",children:i.map(((e,t)=>{return(0,$o.jsxs)("div",{className:"job-label body3",children:[(n=e.type,{locations:(0,$o.jsx)(ob,{}),work_type:(0,$o.jsx)(yb,{}),experience:(0,$o.jsx)(bb,{})}[n]),(0,$o.jsx)("div",{children:e.text})]},t);var n}))})}),wb=()=>{const{slug:e}=vo(),n=Ss(),r=hs(Xr),i=hs(_r),a=go();t.useEffect((()=>{za(n(Yr({slug:e})),a)}),[n,e]);const{title:s,data:o,experience:l,locations:c,work_type:d,title_background:h,created_at:u,fs_button:p}=r,f=(0,t.useRef)();return Sg({items:[".article-content"],container:f,dependencies:[i]}),i?(0,$o.jsx)(py,{}):(0,$o.jsxs)("div",{ref:f,children:[(0,$o.jsxs)(sl,{image:h,buttonText:p,onClickButton:()=>Wa("form-section",100),children:[(0,$o.jsx)("h2",{children:s}),(0,$o.jsx)(kb,{experience:l,locations:c,work_type:d}),(0,$o.jsx)(fS,{iconName:"calendar",text:u})]}),(0,$o.jsx)("article",{className:"article-content",dangerouslySetInnerHTML:{__html:o}}),(0,$o.jsx)(nb,{})]})},jb=e=>{let{item:t}=e;const{slug:n,title:r,locations:i,experience:a,work_type:s,created_at:o,preview_description:l}=t;return(0,$o.jsxs)(No,{to:"".concat(Fo.career,"/").concat(n),className:"job-card",children:[(0,$o.jsxs)("div",{className:"job-card__title",children:[(0,$o.jsx)("span",{children:r}),(0,$o.jsx)(Hy,{})]}),(0,$o.jsx)("div",{className:"job-card__description opacity-70 body1",children:l}),(0,$o.jsx)(kb,{experience:a,locations:i,work_type:s}),(0,$o.jsx)(fS,{iconName:"calendar",text:o})]})},Mb=()=>{const[e,n]=(0,t.useState)(1),r=Ss(),{data:i,next:a}=hs(Qr);(0,t.useEffect)((()=>{r(Lr({page:e}))}),[r,e]);return!!i.length&&(0,$o.jsxs)($o.Fragment,{children:[(0,$o.jsx)("div",{className:"job-cards",children:i.map((e=>(0,$o.jsx)(jb,{item:e},e.title)))}),(0,$o.jsx)(hx,{next:a,onClick:()=>n(e+1)})]})},Pb=e=>{let{list:n,time:r,toRight:i=!1}=e;const a=t.useRef(null),s=t.useRef(null),[o,l]=t.useState(0),[c,d]=t.useState(n),[h,u]=t.useState(r);return t.useEffect((()=>{const e=Math.floor(a.current.offsetWidth),t=Math.floor(464*n.length),i=Math.max(2,Math.ceil(2*e/t)),s=r*parseFloat((1856/e).toFixed(2));d(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=[];for(let r=0;r<t;r++)n.push(...e);return n}(n,i)),l(1856),u(s)}),[n,r]),(0,$o.jsx)("div",{className:"marquee-container",ref:a,children:(0,$o.jsx)("div",{className:"marquee-area",ref:s,style:{transform:"translateX(-".concat(o,"px)"),animationDuration:"".concat(h,"s"),animationDirection:"".concat(i?" reverse":"")},children:c.map(((e,t)=>(0,$o.jsx)("div",{className:"marquee-item",style:{backgroundImage:'url("'.concat(e,'")')}},t)))})})},Ob=e=>{let{images:t=[],title:n}=e;const r=t.slice(0,t.length/2),i=t.slice(t.length/2);return t.length&&(0,$o.jsx)("section",{className:"container",children:(0,$o.jsxs)("div",{className:"marquee-gallery-section",children:[(0,$o.jsx)("h2",{className:"has-animation",children:n}),(0,$o.jsxs)("div",{className:"marquee-gallery",children:[(0,$o.jsx)(Pb,{list:r,time:35}),(0,$o.jsx)(Pb,{list:i,toRight:!0,time:50})]})]})})},Tb=()=>{const e=Ss(),n=hs(Kr),{fs_title:r,about_tag:i,fs_title_background:a,about_title:s,about_description:o,open_jobs_tag:l,open_jobs_title:c,git_tag:d,git_title:h,git_text:u,team_gallery:p,team_title:f,mission_large_background:m,mission_text:g,mission_cards:y,fs_view_button:v}=hs(Zr);(0,t.useEffect)((()=>{e(Nr())}),[e]);const x=(0,t.useRef)();return Sg({items:[".job-cards"],container:x,dependencies:[n]}),n?(0,$o.jsx)(py,{}):(0,$o.jsxs)("div",{ref:x,children:[(0,$o.jsx)(sl,{image:a,buttonText:v,onClickButton:()=>Wa("JobCards"),children:(0,$o.jsx)(ol,{size:"middle",textColor:"white",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:r}})})}),(0,$o.jsx)("section",{className:"container",children:(0,$o.jsx)("div",{className:"inner-container type-2",children:(0,$o.jsxs)("div",{className:"main-text-container",children:[(0,$o.jsx)(ll,{children:i}),(0,$o.jsx)(ol,{className:"has-animation",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:s}})}),(0,$o.jsx)("div",{className:"offset-left-4 max-width-760",children:(0,$o.jsx)(ol,{size:"super-small",className:"has-animation",children:o})})]})})}),(0,$o.jsx)(eS,{loading:n,background:m,title:g,data:y}),(0,$o.jsx)("section",{className:"container JobCards",children:(0,$o.jsxs)("div",{className:"inner-container type-2",children:[(0,$o.jsxs)("div",{className:"main-text-container with-absolute-label",children:[(0,$o.jsx)(ll,{children:l}),(0,$o.jsx)("div",{className:"offset-left-4 max-width-760",children:(0,$o.jsx)(ol,{size:"middle",className:"has-animation",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:c}})})})]}),(0,$o.jsx)(Mb,{})]})}),(0,$o.jsx)(Ob,{images:p,title:f}),(0,$o.jsx)("section",{className:"container",children:(0,$o.jsx)("div",{className:"inner-container type-3",children:(0,$o.jsxs)("div",{className:"main-text-container",children:[(0,$o.jsx)(ll,{children:d}),(0,$o.jsx)(ol,{size:"middle",className:"has-animation",children:(0,$o.jsx)("p",{className:"max-width-1024 pb-40 ",dangerouslySetInnerHTML:{__html:h}})}),(0,$o.jsx)("div",{className:"offset-left-4 max-width-760",children:(0,$o.jsx)(ol,{size:"super-small",className:"has-animation",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:u}})})})]})})}),(0,$o.jsx)(nb,{})]})},Ib=e=>{let{pageContentData:n}=e;const[r,i]=(0,t.useState)({}),[a,s]=(0,t.useState)(0),o=[],l=[];n.forEach((e=>{Object.entries(e).forEach((e=>{let[t,n]=e;const r=n.title||n.policy_title;r&&(o.push(((e,t)=>{switch(e){case"block":return(0,$o.jsxs)($v,{children:[t.title&&(0,$o.jsx)("h3",{children:t.title}),(0,$o.jsx)("div",{dangerouslySetInnerHTML:{__html:t.text}})]});case"pdf":{const{policy_title:e,flyers:n}=t;return(0,$o.jsx)(ox,{title:e,data:n})}default:return null}})(t,n)),l.push(r))}))}));const c=o.length,[d,h]=(0,t.useState)([]);return(0,t.useEffect)((()=>{h((e=>Array(c).fill().map(((n,r)=>e[r]||(0,t.createRef)()))))}),[c]),(0,t.useEffect)((()=>{s(ax(r))}),[r]),(0,$o.jsx)("section",{className:"container",children:(0,$o.jsx)(Dv,{containerType:"type-1",Sidebar:(0,$o.jsx)(tx,{activeIndex:a,refs:d,items:l}),children:o.map(((e,t)=>(0,$o.jsx)("div",{ref:d[t],children:(0,$o.jsx)(ix,{index:t,setData:i,children:e})},t)))})})},Cb=e=>{let{title:t,background:n,buttonText:r,pageContentData:i,pageRef:a}=e;return(0,$o.jsxs)("div",{ref:a,children:[(0,$o.jsx)(sl,{title:t,image:n,buttonText:r,onClickButton:()=>Wa("with-sidebar-layout",100)}),(0,$o.jsx)(Ib,{pageContentData:i})]})},Eb=()=>{const e=Ss(),n=hs(ha),{fs_title:r,fs_background:i,fs_description:a,blocks:s=[],policy_title:o,flyers:l}=hs(ca);t.useEffect((()=>{e(sa())}),[e]);const c=[{pdf:{policy_title:o,flyers:l}},...s.map((e=>({block:e})))],d=(0,t.useRef)();return Sg({items:[".with-sidebar-layout__left",".box"],container:d,dependencies:[n]}),n?(0,$o.jsx)(py,{}):(0,$o.jsx)(Cb,{pageRef:d,title:r,background:i,buttonText:a,pageContentData:c})},Vb=()=>{const e=Ss(),n=hs(da),{fs_title:r,fs_background:i,fs_button:a,blocks:s=[]}=hs(la),o=s.map((e=>({block:e})));t.useEffect((()=>{e(aa())}),[e]);const l=(0,t.useRef)();return Sg({items:[".with-sidebar-layout__left",".box"],container:l,dependencies:[n]}),n?(0,$o.jsx)(py,{}):(0,$o.jsx)(Cb,{pageRef:l,title:r,background:i,buttonText:a,pageContentData:o})},Rb=__webpack_require__.p+"static/media/office.e823084fc37a2da3babe.jpg",Db=e=>{let{data:t}=e;const{sales_photo:n,sales_name:r,sales_description:i,sales_phone:a,sales_email:s}=t||{};return t&&(0,$o.jsxs)("div",{className:"distribution-contacts__contacts-wrapper__distributor",children:[n&&(0,$o.jsx)("img",{src:n,alt:""}),r&&(0,$o.jsx)("p",{className:"description-demibold",children:r}),i&&(0,$o.jsx)("p",{className:"body1",children:i}),a&&(0,$o.jsx)("a",{className:"distribution-contacts__contact button-text distributor-phone",href:"tel:".concat(a),children:a}),s&&(0,$o.jsx)("a",{className:"distribution-contacts__contact button-text distributor-email",href:"mailto:".concat(s),children:s})]})},Bb=e=>{let{image:t}=e;return(0,$o.jsx)("img",{src:t||Rb,alt:"map"})},Gb=()=>{const{countries:e=[],country_description:n,country_select_text:r,region_select_text:i}=hs(ma),[a,s]=(0,t.useState)(void 0),[o,l]=(0,t.useState)(void 0);(0,t.useEffect)((()=>{s(e[0])}),[e]),(0,t.useEffect)((()=>{l(null===a||void 0===a?void 0:a.regions[0])}),[a]);const c=Dy("max-width: 1023px");return(0,$o.jsx)("section",{className:"container",children:(0,$o.jsxs)("div",{className:"distribution-contacts",children:[(0,$o.jsxs)("div",{className:"distribution-contacts__contacts-wrapper",children:[(0,$o.jsxs)("div",{className:"distribution-contacts__contacts-wrapper__contacts",children:[(0,$o.jsx)("p",{className:"description-medium",children:n}),(0,$o.jsxs)("div",{className:"dropdowns",children:[(0,$o.jsx)(iv,{label:r,options:e,selectedValue:a,onChange:e=>s(e)}),!(null===a||void 0===a||!a.regions.length)&&(0,$o.jsx)(iv,{label:i,options:a.regions,selectedValue:o,onChange:e=>l(e)})]})]}),!c&&(0,$o.jsx)(Db,{data:o||a})]}),(0,$o.jsx)(Bb,{image:(null===o||void 0===o?void 0:o.image)||(null===a||void 0===a?void 0:a.image)}),c&&(0,$o.jsx)(Db,{data:o||a})]})})},qb=e=>{let{data:t=[]}=e;return(0,$o.jsx)("div",{className:"contacts-cards",children:t.map((e=>{let{icon:t,title:n,text:r}=e;return(0,$o.jsxs)("div",{className:"contact-card",children:[(0,$o.jsxs)("div",{className:"body3 contact-card__title",children:[(0,$o.jsx)("img",{src:t,alt:"icon"}),n]}),(0,$o.jsx)("div",{className:"description-demibold",children:r})]},n)}))})},Hb=()=>{const e=Ss(),n=fo(),{fs_title:r,fs_background:i,fs_button:a,international_tag:s,international_title:o,international_text:l,contacts:c,contact_tag:d,contact_title:h}=hs(ma),u=hs(ga);t.useEffect((()=>{e(pa())}),[e]),t.useEffect((()=>{"#find"===n.hash&&Wa("distribution-contacts",100)}),[n.hash]);const p=(0,t.useRef)();return Sg({items:[".distribution-contacts",".contacts-cards"],container:p,dependencies:[u]}),u?(0,$o.jsx)(py,{}):(0,$o.jsxs)("div",{ref:p,children:[(0,$o.jsx)(sl,{title:r,image:i,buttonText:a,onClickButton:()=>Wa("form-section")}),(0,$o.jsx)("section",{className:"container",children:(0,$o.jsx)("div",{className:"inner-container type-2",children:(0,$o.jsxs)("div",{className:"main-text-container",children:[(0,$o.jsx)(ll,{children:s}),(0,$o.jsx)(ol,{className:"has-animation",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:o}})}),(0,$o.jsx)("div",{className:"offset-left-4 max-width-760",children:(0,$o.jsx)(ol,{size:"super-small",className:"has-animation",children:l})})]})})}),(0,$o.jsx)(Gb,{}),(0,$o.jsx)("section",{className:"container",children:(0,$o.jsxs)("div",{className:"inner-container type-3",children:[(0,$o.jsxs)("div",{className:"main-text-container",children:[(0,$o.jsx)(ll,{children:d}),(0,$o.jsx)("div",{className:"offset-left-4 max-width-760",children:(0,$o.jsx)(ol,{size:"middle",className:"has-animation",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:h}})})})]}),(0,$o.jsx)(qb,{data:c})]})}),(0,$o.jsx)(Kv,{})]})},Wb=__webpack_require__.p+"static/media/404-banner.77519085fc0e5d40bf62.jpg",zb=()=>{const e=hs(Ta);return(0,$o.jsx)("section",{className:"container page-404",children:(0,$o.jsxs)(sl,{image:Wb,buttonText:e["404_btn"],buttonType:"banner",withCrumbs:!1,children:[(0,$o.jsx)("h2",{children:e["404_title"]}),(0,$o.jsx)("p",{className:"body1 opacity-80",children:e["404_description"]})]})})},Jb=e=>{let{children:t,settings:n={},className:r}=e;const i={slidesPerView:1,navigation:!1,loop:!0,speed:1e3,autoplay:{delay:5e3},effect:"fade",...n};return(0,$o.jsx)(WA,{...i,modules:[YA,KA,LA],pagination:{clickable:!0},className:r,children:t})},Ub=e=>{let{card:t,array:n}=e;const{slug:r,title:i,title_background:a,type:s,time_to_read:o,crated_at:l}=t,c=hs(Ca)[s];return(0,$o.jsxs)($o.Fragment,{children:[(0,$o.jsx)("img",{className:"news-wrapper-image",src:a,alt:"img"}),(0,$o.jsxs)("div",{className:"news-box",children:[(0,$o.jsxs)("div",{children:[(0,$o.jsx)(iS,{children:c}),(0,$o.jsx)("p",{className:"description-demibold",children:i}),(0,$o.jsxs)("div",{className:"news-time-data",children:[(0,$o.jsx)(fS,{iconName:"calendar",text:l}),(0,$o.jsx)(fS,{iconName:"clock",text:o})]})]}),(0,$o.jsx)("div",{className:"news-box-bottom",children:(0,$o.jsx)(al,{href:Fo.news+"/"+r,type:"learn-more-arrow white-text",children:"LEARN MORE"})})]})]})};var Nb=Object.create,Lb=Object.defineProperty,Yb=Object.getOwnPropertyDescriptor,Fb=Object.getOwnPropertyNames,Zb=Object.getPrototypeOf,Kb=Object.prototype.hasOwnProperty,Qb=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Xb=(e,t,n)=>(n=null!=e?Nb(Zb(e)):{},((e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of Fb(t))!Kb.call(e,i)&&i!==n&&Lb(e,i,{get:()=>t[i],enumerable:!(r=Yb(t,i))||r.enumerable});return e})(!t&&e&&e.__esModule?n:Lb(n,"default",{value:e,enumerable:!0}),e)),_b=(e,t,n)=>(((e,t,n)=>{t in e?Lb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n})(e,"symbol"!=typeof t?t+"":t,n),n),$b=Qb(((e,t)=>{!function(n,r){"object"==typeof e?t.exports=r():"function"==typeof define&&define.amd?define(r):n.Alea=r()}(e,(function(){return e.importState=function(t){var n=new e;return n.importState(t),n},e;function e(){return function(e){var t=0,n=0,r=0,i=1;0==e.length&&(e=[+new Date]);var a=function(){var e=4022871197,t=function(t){t=t.toString();for(var n=0;n<t.length;n++){var r=.02519603282416938*(e+=t.charCodeAt(n));r-=e=r>>>0,e=(r*=e)>>>0,e+=4294967296*(r-=e)}return 2.3283064365386963e-10*(e>>>0)};return t.version="Mash 0.9",t}();t=a(" "),n=a(" "),r=a(" ");for(var s=0;s<e.length;s++)(t-=a(e[s]))<0&&(t+=1),(n-=a(e[s]))<0&&(n+=1),(r-=a(e[s]))<0&&(r+=1);a=null;var o=function(){var e=2091639*t+2.3283064365386963e-10*i;return t=n,n=r,r=e-(i=0|e)};return o.next=o,o.uint32=function(){return 4294967296*o()},o.fract53=function(){return o()+11102230246251565e-32*(2097152*o()|0)},o.version="Alea 0.9",o.args=e,o.exportState=function(){return[t,n,r,i]},o.importState=function(e){t=+e[0]||0,n=+e[1]||0,r=+e[2]||0,i=+e[3]||0},o}(Array.prototype.slice.call(arguments))}}))})),ek=Qb(((e,t)=>{!function(n,r){"object"==typeof e&&typeof t<"u"?r(e):"function"==typeof define&&define.amd?define(["exports"],r):r((n=typeof globalThis<"u"?globalThis:n||self).SVDJS={})}(e,(function(e){e.SVD=function(e,t,n,r,i){if(t=void 0===t||t,n=void 0===n||n,i=1e-64/(r=r||Math.pow(2,-52)),!e)throw new TypeError("Matrix a is not defined");var a,s,o,l,c,d,h,u,p,f,m,g,y=e[0].length,v=e.length;if(v<y)throw new TypeError("Invalid matrix: m < n");for(var x=[],S=[],A=[],b="f"===t?v:y,k=f=h=0;k<v;k++)S[k]=new Array(b).fill(0);for(k=0;k<y;k++)A[k]=new Array(y).fill(0);var w,j=new Array(y).fill(0);for(k=0;k<v;k++)for(a=0;a<y;a++)S[k][a]=e[k][a];for(k=0;k<y;k++){for(x[k]=h,p=0,o=k+1,a=k;a<v;a++)p+=Math.pow(S[a][k],2);if(p<i)h=0;else for(u=(d=S[k][k])*(h=d<0?Math.sqrt(p):-Math.sqrt(p))-p,S[k][k]=d-h,a=o;a<y;a++){for(p=0,s=k;s<v;s++)p+=S[s][k]*S[s][a];for(d=p/u,s=k;s<v;s++)S[s][a]=S[s][a]+d*S[s][k]}for(j[k]=h,p=0,a=o;a<y;a++)p+=Math.pow(S[k][a],2);if(p<i)h=0;else{for(u=(d=S[k][k+1])*(h=d<0?Math.sqrt(p):-Math.sqrt(p))-p,S[k][k+1]=d-h,a=o;a<y;a++)x[a]=S[k][a]/u;for(a=o;a<v;a++){for(p=0,s=o;s<y;s++)p+=S[a][s]*S[k][s];for(s=o;s<y;s++)S[a][s]=S[a][s]+p*x[s]}}f<(m=Math.abs(j[k])+Math.abs(x[k]))&&(f=m)}if(n)for(k=y-1;0<=k;k--){if(0!==h){for(u=S[k][k+1]*h,a=o;a<y;a++)A[a][k]=S[k][a]/u;for(a=o;a<y;a++){for(p=0,s=o;s<y;s++)p+=S[k][s]*A[s][a];for(s=o;s<y;s++)A[s][a]=A[s][a]+p*A[s][k]}}for(a=o;a<y;a++)A[k][a]=0,A[a][k]=0;A[k][k]=1,h=x[k],o=k}if(t){if("f"===t)for(k=y;k<v;k++){for(a=y;a<v;a++)S[k][a]=0;S[k][k]=1}for(k=y-1;0<=k;k--){for(o=k+1,h=j[k],a=o;a<b;a++)S[k][a]=0;if(0!==h){for(u=S[k][k]*h,a=o;a<b;a++){for(p=0,s=o;s<v;s++)p+=S[s][k]*S[s][a];for(d=p/u,s=k;s<v;s++)S[s][a]=S[s][a]+d*S[s][k]}for(a=k;a<v;a++)S[a][k]=S[a][k]/h}else for(a=k;a<v;a++)S[a][k]=0;S[k][k]=S[k][k]+1}}for(r*=f,s=y-1;0<=s;s--)for(var M=0;M<50;M++){for(w=!1,o=s;0<=o;o--){if(Math.abs(x[o])<=r){w=!0;break}if(Math.abs(j[o-1])<=r)break}if(!w)for(c=0,l=o-(p=1),k=o;k<s+1&&(d=p*x[k],x[k]=c*x[k],!(Math.abs(d)<=r));k++)if(h=j[k],j[k]=Math.sqrt(d*d+h*h),c=h/(u=j[k]),p=-d/u,t)for(a=0;a<v;a++)m=S[a][l],g=S[a][k],S[a][l]=m*c+g*p,S[a][k]=-m*p+g*c;if(g=j[s],o===s){if(g<0&&(j[s]=-g,n))for(a=0;a<y;a++)A[a][s]=-A[a][s];break}for(f=j[o],d=(((m=j[s-1])-g)*(m+g)+((h=x[s-1])-(u=x[s]))*(h+u))/(2*u*m),h=Math.sqrt(d*d+1),d=((f-g)*(f+g)+u*(m/(d<0?d-h:d+h)-u))/f,k=o+(p=c=1);k<s+1;k++){if(h=x[k],m=j[k],u=p*h,h*=c,g=Math.sqrt(d*d+u*u),d=f*(c=d/(x[k-1]=g))+h*(p=u/g),h=-f*p+h*c,u=m*p,m*=c,n)for(a=0;a<y;a++)f=A[a][k-1],g=A[a][k],A[a][k-1]=f*c+g*p,A[a][k]=-f*p+g*c;if(g=Math.sqrt(d*d+u*u),d=(c=d/(j[k-1]=g))*h+(p=u/g)*m,f=-p*h+c*m,t)for(a=0;a<v;a++)m=S[a][k-1],g=S[a][k],S[a][k-1]=m*c+g*p,S[a][k]=-m*p+g*c}x[o]=0,x[s]=d,j[s]=f}for(k=0;k<y;k++)j[k]<r&&(j[k]=0);return{u:S,q:j,v:A}},e.VERSION="1.1.1",Object.defineProperty(e,"__esModule",{value:!0})}))})),tk=Qb(((e,t)=>{!function(n,r){"object"==typeof e&&typeof t<"u"?t.exports=r():"function"==typeof define&&define.amd?define(r):(n=n||self).TinyQueue=r()}(e,(function(){var e=function(e,n){if(void 0===e&&(e=[]),void 0===n&&(n=t),this.data=e,this.length=this.data.length,this.compare=n,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function t(e,t){return e<t?-1:e>t?1:0}return e.prototype.push=function(e){this.data.push(e),this.length++,this._up(this.length-1)},e.prototype.pop=function(){if(0!==this.length){var e=this.data[0],t=this.data.pop();return this.length--,this.length>0&&(this.data[0]=t,this._down(0)),e}},e.prototype.peek=function(){return this.data[0]},e.prototype._up=function(e){for(var t=this.data,n=this.compare,r=t[e];e>0;){var i=e-1>>1,a=t[i];if(n(r,a)>=0)break;t[e]=a,e=i}t[e]=r},e.prototype._down=function(e){for(var t=this.data,n=this.compare,r=this.length>>1,i=t[e];e<r;){var a=1+(e<<1),s=t[a],o=a+1;if(o<this.length&&n(t[o],s)<0&&(a=o,s=t[o]),n(s,i)>=0)break;t[e]=s,e=a}t[e]=i},e}))})),nk=Qb(((e,t)=>{var n=tk();function r(e,t,r){t=t||1;for(var s,o,l,c,d=0;d<e[0].length;d++){var h=e[0][d];(!d||h[0]<s)&&(s=h[0]),(!d||h[1]<o)&&(o=h[1]),(!d||h[0]>l)&&(l=h[0]),(!d||h[1]>c)&&(c=h[1])}var u=l-s,p=c-o,f=Math.min(u,p),m=f/2;if(0===f){var g=[s,o];return g.distance=0,g}for(var y=new n(void 0,i),v=s;v<l;v+=f)for(var x=o;x<c;x+=f)y.push(new a(v+m,x+m,m,e));var S=function(e){for(var t=0,n=0,r=0,i=e[0],s=0,o=i.length,l=o-1;s<o;l=s++){var c=i[s],d=i[l],h=c[0]*d[1]-d[0]*c[1];n+=(c[0]+d[0])*h,r+=(c[1]+d[1])*h,t+=3*h}return 0===t?new a(i[0][0],i[0][1],0,e):new a(n/t,r/t,0,e)}(e),A=new a(s+u/2,o+p/2,0,e);A.d>S.d&&(S=A);for(var b=y.length;y.length;){var k=y.pop();k.d>S.d&&(S=k,r&&console.log("found best %d after %d probes",Math.round(1e4*k.d)/1e4,b)),!(k.max-S.d<=t)&&(m=k.h/2,y.push(new a(k.x-m,k.y-m,m,e)),y.push(new a(k.x+m,k.y-m,m,e)),y.push(new a(k.x-m,k.y+m,m,e)),y.push(new a(k.x+m,k.y+m,m,e)),b+=4)}r&&(console.log("num probes: "+b),console.log("best distance: "+S.d));var w=[S.x,S.y];return w.distance=S.d,w}function i(e,t){return t.max-e.max}function a(e,t,n,r){this.x=e,this.y=t,this.h=n,this.d=function(e,t,n){for(var r=!1,i=1/0,a=0;a<n.length;a++)for(var o=n[a],l=0,c=o.length,d=c-1;l<c;d=l++){var h=o[l],u=o[d];h[1]>t!=u[1]>t&&e<(u[0]-h[0])*(t-h[1])/(u[1]-h[1])+h[0]&&(r=!r),i=Math.min(i,s(e,t,h,u))}return 0===i?0:(r?1:-1)*Math.sqrt(i)}(e,t,r),this.max=this.d+this.h*Math.SQRT2}function s(e,t,n,r){var i=n[0],a=n[1],s=r[0]-i,o=r[1]-a;if(0!==s||0!==o){var l=((e-i)*s+(t-a)*o)/(s*s+o*o);l>1?(i=r[0],a=r[1]):l>0&&(i+=s*l,a+=o*l)}return(s=e-i)*s+(o=t-a)*o}n.default&&(n=n.default),t.exports=r,t.exports.default=r})),rk=Qb(((e,t)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){if(null===e||!0===e||!1===e)return NaN;var t=Number(e);return isNaN(t)?t:t<0?Math.ceil(t):Math.floor(t)},t.exports=e.default})),ik=Qb(((e,t)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e){var t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),e.getTime()-t.getTime()},t.exports=e.default})),ak=Qb((e=>{!function(){var t=function(){this.init()};t.prototype={init:function(){var e=this||n;return e._counter=1e3,e._html5AudioPool=[],e.html5PoolSize=10,e._codecs={},e._howls=[],e._muted=!1,e._volume=1,e._canPlayEvent="canplaythrough",e._navigator=typeof window<"u"&&window.navigator?window.navigator:null,e.masterGain=null,e.noAudio=!1,e.usingWebAudio=!0,e.autoSuspend=!0,e.ctx=null,e.autoUnlock=!0,e._setup(),e},volume:function(e){var t=this||n;if(e=parseFloat(e),t.ctx||d(),typeof e<"u"&&e>=0&&e<=1){if(t._volume=e,t._muted)return t;t.usingWebAudio&&t.masterGain.gain.setValueAtTime(e,n.ctx.currentTime);for(var r=0;r<t._howls.length;r++)if(!t._howls[r]._webAudio)for(var i=t._howls[r]._getSoundIds(),a=0;a<i.length;a++){var s=t._howls[r]._soundById(i[a]);s&&s._node&&(s._node.volume=s._volume*e)}return t}return t._volume},mute:function(e){var t=this||n;t.ctx||d(),t._muted=e,t.usingWebAudio&&t.masterGain.gain.setValueAtTime(e?0:t._volume,n.ctx.currentTime);for(var r=0;r<t._howls.length;r++)if(!t._howls[r]._webAudio)for(var i=t._howls[r]._getSoundIds(),a=0;a<i.length;a++){var s=t._howls[r]._soundById(i[a]);s&&s._node&&(s._node.muted=!!e||s._muted)}return t},stop:function(){for(var e=this||n,t=0;t<e._howls.length;t++)e._howls[t].stop();return e},unload:function(){for(var e=this||n,t=e._howls.length-1;t>=0;t--)e._howls[t].unload();return e.usingWebAudio&&e.ctx&&typeof e.ctx.close<"u"&&(e.ctx.close(),e.ctx=null,d()),e},codecs:function(e){return(this||n)._codecs[e.replace(/^x-/,"")]},_setup:function(){var e=this||n;if(e.state=e.ctx&&e.ctx.state||"suspended",e._autoSuspend(),!e.usingWebAudio)if(typeof Audio<"u")try{typeof(new Audio).oncanplaythrough>"u"&&(e._canPlayEvent="canplay")}catch{e.noAudio=!0}else e.noAudio=!0;try{(new Audio).muted&&(e.noAudio=!0)}catch{}return e.noAudio||e._setupCodecs(),e},_setupCodecs:function(){var e=this||n,t=null;try{t=typeof Audio<"u"?new Audio:null}catch{return e}if(!t||"function"!=typeof t.canPlayType)return e;var r=t.canPlayType("audio/mpeg;").replace(/^no$/,""),i=e._navigator?e._navigator.userAgent:"",a=i.match(/OPR\/([0-6].)/g),s=a&&parseInt(a[0].split("/")[1],10)<33,o=-1!==i.indexOf("Safari")&&-1===i.indexOf("Chrome"),l=i.match(/Version\/(.*?) /),c=o&&l&&parseInt(l[1],10)<15;return e._codecs={mp3:!(s||!r&&!t.canPlayType("audio/mp3;").replace(/^no$/,"")),mpeg:!!r,opus:!!t.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,""),ogg:!!t.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),oga:!!t.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),wav:!!(t.canPlayType('audio/wav; codecs="1"')||t.canPlayType("audio/wav")).replace(/^no$/,""),aac:!!t.canPlayType("audio/aac;").replace(/^no$/,""),caf:!!t.canPlayType("audio/x-caf;").replace(/^no$/,""),m4a:!!(t.canPlayType("audio/x-m4a;")||t.canPlayType("audio/m4a;")||t.canPlayType("audio/aac;")).replace(/^no$/,""),m4b:!!(t.canPlayType("audio/x-m4b;")||t.canPlayType("audio/m4b;")||t.canPlayType("audio/aac;")).replace(/^no$/,""),mp4:!!(t.canPlayType("audio/x-mp4;")||t.canPlayType("audio/mp4;")||t.canPlayType("audio/aac;")).replace(/^no$/,""),weba:!(c||!t.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),webm:!(c||!t.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),dolby:!!t.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/,""),flac:!!(t.canPlayType("audio/x-flac;")||t.canPlayType("audio/flac;")).replace(/^no$/,"")},e},_unlockAudio:function(){var e=this||n;if(!e._audioUnlocked&&e.ctx){e._audioUnlocked=!1,e.autoUnlock=!1,!e._mobileUnloaded&&44100!==e.ctx.sampleRate&&(e._mobileUnloaded=!0,e.unload()),e._scratchBuffer=e.ctx.createBuffer(1,1,22050);var t=function(n){for(;e._html5AudioPool.length<e.html5PoolSize;)try{var r=new Audio;r._unlocked=!0,e._releaseHtml5Audio(r)}catch{e.noAudio=!0;break}for(var i=0;i<e._howls.length;i++)if(!e._howls[i]._webAudio)for(var a=e._howls[i]._getSoundIds(),s=0;s<a.length;s++){var o=e._howls[i]._soundById(a[s]);o&&o._node&&!o._node._unlocked&&(o._node._unlocked=!0,o._node.load())}e._autoResume();var l=e.ctx.createBufferSource();l.buffer=e._scratchBuffer,l.connect(e.ctx.destination),typeof l.start>"u"?l.noteOn(0):l.start(0),"function"==typeof e.ctx.resume&&e.ctx.resume(),l.onended=function(){l.disconnect(0),e._audioUnlocked=!0,document.removeEventListener("touchstart",t,!0),document.removeEventListener("touchend",t,!0),document.removeEventListener("click",t,!0),document.removeEventListener("keydown",t,!0);for(var n=0;n<e._howls.length;n++)e._howls[n]._emit("unlock")}};return document.addEventListener("touchstart",t,!0),document.addEventListener("touchend",t,!0),document.addEventListener("click",t,!0),document.addEventListener("keydown",t,!0),e}},_obtainHtml5Audio:function(){var e=this||n;if(e._html5AudioPool.length)return e._html5AudioPool.pop();var t=(new Audio).play();return t&&typeof Promise<"u"&&(t instanceof Promise||"function"==typeof t.then)&&t.catch((function(){console.warn("HTML5 Audio pool exhausted, returning potentially locked audio object.")})),new Audio},_releaseHtml5Audio:function(e){var t=this||n;return e._unlocked&&t._html5AudioPool.push(e),t},_autoSuspend:function(){var e=this;if(e.autoSuspend&&e.ctx&&!(typeof e.ctx.suspend>"u")&&n.usingWebAudio){for(var t=0;t<e._howls.length;t++)if(e._howls[t]._webAudio)for(var r=0;r<e._howls[t]._sounds.length;r++)if(!e._howls[t]._sounds[r]._paused)return e;return e._suspendTimer&&clearTimeout(e._suspendTimer),e._suspendTimer=setTimeout((function(){if(e.autoSuspend){e._suspendTimer=null,e.state="suspending";var t=function(){e.state="suspended",e._resumeAfterSuspend&&(delete e._resumeAfterSuspend,e._autoResume())};e.ctx.suspend().then(t,t)}}),3e4),e}},_autoResume:function(){var e=this;if(e.ctx&&!(typeof e.ctx.resume>"u")&&n.usingWebAudio)return"running"===e.state&&"interrupted"!==e.ctx.state&&e._suspendTimer?(clearTimeout(e._suspendTimer),e._suspendTimer=null):"suspended"===e.state||"running"===e.state&&"interrupted"===e.ctx.state?(e.ctx.resume().then((function(){e.state="running";for(var t=0;t<e._howls.length;t++)e._howls[t]._emit("resume")})),e._suspendTimer&&(clearTimeout(e._suspendTimer),e._suspendTimer=null)):"suspending"===e.state&&(e._resumeAfterSuspend=!0),e}};var n=new t,r=function(e){e.src&&0!==e.src.length?this.init(e):console.error("An array of source files must be passed with any new Howl.")};r.prototype={init:function(e){var t=this;return n.ctx||d(),t._autoplay=e.autoplay||!1,t._format="string"!=typeof e.format?e.format:[e.format],t._html5=e.html5||!1,t._muted=e.mute||!1,t._loop=e.loop||!1,t._pool=e.pool||5,t._preload="boolean"!=typeof e.preload&&"metadata"!==e.preload||e.preload,t._rate=e.rate||1,t._sprite=e.sprite||{},t._src="string"!=typeof e.src?e.src:[e.src],t._volume=void 0!==e.volume?e.volume:1,t._xhr={method:e.xhr&&e.xhr.method?e.xhr.method:"GET",headers:e.xhr&&e.xhr.headers?e.xhr.headers:null,withCredentials:!(!e.xhr||!e.xhr.withCredentials)&&e.xhr.withCredentials},t._duration=0,t._state="unloaded",t._sounds=[],t._endTimers={},t._queue=[],t._playLock=!1,t._onend=e.onend?[{fn:e.onend}]:[],t._onfade=e.onfade?[{fn:e.onfade}]:[],t._onload=e.onload?[{fn:e.onload}]:[],t._onloaderror=e.onloaderror?[{fn:e.onloaderror}]:[],t._onplayerror=e.onplayerror?[{fn:e.onplayerror}]:[],t._onpause=e.onpause?[{fn:e.onpause}]:[],t._onplay=e.onplay?[{fn:e.onplay}]:[],t._onstop=e.onstop?[{fn:e.onstop}]:[],t._onmute=e.onmute?[{fn:e.onmute}]:[],t._onvolume=e.onvolume?[{fn:e.onvolume}]:[],t._onrate=e.onrate?[{fn:e.onrate}]:[],t._onseek=e.onseek?[{fn:e.onseek}]:[],t._onunlock=e.onunlock?[{fn:e.onunlock}]:[],t._onresume=[],t._webAudio=n.usingWebAudio&&!t._html5,typeof n.ctx<"u"&&n.ctx&&n.autoUnlock&&n._unlockAudio(),n._howls.push(t),t._autoplay&&t._queue.push({event:"play",action:function(){t.play()}}),t._preload&&"none"!==t._preload&&t.load(),t},load:function(){var e=this,t=null;if(n.noAudio)e._emit("loaderror",null,"No audio support.");else{"string"==typeof e._src&&(e._src=[e._src]);for(var r=0;r<e._src.length;r++){var a,o;if(e._format&&e._format[r])a=e._format[r];else{if("string"!=typeof(o=e._src[r])){e._emit("loaderror",null,"Non-string found in selected audio sources - ignoring.");continue}(a=/^data:audio\/([^;,]+);/i.exec(o))||(a=/\.([^.]+)$/.exec(o.split("?",1)[0])),a&&(a=a[1].toLowerCase())}if(a||console.warn('No file extension was found. Consider using the "format" property or specify an extension.'),a&&n.codecs(a)){t=e._src[r];break}}if(t)return e._src=t,e._state="loading","https:"===window.location.protocol&&"http:"===t.slice(0,5)&&(e._html5=!0,e._webAudio=!1),new i(e),e._webAudio&&s(e),e;e._emit("loaderror",null,"No codec support for selected audio sources.")}},play:function(e,t){var r=this,i=null;if("number"==typeof e)i=e,e=null;else{if("string"==typeof e&&"loaded"===r._state&&!r._sprite[e])return null;if(typeof e>"u"&&(e="__default",!r._playLock)){for(var a=0,s=0;s<r._sounds.length;s++)r._sounds[s]._paused&&!r._sounds[s]._ended&&(a++,i=r._sounds[s]._id);1===a?e=null:i=null}}var o=i?r._soundById(i):r._inactiveSound();if(!o)return null;if(i&&!e&&(e=o._sprite||"__default"),"loaded"!==r._state){o._sprite=e,o._ended=!1;var l=o._id;return r._queue.push({event:"play",action:function(){r.play(l)}}),l}if(i&&!o._paused)return t||r._loadQueue("play"),o._id;r._webAudio&&n._autoResume();var c=Math.max(0,o._seek>0?o._seek:r._sprite[e][0]/1e3),d=Math.max(0,(r._sprite[e][0]+r._sprite[e][1])/1e3-c),h=1e3*d/Math.abs(o._rate),u=r._sprite[e][0]/1e3,p=(r._sprite[e][0]+r._sprite[e][1])/1e3;o._sprite=e,o._ended=!1;var f=function(){o._paused=!1,o._seek=c,o._start=u,o._stop=p,o._loop=!(!o._loop&&!r._sprite[e][2])};if(!(c>=p)){var m=o._node;if(r._webAudio){var g=function(){r._playLock=!1,f(),r._refreshBuffer(o);var e=o._muted||r._muted?0:o._volume;m.gain.setValueAtTime(e,n.ctx.currentTime),o._playStart=n.ctx.currentTime,typeof m.bufferSource.start>"u"?o._loop?m.bufferSource.noteGrainOn(0,c,86400):m.bufferSource.noteGrainOn(0,c,d):o._loop?m.bufferSource.start(0,c,86400):m.bufferSource.start(0,c,d),h!==1/0&&(r._endTimers[o._id]=setTimeout(r._ended.bind(r,o),h)),t||setTimeout((function(){r._emit("play",o._id),r._loadQueue()}),0)};"running"===n.state&&"interrupted"!==n.ctx.state?g():(r._playLock=!0,r.once("resume",g),r._clearTimer(o._id))}else{var y=function(){m.currentTime=c,m.muted=o._muted||r._muted||n._muted||m.muted,m.volume=o._volume*n.volume(),m.playbackRate=o._rate;try{var i=m.play();if(i&&typeof Promise<"u"&&(i instanceof Promise||"function"==typeof i.then)?(r._playLock=!0,f(),i.then((function(){r._playLock=!1,m._unlocked=!0,t?r._loadQueue():r._emit("play",o._id)})).catch((function(){r._playLock=!1,r._emit("playerror",o._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction."),o._ended=!0,o._paused=!0}))):t||(r._playLock=!1,f(),r._emit("play",o._id)),m.playbackRate=o._rate,m.paused)return void r._emit("playerror",o._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.");"__default"!==e||o._loop?r._endTimers[o._id]=setTimeout(r._ended.bind(r,o),h):(r._endTimers[o._id]=function(){r._ended(o),m.removeEventListener("ended",r._endTimers[o._id],!1)},m.addEventListener("ended",r._endTimers[o._id],!1))}catch(j){r._emit("playerror",o._id,j)}};"data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"===m.src&&(m.src=r._src,m.load());var v=window&&window.ejecta||!m.readyState&&n._navigator.isCocoonJS;if(m.readyState>=3||v)y();else{r._playLock=!0,r._state="loading";var x=function(){r._state="loaded",y(),m.removeEventListener(n._canPlayEvent,x,!1)};m.addEventListener(n._canPlayEvent,x,!1),r._clearTimer(o._id)}}return o._id}r._ended(o)},pause:function(e){var t=this;if("loaded"!==t._state||t._playLock)return t._queue.push({event:"pause",action:function(){t.pause(e)}}),t;for(var n=t._getSoundIds(e),r=0;r<n.length;r++){t._clearTimer(n[r]);var i=t._soundById(n[r]);if(i&&!i._paused&&(i._seek=t.seek(n[r]),i._rateSeek=0,i._paused=!0,t._stopFade(n[r]),i._node))if(t._webAudio){if(!i._node.bufferSource)continue;typeof i._node.bufferSource.stop>"u"?i._node.bufferSource.noteOff(0):i._node.bufferSource.stop(0),t._cleanBuffer(i._node)}else(!isNaN(i._node.duration)||i._node.duration===1/0)&&i._node.pause();arguments[1]||t._emit("pause",i?i._id:null)}return t},stop:function(e,t){var n=this;if("loaded"!==n._state||n._playLock)return n._queue.push({event:"stop",action:function(){n.stop(e)}}),n;for(var r=n._getSoundIds(e),i=0;i<r.length;i++){n._clearTimer(r[i]);var a=n._soundById(r[i]);a&&(a._seek=a._start||0,a._rateSeek=0,a._paused=!0,a._ended=!0,n._stopFade(r[i]),a._node&&(n._webAudio?a._node.bufferSource&&(typeof a._node.bufferSource.stop>"u"?a._node.bufferSource.noteOff(0):a._node.bufferSource.stop(0),n._cleanBuffer(a._node)):(!isNaN(a._node.duration)||a._node.duration===1/0)&&(a._node.currentTime=a._start||0,a._node.pause(),a._node.duration===1/0&&n._clearSound(a._node))),t||n._emit("stop",a._id))}return n},mute:function(e,t){var r=this;if("loaded"!==r._state||r._playLock)return r._queue.push({event:"mute",action:function(){r.mute(e,t)}}),r;if(typeof t>"u"){if("boolean"!=typeof e)return r._muted;r._muted=e}for(var i=r._getSoundIds(t),a=0;a<i.length;a++){var s=r._soundById(i[a]);s&&(s._muted=e,s._interval&&r._stopFade(s._id),r._webAudio&&s._node?s._node.gain.setValueAtTime(e?0:s._volume,n.ctx.currentTime):s._node&&(s._node.muted=!!n._muted||e),r._emit("mute",s._id))}return r},volume:function(){var e,t,r,i=this,a=arguments;if(0===a.length)return i._volume;1===a.length||2===a.length&&typeof a[1]>"u"?i._getSoundIds().indexOf(a[0])>=0?t=parseInt(a[0],10):e=parseFloat(a[0]):a.length>=2&&(e=parseFloat(a[0]),t=parseInt(a[1],10));if(!(typeof e<"u"&&e>=0&&e<=1))return(r=t?i._soundById(t):i._sounds[0])?r._volume:0;if("loaded"!==i._state||i._playLock)return i._queue.push({event:"volume",action:function(){i.volume.apply(i,a)}}),i;typeof t>"u"&&(i._volume=e),t=i._getSoundIds(t);for(var s=0;s<t.length;s++)(r=i._soundById(t[s]))&&(r._volume=e,a[2]||i._stopFade(t[s]),i._webAudio&&r._node&&!r._muted?r._node.gain.setValueAtTime(e,n.ctx.currentTime):r._node&&!r._muted&&(r._node.volume=e*n.volume()),i._emit("volume",r._id));return i},fade:function(e,t,r,i){var a=this;if("loaded"!==a._state||a._playLock)return a._queue.push({event:"fade",action:function(){a.fade(e,t,r,i)}}),a;e=Math.min(Math.max(0,parseFloat(e)),1),t=Math.min(Math.max(0,parseFloat(t)),1),r=parseFloat(r),a.volume(e,i);for(var s=a._getSoundIds(i),o=0;o<s.length;o++){var l=a._soundById(s[o]);if(l){if(i||a._stopFade(s[o]),a._webAudio&&!l._muted){var c=n.ctx.currentTime,d=c+r/1e3;l._volume=e,l._node.gain.setValueAtTime(e,c),l._node.gain.linearRampToValueAtTime(t,d)}a._startFadeInterval(l,e,t,r,s[o],typeof i>"u")}}return a},_startFadeInterval:function(e,t,n,r,i,a){var s=this,o=t,l=n-t,c=Math.abs(l/.01),d=Math.max(4,c>0?r/c:r),h=Date.now();e._fadeTo=n,e._interval=setInterval((function(){var i=(Date.now()-h)/r;h=Date.now(),o+=l*i,o=Math.round(100*o)/100,o=l<0?Math.max(n,o):Math.min(n,o),s._webAudio?e._volume=o:s.volume(o,e._id,!0),a&&(s._volume=o),(n<t&&o<=n||n>t&&o>=n)&&(clearInterval(e._interval),e._interval=null,e._fadeTo=null,s.volume(n,e._id),s._emit("fade",e._id))}),d)},_stopFade:function(e){var t=this,r=t._soundById(e);return r&&r._interval&&(t._webAudio&&r._node.gain.cancelScheduledValues(n.ctx.currentTime),clearInterval(r._interval),r._interval=null,t.volume(r._fadeTo,e),r._fadeTo=null,t._emit("fade",e)),t},loop:function(){var e,t,n,r=this,i=arguments;if(0===i.length)return r._loop;if(1===i.length){if("boolean"!=typeof i[0])return!!(n=r._soundById(parseInt(i[0],10)))&&n._loop;e=i[0],r._loop=e}else 2===i.length&&(e=i[0],t=parseInt(i[1],10));for(var a=r._getSoundIds(t),s=0;s<a.length;s++)(n=r._soundById(a[s]))&&(n._loop=e,r._webAudio&&n._node&&n._node.bufferSource&&(n._node.bufferSource.loop=e,e&&(n._node.bufferSource.loopStart=n._start||0,n._node.bufferSource.loopEnd=n._stop,r.playing(a[s])&&(r.pause(a[s],!0),r.play(a[s],!0)))));return r},rate:function(){var e,t,r,i=this,a=arguments;if(0===a.length)t=i._sounds[0]._id;else if(1===a.length){i._getSoundIds().indexOf(a[0])>=0?t=parseInt(a[0],10):e=parseFloat(a[0])}else 2===a.length&&(e=parseFloat(a[0]),t=parseInt(a[1],10));if("number"!=typeof e)return(r=i._soundById(t))?r._rate:i._rate;if("loaded"!==i._state||i._playLock)return i._queue.push({event:"rate",action:function(){i.rate.apply(i,a)}}),i;typeof t>"u"&&(i._rate=e),t=i._getSoundIds(t);for(var s=0;s<t.length;s++)if(r=i._soundById(t[s])){i.playing(t[s])&&(r._rateSeek=i.seek(t[s]),r._playStart=i._webAudio?n.ctx.currentTime:r._playStart),r._rate=e,i._webAudio&&r._node&&r._node.bufferSource?r._node.bufferSource.playbackRate.setValueAtTime(e,n.ctx.currentTime):r._node&&(r._node.playbackRate=e);var o=i.seek(t[s]),l=1e3*((i._sprite[r._sprite][0]+i._sprite[r._sprite][1])/1e3-o)/Math.abs(r._rate);(i._endTimers[t[s]]||!r._paused)&&(i._clearTimer(t[s]),i._endTimers[t[s]]=setTimeout(i._ended.bind(i,r),l)),i._emit("rate",r._id)}return i},seek:function(){var e,t,r=this,i=arguments;if(0===i.length)r._sounds.length&&(t=r._sounds[0]._id);else if(1===i.length){r._getSoundIds().indexOf(i[0])>=0?t=parseInt(i[0],10):r._sounds.length&&(t=r._sounds[0]._id,e=parseFloat(i[0]))}else 2===i.length&&(e=parseFloat(i[0]),t=parseInt(i[1],10));if(typeof t>"u")return 0;if("number"==typeof e&&("loaded"!==r._state||r._playLock))return r._queue.push({event:"seek",action:function(){r.seek.apply(r,i)}}),r;var a=r._soundById(t);if(a){if(!("number"==typeof e&&e>=0)){if(r._webAudio){var s=r.playing(t)?n.ctx.currentTime-a._playStart:0,o=a._rateSeek?a._rateSeek-a._seek:0;return a._seek+(o+s*Math.abs(a._rate))}return a._node.currentTime}var l=r.playing(t);l&&r.pause(t,!0),a._seek=e,a._ended=!1,r._clearTimer(t),!r._webAudio&&a._node&&!isNaN(a._node.duration)&&(a._node.currentTime=e);var c=function(){l&&r.play(t,!0),r._emit("seek",t)};if(l&&!r._webAudio){var d=function(){r._playLock?setTimeout(d,0):c()};setTimeout(d,0)}else c()}return r},playing:function(e){var t=this;if("number"==typeof e){var n=t._soundById(e);return!!n&&!n._paused}for(var r=0;r<t._sounds.length;r++)if(!t._sounds[r]._paused)return!0;return!1},duration:function(e){var t=this,n=t._duration,r=t._soundById(e);return r&&(n=t._sprite[r._sprite][1]/1e3),n},state:function(){return this._state},unload:function(){for(var e=this,t=e._sounds,r=0;r<t.length;r++)t[r]._paused||e.stop(t[r]._id),e._webAudio||(e._clearSound(t[r]._node),t[r]._node.removeEventListener("error",t[r]._errorFn,!1),t[r]._node.removeEventListener(n._canPlayEvent,t[r]._loadFn,!1),t[r]._node.removeEventListener("ended",t[r]._endFn,!1),n._releaseHtml5Audio(t[r]._node)),delete t[r]._node,e._clearTimer(t[r]._id);var i=n._howls.indexOf(e);i>=0&&n._howls.splice(i,1);var s=!0;for(r=0;r<n._howls.length;r++)if(n._howls[r]._src===e._src||e._src.indexOf(n._howls[r]._src)>=0){s=!1;break}return a&&s&&delete a[e._src],n.noAudio=!1,e._state="unloaded",e._sounds=[],e=null,null},on:function(e,t,n,r){var i=this["_on"+e];return"function"==typeof t&&i.push(r?{id:n,fn:t,once:r}:{id:n,fn:t}),this},off:function(e,t,n){var r=this,i=r["_on"+e],a=0;if("number"==typeof t&&(n=t,t=null),t||n)for(a=0;a<i.length;a++){var s=n===i[a].id;if(t===i[a].fn&&s||!t&&s){i.splice(a,1);break}}else if(e)r["_on"+e]=[];else{var o=Object.keys(r);for(a=0;a<o.length;a++)0===o[a].indexOf("_on")&&Array.isArray(r[o[a]])&&(r[o[a]]=[])}return r},once:function(e,t,n){return this.on(e,t,n,1),this},_emit:function(e,t,n){for(var r=this,i=r["_on"+e],a=i.length-1;a>=0;a--)(!i[a].id||i[a].id===t||"load"===e)&&(setTimeout(function(e){e.call(this,t,n)}.bind(r,i[a].fn),0),i[a].once&&r.off(e,i[a].fn,i[a].id));return r._loadQueue(e),r},_loadQueue:function(e){var t=this;if(t._queue.length>0){var n=t._queue[0];n.event===e&&(t._queue.shift(),t._loadQueue()),e||n.action()}return t},_ended:function(e){var t=this,r=e._sprite;if(!t._webAudio&&e._node&&!e._node.paused&&!e._node.ended&&e._node.currentTime<e._stop)return setTimeout(t._ended.bind(t,e),100),t;var i=!(!e._loop&&!t._sprite[r][2]);if(t._emit("end",e._id),!t._webAudio&&i&&t.stop(e._id,!0).play(e._id),t._webAudio&&i){t._emit("play",e._id),e._seek=e._start||0,e._rateSeek=0,e._playStart=n.ctx.currentTime;var a=1e3*(e._stop-e._start)/Math.abs(e._rate);t._endTimers[e._id]=setTimeout(t._ended.bind(t,e),a)}return t._webAudio&&!i&&(e._paused=!0,e._ended=!0,e._seek=e._start||0,e._rateSeek=0,t._clearTimer(e._id),t._cleanBuffer(e._node),n._autoSuspend()),!t._webAudio&&!i&&t.stop(e._id,!0),t},_clearTimer:function(e){var t=this;if(t._endTimers[e]){if("function"!=typeof t._endTimers[e])clearTimeout(t._endTimers[e]);else{var n=t._soundById(e);n&&n._node&&n._node.removeEventListener("ended",t._endTimers[e],!1)}delete t._endTimers[e]}return t},_soundById:function(e){for(var t=this,n=0;n<t._sounds.length;n++)if(e===t._sounds[n]._id)return t._sounds[n];return null},_inactiveSound:function(){var e=this;e._drain();for(var t=0;t<e._sounds.length;t++)if(e._sounds[t]._ended)return e._sounds[t].reset();return new i(e)},_drain:function(){var e=this,t=e._pool,n=0,r=0;if(!(e._sounds.length<t)){for(r=0;r<e._sounds.length;r++)e._sounds[r]._ended&&n++;for(r=e._sounds.length-1;r>=0;r--){if(n<=t)return;e._sounds[r]._ended&&(e._webAudio&&e._sounds[r]._node&&e._sounds[r]._node.disconnect(0),e._sounds.splice(r,1),n--)}}},_getSoundIds:function(e){if(typeof e>"u"){for(var t=[],n=0;n<this._sounds.length;n++)t.push(this._sounds[n]._id);return t}return[e]},_refreshBuffer:function(e){return e._node.bufferSource=n.ctx.createBufferSource(),e._node.bufferSource.buffer=a[this._src],e._panner?e._node.bufferSource.connect(e._panner):e._node.bufferSource.connect(e._node),e._node.bufferSource.loop=e._loop,e._loop&&(e._node.bufferSource.loopStart=e._start||0,e._node.bufferSource.loopEnd=e._stop||0),e._node.bufferSource.playbackRate.setValueAtTime(e._rate,n.ctx.currentTime),this},_cleanBuffer:function(e){var t=n._navigator&&n._navigator.vendor.indexOf("Apple")>=0;if(n._scratchBuffer&&e.bufferSource&&(e.bufferSource.onended=null,e.bufferSource.disconnect(0),t))try{e.bufferSource.buffer=n._scratchBuffer}catch{}return e.bufferSource=null,this},_clearSound:function(e){/MSIE |Trident\//.test(n._navigator&&n._navigator.userAgent)||(e.src="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA")}};var i=function(e){this._parent=e,this.init()};i.prototype={init:function(){var e=this,t=e._parent;return e._muted=t._muted,e._loop=t._loop,e._volume=t._volume,e._rate=t._rate,e._seek=0,e._paused=!0,e._ended=!0,e._sprite="__default",e._id=++n._counter,t._sounds.push(e),e.create(),e},create:function(){var e=this,t=e._parent,r=n._muted||e._muted||e._parent._muted?0:e._volume;return t._webAudio?(e._node=typeof n.ctx.createGain>"u"?n.ctx.createGainNode():n.ctx.createGain(),e._node.gain.setValueAtTime(r,n.ctx.currentTime),e._node.paused=!0,e._node.connect(n.masterGain)):n.noAudio||(e._node=n._obtainHtml5Audio(),e._errorFn=e._errorListener.bind(e),e._node.addEventListener("error",e._errorFn,!1),e._loadFn=e._loadListener.bind(e),e._node.addEventListener(n._canPlayEvent,e._loadFn,!1),e._endFn=e._endListener.bind(e),e._node.addEventListener("ended",e._endFn,!1),e._node.src=t._src,e._node.preload=!0===t._preload?"auto":t._preload,e._node.volume=r*n.volume(),e._node.load()),e},reset:function(){var e=this,t=e._parent;return e._muted=t._muted,e._loop=t._loop,e._volume=t._volume,e._rate=t._rate,e._seek=0,e._rateSeek=0,e._paused=!0,e._ended=!0,e._sprite="__default",e._id=++n._counter,e},_errorListener:function(){var e=this;e._parent._emit("loaderror",e._id,e._node.error?e._node.error.code:0),e._node.removeEventListener("error",e._errorFn,!1)},_loadListener:function(){var e=this,t=e._parent;t._duration=Math.ceil(10*e._node.duration)/10,0===Object.keys(t._sprite).length&&(t._sprite={__default:[0,1e3*t._duration]}),"loaded"!==t._state&&(t._state="loaded",t._emit("load"),t._loadQueue()),e._node.removeEventListener(n._canPlayEvent,e._loadFn,!1)},_endListener:function(){var e=this,t=e._parent;t._duration===1/0&&(t._duration=Math.ceil(10*e._node.duration)/10,t._sprite.__default[1]===1/0&&(t._sprite.__default[1]=1e3*t._duration),t._ended(e)),e._node.removeEventListener("ended",e._endFn,!1)}};var a={},s=function(e){var t=e._src;if(a[t])return e._duration=a[t].duration,void c(e);if(/^data:[^;]+;base64,/.test(t)){for(var n=atob(t.split(",")[1]),r=new Uint8Array(n.length),i=0;i<n.length;++i)r[i]=n.charCodeAt(i);l(r.buffer,e)}else{var s=new XMLHttpRequest;s.open(e._xhr.method,t,!0),s.withCredentials=e._xhr.withCredentials,s.responseType="arraybuffer",e._xhr.headers&&Object.keys(e._xhr.headers).forEach((function(t){s.setRequestHeader(t,e._xhr.headers[t])})),s.onload=function(){var t=(s.status+"")[0];"0"===t||"2"===t||"3"===t?l(s.response,e):e._emit("loaderror",null,"Failed loading audio file with status: "+s.status+".")},s.onerror=function(){e._webAudio&&(e._html5=!0,e._webAudio=!1,e._sounds=[],delete a[t],e.load())},o(s)}},o=function(e){try{e.send()}catch{e.onerror()}},l=function(e,t){var r=function(){t._emit("loaderror",null,"Decoding audio data failed.")},i=function(e){e&&t._sounds.length>0?(a[t._src]=e,c(t,e)):r()};typeof Promise<"u"&&1===n.ctx.decodeAudioData.length?n.ctx.decodeAudioData(e).then(i).catch(r):n.ctx.decodeAudioData(e,i,r)},c=function(e,t){t&&!e._duration&&(e._duration=t.duration),0===Object.keys(e._sprite).length&&(e._sprite={__default:[0,1e3*e._duration]}),"loaded"!==e._state&&(e._state="loaded",e._emit("load"),e._loadQueue())},d=function(){if(n.usingWebAudio){try{typeof AudioContext<"u"?n.ctx=new AudioContext:typeof webkitAudioContext<"u"?n.ctx=new webkitAudioContext:n.usingWebAudio=!1}catch{n.usingWebAudio=!1}n.ctx||(n.usingWebAudio=!1);var e=/iP(hone|od|ad)/.test(n._navigator&&n._navigator.platform),t=n._navigator&&n._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),r=t?parseInt(t[1],10):null;if(e&&r&&r<9){var i=/safari/.test(n._navigator&&n._navigator.userAgent.toLowerCase());n._navigator&&!i&&(n.usingWebAudio=!1)}n.usingWebAudio&&(n.masterGain=typeof n.ctx.createGain>"u"?n.ctx.createGainNode():n.ctx.createGain(),n.masterGain.gain.setValueAtTime(n._muted?0:n._volume,n.ctx.currentTime),n.masterGain.connect(n.ctx.destination)),n._setup()}};"function"==typeof define&&define.amd&&define([],(function(){return{Howler:n,Howl:r}})),typeof e<"u"&&(e.Howler=n,e.Howl=r),typeof global<"u"?(global.HowlerGlobal=t,global.Howler=n,global.Howl=r,global.Sound=i):typeof window<"u"&&(window.HowlerGlobal=t,window.Howler=n,window.Howl=r,window.Sound=i)}(),function(){HowlerGlobal.prototype._pos=[0,0,0],HowlerGlobal.prototype._orientation=[0,0,-1,0,1,0],HowlerGlobal.prototype.stereo=function(e){var t=this;if(!t.ctx||!t.ctx.listener)return t;for(var n=t._howls.length-1;n>=0;n--)t._howls[n].stereo(e);return t},HowlerGlobal.prototype.pos=function(e,t,n){var r=this;return r.ctx&&r.ctx.listener?(t="number"!=typeof t?r._pos[1]:t,n="number"!=typeof n?r._pos[2]:n,"number"!=typeof e?r._pos:(r._pos=[e,t,n],typeof r.ctx.listener.positionX<"u"?(r.ctx.listener.positionX.setTargetAtTime(r._pos[0],Howler.ctx.currentTime,.1),r.ctx.listener.positionY.setTargetAtTime(r._pos[1],Howler.ctx.currentTime,.1),r.ctx.listener.positionZ.setTargetAtTime(r._pos[2],Howler.ctx.currentTime,.1)):r.ctx.listener.setPosition(r._pos[0],r._pos[1],r._pos[2]),r)):r},HowlerGlobal.prototype.orientation=function(e,t,n,r,i,a){var s=this;if(!s.ctx||!s.ctx.listener)return s;var o=s._orientation;return t="number"!=typeof t?o[1]:t,n="number"!=typeof n?o[2]:n,r="number"!=typeof r?o[3]:r,i="number"!=typeof i?o[4]:i,a="number"!=typeof a?o[5]:a,"number"!=typeof e?o:(s._orientation=[e,t,n,r,i,a],typeof s.ctx.listener.forwardX<"u"?(s.ctx.listener.forwardX.setTargetAtTime(e,Howler.ctx.currentTime,.1),s.ctx.listener.forwardY.setTargetAtTime(t,Howler.ctx.currentTime,.1),s.ctx.listener.forwardZ.setTargetAtTime(n,Howler.ctx.currentTime,.1),s.ctx.listener.upX.setTargetAtTime(r,Howler.ctx.currentTime,.1),s.ctx.listener.upY.setTargetAtTime(i,Howler.ctx.currentTime,.1),s.ctx.listener.upZ.setTargetAtTime(a,Howler.ctx.currentTime,.1)):s.ctx.listener.setOrientation(e,t,n,r,i,a),s)},Howl.prototype.init=function(e){return function(t){var n=this;return n._orientation=t.orientation||[1,0,0],n._stereo=t.stereo||null,n._pos=t.pos||null,n._pannerAttr={coneInnerAngle:typeof t.coneInnerAngle<"u"?t.coneInnerAngle:360,coneOuterAngle:typeof t.coneOuterAngle<"u"?t.coneOuterAngle:360,coneOuterGain:typeof t.coneOuterGain<"u"?t.coneOuterGain:0,distanceModel:typeof t.distanceModel<"u"?t.distanceModel:"inverse",maxDistance:typeof t.maxDistance<"u"?t.maxDistance:1e4,panningModel:typeof t.panningModel<"u"?t.panningModel:"HRTF",refDistance:typeof t.refDistance<"u"?t.refDistance:1,rolloffFactor:typeof t.rolloffFactor<"u"?t.rolloffFactor:1},n._onstereo=t.onstereo?[{fn:t.onstereo}]:[],n._onpos=t.onpos?[{fn:t.onpos}]:[],n._onorientation=t.onorientation?[{fn:t.onorientation}]:[],e.call(this,t)}}(Howl.prototype.init),Howl.prototype.stereo=function(t,n){var r=this;if(!r._webAudio)return r;if("loaded"!==r._state)return r._queue.push({event:"stereo",action:function(){r.stereo(t,n)}}),r;var i=typeof Howler.ctx.createStereoPanner>"u"?"spatial":"stereo";if(typeof n>"u"){if("number"!=typeof t)return r._stereo;r._stereo=t,r._pos=[t,0,0]}for(var a=r._getSoundIds(n),s=0;s<a.length;s++){var o=r._soundById(a[s]);if(o){if("number"!=typeof t)return o._stereo;o._stereo=t,o._pos=[t,0,0],o._node&&(o._pannerAttr.panningModel="equalpower",(!o._panner||!o._panner.pan)&&e(o,i),"spatial"===i?typeof o._panner.positionX<"u"?(o._panner.positionX.setValueAtTime(t,Howler.ctx.currentTime),o._panner.positionY.setValueAtTime(0,Howler.ctx.currentTime),o._panner.positionZ.setValueAtTime(0,Howler.ctx.currentTime)):o._panner.setPosition(t,0,0):o._panner.pan.setValueAtTime(t,Howler.ctx.currentTime)),r._emit("stereo",o._id)}}return r},Howl.prototype.pos=function(t,n,r,i){var a=this;if(!a._webAudio)return a;if("loaded"!==a._state)return a._queue.push({event:"pos",action:function(){a.pos(t,n,r,i)}}),a;if(n="number"!=typeof n?0:n,r="number"!=typeof r?-.5:r,typeof i>"u"){if("number"!=typeof t)return a._pos;a._pos=[t,n,r]}for(var s=a._getSoundIds(i),o=0;o<s.length;o++){var l=a._soundById(s[o]);if(l){if("number"!=typeof t)return l._pos;l._pos=[t,n,r],l._node&&((!l._panner||l._panner.pan)&&e(l,"spatial"),typeof l._panner.positionX<"u"?(l._panner.positionX.setValueAtTime(t,Howler.ctx.currentTime),l._panner.positionY.setValueAtTime(n,Howler.ctx.currentTime),l._panner.positionZ.setValueAtTime(r,Howler.ctx.currentTime)):l._panner.setPosition(t,n,r)),a._emit("pos",l._id)}}return a},Howl.prototype.orientation=function(t,n,r,i){var a=this;if(!a._webAudio)return a;if("loaded"!==a._state)return a._queue.push({event:"orientation",action:function(){a.orientation(t,n,r,i)}}),a;if(n="number"!=typeof n?a._orientation[1]:n,r="number"!=typeof r?a._orientation[2]:r,typeof i>"u"){if("number"!=typeof t)return a._orientation;a._orientation=[t,n,r]}for(var s=a._getSoundIds(i),o=0;o<s.length;o++){var l=a._soundById(s[o]);if(l){if("number"!=typeof t)return l._orientation;l._orientation=[t,n,r],l._node&&(l._panner||(l._pos||(l._pos=a._pos||[0,0,-.5]),e(l,"spatial")),typeof l._panner.orientationX<"u"?(l._panner.orientationX.setValueAtTime(t,Howler.ctx.currentTime),l._panner.orientationY.setValueAtTime(n,Howler.ctx.currentTime),l._panner.orientationZ.setValueAtTime(r,Howler.ctx.currentTime)):l._panner.setOrientation(t,n,r)),a._emit("orientation",l._id)}}return a},Howl.prototype.pannerAttr=function(){var t,n,r,i=this,a=arguments;if(!i._webAudio)return i;if(0===a.length)return i._pannerAttr;if(1===a.length){if("object"!=typeof a[0])return(r=i._soundById(parseInt(a[0],10)))?r._pannerAttr:i._pannerAttr;t=a[0],typeof n>"u"&&(t.pannerAttr||(t.pannerAttr={coneInnerAngle:t.coneInnerAngle,coneOuterAngle:t.coneOuterAngle,coneOuterGain:t.coneOuterGain,distanceModel:t.distanceModel,maxDistance:t.maxDistance,refDistance:t.refDistance,rolloffFactor:t.rolloffFactor,panningModel:t.panningModel}),i._pannerAttr={coneInnerAngle:typeof t.pannerAttr.coneInnerAngle<"u"?t.pannerAttr.coneInnerAngle:i._coneInnerAngle,coneOuterAngle:typeof t.pannerAttr.coneOuterAngle<"u"?t.pannerAttr.coneOuterAngle:i._coneOuterAngle,coneOuterGain:typeof t.pannerAttr.coneOuterGain<"u"?t.pannerAttr.coneOuterGain:i._coneOuterGain,distanceModel:typeof t.pannerAttr.distanceModel<"u"?t.pannerAttr.distanceModel:i._distanceModel,maxDistance:typeof t.pannerAttr.maxDistance<"u"?t.pannerAttr.maxDistance:i._maxDistance,refDistance:typeof t.pannerAttr.refDistance<"u"?t.pannerAttr.refDistance:i._refDistance,rolloffFactor:typeof t.pannerAttr.rolloffFactor<"u"?t.pannerAttr.rolloffFactor:i._rolloffFactor,panningModel:typeof t.pannerAttr.panningModel<"u"?t.pannerAttr.panningModel:i._panningModel})}else 2===a.length&&(t=a[0],n=parseInt(a[1],10));for(var s=i._getSoundIds(n),o=0;o<s.length;o++)if(r=i._soundById(s[o])){var l=r._pannerAttr;l={coneInnerAngle:typeof t.coneInnerAngle<"u"?t.coneInnerAngle:l.coneInnerAngle,coneOuterAngle:typeof t.coneOuterAngle<"u"?t.coneOuterAngle:l.coneOuterAngle,coneOuterGain:typeof t.coneOuterGain<"u"?t.coneOuterGain:l.coneOuterGain,distanceModel:typeof t.distanceModel<"u"?t.distanceModel:l.distanceModel,maxDistance:typeof t.maxDistance<"u"?t.maxDistance:l.maxDistance,refDistance:typeof t.refDistance<"u"?t.refDistance:l.refDistance,rolloffFactor:typeof t.rolloffFactor<"u"?t.rolloffFactor:l.rolloffFactor,panningModel:typeof t.panningModel<"u"?t.panningModel:l.panningModel};var c=r._panner;c?(c.coneInnerAngle=l.coneInnerAngle,c.coneOuterAngle=l.coneOuterAngle,c.coneOuterGain=l.coneOuterGain,c.distanceModel=l.distanceModel,c.maxDistance=l.maxDistance,c.refDistance=l.refDistance,c.rolloffFactor=l.rolloffFactor,c.panningModel=l.panningModel):(r._pos||(r._pos=i._pos||[0,0,-.5]),e(r,"spatial"))}return i},Sound.prototype.init=function(e){return function(){var t=this,n=t._parent;t._orientation=n._orientation,t._stereo=n._stereo,t._pos=n._pos,t._pannerAttr=n._pannerAttr,e.call(this),t._stereo?n.stereo(t._stereo):t._pos&&n.pos(t._pos[0],t._pos[1],t._pos[2],t._id)}}(Sound.prototype.init),Sound.prototype.reset=function(e){return function(){var t=this,n=t._parent;return t._orientation=n._orientation,t._stereo=n._stereo,t._pos=n._pos,t._pannerAttr=n._pannerAttr,t._stereo?n.stereo(t._stereo):t._pos?n.pos(t._pos[0],t._pos[1],t._pos[2],t._id):t._panner&&(t._panner.disconnect(0),t._panner=void 0,n._refreshBuffer(t)),e.call(this)}}(Sound.prototype.reset);var e=function(e,t){"spatial"===(t=t||"spatial")?(e._panner=Howler.ctx.createPanner(),e._panner.coneInnerAngle=e._pannerAttr.coneInnerAngle,e._panner.coneOuterAngle=e._pannerAttr.coneOuterAngle,e._panner.coneOuterGain=e._pannerAttr.coneOuterGain,e._panner.distanceModel=e._pannerAttr.distanceModel,e._panner.maxDistance=e._pannerAttr.maxDistance,e._panner.refDistance=e._pannerAttr.refDistance,e._panner.rolloffFactor=e._pannerAttr.rolloffFactor,e._panner.panningModel=e._pannerAttr.panningModel,typeof e._panner.positionX<"u"?(e._panner.positionX.setValueAtTime(e._pos[0],Howler.ctx.currentTime),e._panner.positionY.setValueAtTime(e._pos[1],Howler.ctx.currentTime),e._panner.positionZ.setValueAtTime(e._pos[2],Howler.ctx.currentTime)):e._panner.setPosition(e._pos[0],e._pos[1],e._pos[2]),typeof e._panner.orientationX<"u"?(e._panner.orientationX.setValueAtTime(e._orientation[0],Howler.ctx.currentTime),e._panner.orientationY.setValueAtTime(e._orientation[1],Howler.ctx.currentTime),e._panner.orientationZ.setValueAtTime(e._orientation[2],Howler.ctx.currentTime)):e._panner.setOrientation(e._orientation[0],e._orientation[1],e._orientation[2])):(e._panner=Howler.ctx.createStereoPanner(),e._panner.pan.setValueAtTime(e._stereo,Howler.ctx.currentTime)),e._panner.connect(e._node),e._paused||e._parent.pause(e._id,!0).play(e._id,!0)}}()})),sk=Qb(((e,t)=>{function n(e,t,r,i){this.message=e,this.expected=t,this.found=r,this.location=i,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,n)}!function(e,t){function n(){this.constructor=e}n.prototype=t.prototype,e.prototype=new n}(n,Error),n.buildMessage=function(e,t){var n={literal:function(e){return'"'+i(e.text)+'"'},class:function(e){var t,n="";for(t=0;t<e.parts.length;t++)n+=e.parts[t]instanceof Array?a(e.parts[t][0])+"-"+a(e.parts[t][1]):a(e.parts[t]);return"["+(e.inverted?"^":"")+n+"]"},any:function(e){return"any character"},end:function(e){return"end of input"},other:function(e){return e.description}};function r(e){return e.charCodeAt(0).toString(16).toUpperCase()}function i(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(e){return"\\x0"+r(e)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(e){return"\\x"+r(e)}))}function a(e){return e.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(e){return"\\x0"+r(e)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(e){return"\\x"+r(e)}))}function s(e){return n[e.type](e)}return"Expected "+function(e){var t,n,r=new Array(e.length);for(t=0;t<e.length;t++)r[t]=s(e[t]);if(r.sort(),r.length>0){for(t=1,n=1;t<r.length;t++)r[t-1]!==r[t]&&(r[n]=r[t],n++);r.length=n}switch(r.length){case 1:return r[0];case 2:return r[0]+" or "+r[1];default:return r.slice(0,-1).join(", ")+", or "+r[r.length-1]}}(e)+" but "+function(e){return e?'"'+i(e)+'"':"end of input"}(t)+" found."},t.exports={SyntaxError:n,parse:function(e,t){t=void 0!==t?t:{};var r,i={},a={svg_path:ge},s=ge,o=function(e){if(!e)return[];for(var t=[],n=0;n<e.length;n++)t=t.concat.apply(t,e[n]);var r=t[0];return r&&"m"==r.code&&(delete r.relative,r.code="M"),t},l=function(e,t){return function(e,t){if(!t)return[e];for(var n=[e],r=0,i=t.length;r<i;r++)n[r+1]=t[r][1];return n}(e,t)},c=/^[Mm]/,d=he(["M","m"],!1,!1),h=function(e,t,n){var r=qe(e,[t]);return n&&(r=r.concat(qe("M"==e?"L":"l",n[1]))),r},u=/^[Zz]/,p=he(["Z","z"],!1,!1),f=function(){return qe("Z")},m=/^[Ll]/,g=he(["L","l"],!1,!1),y=function(e,t){return qe(e,t)},v=/^[Hh]/,x=he(["H","h"],!1,!1),S=function(e,t){return qe(e,t.map((function(e){return{x:e}})))},A=/^[Vv]/,b=he(["V","v"],!1,!1),k=function(e,t){return qe(e,t.map((function(e){return{y:e}})))},w=/^[Cc]/,j=he(["C","c"],!1,!1),M=function(e,t,n){return{x1:e.x,y1:e.y,x2:t.x,y2:t.y,x:n.x,y:n.y}},P=/^[Ss]/,O=he(["S","s"],!1,!1),T=function(e,t){return{x2:e.x,y2:e.y,x:t.x,y:t.y}},I=/^[Qq]/,C=he(["Q","q"],!1,!1),E=function(e,t){return{x1:e.x,y1:e.y,x:t.x,y:t.y}},V=/^[Tt]/,R=he(["T","t"],!1,!1),D=/^[Aa]/,B=he(["A","a"],!1,!1),G=function(e,t,n,r,i,a){return{rx:e,ry:t,xAxisRotation:n,largeArc:r,sweep:i,x:a.x,y:a.y}},q=function(e,t){return{x:e,y:t}},H=function(e){return 1*e},W=function(e){return 1*e.join("")},z=/^[01]/,J=he(["0","1"],!1,!1),U=function(e){return"1"==e},N=function(){return""},L=",",Y=de(",",!1),F=function(e){return e.join("")},Z=".",K=de(".",!1),Q=/^[eE]/,X=he(["e","E"],!1,!1),_=/^[+\-]/,$=he(["+","-"],!1,!1),ee=/^[0-9]/,te=he([["0","9"]],!1,!1),ne=function(e){return e.join("")},re=/^[ \t\n\r]/,ie=he([" ","\t","\n","\r"],!1,!1),ae=0,se=[{line:1,column:1}],oe=0,le=[],ce=0;if("startRule"in t){if(!(t.startRule in a))throw new Error("Can't start parsing from rule \""+t.startRule+'".');s=a[t.startRule]}function de(e,t){return{type:"literal",text:e,ignoreCase:t}}function he(e,t,n){return{type:"class",parts:e,inverted:t,ignoreCase:n}}function ue(t){var n,r=se[t];if(r)return r;for(n=t-1;!se[n];)n--;for(r={line:(r=se[n]).line,column:r.column};n<t;)10===e.charCodeAt(n)?(r.line++,r.column=1):r.column++,n++;return se[t]=r,r}function pe(e,t){var n=ue(e),r=ue(t);return{start:{offset:e,line:n.line,column:n.column},end:{offset:t,line:r.line,column:r.column}}}function fe(e){ae<oe||(ae>oe&&(oe=ae,le=[]),le.push(e))}function me(e,t,r){return new n(n.buildMessage(e,t),e,t,r)}function ge(){var e,t,n,r,a;for(e=ae,t=[],n=De();n!==i;)t.push(n),n=De();if(t!==i)if(n=function(){var e,t,n,r,a,s;if(e=ae,t=ye(),t!==i){for(n=[],r=ae,a=[],s=De();s!==i;)a.push(s),s=De();for(a!==i?(s=ye())!==i?r=a=[a,s]:(ae=r,r=i):(ae=r,r=i);r!==i;){for(n.push(r),r=ae,a=[],s=De();s!==i;)a.push(s),s=De();a!==i?(s=ye())!==i?r=a=[a,s]:(ae=r,r=i):(ae=r,r=i)}n!==i?(e,e=t=l(t,n)):(ae=e,e=i)}else ae=e,e=i;return e}(),n===i&&(n=null),n!==i){for(r=[],a=De();a!==i;)r.push(a),a=De();r!==i?(e,e=t=o(n)):(ae=e,e=i)}else ae=e,e=i;else ae=e,e=i;return e}function ye(){var t,n,r,a,s,o;if(t=ae,n=function(){var t,n,r,a,s,o,l;if(t=ae,c.test(e.charAt(ae))?(n=e.charAt(ae),ae++):(n=i,0===ce&&fe(d)),n!==i){for(r=[],a=De();a!==i;)r.push(a),a=De();r!==i?(a=je())!==i?(s=ae,(o=Te())===i&&(o=null),o!==i?(l=xe())!==i?s=o=[o,l]:(ae=s,s=i):(ae=s,s=i),s===i&&(s=null),s!==i?(t,t=n=h(n,a,s)):(ae=t,t=i)):(ae=t,t=i):(ae=t,t=i)}else ae=t,t=i;return t}(),n!==i){for(r=[],a=ae,s=[],o=De();o!==i;)s.push(o),o=De();for(s!==i?(o=ve())!==i?a=s=[s,o]:(ae=a,a=i):(ae=a,a=i);a!==i;){for(r.push(a),a=ae,s=[],o=De();o!==i;)s.push(o),o=De();s!==i?(o=ve())!==i?a=s=[s,o]:(ae=a,a=i):(ae=a,a=i)}r!==i?(t,t=n=l(n,r)):(ae=t,t=i)}else ae=t,t=i;return t}function ve(){var t;return t=function(){var t,n;return t=ae,u.test(e.charAt(ae))?(n=e.charAt(ae),ae++):(n=i,0===ce&&fe(p)),n!==i&&(t,n=f()),t=n,t}(),t===i&&(t=function(){var t,n,r,a;if(t=ae,m.test(e.charAt(ae))?(n=e.charAt(ae),ae++):(n=i,0===ce&&fe(g)),n!==i){for(r=[],a=De();a!==i;)r.push(a),a=De();r!==i?(a=xe())!==i?(t,t=n=y(n,a)):(ae=t,t=i):(ae=t,t=i)}else ae=t,t=i;return t}(),t===i&&(t=function(){var t,n,r,a;if(t=ae,v.test(e.charAt(ae))?(n=e.charAt(ae),ae++):(n=i,0===ce&&fe(x)),n!==i){for(r=[],a=De();a!==i;)r.push(a),a=De();r!==i?(a=Se())!==i?(t,t=n=S(n,a)):(ae=t,t=i):(ae=t,t=i)}else ae=t,t=i;return t}(),t===i&&(t=function(){var t,n,r,a;if(t=ae,A.test(e.charAt(ae))?(n=e.charAt(ae),ae++):(n=i,0===ce&&fe(b)),n!==i){for(r=[],a=De();a!==i;)r.push(a),a=De();r!==i?(a=Se())!==i?(t,t=n=k(n,a)):(ae=t,t=i):(ae=t,t=i)}else ae=t,t=i;return t}(),t===i&&(t=function(){var t,n,r,a;if(t=ae,w.test(e.charAt(ae))?(n=e.charAt(ae),ae++):(n=i,0===ce&&fe(j)),n!==i){for(r=[],a=De();a!==i;)r.push(a),a=De();r!==i?(a=function(){var e,t,n,r,a,s;if(e=ae,t=Ae(),t!==i){for(n=[],r=ae,(a=Te())===i&&(a=null),a!==i?(s=Ae())!==i?r=a=[a,s]:(ae=r,r=i):(ae=r,r=i);r!==i;)n.push(r),r=ae,(a=Te())===i&&(a=null),a!==i?(s=Ae())!==i?r=a=[a,s]:(ae=r,r=i):(ae=r,r=i);n!==i?(e,e=t=l(t,n)):(ae=e,e=i)}else ae=e,e=i;return e}(),a!==i?(t,t=n=y(n,a)):(ae=t,t=i)):(ae=t,t=i)}else ae=t,t=i;return t}(),t===i&&(t=function(){var t,n,r,a;if(t=ae,P.test(e.charAt(ae))?(n=e.charAt(ae),ae++):(n=i,0===ce&&fe(O)),n!==i){for(r=[],a=De();a!==i;)r.push(a),a=De();r!==i?(a=function(){var e,t,n,r,a,s;if(e=ae,t=be(),t!==i){for(n=[],r=ae,(a=Te())===i&&(a=null),a!==i?(s=be())!==i?r=a=[a,s]:(ae=r,r=i):(ae=r,r=i);r!==i;)n.push(r),r=ae,(a=Te())===i&&(a=null),a!==i?(s=be())!==i?r=a=[a,s]:(ae=r,r=i):(ae=r,r=i);n!==i?(e,e=t=l(t,n)):(ae=e,e=i)}else ae=e,e=i;return e}(),a!==i?(t,t=n=y(n,a)):(ae=t,t=i)):(ae=t,t=i)}else ae=t,t=i;return t}(),t===i&&(t=function(){var t,n,r,a;if(t=ae,I.test(e.charAt(ae))?(n=e.charAt(ae),ae++):(n=i,0===ce&&fe(C)),n!==i){for(r=[],a=De();a!==i;)r.push(a),a=De();r!==i?(a=function(){var e,t,n,r,a,s;if(e=ae,t=ke(),t!==i){for(n=[],r=ae,(a=Te())===i&&(a=null),a!==i?(s=ke())!==i?r=a=[a,s]:(ae=r,r=i):(ae=r,r=i);r!==i;)n.push(r),r=ae,(a=Te())===i&&(a=null),a!==i?(s=ke())!==i?r=a=[a,s]:(ae=r,r=i):(ae=r,r=i);n!==i?(e,e=t=l(t,n)):(ae=e,e=i)}else ae=e,e=i;return e}(),a!==i?(t,t=n=y(n,a)):(ae=t,t=i)):(ae=t,t=i)}else ae=t,t=i;return t}(),t===i&&(t=function(){var t,n,r,a;if(t=ae,V.test(e.charAt(ae))?(n=e.charAt(ae),ae++):(n=i,0===ce&&fe(R)),n!==i){for(r=[],a=De();a!==i;)r.push(a),a=De();r!==i?(a=function(){var e,t,n,r,a,s;if(e=ae,t=je(),t!==i){for(n=[],r=ae,(a=Te())===i&&(a=null),a!==i?(s=je())!==i?r=a=[a,s]:(ae=r,r=i):(ae=r,r=i);r!==i;)n.push(r),r=ae,(a=Te())===i&&(a=null),a!==i?(s=je())!==i?r=a=[a,s]:(ae=r,r=i):(ae=r,r=i);n!==i?(e,e=t=l(t,n)):(ae=e,e=i)}else ae=e,e=i;return e}(),a!==i?(t,t=n=y(n,a)):(ae=t,t=i)):(ae=t,t=i)}else ae=t,t=i;return t}(),t===i&&(t=function(){var t,n,r,a;if(t=ae,D.test(e.charAt(ae))?(n=e.charAt(ae),ae++):(n=i,0===ce&&fe(B)),n!==i){for(r=[],a=De();a!==i;)r.push(a),a=De();r!==i?(a=function(){var e,t,n,r,a,s;if(e=ae,t=we(),t!==i){for(n=[],r=ae,(a=Te())===i&&(a=null),a!==i?(s=we())!==i?r=a=[a,s]:(ae=r,r=i):(ae=r,r=i);r!==i;)n.push(r),r=ae,(a=Te())===i&&(a=null),a!==i?(s=we())!==i?r=a=[a,s]:(ae=r,r=i):(ae=r,r=i);n!==i?(e,e=t=l(t,n)):(ae=e,e=i)}else ae=e,e=i;return e}(),a!==i?(t,t=n=y(n,a)):(ae=t,t=i)):(ae=t,t=i)}else ae=t,t=i;return t}())))))))),t}function xe(){var e,t,n,r,a,s;if(e=ae,(t=je())!==i){for(n=[],r=ae,(a=Te())===i&&(a=null),a!==i?(s=je())!==i?r=a=[a,s]:(ae=r,r=i):(ae=r,r=i);r!==i;)n.push(r),r=ae,(a=Te())===i&&(a=null),a!==i?(s=je())!==i?r=a=[a,s]:(ae=r,r=i):(ae=r,r=i);n!==i?(e,e=t=l(t,n)):(ae=e,e=i)}else ae=e,e=i;return e}function Se(){var e,t,n,r,a,s;if(e=ae,(t=Pe())!==i){for(n=[],r=ae,(a=Te())===i&&(a=null),a!==i?(s=Pe())!==i?r=a=[a,s]:(ae=r,r=i):(ae=r,r=i);r!==i;)n.push(r),r=ae,(a=Te())===i&&(a=null),a!==i?(s=Pe())!==i?r=a=[a,s]:(ae=r,r=i):(ae=r,r=i);n!==i?(e,e=t=l(t,n)):(ae=e,e=i)}else ae=e,e=i;return e}function Ae(){var e,t,n,r,a,s;return e=ae,(t=je())!==i?((n=Te())===i&&(n=null),n!==i?(r=je())!==i?((a=Te())===i&&(a=null),a!==i?(s=je())!==i?(e,e=t=M(t,r,s)):(ae=e,e=i):(ae=e,e=i)):(ae=e,e=i):(ae=e,e=i)):(ae=e,e=i),e}function be(){var e,t,n,r;return e=ae,(t=je())!==i?((n=Te())===i&&(n=null),n!==i?(r=je())!==i?(e,e=t=T(t,r)):(ae=e,e=i):(ae=e,e=i)):(ae=e,e=i),e}function ke(){var e,t,n,r;return e=ae,(t=je())!==i?((n=Te())===i&&(n=null),n!==i?(r=je())!==i?(e,e=t=E(t,r)):(ae=e,e=i):(ae=e,e=i)):(ae=e,e=i),e}function we(){var e,t,n,r,a,s,o,l,c,d,h;return e=ae,(t=Me())!==i?((n=Te())===i&&(n=null),n!==i?(r=Me())!==i?((a=Te())===i&&(a=null),a!==i?(s=Pe())!==i?Te()!==i?(o=Oe())!==i?((l=Te())===i&&(l=null),l!==i?(c=Oe())!==i?((d=Te())===i&&(d=null),d!==i?(h=je())!==i?(e,e=t=G(t,r,s,o,c,h)):(ae=e,e=i):(ae=e,e=i)):(ae=e,e=i):(ae=e,e=i)):(ae=e,e=i):(ae=e,e=i):(ae=e,e=i):(ae=e,e=i)):(ae=e,e=i):(ae=e,e=i)):(ae=e,e=i),e}function je(){var e,t,n,r;return e=ae,(t=Pe())!==i?((n=Te())===i&&(n=null),n!==i?(r=Pe())!==i?(e,e=t=q(t,r)):(ae=e,e=i):(ae=e,e=i)):(ae=e,e=i),e}function Me(){var e,t;return e=ae,(t=Ce())===i&&(t=Re()),t!==i&&(e,t=H(t)),e=t}function Pe(){var e,t,n,r;return e=ae,t=ae,(n=Ve())===i&&(n=null),n!==i?(r=Ce())!==i?t=n=[n,r]:(ae=t,t=i):(ae=t,t=i),t===i&&(t=ae,(n=Ve())===i&&(n=null),n!==i?(r=Re())!==i?t=n=[n,r]:(ae=t,t=i):(ae=t,t=i)),t!==i&&(e,t=W(t)),e=t}function Oe(){var t,n;return t=ae,z.test(e.charAt(ae))?(n=e.charAt(ae),ae++):(n=i,0===ce&&fe(J)),n!==i&&(t,n=U(n)),t=n}function Te(){var e,t,n,r,a;if(e=ae,t=[],(n=De())!==i)for(;n!==i;)t.push(n),n=De();else t=i;if(t!==i)if((n=Ie())===i&&(n=null),n!==i){for(r=[],a=De();a!==i;)r.push(a),a=De();r!==i?e=t=[t,n,r]:(ae=e,e=i)}else ae=e,e=i;else ae=e,e=i;if(e===i){if(e=ae,t=ae,(n=Ie())!==i){for(r=[],a=De();a!==i;)r.push(a),a=De();r!==i?t=n=[n,r]:(ae=t,t=i)}else ae=t,t=i;t!==i&&(e,t=N()),e=t}return e}function Ie(){var t;return 44===e.charCodeAt(ae)?(t=L,ae++):(t=i,0===ce&&fe(Y)),t}function Ce(){var t,n,r,a;return t=ae,n=ae,r=function(){var t,n,r,a,s;return t=ae,n=ae,r=Re(),r===i&&(r=null),r!==i?(46===e.charCodeAt(ae)?(a=Z,ae++):(a=i,0===ce&&fe(K)),a!==i&&(s=Re())!==i?(r=[r,a,s],n=r):(ae=n,n=i)):(ae=n,n=i),n===i&&(n=ae,r=Re(),r!==i?(46===e.charCodeAt(ae)?(a=Z,ae++):(a=i,0===ce&&fe(K)),a!==i?(r=[r,a],n=r):(ae=n,n=i)):(ae=n,n=i)),n!==i&&(t,n=F(n)),t=n,t}(),r!==i?((a=Ee())===i&&(a=null),a!==i?n=r=[r,a]:(ae=n,n=i)):(ae=n,n=i),n===i&&(n=ae,(r=Re())!==i?(a=Ee())!==i?n=r=[r,a]:(ae=n,n=i):(ae=n,n=i)),n!==i&&(t,n=F(n)),t=n}function Ee(){var t,n,r,a,s;return t=ae,n=ae,Q.test(e.charAt(ae))?(r=e.charAt(ae),ae++):(r=i,0===ce&&fe(X)),r!==i?((a=Ve())===i&&(a=null),a!==i?(s=Re())!==i?n=r=[r,a,s]:(ae=n,n=i):(ae=n,n=i)):(ae=n,n=i),n!==i&&(t,n=F(n)),t=n}function Ve(){var t;return _.test(e.charAt(ae))?(t=e.charAt(ae),ae++):(t=i,0===ce&&fe($)),t}function Re(){var t,n,r;if(t=ae,n=[],ee.test(e.charAt(ae))?(r=e.charAt(ae),ae++):(r=i,0===ce&&fe(te)),r!==i)for(;r!==i;)n.push(r),ee.test(e.charAt(ae))?(r=e.charAt(ae),ae++):(r=i,0===ce&&fe(te));else n=i;return n!==i&&(t,n=ne(n)),t=n}function De(){var t,n;return t=ae,re.test(e.charAt(ae))?(n=e.charAt(ae),ae++):(n=i,0===ce&&fe(ie)),n!==i&&(t,n=N()),t=n}var Be={m:"moveto",l:"lineto",h:"horizontal lineto",v:"vertical lineto",c:"curveto",s:"smooth curveto",q:"quadratic curveto",t:"smooth quadratic curveto",a:"elliptical arc",z:"closepath"};for(var Ge in Be)Be[Ge.toUpperCase()]=Be[Ge];function qe(e,t){t||(t=[{}]);for(var n=t.length;n--;){var r={code:e,command:Be[e]};for(var i in e==e.toLowerCase()&&(r.relative=!0),t[n])r[i]=t[n][i];t[n]=r}return t}if((r=s())!==i&&ae===e.length)return r;throw r!==i&&ae<e.length&&fe({type:"end"}),me(le,oe<e.length?e.charAt(oe):null,oe<e.length?pe(oe,oe+1):pe(oe,oe))}}})),ok=Qb(((e,t)=>{var n=sk().parse;n.parseSVG=n,n.makeAbsolute=function(e){var t,n={x:0,y:0},r={x:"x0",y:"y0",x1:"x0",y1:"y0",x2:"x0",y2:"y0"};return e.forEach((function(e){for(var i in"moveto"===e.command&&(t=e),e.x0=n.x,e.y0=n.y,r)i in e&&(e[i]+=e.relative?e[r[i]]:0);"x"in e||(e.x=n.x),"y"in e||(e.y=n.y),e.relative=!1,e.code=e.code.toUpperCase(),"closepath"==e.command&&(e.x=t.x,e.y=t.y),n=e})),e},t.exports=n})),lk=Qb(((e,t)=>{t.exports=function(e){for(var t=new Array(e),n=0;n<e;++n)t[n]=n;return t}})),ck=Qb(((e,t)=>{function n(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}t.exports=function(e){return null!=e&&(n(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&n(e.slice(0,0))}(e)||!!e._isBuffer)}})),dk=Qb(((e,t)=>{var n=lk(),r=ck(),i=typeof Float64Array<"u";function a(e,t){return e[0]-t[0]}function s(){var e,t=this.stride,n=new Array(t.length);for(e=0;e<n.length;++e)n[e]=[Math.abs(t[e]),e];n.sort(a);var r=new Array(n.length);for(e=0;e<r.length;++e)r[e]=n[e][1];return r}function o(e,t){var r=["View",t,"d",e].join("");t<0&&(r="View_Nil"+e);var i="generic"===e;if(-1===t){var a="function "+r+"(a){this.data=a;};var proto="+r+".prototype;proto.dtype='"+e+"';proto.index=function(){return -1};proto.size=0;proto.dimension=-1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function(){return new "+r+"(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_"+r+"(a){return new "+r+"(a);}";return new Function(a)()}if(0===t){a="function "+r+"(a,d) {this.data = a;this.offset = d};var proto="+r+".prototype;proto.dtype='"+e+"';proto.index=function(){return this.offset};proto.dimension=0;proto.size=1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function "+r+"_copy() {return new "+r+"(this.data,this.offset)};proto.pick=function "+r+"_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function "+r+"_get(){return "+(i?"this.data.get(this.offset)":"this.data[this.offset]")+"};proto.set=function "+r+"_set(v){return "+(i?"this.data.set(this.offset,v)":"this.data[this.offset]=v")+"};return function construct_"+r+"(a,b,c,d){return new "+r+"(a,d)}";return new Function("TrivialArray",a)(l[e][0])}a=["'use strict'"];var o=n(t),c=o.map((function(e){return"i"+e})),d="this.offset+"+o.map((function(e){return"this.stride["+e+"]*i"+e})).join("+"),h=o.map((function(e){return"b"+e})).join(","),u=o.map((function(e){return"c"+e})).join(",");a.push("function "+r+"(a,"+h+","+u+",d){this.data=a","this.shape=["+h+"]","this.stride=["+u+"]","this.offset=d|0}","var proto="+r+".prototype","proto.dtype='"+e+"'","proto.dimension="+t),a.push("Object.defineProperty(proto,'size',{get:function "+r+"_size(){return "+o.map((function(e){return"this.shape["+e+"]"})).join("*"),"}})"),1===t?a.push("proto.order=[0]"):(a.push("Object.defineProperty(proto,'order',{get:"),t<4?(a.push("function "+r+"_order(){"),2===t?a.push("return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})"):3===t&&a.push("var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})")):a.push("ORDER})")),a.push("proto.set=function "+r+"_set("+c.join(",")+",v){"),i?a.push("return this.data.set("+d+",v)}"):a.push("return this.data["+d+"]=v}"),a.push("proto.get=function "+r+"_get("+c.join(",")+"){"),i?a.push("return this.data.get("+d+")}"):a.push("return this.data["+d+"]}"),a.push("proto.index=function "+r+"_index(",c.join(),"){return "+d+"}"),a.push("proto.hi=function "+r+"_hi("+c.join(",")+"){return new "+r+"(this.data,"+o.map((function(e){return["(typeof i",e,"!=='number'||i",e,"<0)?this.shape[",e,"]:i",e,"|0"].join("")})).join(",")+","+o.map((function(e){return"this.stride["+e+"]"})).join(",")+",this.offset)}");var p=o.map((function(e){return"a"+e+"=this.shape["+e+"]"})),f=o.map((function(e){return"c"+e+"=this.stride["+e+"]"}));a.push("proto.lo=function "+r+"_lo("+c.join(",")+"){var b=this.offset,d=0,"+p.join(",")+","+f.join(","));for(var m=0;m<t;++m)a.push("if(typeof i"+m+"==='number'&&i"+m+">=0){d=i"+m+"|0;b+=c"+m+"*d;a"+m+"-=d}");a.push("return new "+r+"(this.data,"+o.map((function(e){return"a"+e})).join(",")+","+o.map((function(e){return"c"+e})).join(",")+",b)}"),a.push("proto.step=function "+r+"_step("+c.join(",")+"){var "+o.map((function(e){return"a"+e+"=this.shape["+e+"]"})).join(",")+","+o.map((function(e){return"b"+e+"=this.stride["+e+"]"})).join(",")+",c=this.offset,d=0,ceil=Math.ceil");for(m=0;m<t;++m)a.push("if(typeof i"+m+"==='number'){d=i"+m+"|0;if(d<0){c+=b"+m+"*(a"+m+"-1);a"+m+"=ceil(-a"+m+"/d)}else{a"+m+"=ceil(a"+m+"/d)}b"+m+"*=d}");a.push("return new "+r+"(this.data,"+o.map((function(e){return"a"+e})).join(",")+","+o.map((function(e){return"b"+e})).join(",")+",c)}");var g=new Array(t),y=new Array(t);for(m=0;m<t;++m)g[m]="a[i"+m+"]",y[m]="b[i"+m+"]";a.push("proto.transpose=function "+r+"_transpose("+c+"){"+c.map((function(e,t){return e+"=("+e+"===undefined?"+t+":"+e+"|0)"})).join(";"),"var a=this.shape,b=this.stride;return new "+r+"(this.data,"+g.join(",")+","+y.join(",")+",this.offset)}"),a.push("proto.pick=function "+r+"_pick("+c+"){var a=[],b=[],c=this.offset");for(m=0;m<t;++m)a.push("if(typeof i"+m+"==='number'&&i"+m+">=0){c=(c+this.stride["+m+"]*i"+m+")|0}else{a.push(this.shape["+m+"]);b.push(this.stride["+m+"])}");return a.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"),a.push("return function construct_"+r+"(data,shape,stride,offset){return new "+r+"(data,"+o.map((function(e){return"shape["+e+"]"})).join(",")+","+o.map((function(e){return"stride["+e+"]"})).join(",")+",offset)}"),new Function("CTOR_LIST","ORDER",a.join("\n"))(l[e],s)}var l={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],bigint64:[],biguint64:[],buffer:[],generic:[]};t.exports=function(e,t,n,a){if(void 0===e)return(0,l.array[0])([]);"number"==typeof e&&(e=[e]),void 0===t&&(t=[e.length]);var s=t.length;if(void 0===n){n=new Array(s);for(var c=s-1,d=1;c>=0;--c)n[c]=d,d*=t[c]}if(void 0===a){a=0;for(c=0;c<s;++c)n[c]<0&&(a-=(t[c]-1)*n[c])}for(var h=function(e){if(r(e))return"buffer";if(i)switch(Object.prototype.toString.call(e)){case"[object Float64Array]":return"float64";case"[object Float32Array]":return"float32";case"[object Int8Array]":return"int8";case"[object Int16Array]":return"int16";case"[object Int32Array]":return"int32";case"[object Uint8Array]":return"uint8";case"[object Uint16Array]":return"uint16";case"[object Uint32Array]":return"uint32";case"[object Uint8ClampedArray]":return"uint8_clamped";case"[object BigInt64Array]":return"bigint64";case"[object BigUint64Array]":return"biguint64"}return Array.isArray(e)?"array":"generic"}(e),u=l[h];u.length<=s+1;)u.push(o(h,u.length-1));return(0,u[s+1])(e,t,n,a)}})),hk=Qb(((e,t)=>{t.exports=function(e,t,n){return 0===e.length?e:t?(n||e.sort(t),function(e,t){for(var n=1,r=e.length,i=e[0],a=e[0],s=1;s<r;++s)if(a=i,t(i=e[s],a)){if(s===n){n++;continue}e[n++]=i}return e.length=n,e}(e,t)):(n||e.sort(),function(e){for(var t=1,n=e.length,r=e[0],i=e[0],a=1;a<n;++a,i=r)if(i=r,(r=e[a])!==i){if(a===t){t++;continue}e[t++]=r}return e.length=t,e}(e))}})),uk=Qb(((e,t)=>{var n=hk();function r(e,t,n){var r,i,a=e.length,s=t.arrayArgs.length,o=t.indexArgs.length>0,l=[],c=[],d=0,h=0;for(r=0;r<a;++r)c.push(["i",r,"=0"].join(""));for(i=0;i<s;++i)for(r=0;r<a;++r)h=d,d=e[r],0===r?c.push(["d",i,"s",r,"=t",i,"p",d].join("")):c.push(["d",i,"s",r,"=(t",i,"p",d,"-s",h,"*t",i,"p",h,")"].join(""));for(c.length>0&&l.push("var "+c.join(",")),r=a-1;r>=0;--r)d=e[r],l.push(["for(i",r,"=0;i",r,"<s",d,";++i",r,"){"].join(""));for(l.push(n),r=0;r<a;++r){for(h=d,d=e[r],i=0;i<s;++i)l.push(["p",i,"+=d",i,"s",r].join(""));o&&(r>0&&l.push(["index[",h,"]-=s",h].join("")),l.push(["++index[",d,"]"].join(""))),l.push("}")}return l.join("\n")}function i(e,t,n){for(var r=e.body,i=[],a=[],s=0;s<e.args.length;++s){var o=e.args[s];if(!(o.count<=0)){var l=new RegExp(o.name,"g"),c="",d=t.arrayArgs.indexOf(s);switch(t.argTypes[s]){case"offset":var h=t.offsetArgIndex.indexOf(s);d=t.offsetArgs[h].array,c="+q"+h;case"array":c="p"+d+c;var u="l"+s,p="a"+d;if(0===t.arrayBlockIndices[d])1===o.count?"generic"===n[d]?o.lvalue?(i.push(["var ",u,"=",p,".get(",c,")"].join("")),r=r.replace(l,u),a.push([p,".set(",c,",",u,")"].join(""))):r=r.replace(l,[p,".get(",c,")"].join("")):r=r.replace(l,[p,"[",c,"]"].join("")):"generic"===n[d]?(i.push(["var ",u,"=",p,".get(",c,")"].join("")),r=r.replace(l,u),o.lvalue&&a.push([p,".set(",c,",",u,")"].join(""))):(i.push(["var ",u,"=",p,"[",c,"]"].join("")),r=r.replace(l,u),o.lvalue&&a.push([p,"[",c,"]=",u].join("")));else{for(var f=[o.name],m=[c],g=0;g<Math.abs(t.arrayBlockIndices[d]);g++)f.push("\\s*\\[([^\\]]+)\\]"),m.push("$"+(g+1)+"*t"+d+"b"+g);if(l=new RegExp(f.join(""),"g"),c=m.join("+"),"generic"===n[d])throw new Error("cwise: Generic arrays not supported in combination with blocks!");r=r.replace(l,[p,"[",c,"]"].join(""))}break;case"scalar":r=r.replace(l,"Y"+t.scalarArgs.indexOf(s));break;case"index":r=r.replace(l,"index");break;case"shape":r=r.replace(l,"shape")}}}return[i.join("\n"),r,a.join("\n")].join("\n").trim()}function a(e){for(var t=new Array(e.length),n=!0,r=0;r<e.length;++r){var i=e[r],a=i.match(/\d+/);a=a?a[0]:"",0===i.charAt(0)?t[r]="u"+i.charAt(1)+a:t[r]=i.charAt(0)+a,r>0&&(n=n&&t[r]===t[r-1])}return n?t[0]:t.join("")}t.exports=function(e,t){for(var s=t[1].length-Math.abs(e.arrayBlockIndices[0])|0,o=new Array(e.arrayArgs.length),l=new Array(e.arrayArgs.length),c=0;c<e.arrayArgs.length;++c)l[c]=t[2*c],o[c]=t[2*c+1];var d=[],h=[],u=[],p=[],f=[];for(c=0;c<e.arrayArgs.length;++c){e.arrayBlockIndices[c]<0?(u.push(0),p.push(s),d.push(s),h.push(s+e.arrayBlockIndices[c])):(u.push(e.arrayBlockIndices[c]),p.push(e.arrayBlockIndices[c]+s),d.push(0),h.push(e.arrayBlockIndices[c]));for(var m=[],g=0;g<o[c].length;g++)u[c]<=o[c][g]&&o[c][g]<p[c]&&m.push(o[c][g]-u[c]);f.push(m)}var y=["SS"],v=["'use strict'"],x=[];for(g=0;g<s;++g)x.push(["s",g,"=SS[",g,"]"].join(""));for(c=0;c<e.arrayArgs.length;++c){y.push("a"+c),y.push("t"+c),y.push("p"+c);for(g=0;g<s;++g)x.push(["t",c,"p",g,"=t",c,"[",u[c]+g,"]"].join(""));for(g=0;g<Math.abs(e.arrayBlockIndices[c]);++g)x.push(["t",c,"b",g,"=t",c,"[",d[c]+g,"]"].join(""))}for(c=0;c<e.scalarArgs.length;++c)y.push("Y"+c);if(e.shapeArgs.length>0&&x.push("shape=SS.slice(0)"),e.indexArgs.length>0){var S=new Array(s);for(c=0;c<s;++c)S[c]="0";x.push(["index=[",S.join(","),"]"].join(""))}for(c=0;c<e.offsetArgs.length;++c){var A=e.offsetArgs[c],b=[];for(g=0;g<A.offset.length;++g)0!==A.offset[g]&&(1===A.offset[g]?b.push(["t",A.array,"p",g].join("")):b.push([A.offset[g],"*t",A.array,"p",g].join("")));0===b.length?x.push("q"+c+"=0"):x.push(["q",c,"=",b.join("+")].join(""))}var k=n([].concat(e.pre.thisVars).concat(e.body.thisVars).concat(e.post.thisVars));for((x=x.concat(k)).length>0&&v.push("var "+x.join(",")),c=0;c<e.arrayArgs.length;++c)v.push("p"+c+"|=0");e.pre.body.length>3&&v.push(i(e.pre,e,l));var w=i(e.body,e,l),j=function(e){for(var t=0,n=e[0].length;t<n;){for(var r=1;r<e.length;++r)if(e[r][t]!==e[0][t])return t;++t}return t}(f);j<s?v.push(function(e,t,n,i){for(var a=t.length,s=n.arrayArgs.length,o=n.blockSize,l=n.indexArgs.length>0,c=[],d=0;d<s;++d)c.push(["var offset",d,"=p",d].join(""));for(d=e;d<a;++d)c.push(["for(var j"+d+"=SS[",t[d],"]|0;j",d,">0;){"].join("")),c.push(["if(j",d,"<",o,"){"].join("")),c.push(["s",t[d],"=j",d].join("")),c.push(["j",d,"=0"].join("")),c.push(["}else{s",t[d],"=",o].join("")),c.push(["j",d,"-=",o,"}"].join("")),l&&c.push(["index[",t[d],"]=j",d].join(""));for(d=0;d<s;++d){for(var h=["offset"+d],u=e;u<a;++u)h.push(["j",u,"*t",d,"p",t[u]].join(""));c.push(["p",d,"=(",h.join("+"),")"].join(""))}for(c.push(r(t,n,i)),d=e;d<a;++d)c.push("}");return c.join("\n")}(j,f[0],e,w)):v.push(r(f[0],e,w)),e.post.body.length>3&&v.push(i(e.post,e,l)),e.debug&&console.log("-----Generated cwise routine for ",t,":\n"+v.join("\n")+"\n----------");var M=[e.funcName||"unnamed","_cwise_loop_",o[0].join("s"),"m",j,a(l)].join("");return new Function(["function ",M,"(",y.join(","),"){",v.join("\n"),"} return ",M].join(""))()}})),pk=Qb(((e,t)=>{var n=uk();t.exports=function(e){var t=["'use strict'","var CACHED={}"],r=[],i=e.funcName+"_cwise_thunk";t.push(["return function ",i,"(",e.shimArgs.join(","),"){"].join(""));for(var a=[],s=[],o=[["array",e.arrayArgs[0],".shape.slice(",Math.max(0,e.arrayBlockIndices[0]),e.arrayBlockIndices[0]<0?","+e.arrayBlockIndices[0]+")":")"].join("")],l=[],c=[],d=0;d<e.arrayArgs.length;++d){var h=e.arrayArgs[d];r.push(["t",h,"=array",h,".dtype,","r",h,"=array",h,".order"].join("")),a.push("t"+h),a.push("r"+h),s.push("t"+h),s.push("r"+h+".join()"),o.push("array"+h+".data"),o.push("array"+h+".stride"),o.push("array"+h+".offset|0"),d>0&&(l.push("array"+e.arrayArgs[0]+".shape.length===array"+h+".shape.length+"+(Math.abs(e.arrayBlockIndices[0])-Math.abs(e.arrayBlockIndices[d]))),c.push("array"+e.arrayArgs[0]+".shape[shapeIndex+"+Math.max(0,e.arrayBlockIndices[0])+"]===array"+h+".shape[shapeIndex+"+Math.max(0,e.arrayBlockIndices[d])+"]"))}for(e.arrayArgs.length>1&&(t.push("if (!("+l.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same dimensionality!')"),t.push("for(var shapeIndex=array"+e.arrayArgs[0]+".shape.length-"+Math.abs(e.arrayBlockIndices[0])+"; shapeIndex--\x3e0;) {"),t.push("if (!("+c.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same shape!')"),t.push("}")),d=0;d<e.scalarArgs.length;++d)o.push("scalar"+e.scalarArgs[d]);return r.push(["type=[",s.join(","),"].join()"].join("")),r.push("proc=CACHED[type]"),t.push("var "+r.join(",")),t.push(["if(!proc){","CACHED[type]=proc=compile([",a.join(","),"])}","return proc(",o.join(","),")}"].join("")),e.debug&&console.log("-----Generated thunk:\n"+t.join("\n")+"\n----------"),new Function("compile",t.join("\n"))(n.bind(void 0,e))}})),fk=Qb(((e,t)=>{var n=pk();function r(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName="",this.pre=null,this.body=null,this.post=null,this.debug=!1}t.exports=function(e){var t=new r;t.pre=e.pre,t.body=e.body,t.post=e.post;var i=e.args.slice(0);t.argTypes=i;for(var a=0;a<i.length;++a){var s=i[a];if("array"===s||"object"==typeof s&&s.blockIndices){if(t.argTypes[a]="array",t.arrayArgs.push(a),t.arrayBlockIndices.push(s.blockIndices?s.blockIndices:0),t.shimArgs.push("array"+a),a<t.pre.args.length&&t.pre.args[a].count>0)throw new Error("cwise: pre() block may not reference array args");if(a<t.post.args.length&&t.post.args[a].count>0)throw new Error("cwise: post() block may not reference array args")}else if("scalar"===s)t.scalarArgs.push(a),t.shimArgs.push("scalar"+a);else if("index"===s){if(t.indexArgs.push(a),a<t.pre.args.length&&t.pre.args[a].count>0)throw new Error("cwise: pre() block may not reference array index");if(a<t.body.args.length&&t.body.args[a].lvalue)throw new Error("cwise: body() block may not write to array index");if(a<t.post.args.length&&t.post.args[a].count>0)throw new Error("cwise: post() block may not reference array index")}else if("shape"===s){if(t.shapeArgs.push(a),a<t.pre.args.length&&t.pre.args[a].lvalue)throw new Error("cwise: pre() block may not write to array shape");if(a<t.body.args.length&&t.body.args[a].lvalue)throw new Error("cwise: body() block may not write to array shape");if(a<t.post.args.length&&t.post.args[a].lvalue)throw new Error("cwise: post() block may not write to array shape")}else{if("object"!=typeof s||!s.offset)throw new Error("cwise: Unknown argument type "+i[a]);t.argTypes[a]="offset",t.offsetArgs.push({array:s.array,offset:s.offset}),t.offsetArgIndex.push(a)}}if(t.arrayArgs.length<=0)throw new Error("cwise: No array arguments specified");if(t.pre.args.length>i.length)throw new Error("cwise: Too many arguments in pre() block");if(t.body.args.length>i.length)throw new Error("cwise: Too many arguments in body() block");if(t.post.args.length>i.length)throw new Error("cwise: Too many arguments in post() block");return t.debug=!!e.printCode||!!e.debug,t.funcName=e.funcName||"cwise",t.blockSize=e.blockSize||64,n(t)}})),mk=Qb((e=>{var t=fk(),n={body:"",args:[],thisVars:[],localVars:[]};function r(e){if(!e)return n;for(var t=0;t<e.args.length;++t){var r=e.args[t];e.args[t]=0===t?{name:r,lvalue:!0,rvalue:!!e.rvalue,count:e.count||1}:{name:r,lvalue:!1,rvalue:!0,count:1}}return e.thisVars||(e.thisVars=[]),e.localVars||(e.localVars=[]),e}function i(e){for(var n=[],i=0;i<e.args.length;++i)n.push("a"+i);return new Function("P",["return function ",e.funcName,"_ndarrayops(",n.join(","),") {P(",n.join(","),");return a0}"].join(""))(function(e){return t({args:e.args,pre:r(e.pre),body:r(e.body),post:r(e.proc),funcName:e.funcName})}(e))}var a={add:"+",sub:"-",mul:"*",div:"/",mod:"%",band:"&",bor:"|",bxor:"^",lshift:"<<",rshift:">>",rrshift:">>>"};!function(){for(var t in a){var n=a[t];e[t]=i({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+n+"c"},funcName:t}),e[t+"eq"]=i({args:["array","array"],body:{args:["a","b"],body:"a"+n+"=b"},rvalue:!0,funcName:t+"eq"}),e[t+"s"]=i({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+n+"s"},funcName:t+"s"}),e[t+"seq"]=i({args:["array","scalar"],body:{args:["a","s"],body:"a"+n+"=s"},rvalue:!0,funcName:t+"seq"})}}();var s={not:"!",bnot:"~",neg:"-",recip:"1.0/"};!function(){for(var t in s){var n=s[t];e[t]=i({args:["array","array"],body:{args:["a","b"],body:"a="+n+"b"},funcName:t}),e[t+"eq"]=i({args:["array"],body:{args:["a"],body:"a="+n+"a"},rvalue:!0,count:2,funcName:t+"eq"})}}();var o={and:"&&",or:"||",eq:"===",neq:"!==",lt:"<",gt:">",leq:"<=",geq:">="};!function(){for(var t in o){var n=o[t];e[t]=i({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+n+"c"},funcName:t}),e[t+"s"]=i({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+n+"s"},funcName:t+"s"}),e[t+"eq"]=i({args:["array","array"],body:{args:["a","b"],body:"a=a"+n+"b"},rvalue:!0,count:2,funcName:t+"eq"}),e[t+"seq"]=i({args:["array","scalar"],body:{args:["a","s"],body:"a=a"+n+"s"},rvalue:!0,count:2,funcName:t+"seq"})}}();var l=["abs","acos","asin","atan","ceil","cos","exp","floor","log","round","sin","sqrt","tan"];!function(){for(var t=0;t<l.length;++t){var n=l[t];e[n]=i({args:["array","array"],pre:{args:[],body:"this_f=Math."+n,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b)",thisVars:["this_f"]},funcName:n}),e[n+"eq"]=i({args:["array"],pre:{args:[],body:"this_f=Math."+n,thisVars:["this_f"]},body:{args:["a"],body:"a=this_f(a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:n+"eq"})}}();var c=["max","min","atan2","pow"];!function(){for(var t=0;t<c.length;++t){var n=c[t];e[n]=i({args:["array","array","array"],pre:{args:[],body:"this_f=Math."+n,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(b,c)",thisVars:["this_f"]},funcName:n}),e[n+"s"]=i({args:["array","array","scalar"],pre:{args:[],body:"this_f=Math."+n,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(b,c)",thisVars:["this_f"]},funcName:n+"s"}),e[n+"eq"]=i({args:["array","array"],pre:{args:[],body:"this_f=Math."+n,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(a,b)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:n+"eq"}),e[n+"seq"]=i({args:["array","scalar"],pre:{args:[],body:"this_f=Math."+n,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(a,b)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:n+"seq"})}}();var d=["atan2","pow"];!function(){for(var t=0;t<d.length;++t){var n=d[t];e[n+"op"]=i({args:["array","array","array"],pre:{args:[],body:"this_f=Math."+n,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(c,b)",thisVars:["this_f"]},funcName:n+"op"}),e[n+"ops"]=i({args:["array","array","scalar"],pre:{args:[],body:"this_f=Math."+n,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(c,b)",thisVars:["this_f"]},funcName:n+"ops"}),e[n+"opeq"]=i({args:["array","array"],pre:{args:[],body:"this_f=Math."+n,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b,a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:n+"opeq"}),e[n+"opseq"]=i({args:["array","scalar"],pre:{args:[],body:"this_f=Math."+n,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b,a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:n+"opseq"})}}(),e.any=t({args:["array"],pre:n,body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"if(a){return true}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return false"},funcName:"any"}),e.all=t({args:["array"],pre:n,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1}],body:"if(!x){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"all"}),e.sum=t({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"this_s+=a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"sum"}),e.prod=t({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=1"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"this_s*=a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"prod"}),e.norm2squared=t({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:2}],body:"this_s+=a*a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm2squared"}),e.norm2=t({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:2}],body:"this_s+=a*a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return Math.sqrt(this_s)"},funcName:"norm2"}),e.norminf=t({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:4}],body:"if(-a>this_s){this_s=-a}else if(a>this_s){this_s=a}",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norminf"}),e.norm1=t({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:3}],body:"this_s+=a<0?-a:a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm1"}),e.sup=t({args:["array"],pre:{body:"this_h=-Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),e.inf=t({args:["array"],pre:{body:"this_h=Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_<this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),e.argmin=t({args:["index","array","shape"],pre:{body:"{this_v=Infinity;this_i=_inline_0_arg2_.slice(0)}",args:[{name:"_inline_0_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg2_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_i","this_v"],localVars:[]},body:{body:"{if(_inline_1_arg1_<this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),e.argmax=t({args:["index","array","shape"],pre:{body:"{this_v=-Infinity;this_i=_inline_0_arg2_.slice(0)}",args:[{name:"_inline_0_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg2_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_i","this_v"],localVars:[]},body:{body:"{if(_inline_1_arg1_>this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),e.random=i({args:["array"],pre:{args:[],body:"this_f=Math.random",thisVars:["this_f"]},body:{args:["a"],body:"a=this_f()",thisVars:["this_f"]},funcName:"random"}),e.assign=i({args:["array","array"],body:{args:["a","b"],body:"a=b"},funcName:"assign"}),e.assigns=i({args:["array","scalar"],body:{args:["a","b"],body:"a=b"},funcName:"assigns"}),e.equals=t({args:["array","array"],pre:n,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1},{name:"y",lvalue:!1,rvalue:!0,count:1}],body:"if(x!==y){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"equals"})})),gk=Qb(((e,t)=>{t.exports=function(e,t){for(var n=e.split("."),r=t.split("."),i=0;i<3;i++){var a=Number(n[i]),s=Number(r[i]);if(a>s)return 1;if(s>a)return-1;if(!isNaN(a)&&isNaN(s))return 1;if(isNaN(a)&&!isNaN(s))return-1}return 0}})),yk="149",vk=0,xk=1,Sk=2,Ak=3,bk=0,kk=1,wk=2,jk=1,Mk=2,Pk=3,Ok=0,Tk=1,Ik=2,Ck=0,Ek=1,Vk=2,Rk=3,Dk=4,Bk=5,Gk=100,qk=101,Hk=102,Wk=103,zk=104,Jk=200,Uk=201,Nk=202,Lk=203,Yk=204,Fk=205,Zk=206,Kk=207,Qk=208,Xk=209,_k=210,$k=0,ew=1,tw=2,nw=3,rw=4,iw=5,aw=6,sw=7,ow=0,lw=1,cw=2,dw=0,hw=1,uw=2,pw=3,fw=4,mw=5,gw=301,yw=302,vw=303,xw=304,Sw=306,Aw=1e3,bw=1001,kw=1002,ww=1003,jw=1004,Mw=1005,Pw=1006,Ow=1007,Tw=1008,Iw=1009,Cw=1010,Ew=1011,Vw=1012,Rw=1013,Dw=1014,Bw=1015,Gw=1016,qw=1017,Hw=1018,Ww=1020,zw=1021,Jw=1023,Uw=1024,Nw=1025,Lw=1026,Yw=1027,Fw=1028,Zw=1029,Kw=1030,Qw=1031,Xw=1033,_w=33776,$w=33777,ej=33778,tj=33779,nj=35840,rj=35841,ij=35842,aj=35843,sj=36196,oj=37492,lj=37496,cj=37808,dj=37809,hj=37810,uj=37811,pj=37812,fj=37813,mj=37814,gj=37815,yj=37816,vj=37817,xj=37818,Sj=37819,Aj=37820,bj=37821,kj=36492,wj=36283,jj=36284,Mj=36285,Pj=36286,Oj=2202,Tj=2300,Ij=2301,Cj=2302,Ej=2400,Vj=2401,Rj=2402,Dj=2500,Bj=3e3,Gj=3001,qj=3200,Hj=3201,Wj=0,zj=1,Jj="srgb",Uj="srgb-linear",Nj=7680,Lj=35044,Yj="300 es",Fj=1035,Zj=class{addEventListener(e,t){void 0===this._listeners&&(this._listeners={});let n=this._listeners;void 0===n[e]&&(n[e]=[]),-1===n[e].indexOf(t)&&n[e].push(t)}hasEventListener(e,t){if(void 0===this._listeners)return!1;let n=this._listeners;return void 0!==n[e]&&-1!==n[e].indexOf(t)}removeEventListener(e,t){if(void 0===this._listeners)return;let n=this._listeners[e];if(void 0!==n){let e=n.indexOf(t);-1!==e&&n.splice(e,1)}}dispatchEvent(e){if(void 0===this._listeners)return;let t=this._listeners[e.type];if(void 0!==t){e.target=this;let n=t.slice(0);for(let t=0,r=n.length;t<r;t++)n[t].call(this,e);e.target=null}}},Kj=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"],Qj=1234567,Xj=Math.PI/180,_j=180/Math.PI;function $j(){let e=4294967295*Math.random()|0,t=4294967295*Math.random()|0,n=4294967295*Math.random()|0,r=4294967295*Math.random()|0;return(Kj[255&e]+Kj[e>>8&255]+Kj[e>>16&255]+Kj[e>>24&255]+"-"+Kj[255&t]+Kj[t>>8&255]+"-"+Kj[t>>16&15|64]+Kj[t>>24&255]+"-"+Kj[63&n|128]+Kj[n>>8&255]+"-"+Kj[n>>16&255]+Kj[n>>24&255]+Kj[255&r]+Kj[r>>8&255]+Kj[r>>16&255]+Kj[r>>24&255]).toLowerCase()}function eM(e,t,n){return Math.max(t,Math.min(n,e))}function tM(e,t){return(e%t+t)%t}function nM(e,t,n){return(1-n)*e+n*t}function rM(e){return 0===(e&e-1)&&0!==e}function iM(e){return Math.pow(2,Math.ceil(Math.log(e)/Math.LN2))}function aM(e){return Math.pow(2,Math.floor(Math.log(e)/Math.LN2))}function sM(e,t){switch(t.constructor){case Float32Array:return e;case Uint16Array:return e/65535;case Uint8Array:return e/255;case Int16Array:return Math.max(e/32767,-1);case Int8Array:return Math.max(e/127,-1);default:throw new Error("Invalid component type.")}}function oM(e,t){switch(t.constructor){case Float32Array:return e;case Uint16Array:return Math.round(65535*e);case Uint8Array:return Math.round(255*e);case Int16Array:return Math.round(32767*e);case Int8Array:return Math.round(127*e);default:throw new Error("Invalid component type.")}}var lM=Object.freeze({__proto__:null,DEG2RAD:Xj,RAD2DEG:_j,ceilPowerOfTwo:iM,clamp:eM,damp:function(e,t,n,r){return nM(e,t,1-Math.exp(-n*r))},degToRad:function(e){return e*Xj},denormalize:sM,euclideanModulo:tM,floorPowerOfTwo:aM,generateUUID:$j,inverseLerp:function(e,t,n){return e!==t?(n-e)/(t-e):0},isPowerOfTwo:rM,lerp:nM,mapLinear:function(e,t,n,r,i){return r+(e-t)*(i-r)/(n-t)},normalize:oM,pingpong:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return t-Math.abs(tM(e,2*t)-t)},radToDeg:function(e){return e*_j},randFloat:function(e,t){return e+Math.random()*(t-e)},randFloatSpread:function(e){return e*(.5-Math.random())},randInt:function(e,t){return e+Math.floor(Math.random()*(t-e+1))},seededRandom:function(e){void 0!==e&&(Qj=e);let t=Qj+=1831565813;return t=Math.imul(t^t>>>15,1|t),t^=t+Math.imul(t^t>>>7,61|t),((t^t>>>14)>>>0)/4294967296},setQuaternionFromProperEuler:function(e,t,n,r,i){let a=Math.cos,s=Math.sin,o=a(n/2),l=s(n/2),c=a((t+r)/2),d=s((t+r)/2),h=a((t-r)/2),u=s((t-r)/2),p=a((r-t)/2),f=s((r-t)/2);switch(i){case"XYX":e.set(o*d,l*h,l*u,o*c);break;case"YZY":e.set(l*u,o*d,l*h,o*c);break;case"ZXZ":e.set(l*h,l*u,o*d,o*c);break;case"XZX":e.set(o*d,l*f,l*p,o*c);break;case"YXY":e.set(l*p,o*d,l*f,o*c);break;case"ZYZ":e.set(l*f,l*p,o*d,o*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}},smootherstep:function(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t))*e*e*(e*(6*e-15)+10)},smoothstep:function(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t))*e*(3-2*e)}}),cM=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;cM.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){let t=this.x,n=this.y,r=e.elements;return this.x=r[0]*t+r[3]*n+r[6],this.y=r[1]*t+r[4]*n+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){let n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(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}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.x=e[t],this.y=e[t+1],this}toArray(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]: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){let n=Math.cos(t),r=Math.sin(t),i=this.x-e.x,a=this.y-e.y;return this.x=i*n-a*r+e.x,this.y=i*r+a*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}},dM=class{constructor(){dM.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1]}set(e,t,n,r,i,a,s,o,l){let c=this.elements;return c[0]=e,c[1]=r,c[2]=s,c[3]=t,c[4]=i,c[5]=o,c[6]=n,c[7]=a,c[8]=l,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){let t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this}extractBasis(e,t,n){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(e){let 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){let n=e.elements,r=t.elements,i=this.elements,a=n[0],s=n[3],o=n[6],l=n[1],c=n[4],d=n[7],h=n[2],u=n[5],p=n[8],f=r[0],m=r[3],g=r[6],y=r[1],v=r[4],x=r[7],S=r[2],A=r[5],b=r[8];return i[0]=a*f+s*y+o*S,i[3]=a*m+s*v+o*A,i[6]=a*g+s*x+o*b,i[1]=l*f+c*y+d*S,i[4]=l*m+c*v+d*A,i[7]=l*g+c*x+d*b,i[2]=h*f+u*y+p*S,i[5]=h*m+u*v+p*A,i[8]=h*g+u*x+p*b,this}multiplyScalar(e){let 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(){let e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],s=e[5],o=e[6],l=e[7],c=e[8];return t*a*c-t*s*l-n*i*c+n*s*o+r*i*l-r*a*o}invert(){let e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],s=e[5],o=e[6],l=e[7],c=e[8],d=c*a-s*l,h=s*o-c*i,u=l*i-a*o,p=t*d+n*h+r*u;if(0===p)return this.set(0,0,0,0,0,0,0,0,0);let f=1/p;return e[0]=d*f,e[1]=(r*l-c*n)*f,e[2]=(s*n-r*a)*f,e[3]=h*f,e[4]=(c*t-r*o)*f,e[5]=(r*i-s*t)*f,e[6]=u*f,e[7]=(n*o-l*t)*f,e[8]=(a*t-n*i)*f,this}transpose(){let e,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){let t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,n,r,i,a,s){let o=Math.cos(i),l=Math.sin(i);return this.set(n*o,n*l,-n*(o*a+l*s)+a+e,-r*l,r*o,-r*(-l*a+o*s)+s+t,0,0,1),this}scale(e,t){return this.premultiply(hM.makeScale(e,t)),this}rotate(e){return this.premultiply(hM.makeRotation(-e)),this}translate(e,t){return this.premultiply(hM.makeTranslation(e,t)),this}makeTranslation(e,t){return this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){let t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,n,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){let t=this.elements,n=e.elements;for(let r=0;r<9;r++)if(t[r]!==n[r])return!1;return!0}fromArray(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e}clone(){return(new this.constructor).fromArray(this.elements)}},hM=new dM;function uM(e){for(let t=e.length-1;t>=0;--t)if(e[t]>=65535)return!0;return!1}var pM={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:Uint8ClampedArray,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};function fM(e,t){return new pM[e](t)}function mM(e){return document.createElementNS("http://www.w3.org/1999/xhtml",e)}function gM(e){return e<.04045?.0773993808*e:Math.pow(.9478672986*e+.0521327014,2.4)}function yM(e){return e<.0031308?12.92*e:1.055*Math.pow(e,.41666)-.055}var vM={[Jj]:{[Uj]:gM},[Uj]:{[Jj]:yM}},xM={legacyMode:!0,get workingColorSpace(){return Uj},set workingColorSpace(e){console.warn("THREE.ColorManagement: .workingColorSpace is readonly.")},convert:function(e,t,n){if(this.legacyMode||t===n||!t||!n)return e;if(vM[t]&&void 0!==vM[t][n]){let r=vM[t][n];return e.r=r(e.r),e.g=r(e.g),e.b=r(e.b),e}throw new Error("Unsupported color space conversion.")},fromWorkingColorSpace:function(e,t){return this.convert(e,this.workingColorSpace,t)},toWorkingColorSpace:function(e,t){return this.convert(e,t,this.workingColorSpace)}},SM={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},AM={r:0,g:0,b:0},bM={h:0,s:0,l:0},kM={h:0,s:0,l:0};function wM(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+6*(t-e)*(2/3-n):e}function jM(e,t){return t.r=e.r,t.g=e.g,t.b=e.b,t}var MM=class{constructor(e,t,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,void 0===t&&void 0===n?this.set(e):this.setRGB(e,t,n)}set(e){return e&&e.isColor?this.copy(e):"number"==typeof e?this.setHex(e):"string"==typeof e&&this.setStyle(e),this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Jj;return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(255&e)/255,xM.toWorkingColorSpace(this,t),this}setRGB(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:xM.workingColorSpace;return this.r=e,this.g=t,this.b=n,xM.toWorkingColorSpace(this,r),this}setHSL(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:xM.workingColorSpace;if(e=tM(e,1),t=eM(t,0,1),n=eM(n,0,1),0===t)this.r=this.g=this.b=n;else{let r=n<=.5?n*(1+t):n+t-n*t,i=2*n-r;this.r=wM(i,r,e+1/3),this.g=wM(i,r,e),this.b=wM(i,r,e-1/3)}return xM.toWorkingColorSpace(this,r),this}setStyle(e){let t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Jj;function r(t){void 0!==t&&parseFloat(t)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}if(t=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(e)){let e,i=t[1],a=t[2];switch(i){case"rgb":case"rgba":if(e=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return this.r=Math.min(255,parseInt(e[1],10))/255,this.g=Math.min(255,parseInt(e[2],10))/255,this.b=Math.min(255,parseInt(e[3],10))/255,xM.toWorkingColorSpace(this,n),r(e[4]),this;if(e=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return this.r=Math.min(100,parseInt(e[1],10))/100,this.g=Math.min(100,parseInt(e[2],10))/100,this.b=Math.min(100,parseInt(e[3],10))/100,xM.toWorkingColorSpace(this,n),r(e[4]),this;break;case"hsl":case"hsla":if(e=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a)){let t=parseFloat(e[1])/360,i=parseFloat(e[2])/100,a=parseFloat(e[3])/100;return r(e[4]),this.setHSL(t,i,a,n)}}}else if(t=/^\#([A-Fa-f\d]+)$/.exec(e)){let e=t[1],r=e.length;if(3===r)return this.r=parseInt(e.charAt(0)+e.charAt(0),16)/255,this.g=parseInt(e.charAt(1)+e.charAt(1),16)/255,this.b=parseInt(e.charAt(2)+e.charAt(2),16)/255,xM.toWorkingColorSpace(this,n),this;if(6===r)return this.r=parseInt(e.charAt(0)+e.charAt(1),16)/255,this.g=parseInt(e.charAt(2)+e.charAt(3),16)/255,this.b=parseInt(e.charAt(4)+e.charAt(5),16)/255,xM.toWorkingColorSpace(this,n),this}return e&&e.length>0?this.setColorName(e,n):this}setColorName(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Jj,n=SM[e.toLowerCase()];return void 0!==n?this.setHex(n,t):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=gM(e.r),this.g=gM(e.g),this.b=gM(e.b),this}copyLinearToSRGB(e){return this.r=yM(e.r),this.g=yM(e.g),this.b=yM(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Jj;return xM.fromWorkingColorSpace(jM(this,AM),e),eM(255*AM.r,0,255)<<16^eM(255*AM.g,0,255)<<8^eM(255*AM.b,0,255)<<0}getHexString(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Jj;return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:xM.workingColorSpace;xM.fromWorkingColorSpace(jM(this,AM),t);let n,r,i=AM.r,a=AM.g,s=AM.b,o=Math.max(i,a,s),l=Math.min(i,a,s),c=(l+o)/2;if(l===o)n=0,r=0;else{let e=o-l;switch(r=c<=.5?e/(o+l):e/(2-o-l),o){case i:n=(a-s)/e+(a<s?6:0);break;case a:n=(s-i)/e+2;break;case s:n=(i-a)/e+4}n/=6}return e.h=n,e.s=r,e.l=c,e}getRGB(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:xM.workingColorSpace;return xM.fromWorkingColorSpace(jM(this,AM),t),e.r=AM.r,e.g=AM.g,e.b=AM.b,e}getStyle(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Jj;return xM.fromWorkingColorSpace(jM(this,AM),e),e!==Jj?"color(".concat(e," ").concat(AM.r," ").concat(AM.g," ").concat(AM.b,")"):"rgb(".concat(255*AM.r|0,",").concat(255*AM.g|0,",").concat(255*AM.b|0,")")}offsetHSL(e,t,n){return this.getHSL(bM),bM.h+=e,bM.s+=t,bM.l+=n,this.setHSL(bM.h,bM.s,bM.l),this}add(e){return this.r+=e.r,this.g+=e.g,this.b+=e.b,this}addColors(e,t){return this.r=e.r+t.r,this.g=e.g+t.g,this.b=e.b+t.b,this}addScalar(e){return this.r+=e,this.g+=e,this.b+=e,this}sub(e){return this.r=Math.max(0,this.r-e.r),this.g=Math.max(0,this.g-e.g),this.b=Math.max(0,this.b-e.b),this}multiply(e){return this.r*=e.r,this.g*=e.g,this.b*=e.b,this}multiplyScalar(e){return this.r*=e,this.g*=e,this.b*=e,this}lerp(e,t){return this.r+=(e.r-this.r)*t,this.g+=(e.g-this.g)*t,this.b+=(e.b-this.b)*t,this}lerpColors(e,t,n){return this.r=e.r+(t.r-e.r)*n,this.g=e.g+(t.g-e.g)*n,this.b=e.b+(t.b-e.b)*n,this}lerpHSL(e,t){this.getHSL(bM),e.getHSL(kM);let n=nM(bM.h,kM.h,t),r=nM(bM.s,kM.s,t),i=nM(bM.l,kM.l,t);return this.setHSL(n,r,i),this}equals(e){return e.r===this.r&&e.g===this.g&&e.b===this.b}fromArray(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.r=e[t],this.g=e[t+1],this.b=e[t+2],this}toArray(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e[t]=this.r,e[t+1]=this.g,e[t+2]=this.b,e}fromBufferAttribute(e,t){return this.r=e.getX(t),this.g=e.getY(t),this.b=e.getZ(t),this}toJSON(){return this.getHex()}*[Symbol.iterator](){yield this.r,yield this.g,yield this.b}};MM.NAMES=SM;var PM,OM=class{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{void 0===PM&&(PM=mM("canvas")),PM.width=e.width,PM.height=e.height;let n=PM.getContext("2d");e instanceof ImageData?n.putImageData(e,0,0):n.drawImage(e,0,0,e.width,e.height),t=PM}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){let t=mM("canvas");t.width=e.width,t.height=e.height;let n=t.getContext("2d");n.drawImage(e,0,0,e.width,e.height);let r=n.getImageData(0,0,e.width,e.height),i=r.data;for(let e=0;e<i.length;e++)i[e]=255*gM(i[e]/255);return n.putImageData(r,0,0),t}if(e.data){let t=e.data.slice(0);for(let e=0;e<t.length;e++)t instanceof Uint8Array||t instanceof Uint8ClampedArray?t[e]=Math.floor(255*gM(t[e]/255)):t[e]=gM(t[e]);return{data:t,width:e.width,height:e.height}}return console.warn("THREE.ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied."),e}},TM=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.isSource=!0,this.uuid=$j(),this.data=e,this.version=0}set needsUpdate(e){!0===e&&this.version++}toJSON(e){let t=void 0===e||"string"==typeof e;if(!t&&void 0!==e.images[this.uuid])return e.images[this.uuid];let n={uuid:this.uuid,url:""},r=this.data;if(null!==r){let e;if(Array.isArray(r)){e=[];for(let t=0,n=r.length;t<n;t++)r[t].isDataTexture?e.push(IM(r[t].image)):e.push(IM(r[t]))}else e=IM(r);n.url=e}return t||(e.images[this.uuid]=n),n}};function IM(e){return typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap?OM.getDataURL(e):e.data?{data:Array.from(e.data),width:e.width,height:e.height,type:e.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}var CM=0,EM=class extends Zj{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:EM.DEFAULT_IMAGE,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:EM.DEFAULT_MAPPING,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:bw,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:bw,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:Pw,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:Tw,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:Jw,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:Iw,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:EM.DEFAULT_ANISOTROPY,c=arguments.length>9&&void 0!==arguments[9]?arguments[9]:Bj;super(),this.isTexture=!0,Object.defineProperty(this,"id",{value:CM++}),this.uuid=$j(),this.name="",this.source=new TM(e),this.mipmaps=[],this.mapping=t,this.wrapS=n,this.wrapT=r,this.magFilter=i,this.minFilter=a,this.anisotropy=l,this.format=s,this.internalFormat=null,this.type=o,this.offset=new cM(0,0),this.repeat=new cM(1,1),this.center=new cM(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new dM,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=c,this.userData={},this.version=0,this.onUpdate=null,this.isRenderTargetTexture=!1,this.needsPMREMUpdate=!1}get image(){return this.source.data}set image(e){this.source.data=e}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return(new this.constructor).copy(this)}copy(e){return this.name=e.name,this.source=e.source,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.encoding=e.encoding,this.userData=JSON.parse(JSON.stringify(e.userData)),this.needsUpdate=!0,this}toJSON(e){let t=void 0===e||"string"==typeof e;if(!t&&void 0!==e.textures[this.uuid])return e.textures[this.uuid];let n={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(e).uuid,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(n.userData=this.userData),t||(e.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(300!==this.mapping)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case Aw:e.x=e.x-Math.floor(e.x);break;case bw:e.x=e.x<0?0:1;break;case kw:1===Math.abs(Math.floor(e.x)%2)?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x)}if(e.y<0||e.y>1)switch(this.wrapT){case Aw:e.y=e.y-Math.floor(e.y);break;case bw:e.y=e.y<0?0:1;break;case kw:1===Math.abs(Math.floor(e.y)%2)?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y)}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){!0===e&&(this.version++,this.source.needsUpdate=!0)}};EM.DEFAULT_IMAGE=null,EM.DEFAULT_MAPPING=300,EM.DEFAULT_ANISOTROPY=1;var VM=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;VM.prototype.isVector4=!0,this.x=e,this.y=t,this.z=n,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,n,r){return this.x=e,this.y=t,this.z=n,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=void 0!==e.w?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){let t=this.x,n=this.y,r=this.z,i=this.w,a=e.elements;return this.x=a[0]*t+a[4]*n+a[8]*r+a[12]*i,this.y=a[1]*t+a[5]*n+a[9]*r+a[13]*i,this.z=a[2]*t+a[6]*n+a[10]*r+a[14]*i,this.w=a[3]*t+a[7]*n+a[11]*r+a[15]*i,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);let t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,n,r,i,a=e.elements,s=a[0],o=a[4],l=a[8],c=a[1],d=a[5],h=a[9],u=a[2],p=a[6],f=a[10];if(Math.abs(o-c)<.01&&Math.abs(l-u)<.01&&Math.abs(h-p)<.01){if(Math.abs(o+c)<.1&&Math.abs(l+u)<.1&&Math.abs(h+p)<.1&&Math.abs(s+d+f-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;let e=(s+1)/2,a=(d+1)/2,m=(f+1)/2,g=(o+c)/4,y=(l+u)/4,v=(h+p)/4;return e>a&&e>m?e<.01?(n=0,r=.707106781,i=.707106781):(n=Math.sqrt(e),r=g/n,i=y/n):a>m?a<.01?(n=.707106781,r=0,i=.707106781):(r=Math.sqrt(a),n=g/r,i=v/r):m<.01?(n=.707106781,r=.707106781,i=0):(i=Math.sqrt(m),n=y/i,r=v/i),this.set(n,r,i,t),this}let m=Math.sqrt((p-h)*(p-h)+(l-u)*(l-u)+(c-o)*(c-o));return Math.abs(m)<.001&&(m=1),this.x=(p-h)/m,this.y=(l-u)/m,this.z=(c-o)/m,this.w=Math.acos((s+d+f-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){let n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this.w=this.w<0?Math.ceil(this.w):Math.floor(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this.w=e.w+(t.w-e.w)*n,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]: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}},RM=class extends Zj{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};super(),this.isWebGLRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new VM(0,0,e,t),this.scissorTest=!1,this.viewport=new VM(0,0,e,t);let r={width:e,height:t,depth:1};this.texture=new EM(r,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.encoding),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=void 0!==n.generateMipmaps&&n.generateMipmaps,this.texture.internalFormat=void 0!==n.internalFormat?n.internalFormat:null,this.texture.minFilter=void 0!==n.minFilter?n.minFilter:Pw,this.depthBuffer=void 0===n.depthBuffer||n.depthBuffer,this.stencilBuffer=void 0!==n.stencilBuffer&&n.stencilBuffer,this.depthTexture=void 0!==n.depthTexture?n.depthTexture:null,this.samples=void 0!==n.samples?n.samples:0}setSize(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;(this.width!==e||this.height!==t||this.depth!==n)&&(this.width=e,this.height=t,this.depth=n,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=n,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.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;let t=Object.assign({},e.texture.image);return this.texture.source=new TM(t),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,null!==e.depthTexture&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}},DM=class extends EM{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:n,depth:r},this.magFilter=ww,this.minFilter=ww,this.wrapR=bw,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}},BM=class extends RM{constructor(){let e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,arguments.length>3&&void 0!==arguments[3]?arguments[3]:{}),this.isWebGLMultipleRenderTargets=!0;let t=this.texture;this.texture=[];for(let n=0;n<e;n++)this.texture[n]=t.clone(),this.texture[n].isRenderTargetTexture=!0}setSize(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;if(this.width!==e||this.height!==t||this.depth!==n){this.width=e,this.height=t,this.depth=n;for(let r=0,i=this.texture.length;r<i;r++)this.texture[r].image.width=e,this.texture[r].image.height=t,this.texture[r].image.depth=n;this.dispose()}return this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t),this}copy(e){this.dispose(),this.width=e.width,this.height=e.height,this.depth=e.depth,this.viewport.set(0,0,this.width,this.height),this.scissor.set(0,0,this.width,this.height),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,null!==e.depthTexture&&(this.depthTexture=e.depthTexture.clone()),this.texture.length=0;for(let t=0,n=e.texture.length;t<n;t++)this.texture[t]=e.texture[t].clone(),this.texture[t].isRenderTargetTexture=!0;return this}},GM=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;this.isQuaternion=!0,this._x=e,this._y=t,this._z=n,this._w=r}static slerpFlat(e,t,n,r,i,a,s){let o=n[r+0],l=n[r+1],c=n[r+2],d=n[r+3],h=i[a+0],u=i[a+1],p=i[a+2],f=i[a+3];if(0===s)return e[t+0]=o,e[t+1]=l,e[t+2]=c,void(e[t+3]=d);if(1===s)return e[t+0]=h,e[t+1]=u,e[t+2]=p,void(e[t+3]=f);if(d!==f||o!==h||l!==u||c!==p){let e=1-s,t=o*h+l*u+c*p+d*f,n=t>=0?1:-1,r=1-t*t;if(r>Number.EPSILON){let i=Math.sqrt(r),a=Math.atan2(i,t*n);e=Math.sin(e*a)/i,s=Math.sin(s*a)/i}let i=s*n;if(o=o*e+h*i,l=l*e+u*i,c=c*e+p*i,d=d*e+f*i,e===1-s){let e=1/Math.sqrt(o*o+l*l+c*c+d*d);o*=e,l*=e,c*=e,d*=e}}e[t]=o,e[t+1]=l,e[t+2]=c,e[t+3]=d}static multiplyQuaternionsFlat(e,t,n,r,i,a){let s=n[r],o=n[r+1],l=n[r+2],c=n[r+3],d=i[a],h=i[a+1],u=i[a+2],p=i[a+3];return e[t]=s*p+c*d+o*u-l*h,e[t+1]=o*p+c*h+l*d-s*u,e[t+2]=l*p+c*u+s*h-o*d,e[t+3]=c*p-s*d-o*h-l*u,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,n,r){return this._x=e,this._y=t,this._z=n,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){let n=e._x,r=e._y,i=e._z,a=e._order,s=Math.cos,o=Math.sin,l=s(n/2),c=s(r/2),d=s(i/2),h=o(n/2),u=o(r/2),p=o(i/2);switch(a){case"XYZ":this._x=h*c*d+l*u*p,this._y=l*u*d-h*c*p,this._z=l*c*p+h*u*d,this._w=l*c*d-h*u*p;break;case"YXZ":this._x=h*c*d+l*u*p,this._y=l*u*d-h*c*p,this._z=l*c*p-h*u*d,this._w=l*c*d+h*u*p;break;case"ZXY":this._x=h*c*d-l*u*p,this._y=l*u*d+h*c*p,this._z=l*c*p+h*u*d,this._w=l*c*d-h*u*p;break;case"ZYX":this._x=h*c*d-l*u*p,this._y=l*u*d+h*c*p,this._z=l*c*p-h*u*d,this._w=l*c*d+h*u*p;break;case"YZX":this._x=h*c*d+l*u*p,this._y=l*u*d+h*c*p,this._z=l*c*p-h*u*d,this._w=l*c*d-h*u*p;break;case"XZY":this._x=h*c*d-l*u*p,this._y=l*u*d-h*c*p,this._z=l*c*p+h*u*d,this._w=l*c*d+h*u*p;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+a)}return!1!==t&&this._onChangeCallback(),this}setFromAxisAngle(e,t){let n=t/2,r=Math.sin(n);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){let t=e.elements,n=t[0],r=t[4],i=t[8],a=t[1],s=t[5],o=t[9],l=t[2],c=t[6],d=t[10],h=n+s+d;if(h>0){let e=.5/Math.sqrt(h+1);this._w=.25/e,this._x=(c-o)*e,this._y=(i-l)*e,this._z=(a-r)*e}else if(n>s&&n>d){let e=2*Math.sqrt(1+n-s-d);this._w=(c-o)/e,this._x=.25*e,this._y=(r+a)/e,this._z=(i+l)/e}else if(s>d){let e=2*Math.sqrt(1+s-n-d);this._w=(i-l)/e,this._x=(r+a)/e,this._y=.25*e,this._z=(o+c)/e}else{let e=2*Math.sqrt(1+d-n-s);this._w=(a-r)/e,this._x=(i+l)/e,this._y=(o+c)/e,this._z=.25*e}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return n<Number.EPSILON?(n=0,Math.abs(e.x)>Math.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=n),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(eM(this.dot(e),-1,1)))}rotateTowards(e,t){let n=this.angleTo(e);if(0===n)return this;let r=Math.min(1,t/n);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 0===e?(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){let n=e._x,r=e._y,i=e._z,a=e._w,s=t._x,o=t._y,l=t._z,c=t._w;return this._x=n*c+a*s+r*l-i*o,this._y=r*c+a*o+i*s-n*l,this._z=i*c+a*l+n*o-r*s,this._w=a*c-n*s-r*o-i*l,this._onChangeCallback(),this}slerp(e,t){if(0===t)return this;if(1===t)return this.copy(e);let n=this._x,r=this._y,i=this._z,a=this._w,s=a*e._w+n*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=a,this._x=n,this._y=r,this._z=i,this;let o=1-s*s;if(o<=Number.EPSILON){let e=1-t;return this._w=e*a+t*this._w,this._x=e*n+t*this._x,this._y=e*r+t*this._y,this._z=e*i+t*this._z,this.normalize(),this._onChangeCallback(),this}let l=Math.sqrt(o),c=Math.atan2(l,s),d=Math.sin((1-t)*c)/l,h=Math.sin(t*c)/l;return this._w=a*d+this._w*h,this._x=n*d+this._x*h,this._y=r*d+this._y*h,this._z=i*d+this._z*h,this._onChangeCallback(),this}slerpQuaternions(e,t,n){return this.copy(e).slerp(t,n)}random(){let e=Math.random(),t=Math.sqrt(1-e),n=Math.sqrt(e),r=2*Math.PI*Math.random(),i=2*Math.PI*Math.random();return this.set(t*Math.cos(r),n*Math.sin(i),n*Math.cos(i),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){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]: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(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]: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}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}},qM=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;qM.prototype.isVector3=!0,this.x=e,this.y=t,this.z=n}set(e,t,n){return void 0===n&&(n=this.z),this.x=e,this.y=t,this.z=n,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(WM.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(WM.setFromAxisAngle(e,t))}applyMatrix3(e){let t=this.x,n=this.y,r=this.z,i=e.elements;return this.x=i[0]*t+i[3]*n+i[6]*r,this.y=i[1]*t+i[4]*n+i[7]*r,this.z=i[2]*t+i[5]*n+i[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){let t=this.x,n=this.y,r=this.z,i=e.elements,a=1/(i[3]*t+i[7]*n+i[11]*r+i[15]);return this.x=(i[0]*t+i[4]*n+i[8]*r+i[12])*a,this.y=(i[1]*t+i[5]*n+i[9]*r+i[13])*a,this.z=(i[2]*t+i[6]*n+i[10]*r+i[14])*a,this}applyQuaternion(e){let t=this.x,n=this.y,r=this.z,i=e.x,a=e.y,s=e.z,o=e.w,l=o*t+a*r-s*n,c=o*n+s*t-i*r,d=o*r+i*n-a*t,h=-i*t-a*n-s*r;return this.x=l*o+h*-i+c*-s-d*-a,this.y=c*o+h*-a+d*-i-l*-s,this.z=d*o+h*-s+l*-a-c*-i,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){let t=this.x,n=this.y,r=this.z,i=e.elements;return this.x=i[0]*t+i[4]*n+i[8]*r,this.y=i[1]*t+i[5]*n+i[9]*r,this.z=i[2]*t+i[6]*n+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,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){let n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){let n=e.x,r=e.y,i=e.z,a=t.x,s=t.y,o=t.z;return this.x=r*o-i*s,this.y=i*a-n*o,this.z=n*s-r*a,this}projectOnVector(e){let t=e.lengthSq();if(0===t)return this.set(0,0,0);let n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return HM.copy(this).projectOnVector(e),this.sub(HM)}reflect(e){return this.sub(HM.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){let t=Math.sqrt(this.lengthSq()*e.lengthSq());if(0===t)return Math.PI/2;let n=this.dot(e)/t;return Math.acos(eM(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){let t=this.x-e.x,n=this.y-e.y,r=this.z-e.z;return t*t+n*n+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,n){let r=Math.sin(t)*e;return this.x=r*Math.sin(n),this.y=Math.cos(t)*e,this.z=r*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){let t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){let t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=r,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,4*t)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,3*t)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]: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(){let e=2*(Math.random()-.5),t=Math.random()*Math.PI*2,n=Math.sqrt(1-e**2);return this.x=n*Math.cos(t),this.y=n*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}},HM=new qM,WM=new GM,zM=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new qM(1/0,1/0,1/0),t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new qM(-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){let t=1/0,n=1/0,r=1/0,i=-1/0,a=-1/0,s=-1/0;for(let o=0,l=e.length;o<l;o+=3){let l=e[o],c=e[o+1],d=e[o+2];l<t&&(t=l),c<n&&(n=c),d<r&&(r=d),l>i&&(i=l),c>a&&(a=c),d>s&&(s=d)}return this.min.set(t,n,r),this.max.set(i,a,s),this}setFromBufferAttribute(e){let t=1/0,n=1/0,r=1/0,i=-1/0,a=-1/0,s=-1/0;for(let o=0,l=e.count;o<l;o++){let l=e.getX(o),c=e.getY(o),d=e.getZ(o);l<t&&(t=l),c<n&&(n=c),d<r&&(r=d),l>i&&(i=l),c>a&&(a=c),d>s&&(s=d)}return this.min.set(t,n,r),this.max.set(i,a,s),this}setFromPoints(e){this.makeEmpty();for(let t=0,n=e.length;t<n;t++)this.expandByPoint(e[t]);return this}setFromCenterAndSize(e,t){let n=UM.copy(t).multiplyScalar(.5);return this.min.copy(e).sub(n),this.max.copy(e).add(n),this}setFromObject(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.makeEmpty(),this.expandByObject(e,t)}clone(){return(new this.constructor).copy(this)}copy(e){return this.min.copy(e.min),this.max.copy(e.max),this}makeEmpty(){return this.min.x=this.min.y=this.min.z=1/0,this.max.x=this.max.y=this.max.z=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z}getCenter(e){return this.isEmpty()?e.set(0,0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(e){return this.isEmpty()?e.set(0,0,0):e.subVectors(this.max,this.min)}expandByPoint(e){return this.min.min(e),this.max.max(e),this}expandByVector(e){return this.min.sub(e),this.max.add(e),this}expandByScalar(e){return this.min.addScalar(-e),this.max.addScalar(e),this}expandByObject(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e.updateWorldMatrix(!1,!1);let n=e.geometry;if(void 0!==n)if(t&&null!=n.attributes&&void 0!==n.attributes.position){let t=n.attributes.position;for(let n=0,r=t.count;n<r;n++)UM.fromBufferAttribute(t,n).applyMatrix4(e.matrixWorld),this.expandByPoint(UM)}else null===n.boundingBox&&n.computeBoundingBox(),NM.copy(n.boundingBox),NM.applyMatrix4(e.matrixWorld),this.union(NM);let r=e.children;for(let i=0,a=r.length;i<a;i++)this.expandByObject(r[i],t);return this}containsPoint(e){return!(e.x<this.min.x||e.x>this.max.x||e.y<this.min.y||e.y>this.max.y||e.z<this.min.z||e.z>this.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.x<this.min.x||e.min.x>this.max.x||e.max.y<this.min.y||e.min.y>this.max.y||e.max.z<this.min.z||e.min.z>this.max.z)}intersectsSphere(e){return this.clampPoint(e.center,UM),UM.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(XM),_M.subVectors(this.max,XM),LM.subVectors(e.a,XM),YM.subVectors(e.b,XM),FM.subVectors(e.c,XM),ZM.subVectors(YM,LM),KM.subVectors(FM,YM),QM.subVectors(LM,FM);let t=[0,-ZM.z,ZM.y,0,-KM.z,KM.y,0,-QM.z,QM.y,ZM.z,0,-ZM.x,KM.z,0,-KM.x,QM.z,0,-QM.x,-ZM.y,ZM.x,0,-KM.y,KM.x,0,-QM.y,QM.x,0];return!(!tP(t,LM,YM,FM,_M)||(t=[1,0,0,0,1,0,0,0,1],!tP(t,LM,YM,FM,_M)))&&($M.crossVectors(ZM,KM),t=[$M.x,$M.y,$M.z],tP(t,LM,YM,FM,_M))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return UM.copy(e).clamp(this.min,this.max).sub(e).length()}getBoundingSphere(e){return this.getCenter(e.center),e.radius=.5*this.getSize(UM).length(),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()||(JM[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),JM[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),JM[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),JM[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),JM[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),JM[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),JM[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),JM[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(JM)),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)}},JM=[new qM,new qM,new qM,new qM,new qM,new qM,new qM,new qM],UM=new qM,NM=new zM,LM=new qM,YM=new qM,FM=new qM,ZM=new qM,KM=new qM,QM=new qM,XM=new qM,_M=new qM,$M=new qM,eP=new qM;function tP(e,t,n,r,i){for(let a=0,s=e.length-3;a<=s;a+=3){eP.fromArray(e,a);let s=i.x*Math.abs(eP.x)+i.y*Math.abs(eP.y)+i.z*Math.abs(eP.z),o=t.dot(eP),l=n.dot(eP),c=r.dot(eP);if(Math.max(-Math.max(o,l,c),Math.min(o,l,c))>s)return!1}return!0}var nP=new zM,rP=new qM,iP=new qM,aP=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new qM,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){let n=this.center;void 0!==t?n.copy(t):nP.setFromPoints(e).getCenter(n);let r=0;for(let i=0,a=e.length;i<a;i++)r=Math.max(r,n.distanceToSquared(e[i]));return this.radius=Math.sqrt(r),this}copy(e){return this.center.copy(e.center),this.radius=e.radius,this}isEmpty(){return this.radius<0}makeEmpty(){return this.center.set(0,0,0),this.radius=-1,this}containsPoint(e){return e.distanceToSquared(this.center)<=this.radius*this.radius}distanceToPoint(e){return e.distanceTo(this.center)-this.radius}intersectsSphere(e){let t=this.radius+e.radius;return e.center.distanceToSquared(this.center)<=t*t}intersectsBox(e){return e.intersectsSphere(this)}intersectsPlane(e){return Math.abs(e.distanceToPoint(this.center))<=this.radius}clampPoint(e,t){let n=this.center.distanceToSquared(e);return t.copy(e),n>this.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;rP.subVectors(e,this.center);let t=rP.lengthSq();if(t>this.radius*this.radius){let e=Math.sqrt(t),n=.5*(e-this.radius);this.center.addScaledVector(rP,n/e),this.radius+=n}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(!0===this.center.equals(e.center)?this.radius=Math.max(this.radius,e.radius):(iP.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(rP.copy(e.center).add(iP)),this.expandByPoint(rP.copy(e.center).sub(iP))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return(new this.constructor).copy(this)}},sP=new qM,oP=new qM,lP=new qM,cP=new qM,dP=new qM,hP=new qM,uP=new qM,pP=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new qM,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new qM(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.direction).multiplyScalar(e).add(this.origin)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,sP)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);let n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.direction).multiplyScalar(n).add(this.origin)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){let t=sP.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(sP.copy(this.direction).multiplyScalar(t).add(this.origin),sP.distanceToSquared(e))}distanceSqToSegment(e,t,n,r){oP.copy(e).add(t).multiplyScalar(.5),lP.copy(t).sub(e).normalize(),cP.copy(this.origin).sub(oP);let i,a,s,o,l=.5*e.distanceTo(t),c=-this.direction.dot(lP),d=cP.dot(this.direction),h=-cP.dot(lP),u=cP.lengthSq(),p=Math.abs(1-c*c);if(p>0)if(i=c*h-d,a=c*d-h,o=l*p,i>=0)if(a>=-o)if(a<=o){let e=1/p;i*=e,a*=e,s=i*(i+c*a+2*d)+a*(c*i+a+2*h)+u}else a=l,i=Math.max(0,-(c*a+d)),s=-i*i+a*(a+2*h)+u;else a=-l,i=Math.max(0,-(c*a+d)),s=-i*i+a*(a+2*h)+u;else a<=-o?(i=Math.max(0,-(-c*l+d)),a=i>0?-l:Math.min(Math.max(-l,-h),l),s=-i*i+a*(a+2*h)+u):a<=o?(i=0,a=Math.min(Math.max(-l,-h),l),s=a*(a+2*h)+u):(i=Math.max(0,-(c*l+d)),a=i>0?l:Math.min(Math.max(-l,-h),l),s=-i*i+a*(a+2*h)+u);else a=c>0?-l:l,i=Math.max(0,-(c*a+d)),s=-i*i+a*(a+2*h)+u;return n&&n.copy(this.direction).multiplyScalar(i).add(this.origin),r&&r.copy(lP).multiplyScalar(a).add(oP),s}intersectSphere(e,t){sP.subVectors(e.center,this.origin);let n=sP.dot(this.direction),r=sP.dot(sP)-n*n,i=e.radius*e.radius;if(r>i)return null;let a=Math.sqrt(i-r),s=n-a,o=n+a;return s<0&&o<0?null:s<0?this.at(o,t):this.at(s,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){let t=e.normal.dot(this.direction);if(0===t)return 0===e.distanceToPoint(this.origin)?0:null;let n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){let n=this.distanceToPlane(e);return null===n?null:this.at(n,t)}intersectsPlane(e){let t=e.distanceToPoint(this.origin);return 0===t||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let n,r,i,a,s,o,l=1/this.direction.x,c=1/this.direction.y,d=1/this.direction.z,h=this.origin;return l>=0?(n=(e.min.x-h.x)*l,r=(e.max.x-h.x)*l):(n=(e.max.x-h.x)*l,r=(e.min.x-h.x)*l),c>=0?(i=(e.min.y-h.y)*c,a=(e.max.y-h.y)*c):(i=(e.max.y-h.y)*c,a=(e.min.y-h.y)*c),n>a||i>r||((i>n||isNaN(n))&&(n=i),(a<r||isNaN(r))&&(r=a),d>=0?(s=(e.min.z-h.z)*d,o=(e.max.z-h.z)*d):(s=(e.max.z-h.z)*d,o=(e.min.z-h.z)*d),n>o||s>r)||((s>n||n!==n)&&(n=s),(o<r||r!==r)&&(r=o),r<0)?null:this.at(n>=0?n:r,t)}intersectsBox(e){return null!==this.intersectBox(e,sP)}intersectTriangle(e,t,n,r,i){dP.subVectors(t,e),hP.subVectors(n,e),uP.crossVectors(dP,hP);let a,s=this.direction.dot(uP);if(s>0){if(r)return null;a=1}else{if(!(s<0))return null;a=-1,s=-s}cP.subVectors(this.origin,e);let o=a*this.direction.dot(hP.crossVectors(cP,hP));if(o<0)return null;let l=a*this.direction.dot(dP.cross(cP));if(l<0||o+l>s)return null;let c=-a*cP.dot(uP);return c<0?null:this.at(c/s,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)}},fP=class{constructor(){fP.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}set(e,t,n,r,i,a,s,o,l,c,d,h,u,p,f,m){let g=this.elements;return g[0]=e,g[4]=t,g[8]=n,g[12]=r,g[1]=i,g[5]=a,g[9]=s,g[13]=o,g[2]=l,g[6]=c,g[10]=d,g[14]=h,g[3]=u,g[7]=p,g[11]=f,g[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 fP).fromArray(this.elements)}copy(e){let t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],this}copyPosition(e){let t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this}setFromMatrix3(e){let t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,n){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this}extractRotation(e){let t=this.elements,n=e.elements,r=1/mP.setFromMatrixColumn(e,0).length(),i=1/mP.setFromMatrixColumn(e,1).length(),a=1/mP.setFromMatrixColumn(e,2).length();return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=0,t[4]=n[4]*i,t[5]=n[5]*i,t[6]=n[6]*i,t[7]=0,t[8]=n[8]*a,t[9]=n[9]*a,t[10]=n[10]*a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){let t=this.elements,n=e.x,r=e.y,i=e.z,a=Math.cos(n),s=Math.sin(n),o=Math.cos(r),l=Math.sin(r),c=Math.cos(i),d=Math.sin(i);if("XYZ"===e.order){let e=a*c,n=a*d,r=s*c,i=s*d;t[0]=o*c,t[4]=-o*d,t[8]=l,t[1]=n+r*l,t[5]=e-i*l,t[9]=-s*o,t[2]=i-e*l,t[6]=r+n*l,t[10]=a*o}else if("YXZ"===e.order){let e=o*c,n=o*d,r=l*c,i=l*d;t[0]=e+i*s,t[4]=r*s-n,t[8]=a*l,t[1]=a*d,t[5]=a*c,t[9]=-s,t[2]=n*s-r,t[6]=i+e*s,t[10]=a*o}else if("ZXY"===e.order){let e=o*c,n=o*d,r=l*c,i=l*d;t[0]=e-i*s,t[4]=-a*d,t[8]=r+n*s,t[1]=n+r*s,t[5]=a*c,t[9]=i-e*s,t[2]=-a*l,t[6]=s,t[10]=a*o}else if("ZYX"===e.order){let e=a*c,n=a*d,r=s*c,i=s*d;t[0]=o*c,t[4]=r*l-n,t[8]=e*l+i,t[1]=o*d,t[5]=i*l+e,t[9]=n*l-r,t[2]=-l,t[6]=s*o,t[10]=a*o}else if("YZX"===e.order){let e=a*o,n=a*l,r=s*o,i=s*l;t[0]=o*c,t[4]=i-e*d,t[8]=r*d+n,t[1]=d,t[5]=a*c,t[9]=-s*c,t[2]=-l*c,t[6]=n*d+r,t[10]=e-i*d}else if("XZY"===e.order){let e=a*o,n=a*l,r=s*o,i=s*l;t[0]=o*c,t[4]=-d,t[8]=l*c,t[1]=e*d+i,t[5]=a*c,t[9]=n*d-r,t[2]=r*d-n,t[6]=s*c,t[10]=i*d+e}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(yP,e,vP)}lookAt(e,t,n){let r=this.elements;return AP.subVectors(e,t),0===AP.lengthSq()&&(AP.z=1),AP.normalize(),xP.crossVectors(n,AP),0===xP.lengthSq()&&(1===Math.abs(n.z)?AP.x+=1e-4:AP.z+=1e-4,AP.normalize(),xP.crossVectors(n,AP)),xP.normalize(),SP.crossVectors(AP,xP),r[0]=xP.x,r[4]=SP.x,r[8]=AP.x,r[1]=xP.y,r[5]=SP.y,r[9]=AP.y,r[2]=xP.z,r[6]=SP.z,r[10]=AP.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){let n=e.elements,r=t.elements,i=this.elements,a=n[0],s=n[4],o=n[8],l=n[12],c=n[1],d=n[5],h=n[9],u=n[13],p=n[2],f=n[6],m=n[10],g=n[14],y=n[3],v=n[7],x=n[11],S=n[15],A=r[0],b=r[4],k=r[8],w=r[12],j=r[1],M=r[5],P=r[9],O=r[13],T=r[2],I=r[6],C=r[10],E=r[14],V=r[3],R=r[7],D=r[11],B=r[15];return i[0]=a*A+s*j+o*T+l*V,i[4]=a*b+s*M+o*I+l*R,i[8]=a*k+s*P+o*C+l*D,i[12]=a*w+s*O+o*E+l*B,i[1]=c*A+d*j+h*T+u*V,i[5]=c*b+d*M+h*I+u*R,i[9]=c*k+d*P+h*C+u*D,i[13]=c*w+d*O+h*E+u*B,i[2]=p*A+f*j+m*T+g*V,i[6]=p*b+f*M+m*I+g*R,i[10]=p*k+f*P+m*C+g*D,i[14]=p*w+f*O+m*E+g*B,i[3]=y*A+v*j+x*T+S*V,i[7]=y*b+v*M+x*I+S*R,i[11]=y*k+v*P+x*C+S*D,i[15]=y*w+v*O+x*E+S*B,this}multiplyScalar(e){let 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(){let e=this.elements,t=e[0],n=e[4],r=e[8],i=e[12],a=e[1],s=e[5],o=e[9],l=e[13],c=e[2],d=e[6],h=e[10],u=e[14];return e[3]*(+i*o*d-r*l*d-i*s*h+n*l*h+r*s*u-n*o*u)+e[7]*(+t*o*u-t*l*h+i*a*h-r*a*u+r*l*c-i*o*c)+e[11]*(+t*l*d-t*s*u-i*a*d+n*a*u+i*s*c-n*l*c)+e[15]*(-r*s*c-t*o*d+t*s*h+r*a*d-n*a*h+n*o*c)}transpose(){let e,t=this.elements;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this}setPosition(e,t,n){let 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]=n),this}invert(){let e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],s=e[5],o=e[6],l=e[7],c=e[8],d=e[9],h=e[10],u=e[11],p=e[12],f=e[13],m=e[14],g=e[15],y=d*m*l-f*h*l+f*o*u-s*m*u-d*o*g+s*h*g,v=p*h*l-c*m*l-p*o*u+a*m*u+c*o*g-a*h*g,x=c*f*l-p*d*l+p*s*u-a*f*u-c*s*g+a*d*g,S=p*d*o-c*f*o-p*s*h+a*f*h+c*s*m-a*d*m,A=t*y+n*v+r*x+i*S;if(0===A)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);let b=1/A;return e[0]=y*b,e[1]=(f*h*i-d*m*i-f*r*u+n*m*u+d*r*g-n*h*g)*b,e[2]=(s*m*i-f*o*i+f*r*l-n*m*l-s*r*g+n*o*g)*b,e[3]=(d*o*i-s*h*i-d*r*l+n*h*l+s*r*u-n*o*u)*b,e[4]=v*b,e[5]=(c*m*i-p*h*i+p*r*u-t*m*u-c*r*g+t*h*g)*b,e[6]=(p*o*i-a*m*i-p*r*l+t*m*l+a*r*g-t*o*g)*b,e[7]=(a*h*i-c*o*i+c*r*l-t*h*l-a*r*u+t*o*u)*b,e[8]=x*b,e[9]=(p*d*i-c*f*i-p*n*u+t*f*u+c*n*g-t*d*g)*b,e[10]=(a*f*i-p*s*i+p*n*l-t*f*l-a*n*g+t*s*g)*b,e[11]=(c*s*i-a*d*i-c*n*l+t*d*l+a*n*u-t*s*u)*b,e[12]=S*b,e[13]=(c*f*r-p*d*r+p*n*h-t*f*h-c*n*m+t*d*m)*b,e[14]=(p*s*r-a*f*r-p*n*o+t*f*o+a*n*m-t*s*m)*b,e[15]=(a*d*r-c*s*r+c*n*o-t*d*o-a*n*h+t*s*h)*b,this}scale(e){let t=this.elements,n=e.x,r=e.y,i=e.z;return t[0]*=n,t[4]*=r,t[8]*=i,t[1]*=n,t[5]*=r,t[9]*=i,t[2]*=n,t[6]*=r,t[10]*=i,t[3]*=n,t[7]*=r,t[11]*=i,this}getMaxScaleOnAxis(){let e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,r))}makeTranslation(e,t,n){return this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1),this}makeRotationX(e){let t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this}makeRotationY(e){let t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this}makeRotationZ(e){let t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){let n=Math.cos(t),r=Math.sin(t),i=1-n,a=e.x,s=e.y,o=e.z,l=i*a,c=i*s;return this.set(l*a+n,l*s-r*o,l*o+r*s,0,l*s+r*o,c*s+n,c*o-r*a,0,l*o-r*s,c*o+r*a,i*o*o+n,0,0,0,0,1),this}makeScale(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this}makeShear(e,t,n,r,i,a){return this.set(1,n,i,0,e,1,a,0,t,r,1,0,0,0,0,1),this}compose(e,t,n){let r=this.elements,i=t._x,a=t._y,s=t._z,o=t._w,l=i+i,c=a+a,d=s+s,h=i*l,u=i*c,p=i*d,f=a*c,m=a*d,g=s*d,y=o*l,v=o*c,x=o*d,S=n.x,A=n.y,b=n.z;return r[0]=(1-(f+g))*S,r[1]=(u+x)*S,r[2]=(p-v)*S,r[3]=0,r[4]=(u-x)*A,r[5]=(1-(h+g))*A,r[6]=(m+y)*A,r[7]=0,r[8]=(p+v)*b,r[9]=(m-y)*b,r[10]=(1-(h+f))*b,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,this}decompose(e,t,n){let r=this.elements,i=mP.set(r[0],r[1],r[2]).length(),a=mP.set(r[4],r[5],r[6]).length(),s=mP.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],gP.copy(this);let o=1/i,l=1/a,c=1/s;return gP.elements[0]*=o,gP.elements[1]*=o,gP.elements[2]*=o,gP.elements[4]*=l,gP.elements[5]*=l,gP.elements[6]*=l,gP.elements[8]*=c,gP.elements[9]*=c,gP.elements[10]*=c,t.setFromRotationMatrix(gP),n.x=i,n.y=a,n.z=s,this}makePerspective(e,t,n,r,i,a){let s=this.elements,o=2*i/(t-e),l=2*i/(n-r),c=(t+e)/(t-e),d=(n+r)/(n-r),h=-(a+i)/(a-i),u=-2*a*i/(a-i);return s[0]=o,s[4]=0,s[8]=c,s[12]=0,s[1]=0,s[5]=l,s[9]=d,s[13]=0,s[2]=0,s[6]=0,s[10]=h,s[14]=u,s[3]=0,s[7]=0,s[11]=-1,s[15]=0,this}makeOrthographic(e,t,n,r,i,a){let s=this.elements,o=1/(t-e),l=1/(n-r),c=1/(a-i),d=(t+e)*o,h=(n+r)*l,u=(a+i)*c;return s[0]=2*o,s[4]=0,s[8]=0,s[12]=-d,s[1]=0,s[5]=2*l,s[9]=0,s[13]=-h,s[2]=0,s[6]=0,s[10]=-2*c,s[14]=-u,s[3]=0,s[7]=0,s[11]=0,s[15]=1,this}equals(e){let t=this.elements,n=e.elements;for(let r=0;r<16;r++)if(t[r]!==n[r])return!1;return!0}fromArray(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],e}},mP=new qM,gP=new fP,yP=new qM(0,0,0),vP=new qM(1,1,1),xP=new qM,SP=new qM,AP=new qM,bP=new fP,kP=new GM,wP=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:wP.DEFAULT_ORDER;this.isEuler=!0,this._x=e,this._y=t,this._z=n,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,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this._order;return this._x=e,this._y=t,this._z=n,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){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._order,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=e.elements,i=r[0],a=r[4],s=r[8],o=r[1],l=r[5],c=r[9],d=r[2],h=r[6],u=r[10];switch(t){case"XYZ":this._y=Math.asin(eM(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(-c,u),this._z=Math.atan2(-a,i)):(this._x=Math.atan2(h,l),this._z=0);break;case"YXZ":this._x=Math.asin(-eM(c,-1,1)),Math.abs(c)<.9999999?(this._y=Math.atan2(s,u),this._z=Math.atan2(o,l)):(this._y=Math.atan2(-d,i),this._z=0);break;case"ZXY":this._x=Math.asin(eM(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(-d,u),this._z=Math.atan2(-a,l)):(this._y=0,this._z=Math.atan2(o,i));break;case"ZYX":this._y=Math.asin(-eM(d,-1,1)),Math.abs(d)<.9999999?(this._x=Math.atan2(h,u),this._z=Math.atan2(o,i)):(this._x=0,this._z=Math.atan2(-a,l));break;case"YZX":this._z=Math.asin(eM(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-c,l),this._y=Math.atan2(-d,i)):(this._x=0,this._y=Math.atan2(s,u));break;case"XZY":this._z=Math.asin(-eM(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(h,l),this._y=Math.atan2(s,i)):(this._x=Math.atan2(-c,u),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,!0===n&&this._onChangeCallback(),this}setFromQuaternion(e,t,n){return bP.makeRotationFromQuaternion(e),this.setFromRotationMatrix(bP,t,n)}setFromVector3(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._order;return this.set(e.x,e.y,e.z,t)}reorder(e){return kP.setFromEuler(this),this.setFromQuaternion(kP,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],void 0!==e[3]&&(this._order=e[3]),this._onChangeCallback(),this}toArray(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]: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}};wP.DEFAULT_ORDER="XYZ";var jP=class{constructor(){this.mask=1}set(e){this.mask=(1<<e|0)>>>0}enable(e){this.mask|=1<<e|0}enableAll(){this.mask=-1}toggle(e){this.mask^=1<<e|0}disable(e){this.mask&=~(1<<e|0)}disableAll(){this.mask=0}test(e){return 0!==(this.mask&e.mask)}isEnabled(e){return 0!==(this.mask&(1<<e|0))}},MP=0,PP=new qM,OP=new GM,TP=new fP,IP=new qM,CP=new qM,EP=new qM,VP=new GM,RP=new qM(1,0,0),DP=new qM(0,1,0),BP=new qM(0,0,1),GP={type:"added"},qP={type:"removed"},HP=class extends Zj{constructor(){super(),this.isObject3D=!0,Object.defineProperty(this,"id",{value:MP++}),this.uuid=$j(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=HP.DEFAULT_UP.clone();let e=new qM,t=new wP,n=new GM,r=new qM(1,1,1);t._onChange((function(){n.setFromEuler(t,!1)})),n._onChange((function(){t.setFromQuaternion(n,void 0,!1)})),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:e},rotation:{configurable:!0,enumerable:!0,value:t},quaternion:{configurable:!0,enumerable:!0,value:n},scale:{configurable:!0,enumerable:!0,value:r},modelViewMatrix:{value:new fP},normalMatrix:{value:new dM}}),this.matrix=new fP,this.matrixWorld=new fP,this.matrixAutoUpdate=HP.DEFAULT_MATRIX_AUTO_UPDATE,this.matrixWorldNeedsUpdate=!1,this.matrixWorldAutoUpdate=HP.DEFAULT_MATRIX_WORLD_AUTO_UPDATE,this.layers=new jP,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.userData={}}onBeforeRender(){}onAfterRender(){}applyMatrix4(e){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(e),this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(e){return this.quaternion.premultiply(e),this}setRotationFromAxisAngle(e,t){this.quaternion.setFromAxisAngle(e,t)}setRotationFromEuler(e){this.quaternion.setFromEuler(e,!0)}setRotationFromMatrix(e){this.quaternion.setFromRotationMatrix(e)}setRotationFromQuaternion(e){this.quaternion.copy(e)}rotateOnAxis(e,t){return OP.setFromAxisAngle(e,t),this.quaternion.multiply(OP),this}rotateOnWorldAxis(e,t){return OP.setFromAxisAngle(e,t),this.quaternion.premultiply(OP),this}rotateX(e){return this.rotateOnAxis(RP,e)}rotateY(e){return this.rotateOnAxis(DP,e)}rotateZ(e){return this.rotateOnAxis(BP,e)}translateOnAxis(e,t){return PP.copy(e).applyQuaternion(this.quaternion),this.position.add(PP.multiplyScalar(t)),this}translateX(e){return this.translateOnAxis(RP,e)}translateY(e){return this.translateOnAxis(DP,e)}translateZ(e){return this.translateOnAxis(BP,e)}localToWorld(e){return this.updateWorldMatrix(!0,!1),e.applyMatrix4(this.matrixWorld)}worldToLocal(e){return this.updateWorldMatrix(!0,!1),e.applyMatrix4(TP.copy(this.matrixWorld).invert())}lookAt(e,t,n){e.isVector3?IP.copy(e):IP.set(e,t,n);let r=this.parent;this.updateWorldMatrix(!0,!1),CP.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?TP.lookAt(CP,IP,this.up):TP.lookAt(IP,CP,this.up),this.quaternion.setFromRotationMatrix(TP),r&&(TP.extractRotation(r.matrixWorld),OP.setFromRotationMatrix(TP),this.quaternion.premultiply(OP.invert()))}add(e){if(arguments.length>1){for(let e=0;e<arguments.length;e++)this.add(arguments[e]);return this}return e===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",e),this):(e&&e.isObject3D?(null!==e.parent&&e.parent.remove(e),e.parent=this,this.children.push(e),e.dispatchEvent(GP)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",e),this)}remove(e){if(arguments.length>1){for(let e=0;e<arguments.length;e++)this.remove(arguments[e]);return this}let t=this.children.indexOf(e);return-1!==t&&(e.parent=null,this.children.splice(t,1),e.dispatchEvent(qP)),this}removeFromParent(){let e=this.parent;return null!==e&&e.remove(this),this}clear(){for(let e=0;e<this.children.length;e++){let t=this.children[e];t.parent=null,t.dispatchEvent(qP)}return this.children.length=0,this}attach(e){return this.updateWorldMatrix(!0,!1),TP.copy(this.matrixWorld).invert(),null!==e.parent&&(e.parent.updateWorldMatrix(!0,!1),TP.multiply(e.parent.matrixWorld)),e.applyMatrix4(TP),this.add(e),e.updateWorldMatrix(!1,!0),this}getObjectById(e){return this.getObjectByProperty("id",e)}getObjectByName(e){return this.getObjectByProperty("name",e)}getObjectByProperty(e,t){if(this[e]===t)return this;for(let n=0,r=this.children.length;n<r;n++){let r=this.children[n].getObjectByProperty(e,t);if(void 0!==r)return r}}getObjectsByProperty(e,t){let n=[];this[e]===t&&n.push(this);for(let r=0,i=this.children.length;r<i;r++){let i=this.children[r].getObjectsByProperty(e,t);i.length>0&&(n=n.concat(i))}return n}getWorldPosition(e){return this.updateWorldMatrix(!0,!1),e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(CP,e,EP),e}getWorldScale(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(CP,VP,e),e}getWorldDirection(e){this.updateWorldMatrix(!0,!1);let t=this.matrixWorld.elements;return e.set(t[8],t[9],t[10]).normalize()}raycast(){}traverse(e){e(this);let t=this.children;for(let n=0,r=t.length;n<r;n++)t[n].traverse(e)}traverseVisible(e){if(!1===this.visible)return;e(this);let t=this.children;for(let n=0,r=t.length;n<r;n++)t[n].traverseVisible(e)}traverseAncestors(e){let t=this.parent;null!==t&&(e(t),t.traverseAncestors(e))}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0}updateMatrixWorld(e){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||e)&&(null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorldNeedsUpdate=!1,e=!0);let t=this.children;for(let n=0,r=t.length;n<r;n++){let r=t[n];(!0===r.matrixWorldAutoUpdate||!0===e)&&r.updateMatrixWorld(e)}}updateWorldMatrix(e,t){let n=this.parent;if(!0===e&&null!==n&&!0===n.matrixWorldAutoUpdate&&n.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),!0===t){let e=this.children;for(let t=0,n=e.length;t<n;t++){let n=e[t];!0===n.matrixWorldAutoUpdate&&n.updateWorldMatrix(!1,!0)}}}toJSON(e){let t=void 0===e||"string"==typeof e,n={};t&&(e={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{},nodes:{}},n.metadata={version:4.5,type:"Object",generator:"Object3D.toJSON"});let r={};function i(t,n){return void 0===t[n.uuid]&&(t[n.uuid]=n.toJSON(e)),n.uuid}if(r.uuid=this.uuid,r.type=this.type,""!==this.name&&(r.name=this.name),!0===this.castShadow&&(r.castShadow=!0),!0===this.receiveShadow&&(r.receiveShadow=!0),!1===this.visible&&(r.visible=!1),!1===this.frustumCulled&&(r.frustumCulled=!1),0!==this.renderOrder&&(r.renderOrder=this.renderOrder),Object.keys(this.userData).length>0&&(r.userData=this.userData),r.layers=this.layers.mask,r.matrix=this.matrix.toArray(),!1===this.matrixAutoUpdate&&(r.matrixAutoUpdate=!1),this.isInstancedMesh&&(r.type="InstancedMesh",r.count=this.count,r.instanceMatrix=this.instanceMatrix.toJSON(),null!==this.instanceColor&&(r.instanceColor=this.instanceColor.toJSON())),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&&!0!==this.environment.isRenderTargetTexture&&(r.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){r.geometry=i(e.geometries,this.geometry);let t=this.geometry.parameters;if(void 0!==t&&void 0!==t.shapes){let n=t.shapes;if(Array.isArray(n))for(let t=0,r=n.length;t<r;t++){let r=n[t];i(e.shapes,r)}else i(e.shapes,n)}}if(this.isSkinnedMesh&&(r.bindMode=this.bindMode,r.bindMatrix=this.bindMatrix.toArray(),void 0!==this.skeleton&&(i(e.skeletons,this.skeleton),r.skeleton=this.skeleton.uuid)),void 0!==this.material)if(Array.isArray(this.material)){let t=[];for(let n=0,r=this.material.length;n<r;n++)t.push(i(e.materials,this.material[n]));r.material=t}else r.material=i(e.materials,this.material);if(this.children.length>0){r.children=[];for(let t=0;t<this.children.length;t++)r.children.push(this.children[t].toJSON(e).object)}if(this.animations.length>0){r.animations=[];for(let t=0;t<this.animations.length;t++){let n=this.animations[t];r.animations.push(i(e.animations,n))}}if(t){let t=a(e.geometries),r=a(e.materials),i=a(e.textures),s=a(e.images),o=a(e.shapes),l=a(e.skeletons),c=a(e.animations),d=a(e.nodes);t.length>0&&(n.geometries=t),r.length>0&&(n.materials=r),i.length>0&&(n.textures=i),s.length>0&&(n.images=s),o.length>0&&(n.shapes=o),l.length>0&&(n.skeletons=l),c.length>0&&(n.animations=c),d.length>0&&(n.nodes=d)}return n.object=r,n;function a(e){let t=[];for(let n in e){let r=e[n];delete r.metadata,t.push(r)}return t}}clone(e){return(new this.constructor).copy(this,e)}copy(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];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.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,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.userData=JSON.parse(JSON.stringify(e.userData)),!0===t)for(let n=0;n<e.children.length;n++){let t=e.children[n];this.add(t.clone())}return this}};HP.DEFAULT_UP=new qM(0,1,0),HP.DEFAULT_MATRIX_AUTO_UPDATE=!0,HP.DEFAULT_MATRIX_WORLD_AUTO_UPDATE=!0;var WP=new qM,zP=new qM,JP=new qM,UP=new qM,NP=new qM,LP=new qM,YP=new qM,FP=new qM,ZP=new qM,KP=new qM,QP=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new qM,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new qM,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new qM;this.a=e,this.b=t,this.c=n}static getNormal(e,t,n,r){r.subVectors(n,t),WP.subVectors(e,t),r.cross(WP);let i=r.lengthSq();return i>0?r.multiplyScalar(1/Math.sqrt(i)):r.set(0,0,0)}static getBarycoord(e,t,n,r,i){WP.subVectors(r,t),zP.subVectors(n,t),JP.subVectors(e,t);let a=WP.dot(WP),s=WP.dot(zP),o=WP.dot(JP),l=zP.dot(zP),c=zP.dot(JP),d=a*l-s*s;if(0===d)return i.set(-2,-1,-1);let h=1/d,u=(l*o-s*c)*h,p=(a*c-s*o)*h;return i.set(1-u-p,p,u)}static containsPoint(e,t,n,r){return this.getBarycoord(e,t,n,r,UP),UP.x>=0&&UP.y>=0&&UP.x+UP.y<=1}static getUV(e,t,n,r,i,a,s,o){return this.getBarycoord(e,t,n,r,UP),o.set(0,0),o.addScaledVector(i,UP.x),o.addScaledVector(a,UP.y),o.addScaledVector(s,UP.z),o}static isFrontFacing(e,t,n,r){return WP.subVectors(n,t),zP.subVectors(e,t),WP.cross(zP).dot(r)<0}set(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this}setFromPointsAndIndices(e,t,n,r){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[r]),this}setFromAttributeAndIndices(e,t,n,r){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,n),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 WP.subVectors(this.c,this.b),zP.subVectors(this.a,this.b),.5*WP.cross(zP).length()}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return QP.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return QP.getBarycoord(e,this.a,this.b,this.c,t)}getUV(e,t,n,r,i){return QP.getUV(e,this.a,this.b,this.c,t,n,r,i)}containsPoint(e){return QP.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return QP.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){let n,r,i=this.a,a=this.b,s=this.c;NP.subVectors(a,i),LP.subVectors(s,i),FP.subVectors(e,i);let o=NP.dot(FP),l=LP.dot(FP);if(o<=0&&l<=0)return t.copy(i);ZP.subVectors(e,a);let c=NP.dot(ZP),d=LP.dot(ZP);if(c>=0&&d<=c)return t.copy(a);let h=o*d-c*l;if(h<=0&&o>=0&&c<=0)return n=o/(o-c),t.copy(i).addScaledVector(NP,n);KP.subVectors(e,s);let u=NP.dot(KP),p=LP.dot(KP);if(p>=0&&u<=p)return t.copy(s);let f=u*l-o*p;if(f<=0&&l>=0&&p<=0)return r=l/(l-p),t.copy(i).addScaledVector(LP,r);let m=c*p-u*d;if(m<=0&&d-c>=0&&u-p>=0)return YP.subVectors(s,a),r=(d-c)/(d-c+(u-p)),t.copy(a).addScaledVector(YP,r);let g=1/(m+f+h);return n=f*g,r=h*g,t.copy(i).addScaledVector(NP,n).addScaledVector(LP,r)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}},XP=0,_P=class extends Zj{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,"id",{value:XP++}),this.uuid=$j(),this.name="",this.type="Material",this.blending=Ek,this.side=Ok,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.blendSrc=Yk,this.blendDst=Fk,this.blendEquation=Gk,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=nw,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=519,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=Nj,this.stencilZFail=Nj,this.stencilZPass=Nj,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.forceSinglePass=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(e){this._alphaTest>0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(void 0!==e)for(let t in e){let n=e[t];if(void 0===n){console.warn("THREE.Material: '"+t+"' parameter is undefined.");continue}let r=this[t];void 0!==r?r&&r.isColor?r.set(n):r&&r.isVector3&&n&&n.isVector3?r.copy(n):this[t]=n:console.warn("THREE."+this.type+": '"+t+"' is not a property of this material.")}}toJSON(e){let t=void 0===e||"string"==typeof e;t&&(e={textures:{},images:{}});let n={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};function r(e){let t=[];for(let n in e){let r=e[n];delete r.metadata,t.push(r)}return t}if(n.uuid=this.uuid,n.type=this.type,""!==this.name&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),void 0!==this.roughness&&(n.roughness=this.roughness),void 0!==this.metalness&&(n.metalness=this.metalness),void 0!==this.sheen&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),void 0!==this.sheenRoughness&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),void 0!==this.shininess&&(n.shininess=this.shininess),void 0!==this.clearcoat&&(n.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),void 0!==this.iridescence&&(n.iridescence=this.iridescence),void 0!==this.iridescenceIOR&&(n.iridescenceIOR=this.iridescenceIOR),void 0!==this.iridescenceThicknessRange&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(e).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(e).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(e).uuid,void 0!==this.combine&&(n.combine=this.combine)),void 0!==this.envMapIntensity&&(n.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(n.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),void 0!==this.transmission&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid),void 0!==this.thickness&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid),void 0!==this.attenuationDistance&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(n.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(n.size=this.size),null!==this.shadowSide&&(n.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==Ek&&(n.blending=this.blending),this.side!==Ok&&(n.side=this.side),this.vertexColors&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),!0===this.transparent&&(n.transparent=this.transparent),n.depthFunc=this.depthFunc,n.depthTest=this.depthTest,n.depthWrite=this.depthWrite,n.colorWrite=this.colorWrite,n.stencilWrite=this.stencilWrite,n.stencilWriteMask=this.stencilWriteMask,n.stencilFunc=this.stencilFunc,n.stencilRef=this.stencilRef,n.stencilFuncMask=this.stencilFuncMask,n.stencilFail=this.stencilFail,n.stencilZFail=this.stencilZFail,n.stencilZPass=this.stencilZPass,void 0!==this.rotation&&0!==this.rotation&&(n.rotation=this.rotation),!0===this.polygonOffset&&(n.polygonOffset=!0),0!==this.polygonOffsetFactor&&(n.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(n.polygonOffsetUnits=this.polygonOffsetUnits),void 0!==this.linewidth&&1!==this.linewidth&&(n.linewidth=this.linewidth),void 0!==this.dashSize&&(n.dashSize=this.dashSize),void 0!==this.gapSize&&(n.gapSize=this.gapSize),void 0!==this.scale&&(n.scale=this.scale),!0===this.dithering&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),!0===this.alphaToCoverage&&(n.alphaToCoverage=this.alphaToCoverage),!0===this.premultipliedAlpha&&(n.premultipliedAlpha=this.premultipliedAlpha),!0===this.forceSinglePass&&(n.forceSinglePass=this.forceSinglePass),!0===this.wireframe&&(n.wireframe=this.wireframe),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(n.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(n.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(n.flatShading=this.flatShading),!1===this.visible&&(n.visible=!1),!1===this.toneMapped&&(n.toneMapped=!1),!1===this.fog&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData),t){let t=r(e.textures),i=r(e.images);t.length>0&&(n.textures=t),i.length>0&&(n.images=i)}return n}clone(){return(new this.constructor).copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.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;let t=e.clippingPlanes,n=null;if(null!==t){let e=t.length;n=new Array(e);for(let r=0;r!==e;++r)n[r]=t[r].clone()}return this.clippingPlanes=n,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.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){!0===e&&this.version++}},$P=class extends _P{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new MM(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=ow,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}},eO=new qM,tO=new cM,nO=class{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];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=void 0!==e?e.length/t:0,this.normalized=n,this.usage=Lj,this.updateRange={offset:0,count:-1},this.version=0}onUploadCallback(){}set needsUpdate(e){!0===e&&this.version++}setUsage(e){return this.usage=e,this}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}copyAt(e,t,n){e*=this.itemSize,n*=t.itemSize;for(let r=0,i=this.itemSize;r<i;r++)this.array[e+r]=t.array[n+r];return this}copyArray(e){return this.array.set(e),this}applyMatrix3(e){if(2===this.itemSize)for(let t=0,n=this.count;t<n;t++)tO.fromBufferAttribute(this,t),tO.applyMatrix3(e),this.setXY(t,tO.x,tO.y);else if(3===this.itemSize)for(let t=0,n=this.count;t<n;t++)eO.fromBufferAttribute(this,t),eO.applyMatrix3(e),this.setXYZ(t,eO.x,eO.y,eO.z);return this}applyMatrix4(e){for(let t=0,n=this.count;t<n;t++)eO.fromBufferAttribute(this,t),eO.applyMatrix4(e),this.setXYZ(t,eO.x,eO.y,eO.z);return this}applyNormalMatrix(e){for(let t=0,n=this.count;t<n;t++)eO.fromBufferAttribute(this,t),eO.applyNormalMatrix(e),this.setXYZ(t,eO.x,eO.y,eO.z);return this}transformDirection(e){for(let t=0,n=this.count;t<n;t++)eO.fromBufferAttribute(this,t),eO.transformDirection(e),this.setXYZ(t,eO.x,eO.y,eO.z);return this}set(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.array.set(e,t),this}getX(e){let t=this.array[e*this.itemSize];return this.normalized&&(t=sM(t,this.array)),t}setX(e,t){return this.normalized&&(t=oM(t,this.array)),this.array[e*this.itemSize]=t,this}getY(e){let t=this.array[e*this.itemSize+1];return this.normalized&&(t=sM(t,this.array)),t}setY(e,t){return this.normalized&&(t=oM(t,this.array)),this.array[e*this.itemSize+1]=t,this}getZ(e){let t=this.array[e*this.itemSize+2];return this.normalized&&(t=sM(t,this.array)),t}setZ(e,t){return this.normalized&&(t=oM(t,this.array)),this.array[e*this.itemSize+2]=t,this}getW(e){let t=this.array[e*this.itemSize+3];return this.normalized&&(t=sM(t,this.array)),t}setW(e,t){return this.normalized&&(t=oM(t,this.array)),this.array[e*this.itemSize+3]=t,this}setXY(e,t,n){return e*=this.itemSize,this.normalized&&(t=oM(t,this.array),n=oM(n,this.array)),this.array[e+0]=t,this.array[e+1]=n,this}setXYZ(e,t,n,r){return e*=this.itemSize,this.normalized&&(t=oM(t,this.array),n=oM(n,this.array),r=oM(r,this.array)),this.array[e+0]=t,this.array[e+1]=n,this.array[e+2]=r,this}setXYZW(e,t,n,r,i){return e*=this.itemSize,this.normalized&&(t=oM(t,this.array),n=oM(n,this.array),r=oM(r,this.array),i=oM(i,this.array)),this.array[e+0]=t,this.array[e+1]=n,this.array[e+2]=r,this.array[e+3]=i,this}onUpload(e){return this.onUploadCallback=e,this}clone(){return new this.constructor(this.array,this.itemSize).copy(this)}toJSON(){let e={itemSize:this.itemSize,type:this.array.constructor.name,array:Array.from(this.array),normalized:this.normalized};return""!==this.name&&(e.name=this.name),this.usage!==Lj&&(e.usage=this.usage),(0!==this.updateRange.offset||-1!==this.updateRange.count)&&(e.updateRange=this.updateRange),e}copyColorsArray(){console.error("THREE.BufferAttribute: copyColorsArray() was removed in r144.")}copyVector2sArray(){console.error("THREE.BufferAttribute: copyVector2sArray() was removed in r144.")}copyVector3sArray(){console.error("THREE.BufferAttribute: copyVector3sArray() was removed in r144.")}copyVector4sArray(){console.error("THREE.BufferAttribute: copyVector4sArray() was removed in r144.")}},rO=class extends nO{constructor(e,t,n){super(new Uint16Array(e),t,n)}},iO=class extends nO{constructor(e,t,n){super(new Uint32Array(e),t,n)}},aO=class extends nO{constructor(e,t,n){super(new Float32Array(e),t,n)}},sO=0,oO=new fP,lO=new HP,cO=new qM,dO=new zM,hO=new zM,uO=new qM,pO=class extends Zj{constructor(){super(),this.isBufferGeometry=!0,Object.defineProperty(this,"id",{value:sO++}),this.uuid=$j(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}getIndex(){return this.index}setIndex(e){return Array.isArray(e)?this.index=new(uM(e)?iO:rO)(e,1):this.index=e,this}getAttribute(e){return this.attributes[e]}setAttribute(e,t){return this.attributes[e]=t,this}deleteAttribute(e){return delete this.attributes[e],this}hasAttribute(e){return void 0!==this.attributes[e]}addGroup(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;this.groups.push({start:e,count:t,materialIndex:n})}clearGroups(){this.groups=[]}setDrawRange(e,t){this.drawRange.start=e,this.drawRange.count=t}applyMatrix4(e){let t=this.attributes.position;void 0!==t&&(t.applyMatrix4(e),t.needsUpdate=!0);let n=this.attributes.normal;if(void 0!==n){let t=(new dM).getNormalMatrix(e);n.applyNormalMatrix(t),n.needsUpdate=!0}let r=this.attributes.tangent;return void 0!==r&&(r.transformDirection(e),r.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this}applyQuaternion(e){return oO.makeRotationFromQuaternion(e),this.applyMatrix4(oO),this}rotateX(e){return oO.makeRotationX(e),this.applyMatrix4(oO),this}rotateY(e){return oO.makeRotationY(e),this.applyMatrix4(oO),this}rotateZ(e){return oO.makeRotationZ(e),this.applyMatrix4(oO),this}translate(e,t,n){return oO.makeTranslation(e,t,n),this.applyMatrix4(oO),this}scale(e,t,n){return oO.makeScale(e,t,n),this.applyMatrix4(oO),this}lookAt(e){return lO.lookAt(e),lO.updateMatrix(),this.applyMatrix4(lO.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(cO).negate(),this.translate(cO.x,cO.y,cO.z),this}setFromPoints(e){let t=[];for(let n=0,r=e.length;n<r;n++){let r=e[n];t.push(r.x,r.y,r.z||0)}return this.setAttribute("position",new aO(t,3)),this}computeBoundingBox(){null===this.boundingBox&&(this.boundingBox=new zM);let e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute)return console.error('THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set "mesh.frustumCulled" to "false".',this),void this.boundingBox.set(new qM(-1/0,-1/0,-1/0),new qM(1/0,1/0,1/0));if(void 0!==e){if(this.boundingBox.setFromBufferAttribute(e),t)for(let n=0,r=t.length;n<r;n++){let e=t[n];dO.setFromBufferAttribute(e),this.morphTargetsRelative?(uO.addVectors(this.boundingBox.min,dO.min),this.boundingBox.expandByPoint(uO),uO.addVectors(this.boundingBox.max,dO.max),this.boundingBox.expandByPoint(uO)):(this.boundingBox.expandByPoint(dO.min),this.boundingBox.expandByPoint(dO.max))}}else this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The "position" attribute is likely to have NaN values.',this)}computeBoundingSphere(){null===this.boundingSphere&&(this.boundingSphere=new aP);let e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute)return console.error('THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere. Alternatively set "mesh.frustumCulled" to "false".',this),void this.boundingSphere.set(new qM,1/0);if(e){let n=this.boundingSphere.center;if(dO.setFromBufferAttribute(e),t)for(let e=0,i=t.length;e<i;e++){let n=t[e];hO.setFromBufferAttribute(n),this.morphTargetsRelative?(uO.addVectors(dO.min,hO.min),dO.expandByPoint(uO),uO.addVectors(dO.max,hO.max),dO.expandByPoint(uO)):(dO.expandByPoint(hO.min),dO.expandByPoint(hO.max))}dO.getCenter(n);let r=0;for(let t=0,i=e.count;t<i;t++)uO.fromBufferAttribute(e,t),r=Math.max(r,n.distanceToSquared(uO));if(t)for(let i=0,a=t.length;i<a;i++){let a=t[i],s=this.morphTargetsRelative;for(let t=0,i=a.count;t<i;t++)uO.fromBufferAttribute(a,t),s&&(cO.fromBufferAttribute(e,t),uO.add(cO)),r=Math.max(r,n.distanceToSquared(uO))}this.boundingSphere.radius=Math.sqrt(r),isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',this)}}computeTangents(){let e=this.index,t=this.attributes;if(null===e||void 0===t.position||void 0===t.normal||void 0===t.uv)return void console.error("THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)");let n=e.array,r=t.position.array,i=t.normal.array,a=t.uv.array,s=r.length/3;!1===this.hasAttribute("tangent")&&this.setAttribute("tangent",new nO(new Float32Array(4*s),4));let o=this.getAttribute("tangent").array,l=[],c=[];for(let j=0;j<s;j++)l[j]=new qM,c[j]=new qM;let d=new qM,h=new qM,u=new qM,p=new cM,f=new cM,m=new cM,g=new qM,y=new qM;function v(e,t,n){d.fromArray(r,3*e),h.fromArray(r,3*t),u.fromArray(r,3*n),p.fromArray(a,2*e),f.fromArray(a,2*t),m.fromArray(a,2*n),h.sub(d),u.sub(d),f.sub(p),m.sub(p);let i=1/(f.x*m.y-m.x*f.y);!isFinite(i)||(g.copy(h).multiplyScalar(m.y).addScaledVector(u,-f.y).multiplyScalar(i),y.copy(u).multiplyScalar(f.x).addScaledVector(h,-m.x).multiplyScalar(i),l[e].add(g),l[t].add(g),l[n].add(g),c[e].add(y),c[t].add(y),c[n].add(y))}let x=this.groups;0===x.length&&(x=[{start:0,count:n.length}]);for(let j=0,M=x.length;j<M;++j){let e=x[j],t=e.start;for(let r=t,i=t+e.count;r<i;r+=3)v(n[r+0],n[r+1],n[r+2])}let S=new qM,A=new qM,b=new qM,k=new qM;function w(e){b.fromArray(i,3*e),k.copy(b);let t=l[e];S.copy(t),S.sub(b.multiplyScalar(b.dot(t))).normalize(),A.crossVectors(k,t);let n=A.dot(c[e])<0?-1:1;o[4*e]=S.x,o[4*e+1]=S.y,o[4*e+2]=S.z,o[4*e+3]=n}for(let j=0,M=x.length;j<M;++j){let e=x[j],t=e.start;for(let r=t,i=t+e.count;r<i;r+=3)w(n[r+0]),w(n[r+1]),w(n[r+2])}}computeVertexNormals(){let e=this.index,t=this.getAttribute("position");if(void 0!==t){let n=this.getAttribute("normal");if(void 0===n)n=new nO(new Float32Array(3*t.count),3),this.setAttribute("normal",n);else for(let e=0,t=n.count;e<t;e++)n.setXYZ(e,0,0,0);let r=new qM,i=new qM,a=new qM,s=new qM,o=new qM,l=new qM,c=new qM,d=new qM;if(e)for(let h=0,u=e.count;h<u;h+=3){let u=e.getX(h+0),p=e.getX(h+1),f=e.getX(h+2);r.fromBufferAttribute(t,u),i.fromBufferAttribute(t,p),a.fromBufferAttribute(t,f),c.subVectors(a,i),d.subVectors(r,i),c.cross(d),s.fromBufferAttribute(n,u),o.fromBufferAttribute(n,p),l.fromBufferAttribute(n,f),s.add(c),o.add(c),l.add(c),n.setXYZ(u,s.x,s.y,s.z),n.setXYZ(p,o.x,o.y,o.z),n.setXYZ(f,l.x,l.y,l.z)}else for(let e=0,h=t.count;e<h;e+=3)r.fromBufferAttribute(t,e+0),i.fromBufferAttribute(t,e+1),a.fromBufferAttribute(t,e+2),c.subVectors(a,i),d.subVectors(r,i),c.cross(d),n.setXYZ(e+0,c.x,c.y,c.z),n.setXYZ(e+1,c.x,c.y,c.z),n.setXYZ(e+2,c.x,c.y,c.z);this.normalizeNormals(),n.needsUpdate=!0}}merge(){return console.error("THREE.BufferGeometry.merge() has been removed. Use THREE.BufferGeometryUtils.mergeBufferGeometries() instead."),this}normalizeNormals(){let e=this.attributes.normal;for(let t=0,n=e.count;t<n;t++)uO.fromBufferAttribute(e,t),uO.normalize(),e.setXYZ(t,uO.x,uO.y,uO.z)}toNonIndexed(){function e(e,t){let n=e.array,r=e.itemSize,i=e.normalized,a=new n.constructor(t.length*r),s=0,o=0;for(let l=0,c=t.length;l<c;l++){s=e.isInterleavedBufferAttribute?t[l]*e.data.stride+e.offset:t[l]*r;for(let e=0;e<r;e++)a[o++]=n[s++]}return new nO(a,r,i)}if(null===this.index)return console.warn("THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed."),this;let t=new pO,n=this.index.array,r=this.attributes;for(let s in r){let i=e(r[s],n);t.setAttribute(s,i)}let i=this.morphAttributes;for(let s in i){let r=[],a=i[s];for(let t=0,i=a.length;t<i;t++){let i=e(a[t],n);r.push(i)}t.morphAttributes[s]=r}t.morphTargetsRelative=this.morphTargetsRelative;let a=this.groups;for(let s=0,o=a.length;s<o;s++){let e=a[s];t.addGroup(e.start,e.count,e.materialIndex)}return t}toJSON(){let e={metadata:{version:4.5,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};if(e.uuid=this.uuid,e.type=this.type,""!==this.name&&(e.name=this.name),Object.keys(this.userData).length>0&&(e.userData=this.userData),void 0!==this.parameters){let t=this.parameters;for(let n in t)void 0!==t[n]&&(e[n]=t[n]);return e}e.data={attributes:{}};let t=this.index;null!==t&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});let n=this.attributes;for(let o in n){let t=n[o];e.data.attributes[o]=t.toJSON(e.data)}let r={},i=!1;for(let o in this.morphAttributes){let t=this.morphAttributes[o],n=[];for(let r=0,i=t.length;r<i;r++){let i=t[r];n.push(i.toJSON(e.data))}n.length>0&&(r[o]=n,i=!0)}i&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);let a=this.groups;a.length>0&&(e.data.groups=JSON.parse(JSON.stringify(a)));let s=this.boundingSphere;return null!==s&&(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;let t={};this.name=e.name;let n=e.index;null!==n&&this.setIndex(n.clone(t));let r=e.attributes;for(let l in r){let e=r[l];this.setAttribute(l,e.clone(t))}let i=e.morphAttributes;for(let l in i){let e=[],n=i[l];for(let r=0,i=n.length;r<i;r++)e.push(n[r].clone(t));this.morphAttributes[l]=e}this.morphTargetsRelative=e.morphTargetsRelative;let a=e.groups;for(let l=0,c=a.length;l<c;l++){let e=a[l];this.addGroup(e.start,e.count,e.materialIndex)}let s=e.boundingBox;null!==s&&(this.boundingBox=s.clone());let o=e.boundingSphere;return null!==o&&(this.boundingSphere=o.clone()),this.drawRange.start=e.drawRange.start,this.drawRange.count=e.drawRange.count,this.userData=e.userData,void 0!==e.parameters&&(this.parameters=Object.assign({},e.parameters)),this}dispose(){this.dispatchEvent({type:"dispose"})}},fO=new fP,mO=new pP,gO=new aP,yO=new qM,vO=new qM,xO=new qM,SO=new qM,AO=new qM,bO=new cM,kO=new cM,wO=new cM,jO=new qM,MO=new qM,PO=class extends HP{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new pO,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new $P;super(),this.isMesh=!0,this.type="Mesh",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),void 0!==e.morphTargetInfluences&&(this.morphTargetInfluences=e.morphTargetInfluences.slice()),void 0!==e.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},e.morphTargetDictionary)),this.material=e.material,this.geometry=e.geometry,this}updateMorphTargets(){let e=this.geometry.morphAttributes,t=Object.keys(e);if(t.length>0){let n=e[t[0]];if(void 0!==n){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;e<t;e++){let t=n[e].name||String(e);this.morphTargetInfluences.push(0),this.morphTargetDictionary[t]=e}}}}getVertexPosition(e,t){let n=this.geometry,r=n.attributes.position,i=n.morphAttributes.position,a=n.morphTargetsRelative;t.fromBufferAttribute(r,e);let s=this.morphTargetInfluences;if(i&&s){AO.set(0,0,0);for(let n=0,r=i.length;n<r;n++){let r=s[n],o=i[n];0!==r&&(SO.fromBufferAttribute(o,e),a?AO.addScaledVector(SO,r):AO.addScaledVector(SO.sub(t),r))}t.add(AO)}return this.isSkinnedMesh&&this.boneTransform(e,t),t}raycast(e,t){let n=this.geometry,r=this.material,i=this.matrixWorld;if(void 0===r||(null===n.boundingSphere&&n.computeBoundingSphere(),gO.copy(n.boundingSphere),gO.applyMatrix4(i),!1===e.ray.intersectsSphere(gO))||(fO.copy(i).invert(),mO.copy(e.ray).applyMatrix4(fO),null!==n.boundingBox&&!1===mO.intersectsBox(n.boundingBox)))return;let a,s=n.index,o=n.attributes.position,l=n.attributes.uv,c=n.attributes.uv2,d=n.groups,h=n.drawRange;if(null!==s)if(Array.isArray(r))for(let u=0,p=d.length;u<p;u++){let n=d[u],i=r[n.materialIndex];for(let r=Math.max(n.start,h.start),o=Math.min(s.count,Math.min(n.start+n.count,h.start+h.count));r<o;r+=3){let o=s.getX(r),d=s.getX(r+1),h=s.getX(r+2);a=OO(this,i,e,mO,l,c,o,d,h),a&&(a.faceIndex=Math.floor(r/3),a.face.materialIndex=n.materialIndex,t.push(a))}}else{for(let n=Math.max(0,h.start),i=Math.min(s.count,h.start+h.count);n<i;n+=3){let i=s.getX(n),o=s.getX(n+1),d=s.getX(n+2);a=OO(this,r,e,mO,l,c,i,o,d),a&&(a.faceIndex=Math.floor(n/3),t.push(a))}}else if(void 0!==o)if(Array.isArray(r))for(let u=0,p=d.length;u<p;u++){let n=d[u],i=r[n.materialIndex];for(let r=Math.max(n.start,h.start),s=Math.min(o.count,Math.min(n.start+n.count,h.start+h.count));r<s;r+=3){a=OO(this,i,e,mO,l,c,r,r+1,r+2),a&&(a.faceIndex=Math.floor(r/3),a.face.materialIndex=n.materialIndex,t.push(a))}}else{for(let n=Math.max(0,h.start),i=Math.min(o.count,h.start+h.count);n<i;n+=3){a=OO(this,r,e,mO,l,c,n,n+1,n+2),a&&(a.faceIndex=Math.floor(n/3),t.push(a))}}}};function OO(e,t,n,r,i,a,s,o,l){e.getVertexPosition(s,yO),e.getVertexPosition(o,vO),e.getVertexPosition(l,xO);let c=function(e,t,n,r,i,a,s,o){let l;if(l=t.side===Tk?r.intersectTriangle(s,a,i,!0,o):r.intersectTriangle(i,a,s,t.side===Ok,o),null===l)return null;MO.copy(o),MO.applyMatrix4(e.matrixWorld);let c=n.ray.origin.distanceTo(MO);return c<n.near||c>n.far?null:{distance:c,point:MO.clone(),object:e}}(e,t,n,r,yO,vO,xO,jO);if(c){i&&(bO.fromBufferAttribute(i,s),kO.fromBufferAttribute(i,o),wO.fromBufferAttribute(i,l),c.uv=QP.getUV(jO,yO,vO,xO,bO,kO,wO,new cM)),a&&(bO.fromBufferAttribute(a,s),kO.fromBufferAttribute(a,o),wO.fromBufferAttribute(a,l),c.uv2=QP.getUV(jO,yO,vO,xO,bO,kO,wO,new cM));let e={a:s,b:o,c:l,normal:new qM,materialIndex:0};QP.getNormal(yO,vO,xO,e.normal),c.face=e}return c}var TO=class extends pO{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1;super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:n,widthSegments:r,heightSegments:i,depthSegments:a};let s=this;r=Math.floor(r),i=Math.floor(i),a=Math.floor(a);let o=[],l=[],c=[],d=[],h=0,u=0;function p(e,t,n,r,i,a,p,f,m,g,y){let v=a/m,x=p/g,S=a/2,A=p/2,b=f/2,k=m+1,w=g+1,j=0,M=0,P=new qM;for(let s=0;s<w;s++){let a=s*x-A;for(let o=0;o<k;o++){let h=o*v-S;P[e]=h*r,P[t]=a*i,P[n]=b,l.push(P.x,P.y,P.z),P[e]=0,P[t]=0,P[n]=f>0?1:-1,c.push(P.x,P.y,P.z),d.push(o/m),d.push(1-s/g),j+=1}}for(let s=0;s<g;s++)for(let e=0;e<m;e++){let t=h+e+k*s,n=h+e+k*(s+1),r=h+(e+1)+k*(s+1),i=h+(e+1)+k*s;o.push(t,n,i),o.push(n,r,i),M+=6}s.addGroup(u,M,y),u+=M,h+=j}p("z","y","x",-1,-1,n,t,e,a,i,0),p("z","y","x",1,-1,n,t,-e,a,i,1),p("x","z","y",1,1,e,n,t,r,a,2),p("x","z","y",1,-1,e,n,-t,r,a,3),p("x","y","z",1,-1,e,t,n,r,i,4),p("x","y","z",-1,-1,e,t,-n,r,i,5),this.setIndex(o),this.setAttribute("position",new aO(l,3)),this.setAttribute("normal",new aO(c,3)),this.setAttribute("uv",new aO(d,2))}static fromJSON(e){return new TO(e.width,e.height,e.depth,e.widthSegments,e.heightSegments,e.depthSegments)}};function IO(e){let t={};for(let n in e){t[n]={};for(let r in e[n]){let i=e[n][r];i&&(i.isColor||i.isMatrix3||i.isMatrix4||i.isVector2||i.isVector3||i.isVector4||i.isTexture||i.isQuaternion)?t[n][r]=i.clone():Array.isArray(i)?t[n][r]=i.slice():t[n][r]=i}}return t}function CO(e){let t={};for(let n=0;n<e.length;n++){let r=IO(e[n]);for(let e in r)t[e]=r[e]}return t}function EO(e){return null===e.getRenderTarget()&&e.outputEncoding===Gj?Jj:Uj}var VO={clone:IO,merge:CO},RO=class extends _P{constructor(e){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader="void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",this.fragmentShader="void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}",this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv2:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,void 0!==e&&this.setValues(e)}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=IO(e.uniforms),this.uniformsGroups=function(e){let t=[];for(let n=0;n<e.length;n++)t.push(e[n].clone());return t}(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){let t=super.toJSON(e);t.glslVersion=this.glslVersion,t.uniforms={};for(let r in this.uniforms){let n=this.uniforms[r].value;n&&n.isTexture?t.uniforms[r]={type:"t",value:n.toJSON(e).uuid}:n&&n.isColor?t.uniforms[r]={type:"c",value:n.getHex()}:n&&n.isVector2?t.uniforms[r]={type:"v2",value:n.toArray()}:n&&n.isVector3?t.uniforms[r]={type:"v3",value:n.toArray()}:n&&n.isVector4?t.uniforms[r]={type:"v4",value:n.toArray()}:n&&n.isMatrix3?t.uniforms[r]={type:"m3",value:n.toArray()}:n&&n.isMatrix4?t.uniforms[r]={type:"m4",value:n.toArray()}:t.uniforms[r]={value:n}}Object.keys(this.defines).length>0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader;let n={};for(let r in this.extensions)!0===this.extensions[r]&&(n[r]=!0);return Object.keys(n).length>0&&(t.extensions=n),t}},DO=class extends HP{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new fP,this.projectionMatrix=new fP,this.projectionMatrixInverse=new fP}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this}getWorldDirection(e){this.updateWorldMatrix(!0,!1);let t=this.matrixWorld.elements;return e.set(-t[8],-t[9],-t[10]).normalize()}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)}},BO=class extends DO{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:2e3;super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=n,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=null===e.view?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){let t=.5*this.getFilmHeight()/e;this.fov=2*_j*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){let e=Math.tan(.5*Xj*this.fov);return.5*this.getFilmHeight()/e}getEffectiveFOV(){return 2*_j*Math.atan(Math.tan(.5*Xj*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,t,n,r,i,a){this.aspect=e/t,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=r,this.view.width=i,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let e=this.near,t=e*Math.tan(.5*Xj*this.fov)/this.zoom,n=2*t,r=this.aspect*n,i=-.5*r,a=this.view;if(null!==this.view&&this.view.enabled){let e=a.fullWidth,s=a.fullHeight;i+=a.offsetX*r/e,t-=a.offsetY*n/s,r*=a.width/e,n*=a.height/s}let s=this.filmOffset;0!==s&&(i+=e*s/this.getFilmWidth()),this.projectionMatrix.makePerspective(i,i+r,t,t-n,e,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){let 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,null!==this.view&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}},GO=-90,qO=class extends HP{constructor(e,t,n){super(),this.type="CubeCamera",this.renderTarget=n;let r=new BO(GO,1,e,t);r.layers=this.layers,r.up.set(0,1,0),r.lookAt(1,0,0),this.add(r);let i=new BO(GO,1,e,t);i.layers=this.layers,i.up.set(0,1,0),i.lookAt(-1,0,0),this.add(i);let a=new BO(GO,1,e,t);a.layers=this.layers,a.up.set(0,0,-1),a.lookAt(0,1,0),this.add(a);let s=new BO(GO,1,e,t);s.layers=this.layers,s.up.set(0,0,1),s.lookAt(0,-1,0),this.add(s);let o=new BO(GO,1,e,t);o.layers=this.layers,o.up.set(0,1,0),o.lookAt(0,0,1),this.add(o);let l=new BO(GO,1,e,t);l.layers=this.layers,l.up.set(0,1,0),l.lookAt(0,0,-1),this.add(l)}update(e,t){null===this.parent&&this.updateMatrixWorld();let n=this.renderTarget,[r,i,a,s,o,l]=this.children,c=e.getRenderTarget(),d=e.toneMapping,h=e.xr.enabled;e.toneMapping=dw,e.xr.enabled=!1;let u=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,e.setRenderTarget(n,0),e.render(t,r),e.setRenderTarget(n,1),e.render(t,i),e.setRenderTarget(n,2),e.render(t,a),e.setRenderTarget(n,3),e.render(t,s),e.setRenderTarget(n,4),e.render(t,o),n.texture.generateMipmaps=u,e.setRenderTarget(n,5),e.render(t,l),e.setRenderTarget(c),e.toneMapping=d,e.xr.enabled=h,n.texture.needsPMREMUpdate=!0}},HO=class extends EM{constructor(e,t,n,r,i,a,s,o,l,c){super(e=void 0!==e?e:[],t=void 0!==t?t:gw,n,r,i,a,s,o,l,c),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}},WO=class extends RM{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e,e,t),this.isWebGLCubeRenderTarget=!0;let n={width:e,height:e,depth:1},r=[n,n,n,n,n,n];this.texture=new HO(r,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.encoding),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=void 0!==t.generateMipmaps&&t.generateMipmaps,this.texture.minFilter=void 0!==t.minFilter?t.minFilter:Pw}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.encoding=t.encoding,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;let n={tEquirect:{value:null}},r="\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include <begin_vertex>\n\t\t\t\t\t#include <project_vertex>\n\n\t\t\t\t}\n\t\t\t",i="\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include <common>\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t",a=new TO(5,5,5),s=new RO({name:"CubemapFromEquirect",uniforms:IO(n),vertexShader:r,fragmentShader:i,side:Tk,blending:Ck});s.uniforms.tEquirect.value=t;let o=new PO(a,s),l=t.minFilter;return t.minFilter===Tw&&(t.minFilter=Pw),new qO(1,10,this).update(e,o),t.minFilter=l,o.geometry.dispose(),o.material.dispose(),this}clear(e,t,n,r){let i=e.getRenderTarget();for(let a=0;a<6;a++)e.setRenderTarget(this,a),e.clear(t,n,r);e.setRenderTarget(i)}},zO=new qM,JO=new qM,UO=new dM,NO=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new qM(1,0,0),t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.isPlane=!0,this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,n,r){return this.normal.set(e,t,n),this.constant=r,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,n){let r=zO.subVectors(n,t).cross(JO.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(r,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){let 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(this.normal).multiplyScalar(-this.distanceToPoint(e)).add(e)}intersectLine(e,t){let n=e.delta(zO),r=this.normal.dot(n);if(0===r)return 0===this.distanceToPoint(e.start)?t.copy(e.start):null;let i=-(e.start.dot(this.normal)+this.constant)/r;return i<0||i>1?null:t.copy(n).multiplyScalar(i).add(e.start)}intersectsLine(e){let t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){let n=t||UO.getNormalMatrix(e),r=this.coplanarPoint(zO).applyMatrix4(e),i=this.normal.applyMatrix3(n).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)}},LO=new aP,YO=new qM,FO=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new NO,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new NO,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new NO,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new NO,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:new NO,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:new NO;this.planes=[e,t,n,r,i,a]}set(e,t,n,r,i,a){let s=this.planes;return s[0].copy(e),s[1].copy(t),s[2].copy(n),s[3].copy(r),s[4].copy(i),s[5].copy(a),this}copy(e){let t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e){let t=this.planes,n=e.elements,r=n[0],i=n[1],a=n[2],s=n[3],o=n[4],l=n[5],c=n[6],d=n[7],h=n[8],u=n[9],p=n[10],f=n[11],m=n[12],g=n[13],y=n[14],v=n[15];return t[0].setComponents(s-r,d-o,f-h,v-m).normalize(),t[1].setComponents(s+r,d+o,f+h,v+m).normalize(),t[2].setComponents(s+i,d+l,f+u,v+g).normalize(),t[3].setComponents(s-i,d-l,f-u,v-g).normalize(),t[4].setComponents(s-a,d-c,f-p,v-y).normalize(),t[5].setComponents(s+a,d+c,f+p,v+y).normalize(),this}intersectsObject(e){let t=e.geometry;return null===t.boundingSphere&&t.computeBoundingSphere(),LO.copy(t.boundingSphere).applyMatrix4(e.matrixWorld),this.intersectsSphere(LO)}intersectsSprite(e){return LO.center.set(0,0,0),LO.radius=.7071067811865476,LO.applyMatrix4(e.matrixWorld),this.intersectsSphere(LO)}intersectsSphere(e){let t=this.planes,n=e.center,r=-e.radius;for(let i=0;i<6;i++)if(t[i].distanceToPoint(n)<r)return!1;return!0}intersectsBox(e){let t=this.planes;for(let n=0;n<6;n++){let r=t[n];if(YO.x=r.normal.x>0?e.max.x:e.min.x,YO.y=r.normal.y>0?e.max.y:e.min.y,YO.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(YO)<0)return!1}return!0}containsPoint(e){let t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return(new this.constructor).copy(this)}};function ZO(){let e=null,t=!1,n=null,r=null;function i(t,a){n(t,a),r=e.requestAnimationFrame(i)}return{start:function(){!0!==t&&null!==n&&(r=e.requestAnimationFrame(i),t=!0)},stop:function(){e.cancelAnimationFrame(r),t=!1},setAnimationLoop:function(e){n=e},setContext:function(t){e=t}}}function KO(e,t){let n=t.isWebGL2,r=new WeakMap;return{get:function(e){return e.isInterleavedBufferAttribute&&(e=e.data),r.get(e)},remove:function(t){t.isInterleavedBufferAttribute&&(t=t.data);let n=r.get(t);n&&(e.deleteBuffer(n.buffer),r.delete(t))},update:function(t,i){if(t.isGLBufferAttribute){let e=r.get(t);return void((!e||e.version<t.version)&&r.set(t,{buffer:t.buffer,type:t.type,bytesPerElement:t.elementSize,version:t.version}))}t.isInterleavedBufferAttribute&&(t=t.data);let a=r.get(t);void 0===a?r.set(t,function(t,r){let i,a=t.array,s=t.usage,o=e.createBuffer();if(e.bindBuffer(r,o),e.bufferData(r,a,s),t.onUploadCallback(),a instanceof Float32Array)i=5126;else if(a instanceof Uint16Array)if(t.isFloat16BufferAttribute){if(!n)throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");i=5131}else i=5123;else if(a instanceof Int16Array)i=5122;else if(a instanceof Uint32Array)i=5125;else if(a instanceof Int32Array)i=5124;else if(a instanceof Int8Array)i=5120;else if(a instanceof Uint8Array)i=5121;else{if(!(a instanceof Uint8ClampedArray))throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+a);i=5121}return{buffer:o,type:i,bytesPerElement:a.BYTES_PER_ELEMENT,version:t.version}}(t,i)):a.version<t.version&&(function(t,r,i){let a=r.array,s=r.updateRange;e.bindBuffer(i,t),-1===s.count?e.bufferSubData(i,0,a):(n?e.bufferSubData(i,s.offset*a.BYTES_PER_ELEMENT,a,s.offset,s.count):e.bufferSubData(i,s.offset*a.BYTES_PER_ELEMENT,a.subarray(s.offset,s.offset+s.count)),s.count=-1),r.onUploadCallback()}(a.buffer,t,i),a.version=t.version)}}}var QO=class extends pO{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;super(),this.type="PlaneGeometry",this.parameters={width:e,height:t,widthSegments:n,heightSegments:r};let i=e/2,a=t/2,s=Math.floor(n),o=Math.floor(r),l=s+1,c=o+1,d=e/s,h=t/o,u=[],p=[],f=[],m=[];for(let g=0;g<c;g++){let e=g*h-a;for(let t=0;t<l;t++){let n=t*d-i;p.push(n,-e,0),f.push(0,0,1),m.push(t/s),m.push(1-g/o)}}for(let g=0;g<o;g++)for(let e=0;e<s;e++){let t=e+l*g,n=e+l*(g+1),r=e+1+l*(g+1),i=e+1+l*g;u.push(t,n,i),u.push(n,r,i)}this.setIndex(u),this.setAttribute("position",new aO(p,3)),this.setAttribute("normal",new aO(f,3)),this.setAttribute("uv",new aO(m,2))}static fromJSON(e){return new QO(e.width,e.height,e.widthSegments,e.heightSegments)}},XO={alphamap_fragment:"#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif",alphamap_pars_fragment:"#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",alphatest_fragment:"#ifdef USE_ALPHATEST\n\tif ( diffuseColor.a < alphaTest ) discard;\n#endif",alphatest_pars_fragment:"#ifdef USE_ALPHATEST\n\tuniform float alphaTest;\n#endif",aomap_fragment:"#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_ENVMAP ) && defined( STANDARD )\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness );\n\t#endif\n#endif",aomap_pars_fragment:"#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif",begin_vertex:"vec3 transformed = vec3( position );",beginnormal_vertex:"vec3 objectNormal = vec3( normal );\n#ifdef USE_TANGENT\n\tvec3 objectTangent = vec3( tangent.xyz );\n#endif",bsdfs:"vec3 BRDF_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n}\nfloat F_Schlick( const in float f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n}\nvec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {\n    float x = clamp( 1.0 - dotVH, 0.0, 1.0 );\n    float x2 = x * x;\n    float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );\n    return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 );\n}\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 f0, const in float f90, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( f0, f90, dotVH );\n\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( V * D );\n}\n#ifdef USE_IRIDESCENCE\n\tvec3 BRDF_GGX_Iridescence( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 f0, const in float f90, const in float iridescence, const in vec3 iridescenceFresnel, const in float roughness ) {\n\t\tfloat alpha = pow2( roughness );\n\t\tvec3 halfDir = normalize( lightDir + viewDir );\n\t\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\t\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\t\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\t\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\t\tvec3 F = mix( F_Schlick( f0, f90, dotVH ), iridescenceFresnel, iridescence );\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\t\tfloat D = D_GGX( alpha, dotNH );\n\t\treturn F * ( V * D );\n\t}\n#endif\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, 1.0, dotVH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie( float roughness, float dotNH ) {\n\tfloat alpha = pow2( roughness );\n\tfloat invAlpha = 1.0 / alpha;\n\tfloat cos2h = dotNH * dotNH;\n\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\n\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\n}\nfloat V_Neubelt( float dotNV, float dotNL ) {\n\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\n}\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat D = D_Charlie( sheenRoughness, dotNH );\n\tfloat V = V_Neubelt( dotNV, dotNL );\n\treturn sheenColor * ( D * V );\n}\n#endif",iridescence_fragment:"#ifdef USE_IRIDESCENCE\n\tconst mat3 XYZ_TO_REC709 = mat3(\n\t\t 3.2404542, -0.9692660,  0.0556434,\n\t\t-1.5371385,  1.8760108, -0.2040259,\n\t\t-0.4985314,  0.0415560,  1.0572252\n\t);\n\tvec3 Fresnel0ToIor( vec3 fresnel0 ) {\n\t\tvec3 sqrtF0 = sqrt( fresnel0 );\n\t\treturn ( vec3( 1.0 ) + sqrtF0 ) / ( vec3( 1.0 ) - sqrtF0 );\n\t}\n\tvec3 IorToFresnel0( vec3 transmittedIor, float incidentIor ) {\n\t\treturn pow2( ( transmittedIor - vec3( incidentIor ) ) / ( transmittedIor + vec3( incidentIor ) ) );\n\t}\n\tfloat IorToFresnel0( float transmittedIor, float incidentIor ) {\n\t\treturn pow2( ( transmittedIor - incidentIor ) / ( transmittedIor + incidentIor ));\n\t}\n\tvec3 evalSensitivity( float OPD, vec3 shift ) {\n\t\tfloat phase = 2.0 * PI * OPD * 1.0e-9;\n\t\tvec3 val = vec3( 5.4856e-13, 4.4201e-13, 5.2481e-13 );\n\t\tvec3 pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 );\n\t\tvec3 var = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 );\n\t\tvec3 xyz = val * sqrt( 2.0 * PI * var ) * cos( pos * phase + shift ) * exp( - pow2( phase ) * var );\n\t\txyz.x += 9.7470e-14 * sqrt( 2.0 * PI * 4.5282e+09 ) * cos( 2.2399e+06 * phase + shift[ 0 ] ) * exp( - 4.5282e+09 * pow2( phase ) );\n\t\txyz /= 1.0685e-7;\n\t\tvec3 rgb = XYZ_TO_REC709 * xyz;\n\t\treturn rgb;\n\t}\n\tvec3 evalIridescence( float outsideIOR, float eta2, float cosTheta1, float thinFilmThickness, vec3 baseF0 ) {\n\t\tvec3 I;\n\t\tfloat iridescenceIOR = mix( outsideIOR, eta2, smoothstep( 0.0, 0.03, thinFilmThickness ) );\n\t\tfloat sinTheta2Sq = pow2( outsideIOR / iridescenceIOR ) * ( 1.0 - pow2( cosTheta1 ) );\n\t\tfloat cosTheta2Sq = 1.0 - sinTheta2Sq;\n\t\tif ( cosTheta2Sq < 0.0 ) {\n\t\t\t return vec3( 1.0 );\n\t\t}\n\t\tfloat cosTheta2 = sqrt( cosTheta2Sq );\n\t\tfloat R0 = IorToFresnel0( iridescenceIOR, outsideIOR );\n\t\tfloat R12 = F_Schlick( R0, 1.0, cosTheta1 );\n\t\tfloat R21 = R12;\n\t\tfloat T121 = 1.0 - R12;\n\t\tfloat phi12 = 0.0;\n\t\tif ( iridescenceIOR < outsideIOR ) phi12 = PI;\n\t\tfloat phi21 = PI - phi12;\n\t\tvec3 baseIOR = Fresnel0ToIor( clamp( baseF0, 0.0, 0.9999 ) );\t\tvec3 R1 = IorToFresnel0( baseIOR, iridescenceIOR );\n\t\tvec3 R23 = F_Schlick( R1, 1.0, cosTheta2 );\n\t\tvec3 phi23 = vec3( 0.0 );\n\t\tif ( baseIOR[ 0 ] < iridescenceIOR ) phi23[ 0 ] = PI;\n\t\tif ( baseIOR[ 1 ] < iridescenceIOR ) phi23[ 1 ] = PI;\n\t\tif ( baseIOR[ 2 ] < iridescenceIOR ) phi23[ 2 ] = PI;\n\t\tfloat OPD = 2.0 * iridescenceIOR * thinFilmThickness * cosTheta2;\n\t\tvec3 phi = vec3( phi21 ) + phi23;\n\t\tvec3 R123 = clamp( R12 * R23, 1e-5, 0.9999 );\n\t\tvec3 r123 = sqrt( R123 );\n\t\tvec3 Rs = pow2( T121 ) * R23 / ( vec3( 1.0 ) - R123 );\n\t\tvec3 C0 = R12 + Rs;\n\t\tI = C0;\n\t\tvec3 Cm = Rs - T121;\n\t\tfor ( int m = 1; m <= 2; ++ m ) {\n\t\t\tCm *= r123;\n\t\t\tvec3 Sm = 2.0 * evalSensitivity( float( m ) * OPD, float( m ) * phi );\n\t\t\tI += Cm * Sm;\n\t\t}\n\t\treturn max( I, vec3( 0.0 ) );\n\t}\n#endif",bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\n\t\tvec3 vSigmaX = dFdx( surf_pos.xyz );\n\t\tvec3 vSigmaY = dFdy( surf_pos.xyz );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif",clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif",color_fragment:"#if defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#elif defined( USE_COLOR )\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR )\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif",color_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif",common:"#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nvec3 pow2( const in vec3 x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\nfloat average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract( sin( sn ) * c );\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat luminance( const in vec3 rgb ) {\n\tconst vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 );\n\treturn dot( weights, rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\thighp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tuv.x += filterInt * 3.0 * cubeUV_minTileSize;\n\t\tuv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize );\n\t\tuv.x *= CUBEUV_TEXEL_WIDTH;\n\t\tuv.y *= CUBEUV_TEXEL_HEIGHT;\n\t\t#ifdef texture2DGradEXT\n\t\t\treturn texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb;\n\t\t#else\n\t\t\treturn texture2D( envMap, uv ).rgb;\n\t\t#endif\n\t}\n\t#define cubeUV_r0 1.0\n\t#define cubeUV_v0 0.339\n\t#define cubeUV_m0 - 2.0\n\t#define cubeUV_r1 0.8\n\t#define cubeUV_v1 0.276\n\t#define cubeUV_m1 - 1.0\n\t#define cubeUV_r4 0.4\n\t#define cubeUV_v4 0.046\n\t#define cubeUV_m4 2.0\n\t#define cubeUV_r5 0.305\n\t#define cubeUV_v5 0.016\n\t#define cubeUV_m5 3.0\n\t#define cubeUV_r6 0.21\n\t#define cubeUV_v6 0.0038\n\t#define cubeUV_m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= cubeUV_r1 ) {\n\t\t\tmip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0;\n\t\t} else if ( roughness >= cubeUV_r4 ) {\n\t\t\tmip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1;\n\t\t} else if ( roughness >= cubeUV_r5 ) {\n\t\t\tmip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4;\n\t\t} else if ( roughness >= cubeUV_r6 ) {\n\t\t\tmip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif",defaultnormal_vertex:"vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",encodings_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",encodings_pars_fragment:"vec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn 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 );\n}",envmap_fragment:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif",envmap_common_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#if defined( USE_ENVMAP )\n\tvec3 getIBLIrradiance( const in vec3 normal ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 reflectVec = reflect( - viewDir, normal );\n\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t\treturn envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif",fog_vertex:"#ifdef USE_FOG\n\tvFogDepth = - mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float vFogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float vFogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif",gradientmap_pars_fragment:"#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn vec3( texture2D( gradientMap, coord ).r );\n\t#else\n\t\tvec2 fw = fwidth( coord ) * 0.5;\n\t\treturn mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\treflectedLight.indirectDiffuse += lightMapIrradiance;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_fragment:"LambertMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularStrength = specularStrength;",lights_lambert_pars_fragment:"varying vec3 vViewPosition;\nstruct LambertMaterial {\n\tvec3 diffuseColor;\n\tfloat specularStrength;\n};\nvoid RE_Direct_Lambert( const in IncidentLight directLight, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Lambert\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Lambert",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\n\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\treturn irradiance;\n}\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\t#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\tif ( cutoffDistance > 0.0 ) {\n\t\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\t}\n\t\treturn distanceFalloff;\n\t#else\n\t\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\t\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t\t}\n\t\treturn 1.0;\n\t#endif\n}\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\n\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tlight.color = directionalLight.color;\n\t\tlight.direction = directionalLight.direction;\n\t\tlight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tlight.color = pointLight.color;\n\t\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\n\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat angleCos = dot( light.direction, spotLight.direction );\n\t\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\tif ( spotAttenuation > 0.0 ) {\n\t\t\tfloat lightDistance = length( lVector );\n\t\t\tlight.color = spotLight.color * spotAttenuation;\n\t\t\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t\t} else {\n\t\t\tlight.color = vec3( 0.0 );\n\t\t\tlight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\n\t\tfloat dotNL = dot( normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\treturn irradiance;\n\t}\n#endif",lights_toon_fragment:"ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\nmaterial.roughness = min( material.roughness, 1.0 );\n#ifdef IOR\n\tmaterial.ior = ior;\n\t#ifdef SPECULAR\n\t\tfloat specularIntensityFactor = specularIntensity;\n\t\tvec3 specularColorFactor = specularColor;\n\t\t#ifdef USE_SPECULARINTENSITYMAP\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vUv ).a;\n\t\t#endif\n\t\t#ifdef USE_SPECULARCOLORMAP\n\t\t\tspecularColorFactor *= texture2D( specularColorMap, vUv ).rgb;\n\t\t#endif\n\t\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\n\t#else\n\t\tfloat specularIntensityFactor = 1.0;\n\t\tvec3 specularColorFactor = vec3( 1.0 );\n\t\tmaterial.specularF90 = 1.0;\n\t#endif\n\tmaterial.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.specularF90 = 1.0;\n#endif\n#ifdef USE_CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\tmaterial.clearcoatF0 = vec3( 0.04 );\n\tmaterial.clearcoatF90 = 1.0;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_IRIDESCENCE\n\tmaterial.iridescence = iridescence;\n\tmaterial.iridescenceIOR = iridescenceIOR;\n\t#ifdef USE_IRIDESCENCEMAP\n\t\tmaterial.iridescence *= texture2D( iridescenceMap, vUv ).r;\n\t#endif\n\t#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\t\tmaterial.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vUv ).g + iridescenceThicknessMinimum;\n\t#else\n\t\tmaterial.iridescenceThickness = iridescenceThicknessMaximum;\n\t#endif\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheenColor;\n\t#ifdef USE_SHEENCOLORMAP\n\t\tmaterial.sheenColor *= texture2D( sheenColorMap, vUv ).rgb;\n\t#endif\n\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\n\t#ifdef USE_SHEENROUGHNESSMAP\n\t\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vUv ).a;\n\t#endif\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat roughness;\n\tvec3 specularColor;\n\tfloat specularF90;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat clearcoat;\n\t\tfloat clearcoatRoughness;\n\t\tvec3 clearcoatF0;\n\t\tfloat clearcoatF90;\n\t#endif\n\t#ifdef USE_IRIDESCENCE\n\t\tfloat iridescence;\n\t\tfloat iridescenceIOR;\n\t\tfloat iridescenceThickness;\n\t\tvec3 iridescenceFresnel;\n\t\tvec3 iridescenceF0;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tvec3 sheenColor;\n\t\tfloat sheenRoughness;\n\t#endif\n\t#ifdef IOR\n\t\tfloat ior;\n\t#endif\n\t#ifdef USE_TRANSMISSION\n\t\tfloat transmission;\n\t\tfloat transmissionAlpha;\n\t\tfloat thickness;\n\t\tfloat attenuationDistance;\n\t\tvec3 attenuationColor;\n\t#endif\n};\nvec3 clearcoatSpecular = vec3( 0.0 );\nvec3 sheenSpecular = vec3( 0.0 );\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat r2 = roughness * roughness;\n\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\n\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\n\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\n\treturn saturate( DG * RECIPROCAL_PI );\n}\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\n\treturn fab;\n}\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\treturn specularColor * fab.x + specularF90 * fab.y;\n}\n#ifdef USE_IRIDESCENCE\nvoid 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 ) {\n#else\nvoid 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 ) {\n#endif\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\t#ifdef USE_IRIDESCENCE\n\t\tvec3 Fr = mix( specularColor, iridescenceF0, iridescence );\n\t#else\n\t\tvec3 Fr = specularColor;\n\t#endif\n\tvec3 FssEss = Fr * fab.x + specularF90 * fab.y;\n\tfloat Ess = fab.x + fab.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.roughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3(    0, 1,    0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\n\t\tclearcoatSpecular += ccIrradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );\n\t#endif\n\t#ifdef USE_IRIDESCENCE\n\t\treflectedLight.directSpecular += irradiance * BRDF_GGX_Iridescence( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness );\n\t#else\n\t\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.roughness );\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness );\n\t#endif\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\t#ifdef USE_IRIDESCENCE\n\t\tcomputeMultiscatteringIridescence( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );\n\t#else\n\t\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\n\t#endif\n\tvec3 totalScattering = singleScattering + multiScattering;\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );\n\treflectedLight.indirectSpecular += radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}",lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef USE_CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\n#ifdef USE_IRIDESCENCE\n\tfloat dotNVi = saturate( dot( normal, geometry.viewDir ) );\n\tif ( material.iridescenceThickness == 0.0 ) {\n\t\tmaterial.iridescence = 0.0;\n\t} else {\n\t\tmaterial.iridescence = saturate( material.iridescence );\n\t}\n\tif ( material.iridescence > 0.0 ) {\n\t\tmaterial.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\n\t\tmaterial.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\n\t}\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointLightInfo( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\tvec4 spotColor;\n\tvec3 spotLightCoord;\n\tbool inSpotLightMap;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotLightInfo( spotLight, geometry, directLight );\n\t\t#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX\n\t\t#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS\n\t\t#else\n\t\t#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#endif\n\t\t#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )\n\t\t\tspotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;\n\t\t\tinSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );\n\t\t\tspotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );\n\t\t\tdirectLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;\n\t\t#endif\n\t\t#undef SPOT_LIGHT_MAP_INDEX\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\t\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getIBLIrradiance( geometry.normal );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 sampledDiffuseColor = texture2D( map, vUv );\n\t#ifdef DECODE_VIDEO_TEXTURE\n\t\tsampledDiffuseColor = 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 );\n\t#endif\n\tdiffuseColor *= sampledDiffuseColor;\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n#endif\n#ifdef USE_MAP\n\tdiffuseColor *= texture2D( map, uv );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif",map_particle_pars_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tuniform mat3 uvTransform;\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphcolor_vertex:"#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE )\n\tvColor *= morphTargetBaseInfluence;\n\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t#if defined( USE_COLOR_ALPHA )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ];\n\t\t#elif defined( USE_COLOR )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];\n\t\t#endif\n\t}\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\t\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\t\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\t\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n\t#endif\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\n\t\tuniform sampler2DArray morphTargetsTexture;\n\t\tuniform ivec2 morphTargetsTextureSize;\n\t\tvec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {\n\t\t\tint texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;\n\t\t\tint y = texelIndex / morphTargetsTextureSize.x;\n\t\t\tint x = texelIndex - y * morphTargetsTextureSize.x;\n\t\t\tivec3 morphUV = ivec3( x, y, morphTargetIndex );\n\t\t\treturn texelFetch( morphTargetsTexture, morphUV, 0 );\n\t\t}\n\t#else\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\tuniform float morphTargetInfluences[ 8 ];\n\t\t#else\n\t\t\tuniform float morphTargetInfluences[ 4 ];\n\t\t#endif\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\t\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\t\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\t\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t\t#endif\n\t#endif\n#endif",normal_fragment_begin:"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n\tvec3 fdx = dFdx( vViewPosition );\n\tvec3 fdy = dFdy( vViewPosition );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\t#ifdef USE_TANGENT\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\ttangent = tangent * faceDirection;\n\t\t\tbitangent = bitangent * faceDirection;\n\t\t#endif\n\t\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\t\t#endif\n\t#endif\n#endif\nvec3 geometryNormal = normal;",normal_fragment_maps:"#ifdef OBJECTSPACE_NORMALMAP\n\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( TANGENTSPACE_NORMALMAP )\n\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\t#ifdef USE_TANGENT\n\t\tnormal = normalize( vTBN * mapN );\n\t#else\n\t\tnormal = perturbNormal2Arb( - vViewPosition, normal, mapN, faceDirection );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif",normal_pars_fragment:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_pars_vertex:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_vertex:"#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef OBJECTSPACE_NORMALMAP\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {\n\t\tvec3 q0 = dFdx( eye_pos.xyz );\n\t\tvec3 q1 = dFdy( eye_pos.xyz );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\n\t\treturn normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\t#ifdef USE_TANGENT\n\t\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\n\t#else\n\t\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );\n\t#endif\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif",iridescence_pars_fragment:"#ifdef USE_IRIDESCENCEMAP\n\tuniform sampler2D iridescenceMap;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform sampler2D iridescenceThicknessMap;\n#endif",output_fragment:"#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= material.transmissionAlpha + 0.1;\n#endif\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec2 packDepthToRG( in highp float v ) {\n\treturn packDepthToRGBA( v ).yx;\n}\nfloat unpackRGToDepth( const in highp vec2 v ) {\n\treturn unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#if NUM_SPOT_LIGHT_COORDS > 0\n  varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#if NUM_SPOT_LIGHT_MAPS > 0\n  uniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ];\n#endif\n#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;\n\t\tbool frustumTest = inFrustum && shadowCoord.z <= 1.0;\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t  f.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t  f.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif",shadowmap_pars_vertex:"#if NUM_SPOT_LIGHT_COORDS > 0\n  uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];\n  varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif",shadowmap_vertex:"#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 )\n\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\tvec4 shadowWorldPosition;\n#endif\n#if defined( USE_SHADOWMAP )\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if NUM_SPOT_LIGHT_COORDS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition;\n\t\t#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t\tshadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;\n\t\t#endif\n\t\tvSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n#endif",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}",skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\tuniform highp sampler2D boneTexture;\n\tuniform int boneTextureSize;\n\tmat4 getBoneMatrix( const in float i ) {\n\t\tfloat j = i * 4.0;\n\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\ty = dy * ( y + 0.5 );\n\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\treturn bone;\n\t}\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3(  1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108,  1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605,  1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmission_fragment:"#ifdef USE_TRANSMISSION\n\tmaterial.transmission = transmission;\n\tmaterial.transmissionAlpha = 1.0;\n\tmaterial.thickness = thickness;\n\tmaterial.attenuationDistance = attenuationDistance;\n\tmaterial.attenuationColor = attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tmaterial.transmission *= texture2D( transmissionMap, vUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tmaterial.thickness *= texture2D( thicknessMap, vUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\n\tvec4 transmission = getIBLVolumeRefraction(\n\t\tn, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness,\n\t\tmaterial.attenuationColor, material.attenuationDistance );\n\tmaterial.transmissionAlpha = mix( material.transmissionAlpha, transmission.a, material.transmission );\n\ttotalDiffuse = mix( totalDiffuse, transmission.rgb, material.transmission );\n#endif",transmission_pars_fragment:"#ifdef USE_TRANSMISSION\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform float attenuationDistance;\n\tuniform vec3 attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tuniform sampler2D transmissionMap;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tuniform sampler2D thicknessMap;\n\t#endif\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\tvarying vec3 vWorldPosition;\n\tvec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) {\n\t\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\n\t\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\n\t\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\n\t\treturn normalize( refractionVector ) * thickness * modelScale;\n\t}\n\tfloat applyIorToRoughness( const in float roughness, const in float ior ) {\n\t\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n\t}\n\tvec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {\n\t\tfloat framebufferLod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\t#ifdef texture2DLodEXT\n\t\t\treturn texture2DLodEXT( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n\t\t#else\n\t\t\treturn texture2D( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n\t\t#endif\n\t}\n\tvec3 applyVolumeAttenuation( const in vec3 radiance, const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tif ( isinf( attenuationDistance ) ) {\n\t\t\treturn radiance;\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\t\t\treturn transmittance * radiance;\n\t\t}\n\t}\n\tvec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor,\n\t\tconst in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix,\n\t\tconst in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness,\n\t\tconst in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\n\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\trefractionCoords += 1.0;\n\t\trefractionCoords /= 2.0;\n\t\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\n\t\tvec3 attenuatedColor = applyVolumeAttenuation( transmittedLight.rgb, length( transmissionRay ), attenuationColor, attenuationDistance );\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a );\n\t}\n#endif",uv_pars_fragment:"#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\n\tvarying vec2 vUv;\n#endif",uv_pars_vertex:"#ifdef USE_UV\n\t#ifdef UVS_VERTEX_ONLY\n\t\tvec2 vUv;\n\t#else\n\t\tvarying vec2 vUv;\n\t#endif\n\tuniform mat3 uvTransform;\n#endif",uv_vertex:"#ifdef USE_UV\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif",uv2_pars_fragment:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif",uv2_pars_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n\tuniform mat3 uv2Transform;\n#endif",uv2_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}",background_frag:"uniform sampler2D t2D;\nuniform float backgroundIntensity;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\t#ifdef DECODE_VIDEO_TEXTURE\n\t\ttexColor = 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 );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",backgroundCube_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\n}",backgroundCube_frag:"#ifdef ENVMAP_TYPE_CUBE\n\tuniform samplerCube envMap;\n#elif defined( ENVMAP_TYPE_CUBE_UV )\n\tuniform sampler2D envMap;\n#endif\nuniform float flipEnvMap;\nuniform float backgroundBlurriness;\nuniform float backgroundIntensity;\nvarying vec3 vWorldDirection;\n#include <cube_uv_reflection_fragment>\nvoid main() {\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness );\n\t#else\n\t\tvec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",cube_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\n}",cube_frag:"uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldDirection;\nvoid main() {\n\tvec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\n\tgl_FragColor = texColor;\n\tgl_FragColor.a *= opacity;\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",depth_vert:"#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvHighPrecisionZW = gl_Position.zw;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <logdepthbuf_fragment>\n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\tvWorldPosition = worldPosition.xyz;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main () {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",equirect_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <color_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}",meshbasic_vert:"#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinbase_vertex>\n\t\t#include <skinnormal_vertex>\n\t\t#include <defaultnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <fog_vertex>\n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\t\treflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include <aomap_fragment>\n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include <envmap_fragment>\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshlambert_frag:"#define LAMBERT\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_lambert_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_lambert_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <color_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n\tvViewPosition = - mvPosition.xyz;\n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <fog_pars_fragment>\n#include <normal_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t#else\n\t\tvec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshnormal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",meshnormal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#include <packing>\n#include <uv_pars_fragment>\n#include <normal_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\t#include <logdepthbuf_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n\t#ifdef OPAQUE\n\t\tgl_FragColor.a = 1.0;\n\t#endif\n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_phong_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_phong_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n\tvarying vec3 vWorldPosition;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition.xyz;\n#endif\n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define IOR\n\t#define SPECULAR\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef IOR\n\tuniform float ior;\n#endif\n#ifdef SPECULAR\n\tuniform float specularIntensity;\n\tuniform vec3 specularColor;\n\t#ifdef USE_SPECULARINTENSITYMAP\n\t\tuniform sampler2D specularIntensityMap;\n\t#endif\n\t#ifdef USE_SPECULARCOLORMAP\n\t\tuniform sampler2D specularColorMap;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_IRIDESCENCE\n\tuniform float iridescence;\n\tuniform float iridescenceIOR;\n\tuniform float iridescenceThicknessMinimum;\n\tuniform float iridescenceThicknessMaximum;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheenColor;\n\tuniform float sheenRoughness;\n\t#ifdef USE_SHEENCOLORMAP\n\t\tuniform sampler2D sheenColorMap;\n\t#endif\n\t#ifdef USE_SHEENROUGHNESSMAP\n\t\tuniform sampler2D sheenRoughnessMap;\n\t#endif\n#endif\nvarying vec3 vViewPosition;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <bsdfs>\n#include <iridescence_fragment>\n#include <cube_uv_reflection_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_physical_pars_fragment>\n#include <fog_pars_fragment>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_physical_pars_fragment>\n#include <transmission_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <clearcoat_pars_fragment>\n#include <iridescence_pars_fragment>\n#include <roughnessmap_pars_fragment>\n#include <metalnessmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <roughnessmap_fragment>\n\t#include <metalnessmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <clearcoat_normal_fragment_begin>\n\t#include <clearcoat_normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_physical_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include <transmission_fragment>\n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\t#ifdef USE_SHEEN\n\t\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\n\t\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n\t\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat;\n\t#endif\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <gradientmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_toon_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_toon_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",points_vert:"uniform float size;\nuniform float scale;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <fog_vertex>\n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <color_pars_fragment>\n#include <map_particle_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_particle_fragment>\n\t#include <color_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}",shadow_vert:"#include <common>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\nvoid main() {\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include <common>\n#include <uv_pars_vertex>\n#include <fog_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}"},_O={common:{diffuse:{value:new MM(16777215)},opacity:{value:1},map:{value:null},uvTransform:{value:new dM},uv2Transform:{value:new dM},alphaMap:{value:null},alphaTest:{value:0}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new cM(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new MM(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 MM(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new dM}},sprite:{diffuse:{value:new MM(16777215)},opacity:{value:1},center:{value:new cM(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new dM}}},$O={basic:{uniforms:CO([_O.common,_O.specularmap,_O.envmap,_O.aomap,_O.lightmap,_O.fog]),vertexShader:XO.meshbasic_vert,fragmentShader:XO.meshbasic_frag},lambert:{uniforms:CO([_O.common,_O.specularmap,_O.envmap,_O.aomap,_O.lightmap,_O.emissivemap,_O.bumpmap,_O.normalmap,_O.displacementmap,_O.fog,_O.lights,{emissive:{value:new MM(0)}}]),vertexShader:XO.meshlambert_vert,fragmentShader:XO.meshlambert_frag},phong:{uniforms:CO([_O.common,_O.specularmap,_O.envmap,_O.aomap,_O.lightmap,_O.emissivemap,_O.bumpmap,_O.normalmap,_O.displacementmap,_O.fog,_O.lights,{emissive:{value:new MM(0)},specular:{value:new MM(1118481)},shininess:{value:30}}]),vertexShader:XO.meshphong_vert,fragmentShader:XO.meshphong_frag},standard:{uniforms:CO([_O.common,_O.envmap,_O.aomap,_O.lightmap,_O.emissivemap,_O.bumpmap,_O.normalmap,_O.displacementmap,_O.roughnessmap,_O.metalnessmap,_O.fog,_O.lights,{emissive:{value:new MM(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:XO.meshphysical_vert,fragmentShader:XO.meshphysical_frag},toon:{uniforms:CO([_O.common,_O.aomap,_O.lightmap,_O.emissivemap,_O.bumpmap,_O.normalmap,_O.displacementmap,_O.gradientmap,_O.fog,_O.lights,{emissive:{value:new MM(0)}}]),vertexShader:XO.meshtoon_vert,fragmentShader:XO.meshtoon_frag},matcap:{uniforms:CO([_O.common,_O.bumpmap,_O.normalmap,_O.displacementmap,_O.fog,{matcap:{value:null}}]),vertexShader:XO.meshmatcap_vert,fragmentShader:XO.meshmatcap_frag},points:{uniforms:CO([_O.points,_O.fog]),vertexShader:XO.points_vert,fragmentShader:XO.points_frag},dashed:{uniforms:CO([_O.common,_O.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:XO.linedashed_vert,fragmentShader:XO.linedashed_frag},depth:{uniforms:CO([_O.common,_O.displacementmap]),vertexShader:XO.depth_vert,fragmentShader:XO.depth_frag},normal:{uniforms:CO([_O.common,_O.bumpmap,_O.normalmap,_O.displacementmap,{opacity:{value:1}}]),vertexShader:XO.meshnormal_vert,fragmentShader:XO.meshnormal_frag},sprite:{uniforms:CO([_O.sprite,_O.fog]),vertexShader:XO.sprite_vert,fragmentShader:XO.sprite_frag},background:{uniforms:{uvTransform:{value:new dM},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:XO.background_vert,fragmentShader:XO.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:XO.backgroundCube_vert,fragmentShader:XO.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:XO.cube_vert,fragmentShader:XO.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:XO.equirect_vert,fragmentShader:XO.equirect_frag},distanceRGBA:{uniforms:CO([_O.common,_O.displacementmap,{referencePosition:{value:new qM},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:XO.distanceRGBA_vert,fragmentShader:XO.distanceRGBA_frag},shadow:{uniforms:CO([_O.lights,_O.fog,{color:{value:new MM(0)},opacity:{value:1}}]),vertexShader:XO.shadow_vert,fragmentShader:XO.shadow_frag}};$O.physical={uniforms:CO([$O.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatNormalScale:{value:new cM(1,1)},clearcoatNormalMap:{value:null},iridescence:{value:0},iridescenceMap:{value:null},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},sheen:{value:0},sheenColor:{value:new MM(0)},sheenColorMap:{value:null},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},transmission:{value:0},transmissionMap:{value:null},transmissionSamplerSize:{value:new cM},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},attenuationDistance:{value:0},attenuationColor:{value:new MM(0)},specularIntensity:{value:1},specularIntensityMap:{value:null},specularColor:{value:new MM(1,1,1)},specularColorMap:{value:null}}]),vertexShader:XO.meshphysical_vert,fragmentShader:XO.meshphysical_frag};var eT={r:0,b:0,g:0};function tT(e,t,n,r,i,a,s){let o,l,c=new MM(0),d=!0===a?0:1,h=null,u=0,p=null;function f(t,n){t.getRGB(eT,EO(e)),r.buffers.color.setClear(eT.r,eT.g,eT.b,n,s)}return{getClearColor:function(){return c},setClearColor:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;c.set(e),d=t,f(c,d)},getClearAlpha:function(){return d},setClearAlpha:function(e){d=e,f(c,d)},render:function(r,a){let s=!1,m=!0===a.isScene?a.background:null;m&&m.isTexture&&(m=(a.backgroundBlurriness>0?n:t).get(m));let g=e.xr,y=g.getSession&&g.getSession();y&&"additive"===y.environmentBlendMode&&(m=null),null===m?f(c,d):m&&m.isColor&&(f(m,1),s=!0),(e.autoClear||s)&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),m&&(m.isCubeTexture||m.mapping===Sw)?(void 0===l&&(l=new PO(new TO(1,1,1),new RO({name:"BackgroundCubeMaterial",uniforms:IO($O.backgroundCube.uniforms),vertexShader:$O.backgroundCube.vertexShader,fragmentShader:$O.backgroundCube.fragmentShader,side:Tk,depthTest:!1,depthWrite:!1,fog:!1})),l.geometry.deleteAttribute("normal"),l.geometry.deleteAttribute("uv"),l.onBeforeRender=function(e,t,n){this.matrixWorld.copyPosition(n.matrixWorld)},Object.defineProperty(l.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(l)),l.material.uniforms.envMap.value=m,l.material.uniforms.flipEnvMap.value=m.isCubeTexture&&!1===m.isRenderTargetTexture?-1:1,l.material.uniforms.backgroundBlurriness.value=a.backgroundBlurriness,l.material.uniforms.backgroundIntensity.value=a.backgroundIntensity,l.material.toneMapped=m.encoding!==Gj,(h!==m||u!==m.version||p!==e.toneMapping)&&(l.material.needsUpdate=!0,h=m,u=m.version,p=e.toneMapping),l.layers.enableAll(),r.unshift(l,l.geometry,l.material,0,0,null)):m&&m.isTexture&&(void 0===o&&(o=new PO(new QO(2,2),new RO({name:"BackgroundMaterial",uniforms:IO($O.background.uniforms),vertexShader:$O.background.vertexShader,fragmentShader:$O.background.fragmentShader,side:Ok,depthTest:!1,depthWrite:!1,fog:!1})),o.geometry.deleteAttribute("normal"),Object.defineProperty(o.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(o)),o.material.uniforms.t2D.value=m,o.material.uniforms.backgroundIntensity.value=a.backgroundIntensity,o.material.toneMapped=m.encoding!==Gj,!0===m.matrixAutoUpdate&&m.updateMatrix(),o.material.uniforms.uvTransform.value.copy(m.matrix),(h!==m||u!==m.version||p!==e.toneMapping)&&(o.material.needsUpdate=!0,h=m,u=m.version,p=e.toneMapping),o.layers.enableAll(),r.unshift(o,o.geometry,o.material,0,0,null))}}}function nT(e,t,n,r){let i=e.getParameter(34921),a=r.isWebGL2?null:t.get("OES_vertex_array_object"),s=r.isWebGL2||null!==a,o={},l=p(null),c=l,d=!1;function h(t){return r.isWebGL2?e.bindVertexArray(t):a.bindVertexArrayOES(t)}function u(t){return r.isWebGL2?e.deleteVertexArray(t):a.deleteVertexArrayOES(t)}function p(e){let t=[],n=[],r=[];for(let a=0;a<i;a++)t[a]=0,n[a]=0,r[a]=0;return{geometry:null,program:null,wireframe:!1,newAttributes:t,enabledAttributes:n,attributeDivisors:r,object:e,attributes:{},index:null}}function f(){let e=c.newAttributes;for(let t=0,n=e.length;t<n;t++)e[t]=0}function m(e){g(e,0)}function g(n,i){let a=c.newAttributes,s=c.enabledAttributes,o=c.attributeDivisors;a[n]=1,0===s[n]&&(e.enableVertexAttribArray(n),s[n]=1),o[n]!==i&&((r.isWebGL2?e:t.get("ANGLE_instanced_arrays"))[r.isWebGL2?"vertexAttribDivisor":"vertexAttribDivisorANGLE"](n,i),o[n]=i)}function y(){let t=c.newAttributes,n=c.enabledAttributes;for(let r=0,i=n.length;r<i;r++)n[r]!==t[r]&&(e.disableVertexAttribArray(r),n[r]=0)}function v(t,n,i,a,s,o){!0!==r.isWebGL2||5124!==i&&5125!==i?e.vertexAttribPointer(t,n,i,a,s,o):e.vertexAttribIPointer(t,n,i,s,o)}function x(){S(),d=!0,c!==l&&(c=l,h(c.object))}function S(){l.geometry=null,l.program=null,l.wireframe=!1}return{setup:function(i,l,u,x,S){let A=!1;if(s){let t=function(t,n,i){let s=!0===i.wireframe,l=o[t.id];void 0===l&&(l={},o[t.id]=l);let c=l[n.id];void 0===c&&(c={},l[n.id]=c);let d=c[s];return void 0===d&&(d=p(r.isWebGL2?e.createVertexArray():a.createVertexArrayOES()),c[s]=d),d}(x,u,l);c!==t&&(c=t,h(c.object)),A=function(e,t,n,r){let i=c.attributes,a=t.attributes,s=0,o=n.getAttributes();for(let l in o)if(o[l].location>=0){let t=i[l],n=a[l];if(void 0===n&&("instanceMatrix"===l&&e.instanceMatrix&&(n=e.instanceMatrix),"instanceColor"===l&&e.instanceColor&&(n=e.instanceColor)),void 0===t||t.attribute!==n||n&&t.data!==n.data)return!0;s++}return c.attributesNum!==s||c.index!==r}(i,x,u,S),A&&function(e,t,n,r){let i={},a=t.attributes,s=0,o=n.getAttributes();for(let l in o)if(o[l].location>=0){let t=a[l];void 0===t&&("instanceMatrix"===l&&e.instanceMatrix&&(t=e.instanceMatrix),"instanceColor"===l&&e.instanceColor&&(t=e.instanceColor));let n={};n.attribute=t,t&&t.data&&(n.data=t.data),i[l]=n,s++}c.attributes=i,c.attributesNum=s,c.index=r}(i,x,u,S)}else{let e=!0===l.wireframe;(c.geometry!==x.id||c.program!==u.id||c.wireframe!==e)&&(c.geometry=x.id,c.program=u.id,c.wireframe=e,A=!0)}null!==S&&n.update(S,34963),(A||d)&&(d=!1,function(i,a,s,o){if(!1===r.isWebGL2&&(i.isInstancedMesh||o.isInstancedBufferGeometry)&&null===t.get("ANGLE_instanced_arrays"))return;f();let l=o.attributes,c=s.getAttributes(),d=a.defaultAttributeValues;for(let t in c){let r=c[t];if(r.location>=0){let a=l[t];if(void 0===a&&("instanceMatrix"===t&&i.instanceMatrix&&(a=i.instanceMatrix),"instanceColor"===t&&i.instanceColor&&(a=i.instanceColor)),void 0!==a){let t=a.normalized,s=a.itemSize,l=n.get(a);if(void 0===l)continue;let c=l.buffer,d=l.type,h=l.bytesPerElement;if(a.isInterleavedBufferAttribute){let n=a.data,l=n.stride,u=a.offset;if(n.isInstancedInterleavedBuffer){for(let e=0;e<r.locationSize;e++)g(r.location+e,n.meshPerAttribute);!0!==i.isInstancedMesh&&void 0===o._maxInstanceCount&&(o._maxInstanceCount=n.meshPerAttribute*n.count)}else for(let e=0;e<r.locationSize;e++)m(r.location+e);e.bindBuffer(34962,c);for(let e=0;e<r.locationSize;e++)v(r.location+e,s/r.locationSize,d,t,l*h,(u+s/r.locationSize*e)*h)}else{if(a.isInstancedBufferAttribute){for(let e=0;e<r.locationSize;e++)g(r.location+e,a.meshPerAttribute);!0!==i.isInstancedMesh&&void 0===o._maxInstanceCount&&(o._maxInstanceCount=a.meshPerAttribute*a.count)}else for(let e=0;e<r.locationSize;e++)m(r.location+e);e.bindBuffer(34962,c);for(let e=0;e<r.locationSize;e++)v(r.location+e,s/r.locationSize,d,t,s*h,s/r.locationSize*e*h)}}else if(void 0!==d){let n=d[t];if(void 0!==n)switch(n.length){case 2:e.vertexAttrib2fv(r.location,n);break;case 3:e.vertexAttrib3fv(r.location,n);break;case 4:e.vertexAttrib4fv(r.location,n);break;default:e.vertexAttrib1fv(r.location,n)}}}}y()}(i,l,u,x),null!==S&&e.bindBuffer(34963,n.get(S).buffer))},reset:x,resetDefaultState:S,dispose:function(){x();for(let e in o){let t=o[e];for(let e in t){let n=t[e];for(let e in n)u(n[e].object),delete n[e];delete t[e]}delete o[e]}},releaseStatesOfGeometry:function(e){if(void 0===o[e.id])return;let t=o[e.id];for(let n in t){let e=t[n];for(let t in e)u(e[t].object),delete e[t];delete t[n]}delete o[e.id]},releaseStatesOfProgram:function(e){for(let t in o){let n=o[t];if(void 0===n[e.id])continue;let r=n[e.id];for(let e in r)u(r[e].object),delete r[e];delete n[e.id]}},initAttributes:f,enableAttribute:m,disableUnusedAttributes:y}}function rT(e,t,n,r){let i,a=r.isWebGL2;this.setMode=function(e){i=e},this.render=function(t,r){e.drawArrays(i,t,r),n.update(r,i,1)},this.renderInstances=function(r,s,o){if(0===o)return;let l,c;if(a)l=e,c="drawArraysInstanced";else if(l=t.get("ANGLE_instanced_arrays"),c="drawArraysInstancedANGLE",null===l)return void console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");l[c](i,r,s,o),n.update(s,i,o)}}function iT(e,t,n){let r;function i(t){if("highp"===t){if(e.getShaderPrecisionFormat(35633,36338).precision>0&&e.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";t="mediump"}return"mediump"===t&&e.getShaderPrecisionFormat(35633,36337).precision>0&&e.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}let a=typeof WebGL2RenderingContext<"u"&&e instanceof WebGL2RenderingContext,s=void 0!==n.precision?n.precision:"highp",o=i(s);o!==s&&(console.warn("THREE.WebGLRenderer:",s,"not supported, using",o,"instead."),s=o);let l=a||t.has("WEBGL_draw_buffers"),c=!0===n.logarithmicDepthBuffer,d=e.getParameter(34930),h=e.getParameter(35660),u=e.getParameter(3379),p=e.getParameter(34076),f=e.getParameter(34921),m=e.getParameter(36347),g=e.getParameter(36348),y=e.getParameter(36349),v=h>0,x=a||t.has("OES_texture_float");return{isWebGL2:a,drawBuffers:l,getMaxAnisotropy:function(){if(void 0!==r)return r;if(!0===t.has("EXT_texture_filter_anisotropic")){let n=t.get("EXT_texture_filter_anisotropic");r=e.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else r=0;return r},getMaxPrecision:i,precision:s,logarithmicDepthBuffer:c,maxTextures:d,maxVertexTextures:h,maxTextureSize:u,maxCubemapSize:p,maxAttributes:f,maxVertexUniforms:m,maxVaryings:g,maxFragmentUniforms:y,vertexTextures:v,floatFragmentTextures:x,floatVertexTextures:v&&x,maxSamples:a?e.getParameter(36183):0}}function aT(e){let t=this,n=null,r=0,i=!1,a=!1,s=new NO,o=new dM,l={value:null,needsUpdate:!1};function c(e,n,r,i){let a=null!==e?e.length:0,c=null;if(0!==a){if(c=l.value,!0!==i||null===c){let t=r+4*a,i=n.matrixWorldInverse;o.getNormalMatrix(i),(null===c||c.length<t)&&(c=new Float32Array(t));for(let n=0,l=r;n!==a;++n,l+=4)s.copy(e[n]).applyMatrix4(i,o),s.normal.toArray(c,l),c[l+3]=s.constant}l.value=c,l.needsUpdate=!0}return t.numPlanes=a,t.numIntersection=0,c}this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(e,t){let n=0!==e.length||t||0!==r||i;return i=t,r=e.length,n},this.beginShadows=function(){a=!0,c(null)},this.endShadows=function(){a=!1},this.setGlobalState=function(e,t){n=c(e,t,0)},this.setState=function(s,o,d){let h=s.clippingPlanes,u=s.clipIntersection,p=s.clipShadows,f=e.get(s);if(!i||null===h||0===h.length||a&&!p)a?c(null):(l.value!==n&&(l.value=n,l.needsUpdate=r>0),t.numPlanes=r,t.numIntersection=0);else{let e=a?0:r,t=4*e,i=f.clippingState||null;l.value=i,i=c(h,o,t,d);for(let r=0;r!==t;++r)i[r]=n[r];f.clippingState=i,this.numIntersection=u?this.numPlanes:0,this.numPlanes+=e}}}function sT(e){let t=new WeakMap;function n(e,t){return t===vw?e.mapping=gw:t===xw&&(e.mapping=yw),e}function r(e){let n=e.target;n.removeEventListener("dispose",r);let i=t.get(n);void 0!==i&&(t.delete(n),i.dispose())}return{get:function(i){if(i&&i.isTexture&&!1===i.isRenderTargetTexture){let a=i.mapping;if(a===vw||a===xw){if(t.has(i)){return n(t.get(i).texture,i.mapping)}{let a=i.image;if(a&&a.height>0){let s=new WO(a.height/2);return s.fromEquirectangularTexture(e,i),t.set(i,s),i.addEventListener("dispose",r),n(s.texture,i.mapping)}return null}}}return i},dispose:function(){t=new WeakMap}}}var oT=class extends DO{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:.1,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:2e3;super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=n,this.bottom=r,this.near=i,this.far=a,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=null===e.view?null:Object.assign({},e.view),this}setViewOffset(e,t,n,r,i,a){null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=r,this.view.width=i,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){let e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,r=(this.top+this.bottom)/2,i=n-e,a=n+e,s=r+t,o=r-t;if(null!==this.view&&this.view.enabled){let e=(this.right-this.left)/this.view.fullWidth/this.zoom,t=(this.top-this.bottom)/this.view.fullHeight/this.zoom;i+=e*this.view.offsetX,a=i+e*this.view.width,s-=t*this.view.offsetY,o=s-t*this.view.height}this.projectionMatrix.makeOrthographic(i,a,s,o,this.near,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){let 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,null!==this.view&&(t.object.view=Object.assign({},this.view)),t}},lT=[.125,.215,.35,.446,.526,.582],cT=20,dT=new oT,hT=new MM,uT=null,pT=(1+Math.sqrt(5))/2,fT=1/pT,mT=[new qM(1,1,1),new qM(-1,1,1),new qM(1,1,-1),new qM(-1,1,-1),new qM(0,pT,fT),new qM(0,pT,-fT),new qM(fT,0,pT),new qM(-fT,0,pT),new qM(pT,fT,0),new qM(-pT,fT,0)],gT=class{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){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:100;uT=this._renderer.getRenderTarget(),this._setSize(256);let i=this._allocateTargets();return i.depthBuffer=!0,this._sceneToCubeUV(e,n,r,i),t>0&&this._blur(i,0,0,t),this._applyPMREM(i),this._cleanup(i),i}fromEquirectangular(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return this._fromTexture(e,t)}fromCubemap(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return this._fromTexture(e,t)}compileCubemapShader(){null===this._cubemapMaterial&&(this._cubemapMaterial=ST(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){null===this._equirectMaterial&&(this._equirectMaterial=xT(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),null!==this._cubemapMaterial&&this._cubemapMaterial.dispose(),null!==this._equirectMaterial&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){null!==this._blurMaterial&&this._blurMaterial.dispose(),null!==this._pingPongRenderTarget&&this._pingPongRenderTarget.dispose();for(let e=0;e<this._lodPlanes.length;e++)this._lodPlanes[e].dispose()}_cleanup(e){this._renderer.setRenderTarget(uT),e.scissorTest=!1,vT(e,0,0,e.width,e.height)}_fromTexture(e,t){e.mapping===gw||e.mapping===yw?this._setSize(0===e.image.length?16:e.image[0].width||e.image[0].image.width):this._setSize(e.image.width/4),uT=this._renderer.getRenderTarget();let n=t||this._allocateTargets();return this._textureToCubeUV(e,n),this._applyPMREM(n),this._cleanup(n),n}_allocateTargets(){let e=3*Math.max(this._cubeSize,112),t=4*this._cubeSize,n={magFilter:Pw,minFilter:Pw,generateMipmaps:!1,type:Gw,format:Jw,encoding:Bj,depthBuffer:!1},r=yT(e,t,n);if(null===this._pingPongRenderTarget||this._pingPongRenderTarget.width!==e||this._pingPongRenderTarget.height!==t){null!==this._pingPongRenderTarget&&this._dispose(),this._pingPongRenderTarget=yT(e,t,n);let{_lodMax:r}=this;({sizeLods:this._sizeLods,lodPlanes:this._lodPlanes,sigmas:this._sigmas}=function(e){let t=[],n=[],r=[],i=e,a=e-4+1+lT.length;for(let s=0;s<a;s++){let a=Math.pow(2,i);n.push(a);let o=1/a;s>e-4?o=lT[s-e+4-1]:0===s&&(o=0),r.push(o);let l=1/(a-2),c=-l,d=1+l,h=[c,c,d,c,d,d,c,c,d,d,c,d],u=6,p=6,f=3,m=2,g=1,y=new Float32Array(f*p*u),v=new Float32Array(m*p*u),x=new Float32Array(g*p*u);for(let e=0;e<u;e++){let t=e%3*2/3-1,n=e>2?0:-1,r=[t,n,0,t+2/3,n,0,t+2/3,n+1,0,t,n,0,t+2/3,n+1,0,t,n+1,0];y.set(r,f*p*e),v.set(h,m*p*e);let i=[e,e,e,e,e,e];x.set(i,g*p*e)}let S=new pO;S.setAttribute("position",new nO(y,f)),S.setAttribute("uv",new nO(v,m)),S.setAttribute("faceIndex",new nO(x,g)),t.push(S),i>4&&i--}return{lodPlanes:t,sizeLods:n,sigmas:r}}(r)),this._blurMaterial=function(e,t,n){let r=new Float32Array(cT),i=new qM(0,1,0);return new RO({name:"SphericalGaussianBlur",defines:{n:cT,CUBEUV_TEXEL_WIDTH:1/t,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:"".concat(e,".0")},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:r},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include <cube_uv_reflection_fragment>\n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t",blending:Ck,depthTest:!1,depthWrite:!1})}(r,e,t)}return r}_compileMaterial(e){let t=new PO(this._lodPlanes[0],e);this._renderer.compile(t,dT)}_sceneToCubeUV(e,t,n,r){let i=new BO(90,1,t,n),a=[1,-1,1,1,1,1],s=[1,1,1,-1,-1,-1],o=this._renderer,l=o.autoClear,c=o.toneMapping;o.getClearColor(hT),o.toneMapping=dw,o.autoClear=!1;let d=new $P({name:"PMREM.Background",side:Tk,depthWrite:!1,depthTest:!1}),h=new PO(new TO,d),u=!1,p=e.background;p?p.isColor&&(d.color.copy(p),e.background=null,u=!0):(d.color.copy(hT),u=!0);for(let f=0;f<6;f++){let t=f%3;0===t?(i.up.set(0,a[f],0),i.lookAt(s[f],0,0)):1===t?(i.up.set(0,0,a[f]),i.lookAt(0,s[f],0)):(i.up.set(0,a[f],0),i.lookAt(0,0,s[f]));let n=this._cubeSize;vT(r,t*n,f>2?n:0,n,n),o.setRenderTarget(r),u&&o.render(h,i),o.render(e,i)}h.geometry.dispose(),h.material.dispose(),o.toneMapping=c,o.autoClear=l,e.background=p}_textureToCubeUV(e,t){let n=this._renderer,r=e.mapping===gw||e.mapping===yw;r?(null===this._cubemapMaterial&&(this._cubemapMaterial=ST()),this._cubemapMaterial.uniforms.flipEnvMap.value=!1===e.isRenderTargetTexture?-1:1):null===this._equirectMaterial&&(this._equirectMaterial=xT());let i=r?this._cubemapMaterial:this._equirectMaterial,a=new PO(this._lodPlanes[0],i);i.uniforms.envMap.value=e;let s=this._cubeSize;vT(t,0,0,3*s,2*s),n.setRenderTarget(t),n.render(a,dT)}_applyPMREM(e){let t=this._renderer,n=t.autoClear;t.autoClear=!1;for(let r=1;r<this._lodPlanes.length;r++){let t=Math.sqrt(this._sigmas[r]*this._sigmas[r]-this._sigmas[r-1]*this._sigmas[r-1]),n=mT[(r-1)%mT.length];this._blur(e,r-1,r,t,n)}t.autoClear=n}_blur(e,t,n,r,i){let a=this._pingPongRenderTarget;this._halfBlur(e,a,t,n,r,"latitudinal",i),this._halfBlur(a,e,n,n,r,"longitudinal",i)}_halfBlur(e,t,n,r,i,a,s){let o=this._renderer,l=this._blurMaterial;"latitudinal"!==a&&"longitudinal"!==a&&console.error("blur direction must be either latitudinal or longitudinal!");let c=new PO(this._lodPlanes[r],l),d=l.uniforms,h=this._sizeLods[n]-1,u=isFinite(i)?Math.PI/(2*h):2*Math.PI/39,p=i/u,f=isFinite(i)?1+Math.floor(3*p):cT;f>cT&&console.warn("sigmaRadians, ".concat(i,", is too large and will clip, as it requested ").concat(f," samples when the maximum is set to ").concat(cT));let m=[],g=0;for(let x=0;x<cT;++x){let e=x/p,t=Math.exp(-e*e/2);m.push(t),0===x?g+=t:x<f&&(g+=2*t)}for(let x=0;x<m.length;x++)m[x]=m[x]/g;d.envMap.value=e.texture,d.samples.value=f,d.weights.value=m,d.latitudinal.value="latitudinal"===a,s&&(d.poleAxis.value=s);let{_lodMax:y}=this;d.dTheta.value=u,d.mipInt.value=y-n;let v=this._sizeLods[r];vT(t,3*v*(r>y-4?r-y+4:0),4*(this._cubeSize-v),3*v,2*v),o.setRenderTarget(t),o.render(c,dT)}};function yT(e,t,n){let r=new RM(e,t,n);return r.texture.mapping=Sw,r.texture.name="PMREM.cubeUv",r.scissorTest=!0,r}function vT(e,t,n,r,i){e.viewport.set(t,n,r,i),e.scissor.set(t,n,r,i)}function xT(){return new RO({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\n\t\t\t#include <common>\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tgl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );\n\n\t\t\t}\n\t\t",blending:Ck,depthTest:!1,depthWrite:!1})}function ST(){return new RO({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tuniform float flipEnvMap;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) );\n\n\t\t\t}\n\t\t",blending:Ck,depthTest:!1,depthWrite:!1})}function AT(e){let t=new WeakMap,n=null;function r(e){let n=e.target;n.removeEventListener("dispose",r);let i=t.get(n);void 0!==i&&(t.delete(n),i.dispose())}return{get:function(i){if(i&&i.isTexture){let a=i.mapping,s=a===vw||a===xw,o=a===gw||a===yw;if(s||o){if(i.isRenderTargetTexture&&!0===i.needsPMREMUpdate){i.needsPMREMUpdate=!1;let r=t.get(i);return null===n&&(n=new gT(e)),r=s?n.fromEquirectangular(i,r):n.fromCubemap(i,r),t.set(i,r),r.texture}if(t.has(i))return t.get(i).texture;{let a=i.image;if(s&&a&&a.height>0||o&&a&&function(e){let t=0,n=6;for(let r=0;r<n;r++)void 0!==e[r]&&t++;return t===n}(a)){null===n&&(n=new gT(e));let a=s?n.fromEquirectangular(i):n.fromCubemap(i);return t.set(i,a),i.addEventListener("dispose",r),a.texture}return null}}}return i},dispose:function(){t=new WeakMap,null!==n&&(n.dispose(),n=null)}}}function bT(e){let t={};function n(n){if(void 0!==t[n])return t[n];let r;switch(n){case"WEBGL_depth_texture":r=e.getExtension("WEBGL_depth_texture")||e.getExtension("MOZ_WEBGL_depth_texture")||e.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":r=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":r=e.getExtension("WEBGL_compressed_texture_s3tc")||e.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":r=e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:r=e.getExtension(n)}return t[n]=r,r}return{has:function(e){return null!==n(e)},init:function(e){e.isWebGL2?n("EXT_color_buffer_float"):(n("WEBGL_depth_texture"),n("OES_texture_float"),n("OES_texture_half_float"),n("OES_texture_half_float_linear"),n("OES_standard_derivatives"),n("OES_element_index_uint"),n("OES_vertex_array_object"),n("ANGLE_instanced_arrays")),n("OES_texture_float_linear"),n("EXT_color_buffer_half_float"),n("WEBGL_multisampled_render_to_texture")},get:function(e){let t=n(e);return null===t&&console.warn("THREE.WebGLRenderer: "+e+" extension not supported."),t}}}function kT(e,t,n,r){let i={},a=new WeakMap;function s(e){let o=e.target;null!==o.index&&t.remove(o.index);for(let n in o.attributes)t.remove(o.attributes[n]);o.removeEventListener("dispose",s),delete i[o.id];let l=a.get(o);l&&(t.remove(l),a.delete(o)),r.releaseStatesOfGeometry(o),!0===o.isInstancedBufferGeometry&&delete o._maxInstanceCount,n.memory.geometries--}function o(e){let n=[],r=e.index,i=e.attributes.position,s=0;if(null!==r){let e=r.array;s=r.version;for(let t=0,r=e.length;t<r;t+=3){let r=e[t+0],i=e[t+1],a=e[t+2];n.push(r,i,i,a,a,r)}}else{let e=i.array;s=i.version;for(let t=0,r=e.length/3-1;t<r;t+=3){let e=t+0,r=t+1,i=t+2;n.push(e,r,r,i,i,e)}}let o=new(uM(n)?iO:rO)(n,1);o.version=s;let l=a.get(e);l&&t.remove(l),a.set(e,o)}return{get:function(e,t){return!0===i[t.id]||(t.addEventListener("dispose",s),i[t.id]=!0,n.memory.geometries++),t},update:function(e){let n=e.attributes;for(let i in n)t.update(n[i],34962);let r=e.morphAttributes;for(let i in r){let e=r[i];for(let n=0,r=e.length;n<r;n++)t.update(e[n],34962)}},getWireframeAttribute:function(e){let t=a.get(e);if(t){let n=e.index;null!==n&&t.version<n.version&&o(e)}else o(e);return a.get(e)}}}function wT(e,t,n,r){let i,a,s,o=r.isWebGL2;this.setMode=function(e){i=e},this.setIndex=function(e){a=e.type,s=e.bytesPerElement},this.render=function(t,r){e.drawElements(i,r,a,t*s),n.update(r,i,1)},this.renderInstances=function(r,l,c){if(0===c)return;let d,h;if(o)d=e,h="drawElementsInstanced";else if(d=t.get("ANGLE_instanced_arrays"),h="drawElementsInstancedANGLE",null===d)return void console.error("THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");d[h](i,l,a,r*s,c),n.update(l,i,c)}}function jT(e){let t={frame:0,calls:0,triangles:0,points:0,lines:0};return{memory:{geometries:0,textures:0},render:t,programs:null,autoReset:!0,reset:function(){t.frame++,t.calls=0,t.triangles=0,t.points=0,t.lines=0},update:function(e,n,r){switch(t.calls++,n){case 4:t.triangles+=r*(e/3);break;case 1:t.lines+=r*(e/2);break;case 3:t.lines+=r*(e-1);break;case 2:t.lines+=r*e;break;case 0:t.points+=r*e;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:",n)}}}}function MT(e,t){return e[0]-t[0]}function PT(e,t){return Math.abs(t[1])-Math.abs(e[1])}function OT(e,t,n){let r={},i=new Float32Array(8),a=new WeakMap,s=new VM,o=[];for(let l=0;l<8;l++)o[l]=[l,0];return{update:function(l,c,d,h){let u=l.morphTargetInfluences;if(!0===t.isWebGL2){let r=c.morphAttributes.position||c.morphAttributes.normal||c.morphAttributes.color,i=void 0!==r?r.length:0,o=a.get(c);if(void 0===o||o.count!==i){let e=function(){y.dispose(),a.delete(c),c.removeEventListener("dispose",e)};void 0!==o&&o.texture.dispose();let n=void 0!==c.morphAttributes.position,r=void 0!==c.morphAttributes.normal,l=void 0!==c.morphAttributes.color,d=c.morphAttributes.position||[],h=c.morphAttributes.normal||[],u=c.morphAttributes.color||[],p=0;!0===n&&(p=1),!0===r&&(p=2),!0===l&&(p=3);let f=c.attributes.position.count*p,m=1;f>t.maxTextureSize&&(m=Math.ceil(f/t.maxTextureSize),f=t.maxTextureSize);let g=new Float32Array(f*m*4*i),y=new DM(g,f,m,i);y.type=Bw,y.needsUpdate=!0;let v=4*p;for(let t=0;t<i;t++){let e=d[t],i=h[t],a=u[t],o=f*m*4*t;for(let t=0;t<e.count;t++){let c=t*v;!0===n&&(s.fromBufferAttribute(e,t),g[o+c+0]=s.x,g[o+c+1]=s.y,g[o+c+2]=s.z,g[o+c+3]=0),!0===r&&(s.fromBufferAttribute(i,t),g[o+c+4]=s.x,g[o+c+5]=s.y,g[o+c+6]=s.z,g[o+c+7]=0),!0===l&&(s.fromBufferAttribute(a,t),g[o+c+8]=s.x,g[o+c+9]=s.y,g[o+c+10]=s.z,g[o+c+11]=4===a.itemSize?s.w:1)}}o={count:i,texture:y,size:new cM(f,m)},a.set(c,o),c.addEventListener("dispose",e)}let l=0;for(let e=0;e<u.length;e++)l+=u[e];let d=c.morphTargetsRelative?1:1-l;h.getUniforms().setValue(e,"morphTargetBaseInfluence",d),h.getUniforms().setValue(e,"morphTargetInfluences",u),h.getUniforms().setValue(e,"morphTargetsTexture",o.texture,n),h.getUniforms().setValue(e,"morphTargetsTextureSize",o.size)}else{let t=void 0===u?0:u.length,n=r[c.id];if(void 0===n||n.length!==t){n=[];for(let e=0;e<t;e++)n[e]=[e,0];r[c.id]=n}for(let e=0;e<t;e++){let t=n[e];t[0]=e,t[1]=u[e]}n.sort(PT);for(let e=0;e<8;e++)e<t&&n[e][1]?(o[e][0]=n[e][0],o[e][1]=n[e][1]):(o[e][0]=Number.MAX_SAFE_INTEGER,o[e][1]=0);o.sort(MT);let a=c.morphAttributes.position,s=c.morphAttributes.normal,l=0;for(let e=0;e<8;e++){let t=o[e],n=t[0],r=t[1];n!==Number.MAX_SAFE_INTEGER&&r?(a&&c.getAttribute("morphTarget"+e)!==a[n]&&c.setAttribute("morphTarget"+e,a[n]),s&&c.getAttribute("morphNormal"+e)!==s[n]&&c.setAttribute("morphNormal"+e,s[n]),i[e]=r,l+=r):(a&&!0===c.hasAttribute("morphTarget"+e)&&c.deleteAttribute("morphTarget"+e),s&&!0===c.hasAttribute("morphNormal"+e)&&c.deleteAttribute("morphNormal"+e),i[e]=0)}let d=c.morphTargetsRelative?1:1-l;h.getUniforms().setValue(e,"morphTargetBaseInfluence",d),h.getUniforms().setValue(e,"morphTargetInfluences",i)}}}}function TT(e,t,n,r){let i=new WeakMap;function a(e){let t=e.target;t.removeEventListener("dispose",a),n.remove(t.instanceMatrix),null!==t.instanceColor&&n.remove(t.instanceColor)}return{update:function(e){let s=r.render.frame,o=e.geometry,l=t.get(e,o);return i.get(l)!==s&&(t.update(l),i.set(l,s)),e.isInstancedMesh&&(!1===e.hasEventListener("dispose",a)&&e.addEventListener("dispose",a),n.update(e.instanceMatrix,34962),null!==e.instanceColor&&n.update(e.instanceColor,34962)),l},dispose:function(){i=new WeakMap}}}var IT=new EM,CT=new DM,ET=new class extends EM{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:n,depth:r},this.magFilter=ww,this.minFilter=ww,this.wrapR=bw,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}},VT=new HO,RT=[],DT=[],BT=new Float32Array(16),GT=new Float32Array(9),qT=new Float32Array(4);function HT(e,t,n){let r=e[0];if(r<=0||r>0)return e;let i=t*n,a=RT[i];if(void 0===a&&(a=new Float32Array(i),RT[i]=a),0!==t){r.toArray(a,0);for(let r=1,i=0;r!==t;++r)i+=n,e[r].toArray(a,i)}return a}function WT(e,t){if(e.length!==t.length)return!1;for(let n=0,r=e.length;n<r;n++)if(e[n]!==t[n])return!1;return!0}function zT(e,t){for(let n=0,r=t.length;n<r;n++)e[n]=t[n]}function JT(e,t){let n=DT[t];void 0===n&&(n=new Int32Array(t),DT[t]=n);for(let r=0;r!==t;++r)n[r]=e.allocateTextureUnit();return n}function UT(e,t){let n=this.cache;n[0]!==t&&(e.uniform1f(this.addr,t),n[0]=t)}function NT(e,t){let n=this.cache;if(void 0!==t.x)(n[0]!==t.x||n[1]!==t.y)&&(e.uniform2f(this.addr,t.x,t.y),n[0]=t.x,n[1]=t.y);else{if(WT(n,t))return;e.uniform2fv(this.addr,t),zT(n,t)}}function LT(e,t){let n=this.cache;if(void 0!==t.x)(n[0]!==t.x||n[1]!==t.y||n[2]!==t.z)&&(e.uniform3f(this.addr,t.x,t.y,t.z),n[0]=t.x,n[1]=t.y,n[2]=t.z);else if(void 0!==t.r)(n[0]!==t.r||n[1]!==t.g||n[2]!==t.b)&&(e.uniform3f(this.addr,t.r,t.g,t.b),n[0]=t.r,n[1]=t.g,n[2]=t.b);else{if(WT(n,t))return;e.uniform3fv(this.addr,t),zT(n,t)}}function YT(e,t){let n=this.cache;if(void 0!==t.x)(n[0]!==t.x||n[1]!==t.y||n[2]!==t.z||n[3]!==t.w)&&(e.uniform4f(this.addr,t.x,t.y,t.z,t.w),n[0]=t.x,n[1]=t.y,n[2]=t.z,n[3]=t.w);else{if(WT(n,t))return;e.uniform4fv(this.addr,t),zT(n,t)}}function FT(e,t){let n=this.cache,r=t.elements;if(void 0===r){if(WT(n,t))return;e.uniformMatrix2fv(this.addr,!1,t),zT(n,t)}else{if(WT(n,r))return;qT.set(r),e.uniformMatrix2fv(this.addr,!1,qT),zT(n,r)}}function ZT(e,t){let n=this.cache,r=t.elements;if(void 0===r){if(WT(n,t))return;e.uniformMatrix3fv(this.addr,!1,t),zT(n,t)}else{if(WT(n,r))return;GT.set(r),e.uniformMatrix3fv(this.addr,!1,GT),zT(n,r)}}function KT(e,t){let n=this.cache,r=t.elements;if(void 0===r){if(WT(n,t))return;e.uniformMatrix4fv(this.addr,!1,t),zT(n,t)}else{if(WT(n,r))return;BT.set(r),e.uniformMatrix4fv(this.addr,!1,BT),zT(n,r)}}function QT(e,t){let n=this.cache;n[0]!==t&&(e.uniform1i(this.addr,t),n[0]=t)}function XT(e,t){let n=this.cache;if(void 0!==t.x)(n[0]!==t.x||n[1]!==t.y)&&(e.uniform2i(this.addr,t.x,t.y),n[0]=t.x,n[1]=t.y);else{if(WT(n,t))return;e.uniform2iv(this.addr,t),zT(n,t)}}function _T(e,t){let n=this.cache;if(void 0!==t.x)(n[0]!==t.x||n[1]!==t.y||n[2]!==t.z)&&(e.uniform3i(this.addr,t.x,t.y,t.z),n[0]=t.x,n[1]=t.y,n[2]=t.z);else{if(WT(n,t))return;e.uniform3iv(this.addr,t),zT(n,t)}}function $T(e,t){let n=this.cache;if(void 0!==t.x)(n[0]!==t.x||n[1]!==t.y||n[2]!==t.z||n[3]!==t.w)&&(e.uniform4i(this.addr,t.x,t.y,t.z,t.w),n[0]=t.x,n[1]=t.y,n[2]=t.z,n[3]=t.w);else{if(WT(n,t))return;e.uniform4iv(this.addr,t),zT(n,t)}}function eI(e,t){let n=this.cache;n[0]!==t&&(e.uniform1ui(this.addr,t),n[0]=t)}function tI(e,t){let n=this.cache;if(void 0!==t.x)(n[0]!==t.x||n[1]!==t.y)&&(e.uniform2ui(this.addr,t.x,t.y),n[0]=t.x,n[1]=t.y);else{if(WT(n,t))return;e.uniform2uiv(this.addr,t),zT(n,t)}}function nI(e,t){let n=this.cache;if(void 0!==t.x)(n[0]!==t.x||n[1]!==t.y||n[2]!==t.z)&&(e.uniform3ui(this.addr,t.x,t.y,t.z),n[0]=t.x,n[1]=t.y,n[2]=t.z);else{if(WT(n,t))return;e.uniform3uiv(this.addr,t),zT(n,t)}}function rI(e,t){let n=this.cache;if(void 0!==t.x)(n[0]!==t.x||n[1]!==t.y||n[2]!==t.z||n[3]!==t.w)&&(e.uniform4ui(this.addr,t.x,t.y,t.z,t.w),n[0]=t.x,n[1]=t.y,n[2]=t.z,n[3]=t.w);else{if(WT(n,t))return;e.uniform4uiv(this.addr,t),zT(n,t)}}function iI(e,t,n){let r=this.cache,i=n.allocateTextureUnit();r[0]!==i&&(e.uniform1i(this.addr,i),r[0]=i),n.setTexture2D(t||IT,i)}function aI(e,t,n){let r=this.cache,i=n.allocateTextureUnit();r[0]!==i&&(e.uniform1i(this.addr,i),r[0]=i),n.setTexture3D(t||ET,i)}function sI(e,t,n){let r=this.cache,i=n.allocateTextureUnit();r[0]!==i&&(e.uniform1i(this.addr,i),r[0]=i),n.setTextureCube(t||VT,i)}function oI(e,t,n){let r=this.cache,i=n.allocateTextureUnit();r[0]!==i&&(e.uniform1i(this.addr,i),r[0]=i),n.setTexture2DArray(t||CT,i)}function lI(e,t){e.uniform1fv(this.addr,t)}function cI(e,t){let n=HT(t,this.size,2);e.uniform2fv(this.addr,n)}function dI(e,t){let n=HT(t,this.size,3);e.uniform3fv(this.addr,n)}function hI(e,t){let n=HT(t,this.size,4);e.uniform4fv(this.addr,n)}function uI(e,t){let n=HT(t,this.size,4);e.uniformMatrix2fv(this.addr,!1,n)}function pI(e,t){let n=HT(t,this.size,9);e.uniformMatrix3fv(this.addr,!1,n)}function fI(e,t){let n=HT(t,this.size,16);e.uniformMatrix4fv(this.addr,!1,n)}function mI(e,t){e.uniform1iv(this.addr,t)}function gI(e,t){e.uniform2iv(this.addr,t)}function yI(e,t){e.uniform3iv(this.addr,t)}function vI(e,t){e.uniform4iv(this.addr,t)}function xI(e,t){e.uniform1uiv(this.addr,t)}function SI(e,t){e.uniform2uiv(this.addr,t)}function AI(e,t){e.uniform3uiv(this.addr,t)}function bI(e,t){e.uniform4uiv(this.addr,t)}function kI(e,t,n){let r=this.cache,i=t.length,a=JT(n,i);WT(r,a)||(e.uniform1iv(this.addr,a),zT(r,a));for(let s=0;s!==i;++s)n.setTexture2D(t[s]||IT,a[s])}function wI(e,t,n){let r=this.cache,i=t.length,a=JT(n,i);WT(r,a)||(e.uniform1iv(this.addr,a),zT(r,a));for(let s=0;s!==i;++s)n.setTexture3D(t[s]||ET,a[s])}function jI(e,t,n){let r=this.cache,i=t.length,a=JT(n,i);WT(r,a)||(e.uniform1iv(this.addr,a),zT(r,a));for(let s=0;s!==i;++s)n.setTextureCube(t[s]||VT,a[s])}function MI(e,t,n){let r=this.cache,i=t.length,a=JT(n,i);WT(r,a)||(e.uniform1iv(this.addr,a),zT(r,a));for(let s=0;s!==i;++s)n.setTexture2DArray(t[s]||CT,a[s])}var PI=class{constructor(e,t,n){this.id=e,this.addr=n,this.cache=[],this.setValue=function(e){switch(e){case 5126:return UT;case 35664:return NT;case 35665:return LT;case 35666:return YT;case 35674:return FT;case 35675:return ZT;case 35676:return KT;case 5124:case 35670:return QT;case 35667:case 35671:return XT;case 35668:case 35672:return _T;case 35669:case 35673:return $T;case 5125:return eI;case 36294:return tI;case 36295:return nI;case 36296:return rI;case 35678:case 36198:case 36298:case 36306:case 35682:return iI;case 35679:case 36299:case 36307:return aI;case 35680:case 36300:case 36308:case 36293:return sI;case 36289:case 36303:case 36311:case 36292:return oI}}(t.type)}},OI=class{constructor(e,t,n){this.id=e,this.addr=n,this.cache=[],this.size=t.size,this.setValue=function(e){switch(e){case 5126:return lI;case 35664:return cI;case 35665:return dI;case 35666:return hI;case 35674:return uI;case 35675:return pI;case 35676:return fI;case 5124:case 35670:return mI;case 35667:case 35671:return gI;case 35668:case 35672:return yI;case 35669:case 35673:return vI;case 5125:return xI;case 36294:return SI;case 36295:return AI;case 36296:return bI;case 35678:case 36198:case 36298:case 36306:case 35682:return kI;case 35679:case 36299:case 36307:return wI;case 35680:case 36300:case 36308:case 36293:return jI;case 36289:case 36303:case 36311:case 36292:return MI}}(t.type)}},TI=class{constructor(e){this.id=e,this.seq=[],this.map={}}setValue(e,t,n){let r=this.seq;for(let i=0,a=r.length;i!==a;++i){let a=r[i];a.setValue(e,t[a.id],n)}}},II=/(\w+)(\])?(\[|\.)?/g;function CI(e,t){e.seq.push(t),e.map[t.id]=t}function EI(e,t,n){let r=e.name,i=r.length;for(II.lastIndex=0;;){let a=II.exec(r),s=II.lastIndex,o=a[1],l="]"===a[2],c=a[3];if(l&&(o|=0),void 0===c||"["===c&&s+2===i){CI(n,void 0===c?new PI(o,e,t):new OI(o,e,t));break}{let e=n.map[o];void 0===e&&(e=new TI(o),CI(n,e)),n=e}}}var VI=class{constructor(e,t){this.seq=[],this.map={};let n=e.getProgramParameter(t,35718);for(let r=0;r<n;++r){let n=e.getActiveUniform(t,r);EI(n,e.getUniformLocation(t,n.name),this)}}setValue(e,t,n,r){let i=this.map[t];void 0!==i&&i.setValue(e,n,r)}setOptional(e,t,n){let r=t[n];void 0!==r&&this.setValue(e,n,r)}static upload(e,t,n,r){for(let i=0,a=t.length;i!==a;++i){let a=t[i],s=n[a.id];!1!==s.needsUpdate&&a.setValue(e,s.value,r)}}static seqWithValue(e,t){let n=[];for(let r=0,i=e.length;r!==i;++r){let i=e[r];i.id in t&&n.push(i)}return n}};function RI(e,t,n){let r=e.createShader(t);return e.shaderSource(r,n),e.compileShader(r),r}var DI=0;function BI(e,t,n){let r=e.getShaderParameter(t,35713),i=e.getShaderInfoLog(t).trim();if(r&&""===i)return"";let a=/ERROR: 0:(\d+)/.exec(i);if(a){let r=parseInt(a[1]);return n.toUpperCase()+"\n\n"+i+"\n\n"+function(e,t){let n=e.split("\n"),r=[],i=Math.max(t-6,0),a=Math.min(t+6,n.length);for(let s=i;s<a;s++){let e=s+1;r.push("".concat(e===t?">":" "," ").concat(e,": ").concat(n[s]))}return r.join("\n")}(e.getShaderSource(t),r)}return i}function GI(e,t){let n=function(e){switch(e){case Bj:return["Linear","( value )"];case Gj:return["sRGB","( value )"];default:return console.warn("THREE.WebGLProgram: Unsupported encoding:",e),["Linear","( value )"]}}(t);return"vec4 "+e+"( vec4 value ) { return LinearTo"+n[0]+n[1]+"; }"}function qI(e,t){let n;switch(t){case hw:n="Linear";break;case uw:n="Reinhard";break;case pw:n="OptimizedCineon";break;case fw:n="ACESFilmic";break;case mw:n="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",t),n="Linear"}return"vec3 "+e+"( vec3 color ) { return "+n+"ToneMapping( color ); }"}function HI(e){return""!==e}function WI(e,t){let n=t.numSpotLightShadows+t.numSpotLightMaps-t.numSpotLightShadowsWithMaps;return e.replace(/NUM_DIR_LIGHTS/g,t.numDirLights).replace(/NUM_SPOT_LIGHTS/g,t.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,t.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,n).replace(/NUM_RECT_AREA_LIGHTS/g,t.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,t.numPointLights).replace(/NUM_HEMI_LIGHTS/g,t.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,t.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,t.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,t.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,t.numPointLightShadows)}function zI(e,t){return e.replace(/NUM_CLIPPING_PLANES/g,t.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,t.numClippingPlanes-t.numClipIntersection)}var JI=/^[ \t]*#include +<([\w\d./]+)>/gm;function UI(e){return e.replace(JI,NI)}function NI(e,t){let n=XO[t];if(void 0===n)throw new Error("Can not resolve #include <"+t+">");return UI(n)}var LI=/#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 YI(e){return e.replace(LI,FI)}function FI(e,t,n,r){let i="";for(let a=parseInt(t);a<parseInt(n);a++)i+=r.replace(/\[\s*i\s*\]/g,"[ "+a+" ]").replace(/UNROLLED_LOOP_INDEX/g,a);return i}function ZI(e){let t="precision "+e.precision+" float;\nprecision "+e.precision+" int;";return"highp"===e.precision?t+="\n#define HIGH_PRECISION":"mediump"===e.precision?t+="\n#define MEDIUM_PRECISION":"lowp"===e.precision&&(t+="\n#define LOW_PRECISION"),t}function KI(e,t,n,r){let i,a,s=e.getContext(),o=n.defines,l=n.vertexShader,c=n.fragmentShader,d=function(e){let t="SHADOWMAP_TYPE_BASIC";return e.shadowMapType===jk?t="SHADOWMAP_TYPE_PCF":e.shadowMapType===Mk?t="SHADOWMAP_TYPE_PCF_SOFT":e.shadowMapType===Pk&&(t="SHADOWMAP_TYPE_VSM"),t}(n),h=function(e){let t="ENVMAP_TYPE_CUBE";if(e.envMap)switch(e.envMapMode){case gw:case yw:t="ENVMAP_TYPE_CUBE";break;case Sw:t="ENVMAP_TYPE_CUBE_UV"}return t}(n),u=function(e){let t="ENVMAP_MODE_REFLECTION";e.envMap&&e.envMapMode===yw&&(t="ENVMAP_MODE_REFRACTION");return t}(n),p=function(e){let t="ENVMAP_BLENDING_NONE";if(e.envMap)switch(e.combine){case ow:t="ENVMAP_BLENDING_MULTIPLY";break;case lw:t="ENVMAP_BLENDING_MIX";break;case cw:t="ENVMAP_BLENDING_ADD"}return t}(n),f=function(e){let t=e.envMapCubeUVHeight;if(null===t)return null;let n=Math.log2(t)-2,r=1/t;return{texelWidth:1/(3*Math.max(Math.pow(2,n),112)),texelHeight:r,maxMip:n}}(n),m=n.isWebGL2?"":function(e){return[e.extensionDerivatives||e.envMapCubeUVHeight||e.bumpMap||e.tangentSpaceNormalMap||e.clearcoatNormalMap||e.flatShading||"physical"===e.shaderID?"#extension GL_OES_standard_derivatives : enable":"",(e.extensionFragDepth||e.logarithmicDepthBuffer)&&e.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",e.extensionDrawBuffers&&e.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(e.extensionShaderTextureLOD||e.envMap||e.transmission)&&e.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(HI).join("\n")}(n),g=function(e){let t=[];for(let n in e){let r=e[n];!1!==r&&t.push("#define "+n+" "+r)}return t.join("\n")}(o),y=s.createProgram(),v=n.glslVersion?"#version "+n.glslVersion+"\n":"";n.isRawShaderMaterial?(i=[g].filter(HI).join("\n"),i.length>0&&(i+="\n"),a=[m,g].filter(HI).join("\n"),a.length>0&&(a+="\n")):(i=[ZI(n),"#define SHADER_NAME "+n.shaderName,g,n.instancing?"#define USE_INSTANCING":"",n.instancingColor?"#define USE_INSTANCING_COLOR":"",n.supportsVertexTextures?"#define VERTEX_TEXTURES":"",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 "+u:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMap&&n.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",n.normalMap&&n.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",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.displacementMap&&n.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",n.specularColorMap?"#define USE_SPECULARCOLORMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.sheenColorMap?"#define USE_SHEENCOLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",n.vertexTangents?"#define USE_TANGENT":"",n.vertexColors?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUvs?"#define USE_UV":"",n.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",n.flatShading?"#define FLAT_SHADED":"",n.skinning?"#define USE_SKINNING":"",n.morphTargets?"#define USE_MORPHTARGETS":"",n.morphNormals&&!1===n.flatShading?"#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 "+d:"",n.sizeAttenuation?"#define USE_SIZEATTENUATION":"",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","\tattribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","\tattribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )","\tattribute vec4 color;","#elif defined( USE_COLOR )","\tattribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;","\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(HI).join("\n"),a=[m,ZI(n),"#define SHADER_NAME "+n.shaderName,g,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.matcap?"#define USE_MATCAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+h:"",n.envMap?"#define "+u:"",n.envMap?"#define "+p:"",f?"#define CUBEUV_TEXEL_WIDTH "+f.texelWidth:"",f?"#define CUBEUV_TEXEL_HEIGHT "+f.texelHeight:"",f?"#define CUBEUV_MAX_MIP "+f.maxMip+".0":"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMap&&n.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",n.normalMap&&n.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",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.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",n.specularColorMap?"#define USE_SPECULARCOLORMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaTest?"#define USE_ALPHATEST":"",n.sheen?"#define USE_SHEEN":"",n.sheenColorMap?"#define USE_SHEENCOLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",n.vertexTangents?"#define USE_TANGENT":"",n.vertexColors||n.instancingColor?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUvs?"#define USE_UV":"",n.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",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 "+d:"",n.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",n.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",n.toneMapping!==dw?"#define TONE_MAPPING":"",n.toneMapping!==dw?XO.tonemapping_pars_fragment:"",n.toneMapping!==dw?qI("toneMapping",n.toneMapping):"",n.dithering?"#define DITHERING":"",n.opaque?"#define OPAQUE":"",XO.encodings_pars_fragment,GI("linearToOutputTexel",n.outputEncoding),n.useDepthPacking?"#define DEPTH_PACKING "+n.depthPacking:"","\n"].filter(HI).join("\n")),l=UI(l),l=WI(l,n),l=zI(l,n),c=UI(c),c=WI(c,n),c=zI(c,n),l=YI(l),c=YI(c),n.isWebGL2&&!0!==n.isRawShaderMaterial&&(v="#version 300 es\n",i=["precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+i,a=["#define varying in",n.glslVersion===Yj?"":"layout(location = 0) out highp vec4 pc_fragColor;",n.glslVersion===Yj?"":"#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("\n")+"\n"+a);let x,S,A=v+a+c,b=RI(s,35633,v+i+l),k=RI(s,35632,A);if(s.attachShader(y,b),s.attachShader(y,k),void 0!==n.index0AttributeName?s.bindAttribLocation(y,0,n.index0AttributeName):!0===n.morphTargets&&s.bindAttribLocation(y,0,"position"),s.linkProgram(y),e.debug.checkShaderErrors){let e=s.getProgramInfoLog(y).trim(),t=s.getShaderInfoLog(b).trim(),n=s.getShaderInfoLog(k).trim(),r=!0,o=!0;if(!1===s.getProgramParameter(y,35714)){r=!1;let t=BI(s,b,"vertex"),n=BI(s,k,"fragment");console.error("THREE.WebGLProgram: Shader Error "+s.getError()+" - VALIDATE_STATUS "+s.getProgramParameter(y,35715)+"\n\nProgram Info Log: "+e+"\n"+t+"\n"+n)}else""!==e?console.warn("THREE.WebGLProgram: Program Info Log:",e):(""===t||""===n)&&(o=!1);o&&(this.diagnostics={runnable:r,programLog:e,vertexShader:{log:t,prefix:i},fragmentShader:{log:n,prefix:a}})}return s.deleteShader(b),s.deleteShader(k),this.getUniforms=function(){return void 0===x&&(x=new VI(s,y)),x},this.getAttributes=function(){return void 0===S&&(S=function(e,t){let n={},r=e.getProgramParameter(t,35721);for(let i=0;i<r;i++){let r=e.getActiveAttrib(t,i),a=r.name,s=1;35674===r.type&&(s=2),35675===r.type&&(s=3),35676===r.type&&(s=4),n[a]={type:r.type,location:e.getAttribLocation(t,a),locationSize:s}}return n}(s,y)),S},this.destroy=function(){r.releaseStatesOfProgram(this),s.deleteProgram(y),this.program=void 0},this.name=n.shaderName,this.id=DI++,this.cacheKey=t,this.usedTimes=1,this.program=y,this.vertexShader=b,this.fragmentShader=k,this}var QI=0,XI=class{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){let t=e.vertexShader,n=e.fragmentShader,r=this._getShaderStage(t),i=this._getShaderStage(n),a=this._getShaderCacheForMaterial(e);return!1===a.has(r)&&(a.add(r),r.usedTimes++),!1===a.has(i)&&(a.add(i),i.usedTimes++),this}remove(e){let t=this.materialCache.get(e);for(let n of t)n.usedTimes--,0===n.usedTimes&&this.shaderCache.delete(n.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){let t=this.materialCache,n=t.get(e);return void 0===n&&(n=new Set,t.set(e,n)),n}_getShaderStage(e){let t=this.shaderCache,n=t.get(e);return void 0===n&&(n=new _I(e),t.set(e,n)),n}},_I=class{constructor(e){this.id=QI++,this.code=e,this.usedTimes=0}};function $I(e,t,n,r,i,a,s){let o=new jP,l=new XI,c=[],d=i.isWebGL2,h=i.logarithmicDepthBuffer,u=i.vertexTextures,p=i.precision,f={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"};return{getParameters:function(a,o,c,m,g){let y=m.fog,v=g.geometry,x=a.isMeshStandardMaterial?m.environment:null,S=(a.isMeshStandardMaterial?n:t).get(a.envMap||x),A=S&&S.mapping===Sw?S.image.height:null,b=f[a.type];null!==a.precision&&(p=i.getMaxPrecision(a.precision),p!==a.precision&&console.warn("THREE.WebGLProgram.getParameters:",a.precision,"not supported, using",p,"instead."));let k,w,j,M,P=v.morphAttributes.position||v.morphAttributes.normal||v.morphAttributes.color,O=void 0!==P?P.length:0,T=0;if(void 0!==v.morphAttributes.position&&(T=1),void 0!==v.morphAttributes.normal&&(T=2),void 0!==v.morphAttributes.color&&(T=3),b){let e=$O[b];k=e.vertexShader,w=e.fragmentShader}else k=a.vertexShader,w=a.fragmentShader,l.update(a),j=l.getVertexShaderID(a),M=l.getFragmentShaderID(a);let I=e.getRenderTarget(),C=a.alphaTest>0,E=a.clearcoat>0,V=a.iridescence>0;return{isWebGL2:d,shaderID:b,shaderName:a.type,vertexShader:k,fragmentShader:w,defines:a.defines,customVertexShaderID:j,customFragmentShaderID:M,isRawShaderMaterial:!0===a.isRawShaderMaterial,glslVersion:a.glslVersion,precision:p,instancing:!0===g.isInstancedMesh,instancingColor:!0===g.isInstancedMesh&&null!==g.instanceColor,supportsVertexTextures:u,outputEncoding:null===I?e.outputEncoding:!0===I.isXRRenderTarget?I.texture.encoding:Bj,map:!!a.map,matcap:!!a.matcap,envMap:!!S,envMapMode:S&&S.mapping,envMapCubeUVHeight:A,lightMap:!!a.lightMap,aoMap:!!a.aoMap,emissiveMap:!!a.emissiveMap,bumpMap:!!a.bumpMap,normalMap:!!a.normalMap,objectSpaceNormalMap:a.normalMapType===zj,tangentSpaceNormalMap:a.normalMapType===Wj,decodeVideoTexture:!!a.map&&!0===a.map.isVideoTexture&&a.map.encoding===Gj,clearcoat:E,clearcoatMap:E&&!!a.clearcoatMap,clearcoatRoughnessMap:E&&!!a.clearcoatRoughnessMap,clearcoatNormalMap:E&&!!a.clearcoatNormalMap,iridescence:V,iridescenceMap:V&&!!a.iridescenceMap,iridescenceThicknessMap:V&&!!a.iridescenceThicknessMap,displacementMap:!!a.displacementMap,roughnessMap:!!a.roughnessMap,metalnessMap:!!a.metalnessMap,specularMap:!!a.specularMap,specularIntensityMap:!!a.specularIntensityMap,specularColorMap:!!a.specularColorMap,opaque:!1===a.transparent&&a.blending===Ek,alphaMap:!!a.alphaMap,alphaTest:C,gradientMap:!!a.gradientMap,sheen:a.sheen>0,sheenColorMap:!!a.sheenColorMap,sheenRoughnessMap:!!a.sheenRoughnessMap,transmission:a.transmission>0,transmissionMap:!!a.transmissionMap,thicknessMap:!!a.thicknessMap,combine:a.combine,vertexTangents:!!a.normalMap&&!!v.attributes.tangent,vertexColors:a.vertexColors,vertexAlphas:!0===a.vertexColors&&!!v.attributes.color&&4===v.attributes.color.itemSize,vertexUvs:!!a.map||!!a.bumpMap||!!a.normalMap||!!a.specularMap||!!a.alphaMap||!!a.emissiveMap||!!a.roughnessMap||!!a.metalnessMap||!!a.clearcoatMap||!!a.clearcoatRoughnessMap||!!a.clearcoatNormalMap||!!a.iridescenceMap||!!a.iridescenceThicknessMap||!!a.displacementMap||!!a.transmissionMap||!!a.thicknessMap||!!a.specularIntensityMap||!!a.specularColorMap||!!a.sheenColorMap||!!a.sheenRoughnessMap,uvsVertexOnly:!(a.map||a.bumpMap||a.normalMap||a.specularMap||a.alphaMap||a.emissiveMap||a.roughnessMap||a.metalnessMap||a.clearcoatNormalMap||a.iridescenceMap||a.iridescenceThicknessMap||a.transmission>0||a.transmissionMap||a.thicknessMap||a.specularIntensityMap||a.specularColorMap||a.sheen>0||a.sheenColorMap||a.sheenRoughnessMap)&&!!a.displacementMap,fog:!!y,useFog:!0===a.fog,fogExp2:y&&y.isFogExp2,flatShading:!!a.flatShading,sizeAttenuation:a.sizeAttenuation,logarithmicDepthBuffer:h,skinning:!0===g.isSkinnedMesh,morphTargets:void 0!==v.morphAttributes.position,morphNormals:void 0!==v.morphAttributes.normal,morphColors:void 0!==v.morphAttributes.color,morphTargetsCount:O,morphTextureStride:T,numDirLights:o.directional.length,numPointLights:o.point.length,numSpotLights:o.spot.length,numSpotLightMaps:o.spotLightMap.length,numRectAreaLights:o.rectArea.length,numHemiLights:o.hemi.length,numDirLightShadows:o.directionalShadowMap.length,numPointLightShadows:o.pointShadowMap.length,numSpotLightShadows:o.spotShadowMap.length,numSpotLightShadowsWithMaps:o.numSpotLightShadowsWithMaps,numClippingPlanes:s.numPlanes,numClipIntersection:s.numIntersection,dithering:a.dithering,shadowMapEnabled:e.shadowMap.enabled&&c.length>0,shadowMapType:e.shadowMap.type,toneMapping:a.toneMapped?e.toneMapping:dw,physicallyCorrectLights:e.physicallyCorrectLights,premultipliedAlpha:a.premultipliedAlpha,doubleSided:a.side===Ik,flipSided:a.side===Tk,useDepthPacking:!!a.depthPacking,depthPacking:a.depthPacking||0,index0AttributeName:a.index0AttributeName,extensionDerivatives:a.extensions&&a.extensions.derivatives,extensionFragDepth:a.extensions&&a.extensions.fragDepth,extensionDrawBuffers:a.extensions&&a.extensions.drawBuffers,extensionShaderTextureLOD:a.extensions&&a.extensions.shaderTextureLOD,rendererExtensionFragDepth:d||r.has("EXT_frag_depth"),rendererExtensionDrawBuffers:d||r.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:d||r.has("EXT_shader_texture_lod"),customProgramCacheKey:a.customProgramCacheKey()}},getProgramCacheKey:function(t){let n=[];if(t.shaderID?n.push(t.shaderID):(n.push(t.customVertexShaderID),n.push(t.customFragmentShaderID)),void 0!==t.defines)for(let e in t.defines)n.push(e),n.push(t.defines[e]);return!1===t.isRawShaderMaterial&&(function(e,t){e.push(t.precision),e.push(t.outputEncoding),e.push(t.envMapMode),e.push(t.envMapCubeUVHeight),e.push(t.combine),e.push(t.vertexUvs),e.push(t.fogExp2),e.push(t.sizeAttenuation),e.push(t.morphTargetsCount),e.push(t.morphAttributeCount),e.push(t.numDirLights),e.push(t.numPointLights),e.push(t.numSpotLights),e.push(t.numSpotLightMaps),e.push(t.numHemiLights),e.push(t.numRectAreaLights),e.push(t.numDirLightShadows),e.push(t.numPointLightShadows),e.push(t.numSpotLightShadows),e.push(t.numSpotLightShadowsWithMaps),e.push(t.shadowMapType),e.push(t.toneMapping),e.push(t.numClippingPlanes),e.push(t.numClipIntersection),e.push(t.depthPacking)}(n,t),function(e,t){o.disableAll(),t.isWebGL2&&o.enable(0),t.supportsVertexTextures&&o.enable(1),t.instancing&&o.enable(2),t.instancingColor&&o.enable(3),t.map&&o.enable(4),t.matcap&&o.enable(5),t.envMap&&o.enable(6),t.lightMap&&o.enable(7),t.aoMap&&o.enable(8),t.emissiveMap&&o.enable(9),t.bumpMap&&o.enable(10),t.normalMap&&o.enable(11),t.objectSpaceNormalMap&&o.enable(12),t.tangentSpaceNormalMap&&o.enable(13),t.clearcoat&&o.enable(14),t.clearcoatMap&&o.enable(15),t.clearcoatRoughnessMap&&o.enable(16),t.clearcoatNormalMap&&o.enable(17),t.iridescence&&o.enable(18),t.iridescenceMap&&o.enable(19),t.iridescenceThicknessMap&&o.enable(20),t.displacementMap&&o.enable(21),t.specularMap&&o.enable(22),t.roughnessMap&&o.enable(23),t.metalnessMap&&o.enable(24),t.gradientMap&&o.enable(25),t.alphaMap&&o.enable(26),t.alphaTest&&o.enable(27),t.vertexColors&&o.enable(28),t.vertexAlphas&&o.enable(29),t.vertexUvs&&o.enable(30),t.vertexTangents&&o.enable(31),t.uvsVertexOnly&&o.enable(32),e.push(o.mask),o.disableAll(),t.fog&&o.enable(0),t.useFog&&o.enable(1),t.flatShading&&o.enable(2),t.logarithmicDepthBuffer&&o.enable(3),t.skinning&&o.enable(4),t.morphTargets&&o.enable(5),t.morphNormals&&o.enable(6),t.morphColors&&o.enable(7),t.premultipliedAlpha&&o.enable(8),t.shadowMapEnabled&&o.enable(9),t.physicallyCorrectLights&&o.enable(10),t.doubleSided&&o.enable(11),t.flipSided&&o.enable(12),t.useDepthPacking&&o.enable(13),t.dithering&&o.enable(14),t.specularIntensityMap&&o.enable(15),t.specularColorMap&&o.enable(16),t.transmission&&o.enable(17),t.transmissionMap&&o.enable(18),t.thicknessMap&&o.enable(19),t.sheen&&o.enable(20),t.sheenColorMap&&o.enable(21),t.sheenRoughnessMap&&o.enable(22),t.decodeVideoTexture&&o.enable(23),t.opaque&&o.enable(24),e.push(o.mask)}(n,t),n.push(e.outputEncoding)),n.push(t.customProgramCacheKey),n.join()},getUniforms:function(e){let t,n=f[e.type];if(n){let e=$O[n];t=VO.clone(e.uniforms)}else t=e.uniforms;return t},acquireProgram:function(t,n){let r;for(let e=0,i=c.length;e<i;e++){let t=c[e];if(t.cacheKey===n){r=t,++r.usedTimes;break}}return void 0===r&&(r=new KI(e,n,t,a),c.push(r)),r},releaseProgram:function(e){if(0===--e.usedTimes){let t=c.indexOf(e);c[t]=c[c.length-1],c.pop(),e.destroy()}},releaseShaderCache:function(e){l.remove(e)},programs:c,dispose:function(){l.dispose()}}}function eC(){let e=new WeakMap;return{get:function(t){let n=e.get(t);return void 0===n&&(n={},e.set(t,n)),n},remove:function(t){e.delete(t)},update:function(t,n,r){e.get(t)[n]=r},dispose:function(){e=new WeakMap}}}function tC(e,t){return e.groupOrder!==t.groupOrder?e.groupOrder-t.groupOrder:e.renderOrder!==t.renderOrder?e.renderOrder-t.renderOrder:e.material.id!==t.material.id?e.material.id-t.material.id:e.z!==t.z?e.z-t.z:e.id-t.id}function nC(e,t){return e.groupOrder!==t.groupOrder?e.groupOrder-t.groupOrder:e.renderOrder!==t.renderOrder?e.renderOrder-t.renderOrder:e.z!==t.z?t.z-e.z:e.id-t.id}function rC(){let e=[],t=0,n=[],r=[],i=[];function a(n,r,i,a,s,o){let l=e[t];return void 0===l?(l={id:n.id,object:n,geometry:r,material:i,groupOrder:a,renderOrder:n.renderOrder,z:s,group:o},e[t]=l):(l.id=n.id,l.object=n,l.geometry=r,l.material=i,l.groupOrder=a,l.renderOrder=n.renderOrder,l.z=s,l.group=o),t++,l}return{opaque:n,transmissive:r,transparent:i,init:function(){t=0,n.length=0,r.length=0,i.length=0},push:function(e,t,s,o,l,c){let d=a(e,t,s,o,l,c);s.transmission>0?r.push(d):!0===s.transparent?i.push(d):n.push(d)},unshift:function(e,t,s,o,l,c){let d=a(e,t,s,o,l,c);s.transmission>0?r.unshift(d):!0===s.transparent?i.unshift(d):n.unshift(d)},finish:function(){for(let n=t,r=e.length;n<r;n++){let t=e[n];if(null===t.id)break;t.id=null,t.object=null,t.geometry=null,t.material=null,t.group=null}},sort:function(e,t){n.length>1&&n.sort(e||tC),r.length>1&&r.sort(t||nC),i.length>1&&i.sort(t||nC)}}}function iC(){let e=new WeakMap;return{get:function(t,n){let r,i=e.get(t);return void 0===i?(r=new rC,e.set(t,[r])):n>=i.length?(r=new rC,i.push(r)):r=i[n],r},dispose:function(){e=new WeakMap}}}function aC(){let e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];let n;switch(t.type){case"DirectionalLight":n={direction:new qM,color:new MM};break;case"SpotLight":n={position:new qM,direction:new qM,color:new MM,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new qM,color:new MM,distance:0,decay:0};break;case"HemisphereLight":n={direction:new qM,skyColor:new MM,groundColor:new MM};break;case"RectAreaLight":n={color:new MM,position:new qM,halfWidth:new qM,halfHeight:new qM}}return e[t.id]=n,n}}}var sC=0;function oC(e,t){return(t.castShadow?2:0)-(e.castShadow?2:0)+(t.map?1:0)-(e.map?1:0)}function lC(e,t){let n=new aC,r=function(){let e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];let n;switch(t.type){case"DirectionalLight":case"SpotLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new cM};break;case"PointLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new cM,shadowCameraNear:1,shadowCameraFar:1e3}}return e[t.id]=n,n}}}(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-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};for(let l=0;l<9;l++)i.probe.push(new qM);let a=new qM,s=new fP,o=new fP;return{setup:function(a,s){let o=0,l=0,c=0;for(let e=0;e<9;e++)i.probe[e].set(0,0,0);let d=0,h=0,u=0,p=0,f=0,m=0,g=0,y=0,v=0,x=0;a.sort(oC);let S=!0!==s?Math.PI:1;for(let e=0,t=a.length;e<t;e++){let t=a[e],s=t.color,A=t.intensity,b=t.distance,k=t.shadow&&t.shadow.map?t.shadow.map.texture:null;if(t.isAmbientLight)o+=s.r*A*S,l+=s.g*A*S,c+=s.b*A*S;else if(t.isLightProbe)for(let e=0;e<9;e++)i.probe[e].addScaledVector(t.sh.coefficients[e],A);else if(t.isDirectionalLight){let e=n.get(t);if(e.color.copy(t.color).multiplyScalar(t.intensity*S),t.castShadow){let e=t.shadow,n=r.get(t);n.shadowBias=e.bias,n.shadowNormalBias=e.normalBias,n.shadowRadius=e.radius,n.shadowMapSize=e.mapSize,i.directionalShadow[d]=n,i.directionalShadowMap[d]=k,i.directionalShadowMatrix[d]=t.shadow.matrix,m++}i.directional[d]=e,d++}else if(t.isSpotLight){let e=n.get(t);e.position.setFromMatrixPosition(t.matrixWorld),e.color.copy(s).multiplyScalar(A*S),e.distance=b,e.coneCos=Math.cos(t.angle),e.penumbraCos=Math.cos(t.angle*(1-t.penumbra)),e.decay=t.decay,i.spot[u]=e;let a=t.shadow;if(t.map&&(i.spotLightMap[v]=t.map,v++,a.updateMatrices(t),t.castShadow&&x++),i.spotLightMatrix[u]=a.matrix,t.castShadow){let e=r.get(t);e.shadowBias=a.bias,e.shadowNormalBias=a.normalBias,e.shadowRadius=a.radius,e.shadowMapSize=a.mapSize,i.spotShadow[u]=e,i.spotShadowMap[u]=k,y++}u++}else if(t.isRectAreaLight){let e=n.get(t);e.color.copy(s).multiplyScalar(A),e.halfWidth.set(.5*t.width,0,0),e.halfHeight.set(0,.5*t.height,0),i.rectArea[p]=e,p++}else if(t.isPointLight){let e=n.get(t);if(e.color.copy(t.color).multiplyScalar(t.intensity*S),e.distance=t.distance,e.decay=t.decay,t.castShadow){let e=t.shadow,n=r.get(t);n.shadowBias=e.bias,n.shadowNormalBias=e.normalBias,n.shadowRadius=e.radius,n.shadowMapSize=e.mapSize,n.shadowCameraNear=e.camera.near,n.shadowCameraFar=e.camera.far,i.pointShadow[h]=n,i.pointShadowMap[h]=k,i.pointShadowMatrix[h]=t.shadow.matrix,g++}i.point[h]=e,h++}else if(t.isHemisphereLight){let e=n.get(t);e.skyColor.copy(t.color).multiplyScalar(A*S),e.groundColor.copy(t.groundColor).multiplyScalar(A*S),i.hemi[f]=e,f++}}p>0&&(t.isWebGL2||!0===e.has("OES_texture_float_linear")?(i.rectAreaLTC1=_O.LTC_FLOAT_1,i.rectAreaLTC2=_O.LTC_FLOAT_2):!0===e.has("OES_texture_half_float_linear")?(i.rectAreaLTC1=_O.LTC_HALF_1,i.rectAreaLTC2=_O.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),i.ambient[0]=o,i.ambient[1]=l,i.ambient[2]=c;let A=i.hash;(A.directionalLength!==d||A.pointLength!==h||A.spotLength!==u||A.rectAreaLength!==p||A.hemiLength!==f||A.numDirectionalShadows!==m||A.numPointShadows!==g||A.numSpotShadows!==y||A.numSpotMaps!==v)&&(i.directional.length=d,i.spot.length=u,i.rectArea.length=p,i.point.length=h,i.hemi.length=f,i.directionalShadow.length=m,i.directionalShadowMap.length=m,i.pointShadow.length=g,i.pointShadowMap.length=g,i.spotShadow.length=y,i.spotShadowMap.length=y,i.directionalShadowMatrix.length=m,i.pointShadowMatrix.length=g,i.spotLightMatrix.length=y+v-x,i.spotLightMap.length=v,i.numSpotLightShadowsWithMaps=x,A.directionalLength=d,A.pointLength=h,A.spotLength=u,A.rectAreaLength=p,A.hemiLength=f,A.numDirectionalShadows=m,A.numPointShadows=g,A.numSpotShadows=y,A.numSpotMaps=v,i.version=sC++)},setupView:function(e,t){let n=0,r=0,l=0,c=0,d=0,h=t.matrixWorldInverse;for(let u=0,p=e.length;u<p;u++){let t=e[u];if(t.isDirectionalLight){let e=i.directional[n];e.direction.setFromMatrixPosition(t.matrixWorld),a.setFromMatrixPosition(t.target.matrixWorld),e.direction.sub(a),e.direction.transformDirection(h),n++}else if(t.isSpotLight){let e=i.spot[l];e.position.setFromMatrixPosition(t.matrixWorld),e.position.applyMatrix4(h),e.direction.setFromMatrixPosition(t.matrixWorld),a.setFromMatrixPosition(t.target.matrixWorld),e.direction.sub(a),e.direction.transformDirection(h),l++}else if(t.isRectAreaLight){let e=i.rectArea[c];e.position.setFromMatrixPosition(t.matrixWorld),e.position.applyMatrix4(h),o.identity(),s.copy(t.matrixWorld),s.premultiply(h),o.extractRotation(s),e.halfWidth.set(.5*t.width,0,0),e.halfHeight.set(0,.5*t.height,0),e.halfWidth.applyMatrix4(o),e.halfHeight.applyMatrix4(o),c++}else if(t.isPointLight){let e=i.point[r];e.position.setFromMatrixPosition(t.matrixWorld),e.position.applyMatrix4(h),r++}else if(t.isHemisphereLight){let e=i.hemi[d];e.direction.setFromMatrixPosition(t.matrixWorld),e.direction.transformDirection(h),d++}}},state:i}}function cC(e,t){let n=new lC(e,t),r=[],i=[];return{init:function(){r.length=0,i.length=0},state:{lightsArray:r,shadowsArray:i,lights:n},setupLights:function(e){n.setup(r,e)},setupLightsView:function(e){n.setupView(r,e)},pushLight:function(e){r.push(e)},pushShadow:function(e){i.push(e)}}}function dC(e,t){let n=new WeakMap;return{get:function(r){let i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,s=n.get(r);return void 0===s?(i=new cC(e,t),n.set(r,[i])):a>=s.length?(i=new cC(e,t),s.push(i)):i=s[a],i},dispose:function(){n=new WeakMap}}}var hC=class extends _P{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=qj,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}},uC=class extends _P{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.referencePosition=new qM,this.nearDistance=1,this.farDistance=1e3,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.referencePosition.copy(e.referencePosition),this.nearDistance=e.nearDistance,this.farDistance=e.farDistance,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}},pC="void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",fC="uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include <packing>\nvoid main() {\n\tconst float samples = float( VSM_SAMPLES );\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n\tfor ( float i = 0.0; i < samples; i ++ ) {\n\t\tfloat uvOffset = uvStart + i * uvStride;\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean / samples;\n\tsquared_mean = squared_mean / samples;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}";function mC(e,t,n){let r=new FO,i=new cM,a=new cM,s=new VM,o=new hC({depthPacking:Hj}),l=new uC,c={},d=n.maxTextureSize,h={[Ok]:Tk,[Tk]:Ok,[Ik]:Ik},u=new RO({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new cM},radius:{value:4}},vertexShader:pC,fragmentShader:fC}),p=u.clone();p.defines.HORIZONTAL_PASS=1;let f=new pO;f.setAttribute("position",new nO(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));let m=new PO(f,u),g=this;function y(n,r){let a=t.update(m);u.defines.VSM_SAMPLES!==n.blurSamples&&(u.defines.VSM_SAMPLES=n.blurSamples,p.defines.VSM_SAMPLES=n.blurSamples,u.needsUpdate=!0,p.needsUpdate=!0),null===n.mapPass&&(n.mapPass=new RM(i.x,i.y)),u.uniforms.shadow_pass.value=n.map.texture,u.uniforms.resolution.value=n.mapSize,u.uniforms.radius.value=n.radius,e.setRenderTarget(n.mapPass),e.clear(),e.renderBufferDirect(r,null,a,u,m,null),p.uniforms.shadow_pass.value=n.mapPass.texture,p.uniforms.resolution.value=n.mapSize,p.uniforms.radius.value=n.radius,e.setRenderTarget(n.map),e.clear(),e.renderBufferDirect(r,null,a,p,m,null)}function v(t,n,r,i,a,s){let d=null,u=!0===r.isPointLight?t.customDistanceMaterial:t.customDepthMaterial;if(void 0!==u)d=u;else if(d=!0===r.isPointLight?l:o,e.localClippingEnabled&&!0===n.clipShadows&&Array.isArray(n.clippingPlanes)&&0!==n.clippingPlanes.length||n.displacementMap&&0!==n.displacementScale||n.alphaMap&&n.alphaTest>0||n.map&&n.alphaTest>0){let e=d.uuid,t=n.uuid,r=c[e];void 0===r&&(r={},c[e]=r);let i=r[t];void 0===i&&(i=d.clone(),r[t]=i),d=i}return d.visible=n.visible,d.wireframe=n.wireframe,d.side=s===Pk?null!==n.shadowSide?n.shadowSide:n.side:null!==n.shadowSide?n.shadowSide:h[n.side],d.alphaMap=n.alphaMap,d.alphaTest=n.alphaTest,d.map=n.map,d.clipShadows=n.clipShadows,d.clippingPlanes=n.clippingPlanes,d.clipIntersection=n.clipIntersection,d.displacementMap=n.displacementMap,d.displacementScale=n.displacementScale,d.displacementBias=n.displacementBias,d.wireframeLinewidth=n.wireframeLinewidth,d.linewidth=n.linewidth,!0===r.isPointLight&&!0===d.isMeshDistanceMaterial&&(d.referencePosition.setFromMatrixPosition(r.matrixWorld),d.nearDistance=i,d.farDistance=a),d}function x(n,i,a,s,o){if(!1===n.visible)return;if(n.layers.test(i.layers)&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&o===Pk)&&(!n.frustumCulled||r.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(a.matrixWorldInverse,n.matrixWorld);let r=t.update(n),i=n.material;if(Array.isArray(i)){let t=r.groups;for(let l=0,c=t.length;l<c;l++){let c=t[l],d=i[c.materialIndex];if(d&&d.visible){let t=v(n,d,s,a.near,a.far,o);e.renderBufferDirect(a,null,r,t,n,c)}}}else if(i.visible){let t=v(n,i,s,a.near,a.far,o);e.renderBufferDirect(a,null,r,t,n,null)}}let l=n.children;for(let e=0,t=l.length;e<t;e++)x(l[e],i,a,s,o)}this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=jk,this.render=function(t,n,o){if(!1===g.enabled||!1===g.autoUpdate&&!1===g.needsUpdate||0===t.length)return;let l=e.getRenderTarget(),c=e.getActiveCubeFace(),h=e.getActiveMipmapLevel(),u=e.state;u.setBlending(Ck),u.buffers.color.setClear(1,1,1,1),u.buffers.depth.setTest(!0),u.setScissorTest(!1);for(let p=0,f=t.length;p<f;p++){let l=t[p],c=l.shadow;if(void 0===c){console.warn("THREE.WebGLShadowMap:",l,"has no shadow.");continue}if(!1===c.autoUpdate&&!1===c.needsUpdate)continue;i.copy(c.mapSize);let h=c.getFrameExtents();if(i.multiply(h),a.copy(c.mapSize),(i.x>d||i.y>d)&&(i.x>d&&(a.x=Math.floor(d/h.x),i.x=a.x*h.x,c.mapSize.x=a.x),i.y>d&&(a.y=Math.floor(d/h.y),i.y=a.y*h.y,c.mapSize.y=a.y)),null===c.map){let e=this.type!==Pk?{minFilter:ww,magFilter:ww}:{};c.map=new RM(i.x,i.y,e),c.map.texture.name=l.name+".shadowMap",c.camera.updateProjectionMatrix()}e.setRenderTarget(c.map),e.clear();let f=c.getViewportCount();for(let e=0;e<f;e++){let t=c.getViewport(e);s.set(a.x*t.x,a.y*t.y,a.x*t.z,a.y*t.w),u.viewport(s),c.updateMatrices(l,e),r=c.getFrustum(),x(n,o,c.camera,l,this.type)}!0!==c.isPointLightShadow&&this.type===Pk&&y(c,o),c.needsUpdate=!1}g.needsUpdate=!1,e.setRenderTarget(l,c,h)}}function gC(e,t,n){let r=n.isWebGL2;let i=new function(){let t=!1,n=new VM,r=null,i=new VM(0,0,0,0);return{setMask:function(n){r!==n&&!t&&(e.colorMask(n,n,n,n),r=n)},setLocked:function(e){t=e},setClear:function(t,r,a,s,o){!0===o&&(t*=s,r*=s,a*=s),n.set(t,r,a,s),!1===i.equals(n)&&(e.clearColor(t,r,a,s),i.copy(n))},reset:function(){t=!1,r=null,i.set(-1,0,0,0)}}},a=new function(){let t=!1,n=null,r=null,i=null;return{setTest:function(e){e?W(2929):z(2929)},setMask:function(r){n!==r&&!t&&(e.depthMask(r),n=r)},setFunc:function(t){if(r!==t){switch(t){case $k:e.depthFunc(512);break;case ew:e.depthFunc(519);break;case tw:e.depthFunc(513);break;case nw:e.depthFunc(515);break;case rw:e.depthFunc(514);break;case iw:e.depthFunc(518);break;case aw:e.depthFunc(516);break;case sw:e.depthFunc(517);break;default:e.depthFunc(515)}r=t}},setLocked:function(e){t=e},setClear:function(t){i!==t&&(e.clearDepth(t),i=t)},reset:function(){t=!1,n=null,r=null,i=null}}},s=new function(){let t=!1,n=null,r=null,i=null,a=null,s=null,o=null,l=null,c=null;return{setTest:function(e){t||(e?W(2960):z(2960))},setMask:function(r){n!==r&&!t&&(e.stencilMask(r),n=r)},setFunc:function(t,n,s){(r!==t||i!==n||a!==s)&&(e.stencilFunc(t,n,s),r=t,i=n,a=s)},setOp:function(t,n,r){(s!==t||o!==n||l!==r)&&(e.stencilOp(t,n,r),s=t,o=n,l=r)},setLocked:function(e){t=e},setClear:function(t){c!==t&&(e.clearStencil(t),c=t)},reset:function(){t=!1,n=null,r=null,i=null,a=null,s=null,o=null,l=null,c=null}}},o=new WeakMap,l=new WeakMap,c={},d={},h=new WeakMap,u=[],p=null,f=!1,m=null,g=null,y=null,v=null,x=null,S=null,A=null,b=!1,k=null,w=null,j=null,M=null,P=null,O=e.getParameter(35661),T=!1,I=0,C=e.getParameter(7938);-1!==C.indexOf("WebGL")?(I=parseFloat(/^WebGL (\d)/.exec(C)[1]),T=I>=1):-1!==C.indexOf("OpenGL ES")&&(I=parseFloat(/^OpenGL ES (\d)/.exec(C)[1]),T=I>=2);let E=null,V={},R=e.getParameter(3088),D=e.getParameter(2978),B=(new VM).fromArray(R),G=(new VM).fromArray(D);function q(t,n,r){let i=new Uint8Array(4),a=e.createTexture();e.bindTexture(t,a),e.texParameteri(t,10241,9728),e.texParameteri(t,10240,9728);for(let s=0;s<r;s++)e.texImage2D(n+s,0,6408,1,1,0,6408,5121,i);return a}let H={};function W(t){!0!==c[t]&&(e.enable(t),c[t]=!0)}function z(t){!1!==c[t]&&(e.disable(t),c[t]=!1)}H[3553]=q(3553,3553,1),H[34067]=q(34067,34069,6),i.setClear(0,0,0,1),a.setClear(1),s.setClear(0),W(2929),a.setFunc(nw),L(!1),Y(kk),W(2884),N(Ck);let J={[Gk]:32774,[qk]:32778,[Hk]:32779};if(r)J[Wk]=32775,J[zk]=32776;else{let e=t.get("EXT_blend_minmax");null!==e&&(J[Wk]=e.MIN_EXT,J[zk]=e.MAX_EXT)}let U={[Jk]:0,[Uk]:1,[Nk]:768,[Yk]:770,[_k]:776,[Qk]:774,[Zk]:772,[Lk]:769,[Fk]:771,[Xk]:775,[Kk]:773};function N(t,n,r,i,a,s,o,l){if(t!==Ck){if(!1===f&&(W(3042),f=!0),t===Bk)a=a||n,s=s||r,o=o||i,(n!==g||a!==x)&&(e.blendEquationSeparate(J[n],J[a]),g=n,x=a),(r!==y||i!==v||s!==S||o!==A)&&(e.blendFuncSeparate(U[r],U[i],U[s],U[o]),y=r,v=i,S=s,A=o),m=t,b=!1;else if(t!==m||l!==b){if((g!==Gk||x!==Gk)&&(e.blendEquation(32774),g=Gk,x=Gk),l)switch(t){case Ek:e.blendFuncSeparate(1,771,1,771);break;case Vk:e.blendFunc(1,1);break;case Rk:e.blendFuncSeparate(0,769,0,1);break;case Dk:e.blendFuncSeparate(0,768,0,770);break;default:console.error("THREE.WebGLState: Invalid blending: ",t)}else switch(t){case Ek:e.blendFuncSeparate(770,771,1,771);break;case Vk:e.blendFunc(770,1);break;case Rk:e.blendFuncSeparate(0,769,0,1);break;case Dk:e.blendFunc(0,768);break;default:console.error("THREE.WebGLState: Invalid blending: ",t)}y=null,v=null,S=null,A=null,m=t,b=l}}else!0===f&&(z(3042),f=!1)}function L(t){k!==t&&(t?e.frontFace(2304):e.frontFace(2305),k=t)}function Y(t){t!==bk?(W(2884),t!==w&&(t===kk?e.cullFace(1029):t===wk?e.cullFace(1028):e.cullFace(1032))):z(2884),w=t}function F(t,n,r){t?(W(32823),(M!==n||P!==r)&&(e.polygonOffset(n,r),M=n,P=r)):z(32823)}return{buffers:{color:i,depth:a,stencil:s},enable:W,disable:z,bindFramebuffer:function(t,n){return d[t]!==n&&(e.bindFramebuffer(t,n),d[t]=n,r&&(36009===t&&(d[36160]=n),36160===t&&(d[36009]=n)),!0)},drawBuffers:function(r,i){let a=u,s=!1;if(r)if(a=h.get(i),void 0===a&&(a=[],h.set(i,a)),r.isWebGLMultipleRenderTargets){let e=r.texture;if(a.length!==e.length||36064!==a[0]){for(let t=0,n=e.length;t<n;t++)a[t]=36064+t;a.length=e.length,s=!0}}else 36064!==a[0]&&(a[0]=36064,s=!0);else 1029!==a[0]&&(a[0]=1029,s=!0);s&&(n.isWebGL2?e.drawBuffers(a):t.get("WEBGL_draw_buffers").drawBuffersWEBGL(a))},useProgram:function(t){return p!==t&&(e.useProgram(t),p=t,!0)},setBlending:N,setMaterial:function(e,t){e.side===Ik?z(2884):W(2884);let n=e.side===Tk;t&&(n=!n),L(n),e.blending===Ek&&!1===e.transparent?N(Ck):N(e.blending,e.blendEquation,e.blendSrc,e.blendDst,e.blendEquationAlpha,e.blendSrcAlpha,e.blendDstAlpha,e.premultipliedAlpha),a.setFunc(e.depthFunc),a.setTest(e.depthTest),a.setMask(e.depthWrite),i.setMask(e.colorWrite);let r=e.stencilWrite;s.setTest(r),r&&(s.setMask(e.stencilWriteMask),s.setFunc(e.stencilFunc,e.stencilRef,e.stencilFuncMask),s.setOp(e.stencilFail,e.stencilZFail,e.stencilZPass)),F(e.polygonOffset,e.polygonOffsetFactor,e.polygonOffsetUnits),!0===e.alphaToCoverage?W(32926):z(32926)},setFlipSided:L,setCullFace:Y,setLineWidth:function(t){t!==j&&(T&&e.lineWidth(t),j=t)},setPolygonOffset:F,setScissorTest:function(e){e?W(3089):z(3089)},activeTexture:function(t){void 0===t&&(t=33984+O-1),E!==t&&(e.activeTexture(t),E=t)},bindTexture:function(t,n,r){void 0===r&&(r=null===E?33984+O-1:E);let i=V[r];void 0===i&&(i={type:void 0,texture:void 0},V[r]=i),(i.type!==t||i.texture!==n)&&(E!==r&&(e.activeTexture(r),E=r),e.bindTexture(t,n||H[t]),i.type=t,i.texture=n)},unbindTexture:function(){let t=V[E];void 0!==t&&void 0!==t.type&&(e.bindTexture(t.type,null),t.type=void 0,t.texture=void 0)},compressedTexImage2D:function(){try{e.compressedTexImage2D.apply(e,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},compressedTexImage3D:function(){try{e.compressedTexImage3D.apply(e,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},texImage2D:function(){try{e.texImage2D.apply(e,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},texImage3D:function(){try{e.texImage3D.apply(e,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},updateUBOMapping:function(t,n){let r=l.get(n);void 0===r&&(r=new WeakMap,l.set(n,r));let i=r.get(t);void 0===i&&(i=e.getUniformBlockIndex(n,t.name),r.set(t,i))},uniformBlockBinding:function(t,n){let r=l.get(n).get(t);o.get(n)!==r&&(e.uniformBlockBinding(n,r,t.__bindingPointIndex),o.set(n,r))},texStorage2D:function(){try{e.texStorage2D.apply(e,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},texStorage3D:function(){try{e.texStorage3D.apply(e,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},texSubImage2D:function(){try{e.texSubImage2D.apply(e,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},texSubImage3D:function(){try{e.texSubImage3D.apply(e,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},compressedTexSubImage2D:function(){try{e.compressedTexSubImage2D.apply(e,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},compressedTexSubImage3D:function(){try{e.compressedTexSubImage3D.apply(e,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},scissor:function(t){!1===B.equals(t)&&(e.scissor(t.x,t.y,t.z,t.w),B.copy(t))},viewport:function(t){!1===G.equals(t)&&(e.viewport(t.x,t.y,t.z,t.w),G.copy(t))},reset:function(){e.disable(3042),e.disable(2884),e.disable(2929),e.disable(32823),e.disable(3089),e.disable(2960),e.disable(32926),e.blendEquation(32774),e.blendFunc(1,0),e.blendFuncSeparate(1,0,1,0),e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.depthMask(!0),e.depthFunc(513),e.clearDepth(1),e.stencilMask(4294967295),e.stencilFunc(519,0,4294967295),e.stencilOp(7680,7680,7680),e.clearStencil(0),e.cullFace(1029),e.frontFace(2305),e.polygonOffset(0,0),e.activeTexture(33984),e.bindFramebuffer(36160,null),!0===r&&(e.bindFramebuffer(36009,null),e.bindFramebuffer(36008,null)),e.useProgram(null),e.lineWidth(1),e.scissor(0,0,e.canvas.width,e.canvas.height),e.viewport(0,0,e.canvas.width,e.canvas.height),c={},E=null,V={},d={},h=new WeakMap,u=[],p=null,f=!1,m=null,g=null,y=null,v=null,x=null,S=null,A=null,b=!1,k=null,w=null,j=null,M=null,P=null,B.set(0,0,e.canvas.width,e.canvas.height),G.set(0,0,e.canvas.width,e.canvas.height),i.reset(),a.reset(),s.reset()}}}function yC(e,t,n,r,i,a,s){let o,l=i.isWebGL2,c=i.maxTextures,d=i.maxCubemapSize,h=i.maxTextureSize,u=i.maxSamples,p=t.has("WEBGL_multisampled_render_to_texture")?t.get("WEBGL_multisampled_render_to_texture"):null,f=!(typeof navigator>"u")&&/OculusBrowser/g.test(navigator.userAgent),m=new WeakMap,g=new WeakMap,y=!1;try{y=typeof OffscreenCanvas<"u"&&null!==new OffscreenCanvas(1,1).getContext("2d")}catch{}function v(e,t){return y?new OffscreenCanvas(e,t):mM("canvas")}function x(e,t,n,r){let i=1;if((e.width>r||e.height>r)&&(i=r/Math.max(e.width,e.height)),i<1||!0===t){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){let r=t?aM:Math.floor,a=r(i*e.width),s=r(i*e.height);void 0===o&&(o=v(a,s));let l=n?v(a,s):o;return l.width=a,l.height=s,l.getContext("2d").drawImage(e,0,0,a,s),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+e.width+"x"+e.height+") to ("+a+"x"+s+")."),l}return"data"in e&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+e.width+"x"+e.height+")."),e}return e}function S(e){return rM(e.width)&&rM(e.height)}function A(e,t){return e.generateMipmaps&&t&&e.minFilter!==ww&&e.minFilter!==Pw}function b(t){e.generateMipmap(t)}function k(n,r,i,a){let s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(!1===l)return r;if(null!==n){if(void 0!==e[n])return e[n];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+n+"'")}let o=r;return 6403===r&&(5126===i&&(o=33326),5131===i&&(o=33325),5121===i&&(o=33321)),33319===r&&(5126===i&&(o=33328),5131===i&&(o=33327),5121===i&&(o=33323)),6408===r&&(5126===i&&(o=34836),5131===i&&(o=34842),5121===i&&(o=a===Gj&&!1===s?35907:32856),32819===i&&(o=32854),32820===i&&(o=32855)),(33325===o||33326===o||33327===o||33328===o||34842===o||34836===o)&&t.get("EXT_color_buffer_float"),o}function w(e,t,n){return!0===A(e,n)||e.isFramebufferTexture&&e.minFilter!==ww&&e.minFilter!==Pw?Math.log2(Math.max(t.width,t.height))+1:void 0!==e.mipmaps&&e.mipmaps.length>0?e.mipmaps.length:e.isCompressedTexture&&Array.isArray(e.image)?t.mipmaps.length:1}function j(e){return e===ww||e===jw||e===Mw?9728:9729}function M(e){let t=e.target;t.removeEventListener("dispose",M),function(e){let t=r.get(e);if(void 0===t.__webglInit)return;let n=e.source,i=g.get(n);if(i){let r=i[t.__cacheKey];r.usedTimes--,0===r.usedTimes&&O(e),0===Object.keys(i).length&&g.delete(n)}r.remove(e)}(t),t.isVideoTexture&&m.delete(t)}function P(t){let n=t.target;n.removeEventListener("dispose",P),function(t){let n=t.texture,i=r.get(t),a=r.get(n);if(void 0!==a.__webglTexture&&(e.deleteTexture(a.__webglTexture),s.memory.textures--),t.depthTexture&&t.depthTexture.dispose(),t.isWebGLCubeRenderTarget)for(let r=0;r<6;r++)e.deleteFramebuffer(i.__webglFramebuffer[r]),i.__webglDepthbuffer&&e.deleteRenderbuffer(i.__webglDepthbuffer[r]);else{if(e.deleteFramebuffer(i.__webglFramebuffer),i.__webglDepthbuffer&&e.deleteRenderbuffer(i.__webglDepthbuffer),i.__webglMultisampledFramebuffer&&e.deleteFramebuffer(i.__webglMultisampledFramebuffer),i.__webglColorRenderbuffer)for(let t=0;t<i.__webglColorRenderbuffer.length;t++)i.__webglColorRenderbuffer[t]&&e.deleteRenderbuffer(i.__webglColorRenderbuffer[t]);i.__webglDepthRenderbuffer&&e.deleteRenderbuffer(i.__webglDepthRenderbuffer)}if(t.isWebGLMultipleRenderTargets)for(let o=0,l=n.length;o<l;o++){let t=r.get(n[o]);t.__webglTexture&&(e.deleteTexture(t.__webglTexture),s.memory.textures--),r.remove(n[o])}r.remove(n),r.remove(t)}(n)}function O(t){let n=r.get(t);e.deleteTexture(n.__webglTexture);let i=t.source;delete g.get(i)[n.__cacheKey],s.memory.textures--}let T=0;function I(e,t){let i=r.get(e);if(e.isVideoTexture&&function(e){let t=s.render.frame;m.get(e)!==t&&(m.set(e,t),e.update())}(e),!1===e.isRenderTargetTexture&&e.version>0&&i.__version!==e.version){let n=e.image;if(null===n)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else{if(!1!==n.complete)return void D(i,e,t);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}n.bindTexture(3553,i.__webglTexture,33984+t)}let C={[Aw]:10497,[bw]:33071,[kw]:33648},E={[ww]:9728,[jw]:9984,[Mw]:9986,[Pw]:9729,[Ow]:9985,[Tw]:9987};function V(n,a,s){if(s?(e.texParameteri(n,10242,C[a.wrapS]),e.texParameteri(n,10243,C[a.wrapT]),(32879===n||35866===n)&&e.texParameteri(n,32882,C[a.wrapR]),e.texParameteri(n,10240,E[a.magFilter]),e.texParameteri(n,10241,E[a.minFilter])):(e.texParameteri(n,10242,33071),e.texParameteri(n,10243,33071),(32879===n||35866===n)&&e.texParameteri(n,32882,33071),(a.wrapS!==bw||a.wrapT!==bw)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),e.texParameteri(n,10240,j(a.magFilter)),e.texParameteri(n,10241,j(a.minFilter)),a.minFilter!==ww&&a.minFilter!==Pw&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),!0===t.has("EXT_texture_filter_anisotropic")){let s=t.get("EXT_texture_filter_anisotropic");if(a.magFilter===ww||a.minFilter!==Mw&&a.minFilter!==Tw||a.type===Bw&&!1===t.has("OES_texture_float_linear")||!1===l&&a.type===Gw&&!1===t.has("OES_texture_half_float_linear"))return;(a.anisotropy>1||r.get(a).__currentAnisotropy)&&(e.texParameterf(n,s.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(a.anisotropy,i.getMaxAnisotropy())),r.get(a).__currentAnisotropy=a.anisotropy)}}function R(t,n){let r=!1;void 0===t.__webglInit&&(t.__webglInit=!0,n.addEventListener("dispose",M));let i=n.source,a=g.get(i);void 0===a&&(a={},g.set(i,a));let o=function(e){let t=[];return t.push(e.wrapS),t.push(e.wrapT),t.push(e.wrapR||0),t.push(e.magFilter),t.push(e.minFilter),t.push(e.anisotropy),t.push(e.internalFormat),t.push(e.format),t.push(e.type),t.push(e.generateMipmaps),t.push(e.premultiplyAlpha),t.push(e.flipY),t.push(e.unpackAlignment),t.push(e.encoding),t.join()}(n);if(o!==t.__cacheKey){void 0===a[o]&&(a[o]={texture:e.createTexture(),usedTimes:0},s.memory.textures++,r=!0),a[o].usedTimes++;let i=a[t.__cacheKey];void 0!==i&&(a[t.__cacheKey].usedTimes--,0===i.usedTimes&&O(n)),t.__cacheKey=o,t.__webglTexture=a[o].texture}return r}function D(t,i,s){let o=3553;(i.isDataArrayTexture||i.isCompressedArrayTexture)&&(o=35866),i.isData3DTexture&&(o=32879);let c=R(t,i),d=i.source;n.bindTexture(o,t.__webglTexture,33984+s);let u=r.get(d);if(d.version!==u.__version||!0===c){n.activeTexture(33984+s),e.pixelStorei(37440,i.flipY),e.pixelStorei(37441,i.premultiplyAlpha),e.pixelStorei(3317,i.unpackAlignment),e.pixelStorei(37443,0);let t=function(e){return!l&&(e.wrapS!==bw||e.wrapT!==bw||e.minFilter!==ww&&e.minFilter!==Pw)}(i)&&!1===S(i.image),r=x(i.image,t,!1,h);r=z(i,r);let p=S(r)||l,f=a.convert(i.format,i.encoding),m=a.convert(i.type),g=k(i.internalFormat,f,m,i.encoding,i.isVideoTexture);V(o,i,p);let y,v=i.mipmaps,j=l&&!0!==i.isVideoTexture,M=void 0===u.__version||!0===c,P=w(i,r,p);if(i.isDepthTexture)g=6402,l?g=i.type===Bw?36012:i.type===Dw?33190:i.type===Ww?35056:33189:i.type===Bw&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),i.format===Lw&&6402===g&&i.type!==Vw&&i.type!==Dw&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),i.type=Dw,m=a.convert(i.type)),i.format===Yw&&6402===g&&(g=34041,i.type!==Ww&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),i.type=Ww,m=a.convert(i.type))),M&&(j?n.texStorage2D(3553,1,g,r.width,r.height):n.texImage2D(3553,0,g,r.width,r.height,0,f,m,null));else if(i.isDataTexture)if(v.length>0&&p){j&&M&&n.texStorage2D(3553,P,g,v[0].width,v[0].height);for(let e=0,t=v.length;e<t;e++)y=v[e],j?n.texSubImage2D(3553,e,0,0,y.width,y.height,f,m,y.data):n.texImage2D(3553,e,g,y.width,y.height,0,f,m,y.data);i.generateMipmaps=!1}else j?(M&&n.texStorage2D(3553,P,g,r.width,r.height),n.texSubImage2D(3553,0,0,0,r.width,r.height,f,m,r.data)):n.texImage2D(3553,0,g,r.width,r.height,0,f,m,r.data);else if(i.isCompressedTexture)if(i.isCompressedArrayTexture){j&&M&&n.texStorage3D(35866,P,g,v[0].width,v[0].height,r.depth);for(let e=0,t=v.length;e<t;e++)y=v[e],i.format!==Jw?null!==f?j?n.compressedTexSubImage3D(35866,e,0,0,0,y.width,y.height,r.depth,f,y.data,0,0):n.compressedTexImage3D(35866,e,g,y.width,y.height,r.depth,0,y.data,0,0):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):j?n.texSubImage3D(35866,e,0,0,0,y.width,y.height,r.depth,f,m,y.data):n.texImage3D(35866,e,g,y.width,y.height,r.depth,0,f,m,y.data)}else{j&&M&&n.texStorage2D(3553,P,g,v[0].width,v[0].height);for(let e=0,t=v.length;e<t;e++)y=v[e],i.format!==Jw?null!==f?j?n.compressedTexSubImage2D(3553,e,0,0,y.width,y.height,f,y.data):n.compressedTexImage2D(3553,e,g,y.width,y.height,0,y.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):j?n.texSubImage2D(3553,e,0,0,y.width,y.height,f,m,y.data):n.texImage2D(3553,e,g,y.width,y.height,0,f,m,y.data)}else if(i.isDataArrayTexture)j?(M&&n.texStorage3D(35866,P,g,r.width,r.height,r.depth),n.texSubImage3D(35866,0,0,0,0,r.width,r.height,r.depth,f,m,r.data)):n.texImage3D(35866,0,g,r.width,r.height,r.depth,0,f,m,r.data);else if(i.isData3DTexture)j?(M&&n.texStorage3D(32879,P,g,r.width,r.height,r.depth),n.texSubImage3D(32879,0,0,0,0,r.width,r.height,r.depth,f,m,r.data)):n.texImage3D(32879,0,g,r.width,r.height,r.depth,0,f,m,r.data);else if(i.isFramebufferTexture){if(M)if(j)n.texStorage2D(3553,P,g,r.width,r.height);else{let e=r.width,t=r.height;for(let r=0;r<P;r++)n.texImage2D(3553,r,g,e,t,0,f,m,null),e>>=1,t>>=1}}else if(v.length>0&&p){j&&M&&n.texStorage2D(3553,P,g,v[0].width,v[0].height);for(let e=0,t=v.length;e<t;e++)y=v[e],j?n.texSubImage2D(3553,e,0,0,f,m,y):n.texImage2D(3553,e,g,f,m,y);i.generateMipmaps=!1}else j?(M&&n.texStorage2D(3553,P,g,r.width,r.height),n.texSubImage2D(3553,0,0,0,f,m,r)):n.texImage2D(3553,0,g,f,m,r);A(i,p)&&b(o),u.__version=d.version,i.onUpdate&&i.onUpdate(i)}t.__version=i.version}function B(t,i,s,o,l){let c=a.convert(s.format,s.encoding),d=a.convert(s.type),h=k(s.internalFormat,c,d,s.encoding);r.get(i).__hasExternalTextures||(32879===l||35866===l?n.texImage3D(l,0,h,i.width,i.height,i.depth,0,c,d,null):n.texImage2D(l,0,h,i.width,i.height,0,c,d,null)),n.bindFramebuffer(36160,t),W(i)?p.framebufferTexture2DMultisampleEXT(36160,o,l,r.get(s).__webglTexture,0,H(i)):(3553===l||l>=34069&&l<=34074)&&e.framebufferTexture2D(36160,o,l,r.get(s).__webglTexture,0),n.bindFramebuffer(36160,null)}function G(t,n,r){if(e.bindRenderbuffer(36161,t),n.depthBuffer&&!n.stencilBuffer){let i=33189;if(r||W(n)){let t=n.depthTexture;t&&t.isDepthTexture&&(t.type===Bw?i=36012:t.type===Dw&&(i=33190));let r=H(n);W(n)?p.renderbufferStorageMultisampleEXT(36161,r,i,n.width,n.height):e.renderbufferStorageMultisample(36161,r,i,n.width,n.height)}else e.renderbufferStorage(36161,i,n.width,n.height);e.framebufferRenderbuffer(36160,36096,36161,t)}else if(n.depthBuffer&&n.stencilBuffer){let i=H(n);r&&!1===W(n)?e.renderbufferStorageMultisample(36161,i,35056,n.width,n.height):W(n)?p.renderbufferStorageMultisampleEXT(36161,i,35056,n.width,n.height):e.renderbufferStorage(36161,34041,n.width,n.height),e.framebufferRenderbuffer(36160,33306,36161,t)}else{let t=!0===n.isWebGLMultipleRenderTargets?n.texture:[n.texture];for(let i=0;i<t.length;i++){let s=t[i],o=a.convert(s.format,s.encoding),l=a.convert(s.type),c=k(s.internalFormat,o,l,s.encoding),d=H(n);r&&!1===W(n)?e.renderbufferStorageMultisample(36161,d,c,n.width,n.height):W(n)?p.renderbufferStorageMultisampleEXT(36161,d,c,n.width,n.height):e.renderbufferStorage(36161,c,n.width,n.height)}}e.bindRenderbuffer(36161,null)}function q(t){let i=r.get(t),a=!0===t.isWebGLCubeRenderTarget;if(t.depthTexture&&!i.__autoAllocateDepthBuffer){if(a)throw new Error("target.depthTexture not supported in Cube render targets");!function(t,i){if(i&&i.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(n.bindFramebuffer(36160,t),!i.depthTexture||!i.depthTexture.isDepthTexture)throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");(!r.get(i.depthTexture).__webglTexture||i.depthTexture.image.width!==i.width||i.depthTexture.image.height!==i.height)&&(i.depthTexture.image.width=i.width,i.depthTexture.image.height=i.height,i.depthTexture.needsUpdate=!0),I(i.depthTexture,0);let a=r.get(i.depthTexture).__webglTexture,s=H(i);if(i.depthTexture.format===Lw)W(i)?p.framebufferTexture2DMultisampleEXT(36160,36096,3553,a,0,s):e.framebufferTexture2D(36160,36096,3553,a,0);else{if(i.depthTexture.format!==Yw)throw new Error("Unknown depthTexture format");W(i)?p.framebufferTexture2DMultisampleEXT(36160,33306,3553,a,0,s):e.framebufferTexture2D(36160,33306,3553,a,0)}}(i.__webglFramebuffer,t)}else if(a){i.__webglDepthbuffer=[];for(let r=0;r<6;r++)n.bindFramebuffer(36160,i.__webglFramebuffer[r]),i.__webglDepthbuffer[r]=e.createRenderbuffer(),G(i.__webglDepthbuffer[r],t,!1)}else n.bindFramebuffer(36160,i.__webglFramebuffer),i.__webglDepthbuffer=e.createRenderbuffer(),G(i.__webglDepthbuffer,t,!1);n.bindFramebuffer(36160,null)}function H(e){return Math.min(u,e.samples)}function W(e){let n=r.get(e);return l&&e.samples>0&&!0===t.has("WEBGL_multisampled_render_to_texture")&&!1!==n.__useRenderToTexture}function z(e,n){let r=e.encoding,i=e.format,a=e.type;return!0===e.isCompressedTexture||!0===e.isVideoTexture||e.format===Fj||r!==Bj&&(r===Gj?!1===l?!0===t.has("EXT_sRGB")&&i===Jw?(e.format=Fj,e.minFilter=Pw,e.generateMipmaps=!1):n=OM.sRGBToLinear(n):(i!==Jw||a!==Iw)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture encoding:",r)),n}this.allocateTextureUnit=function(){let e=T;return e>=c&&console.warn("THREE.WebGLTextures: Trying to use "+e+" texture units while this GPU supports only "+c),T+=1,e},this.resetTextureUnits=function(){T=0},this.setTexture2D=I,this.setTexture2DArray=function(e,t){let i=r.get(e);e.version>0&&i.__version!==e.version?D(i,e,t):n.bindTexture(35866,i.__webglTexture,33984+t)},this.setTexture3D=function(e,t){let i=r.get(e);e.version>0&&i.__version!==e.version?D(i,e,t):n.bindTexture(32879,i.__webglTexture,33984+t)},this.setTextureCube=function(t,i){let s=r.get(t);t.version>0&&s.__version!==t.version?function(t,i,s){if(6!==i.image.length)return;let o=R(t,i),c=i.source;n.bindTexture(34067,t.__webglTexture,33984+s);let h=r.get(c);if(c.version!==h.__version||!0===o){n.activeTexture(33984+s),e.pixelStorei(37440,i.flipY),e.pixelStorei(37441,i.premultiplyAlpha),e.pixelStorei(3317,i.unpackAlignment),e.pixelStorei(37443,0);let t=i.isCompressedTexture||i.image[0].isCompressedTexture,r=i.image[0]&&i.image[0].isDataTexture,u=[];for(let e=0;e<6;e++)u[e]=t||r?r?i.image[e].image:i.image[e]:x(i.image[e],!1,!0,d),u[e]=z(i,u[e]);let p,f=u[0],m=S(f)||l,g=a.convert(i.format,i.encoding),y=a.convert(i.type),v=k(i.internalFormat,g,y,i.encoding),j=l&&!0!==i.isVideoTexture,M=void 0===h.__version||!0===o,P=w(i,f,m);if(V(34067,i,m),t){j&&M&&n.texStorage2D(34067,P,v,f.width,f.height);for(let e=0;e<6;e++){p=u[e].mipmaps;for(let t=0;t<p.length;t++){let r=p[t];i.format!==Jw?null!==g?j?n.compressedTexSubImage2D(34069+e,t,0,0,r.width,r.height,g,r.data):n.compressedTexImage2D(34069+e,t,v,r.width,r.height,0,r.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):j?n.texSubImage2D(34069+e,t,0,0,r.width,r.height,g,y,r.data):n.texImage2D(34069+e,t,v,r.width,r.height,0,g,y,r.data)}}}else{p=i.mipmaps,j&&M&&(p.length>0&&P++,n.texStorage2D(34067,P,v,u[0].width,u[0].height));for(let e=0;e<6;e++)if(r){j?n.texSubImage2D(34069+e,0,0,0,u[e].width,u[e].height,g,y,u[e].data):n.texImage2D(34069+e,0,v,u[e].width,u[e].height,0,g,y,u[e].data);for(let t=0;t<p.length;t++){let r=p[t].image[e].image;j?n.texSubImage2D(34069+e,t+1,0,0,r.width,r.height,g,y,r.data):n.texImage2D(34069+e,t+1,v,r.width,r.height,0,g,y,r.data)}}else{j?n.texSubImage2D(34069+e,0,0,0,g,y,u[e]):n.texImage2D(34069+e,0,v,g,y,u[e]);for(let t=0;t<p.length;t++){let r=p[t];j?n.texSubImage2D(34069+e,t+1,0,0,g,y,r.image[e]):n.texImage2D(34069+e,t+1,v,g,y,r.image[e])}}}A(i,m)&&b(34067),h.__version=c.version,i.onUpdate&&i.onUpdate(i)}t.__version=i.version}(s,t,i):n.bindTexture(34067,s.__webglTexture,33984+i)},this.rebindTextures=function(e,t,n){let i=r.get(e);void 0!==t&&B(i.__webglFramebuffer,e,e.texture,36064,3553),void 0!==n&&q(e)},this.setupRenderTarget=function(t){let o=t.texture,c=r.get(t),d=r.get(o);t.addEventListener("dispose",P),!0!==t.isWebGLMultipleRenderTargets&&(void 0===d.__webglTexture&&(d.__webglTexture=e.createTexture()),d.__version=o.version,s.memory.textures++);let h=!0===t.isWebGLCubeRenderTarget,u=!0===t.isWebGLMultipleRenderTargets,p=S(t)||l;if(h){c.__webglFramebuffer=[];for(let t=0;t<6;t++)c.__webglFramebuffer[t]=e.createFramebuffer()}else{if(c.__webglFramebuffer=e.createFramebuffer(),u)if(i.drawBuffers){let n=t.texture;for(let t=0,i=n.length;t<i;t++){let i=r.get(n[t]);void 0===i.__webglTexture&&(i.__webglTexture=e.createTexture(),s.memory.textures++)}}else console.warn("THREE.WebGLRenderer: WebGLMultipleRenderTargets can only be used with WebGL2 or WEBGL_draw_buffers extension.");if(l&&t.samples>0&&!1===W(t)){let r=u?o:[o];c.__webglMultisampledFramebuffer=e.createFramebuffer(),c.__webglColorRenderbuffer=[],n.bindFramebuffer(36160,c.__webglMultisampledFramebuffer);for(let n=0;n<r.length;n++){let i=r[n];c.__webglColorRenderbuffer[n]=e.createRenderbuffer(),e.bindRenderbuffer(36161,c.__webglColorRenderbuffer[n]);let s=a.convert(i.format,i.encoding),o=a.convert(i.type),l=k(i.internalFormat,s,o,i.encoding,!0===t.isXRRenderTarget),d=H(t);e.renderbufferStorageMultisample(36161,d,l,t.width,t.height),e.framebufferRenderbuffer(36160,36064+n,36161,c.__webglColorRenderbuffer[n])}e.bindRenderbuffer(36161,null),t.depthBuffer&&(c.__webglDepthRenderbuffer=e.createRenderbuffer(),G(c.__webglDepthRenderbuffer,t,!0)),n.bindFramebuffer(36160,null)}}if(h){n.bindTexture(34067,d.__webglTexture),V(34067,o,p);for(let e=0;e<6;e++)B(c.__webglFramebuffer[e],t,o,36064,34069+e);A(o,p)&&b(34067),n.unbindTexture()}else if(u){let e=t.texture;for(let i=0,a=e.length;i<a;i++){let a=e[i],s=r.get(a);n.bindTexture(3553,s.__webglTexture),V(3553,a,p),B(c.__webglFramebuffer,t,a,36064+i,3553),A(a,p)&&b(3553)}n.unbindTexture()}else{let e=3553;(t.isWebGL3DRenderTarget||t.isWebGLArrayRenderTarget)&&(l?e=t.isWebGL3DRenderTarget?32879:35866:console.error("THREE.WebGLTextures: THREE.Data3DTexture and THREE.DataArrayTexture only supported with WebGL2.")),n.bindTexture(e,d.__webglTexture),V(e,o,p),B(c.__webglFramebuffer,t,o,36064,e),A(o,p)&&b(e),n.unbindTexture()}t.depthBuffer&&q(t)},this.updateRenderTargetMipmap=function(e){let t=S(e)||l,i=!0===e.isWebGLMultipleRenderTargets?e.texture:[e.texture];for(let a=0,s=i.length;a<s;a++){let s=i[a];if(A(s,t)){let t=e.isWebGLCubeRenderTarget?34067:3553,i=r.get(s).__webglTexture;n.bindTexture(t,i),b(t),n.unbindTexture()}}},this.updateMultisampleRenderTarget=function(t){if(l&&t.samples>0&&!1===W(t)){let i=t.isWebGLMultipleRenderTargets?t.texture:[t.texture],a=t.width,s=t.height,o=16384,l=[],c=t.stencilBuffer?33306:36096,d=r.get(t),h=!0===t.isWebGLMultipleRenderTargets;if(h)for(let t=0;t<i.length;t++)n.bindFramebuffer(36160,d.__webglMultisampledFramebuffer),e.framebufferRenderbuffer(36160,36064+t,36161,null),n.bindFramebuffer(36160,d.__webglFramebuffer),e.framebufferTexture2D(36009,36064+t,3553,null,0);n.bindFramebuffer(36008,d.__webglMultisampledFramebuffer),n.bindFramebuffer(36009,d.__webglFramebuffer);for(let n=0;n<i.length;n++){l.push(36064+n),t.depthBuffer&&l.push(c);let u=void 0!==d.__ignoreDepthValues&&d.__ignoreDepthValues;if(!1===u&&(t.depthBuffer&&(o|=256),t.stencilBuffer&&(o|=1024)),h&&e.framebufferRenderbuffer(36008,36064,36161,d.__webglColorRenderbuffer[n]),!0===u&&(e.invalidateFramebuffer(36008,[c]),e.invalidateFramebuffer(36009,[c])),h){let t=r.get(i[n]).__webglTexture;e.framebufferTexture2D(36009,36064,3553,t,0)}e.blitFramebuffer(0,0,a,s,0,0,a,s,o,9728),f&&e.invalidateFramebuffer(36008,l)}if(n.bindFramebuffer(36008,null),n.bindFramebuffer(36009,null),h)for(let t=0;t<i.length;t++){n.bindFramebuffer(36160,d.__webglMultisampledFramebuffer),e.framebufferRenderbuffer(36160,36064+t,36161,d.__webglColorRenderbuffer[t]);let a=r.get(i[t]).__webglTexture;n.bindFramebuffer(36160,d.__webglFramebuffer),e.framebufferTexture2D(36009,36064+t,3553,a,0)}n.bindFramebuffer(36009,d.__webglMultisampledFramebuffer)}},this.setupDepthRenderbuffer=q,this.setupFrameBufferTexture=B,this.useMultisampledRTT=W}function vC(e,t,n){let r=n.isWebGL2;return{convert:function(n){let i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(n===Iw)return 5121;if(n===qw)return 32819;if(n===Hw)return 32820;if(n===Cw)return 5120;if(n===Ew)return 5122;if(n===Vw)return 5123;if(n===Rw)return 5124;if(n===Dw)return 5125;if(n===Bw)return 5126;if(n===Gw)return r?5131:(i=t.get("OES_texture_half_float"),null!==i?i.HALF_FLOAT_OES:null);if(n===zw)return 6406;if(n===Jw)return 6408;if(n===Uw)return 6409;if(n===Nw)return 6410;if(n===Lw)return 6402;if(n===Yw)return 34041;if(n===Fj)return i=t.get("EXT_sRGB"),null!==i?i.SRGB_ALPHA_EXT:null;if(n===Fw)return 6403;if(n===Zw)return 36244;if(n===Kw)return 33319;if(n===Qw)return 33320;if(n===Xw)return 36249;if(n===_w||n===$w||n===ej||n===tj)if(a===Gj){if(i=t.get("WEBGL_compressed_texture_s3tc_srgb"),null===i)return null;if(n===_w)return i.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(n===$w)return i.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(n===ej)return i.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(n===tj)return i.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else{if(i=t.get("WEBGL_compressed_texture_s3tc"),null===i)return null;if(n===_w)return i.COMPRESSED_RGB_S3TC_DXT1_EXT;if(n===$w)return i.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(n===ej)return i.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(n===tj)return i.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(n===nj||n===rj||n===ij||n===aj){if(i=t.get("WEBGL_compressed_texture_pvrtc"),null===i)return null;if(n===nj)return i.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(n===rj)return i.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(n===ij)return i.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(n===aj)return i.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(n===sj)return i=t.get("WEBGL_compressed_texture_etc1"),null!==i?i.COMPRESSED_RGB_ETC1_WEBGL:null;if(n===oj||n===lj){if(i=t.get("WEBGL_compressed_texture_etc"),null===i)return null;if(n===oj)return a===Gj?i.COMPRESSED_SRGB8_ETC2:i.COMPRESSED_RGB8_ETC2;if(n===lj)return a===Gj?i.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:i.COMPRESSED_RGBA8_ETC2_EAC}if(n===cj||n===dj||n===hj||n===uj||n===pj||n===fj||n===mj||n===gj||n===yj||n===vj||n===xj||n===Sj||n===Aj||n===bj){if(i=t.get("WEBGL_compressed_texture_astc"),null===i)return null;if(n===cj)return a===Gj?i.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:i.COMPRESSED_RGBA_ASTC_4x4_KHR;if(n===dj)return a===Gj?i.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:i.COMPRESSED_RGBA_ASTC_5x4_KHR;if(n===hj)return a===Gj?i.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:i.COMPRESSED_RGBA_ASTC_5x5_KHR;if(n===uj)return a===Gj?i.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:i.COMPRESSED_RGBA_ASTC_6x5_KHR;if(n===pj)return a===Gj?i.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:i.COMPRESSED_RGBA_ASTC_6x6_KHR;if(n===fj)return a===Gj?i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:i.COMPRESSED_RGBA_ASTC_8x5_KHR;if(n===mj)return a===Gj?i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:i.COMPRESSED_RGBA_ASTC_8x6_KHR;if(n===gj)return a===Gj?i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:i.COMPRESSED_RGBA_ASTC_8x8_KHR;if(n===yj)return a===Gj?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:i.COMPRESSED_RGBA_ASTC_10x5_KHR;if(n===vj)return a===Gj?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:i.COMPRESSED_RGBA_ASTC_10x6_KHR;if(n===xj)return a===Gj?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:i.COMPRESSED_RGBA_ASTC_10x8_KHR;if(n===Sj)return a===Gj?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:i.COMPRESSED_RGBA_ASTC_10x10_KHR;if(n===Aj)return a===Gj?i.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:i.COMPRESSED_RGBA_ASTC_12x10_KHR;if(n===bj)return a===Gj?i.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:i.COMPRESSED_RGBA_ASTC_12x12_KHR}if(n===kj){if(i=t.get("EXT_texture_compression_bptc"),null===i)return null;if(n===kj)return a===Gj?i.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:i.COMPRESSED_RGBA_BPTC_UNORM_EXT}if(n===wj||n===jj||n===Mj||n===Pj){if(i=t.get("EXT_texture_compression_rgtc"),null===i)return null;if(n===kj)return i.COMPRESSED_RED_RGTC1_EXT;if(n===jj)return i.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(n===Mj)return i.COMPRESSED_RED_GREEN_RGTC2_EXT;if(n===Pj)return i.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}return n===Ww?r?34042:(i=t.get("WEBGL_depth_texture"),null!==i?i.UNSIGNED_INT_24_8_WEBGL:null):void 0!==e[n]?e[n]:null}}}var xC=class extends BO{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];super(),this.isArrayCamera=!0,this.cameras=e}},SC=class extends HP{constructor(){super(),this.isGroup=!0,this.type="Group"}},AC={type:"move"},bC=class{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return null===this._hand&&(this._hand=new SC,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return null===this._targetRay&&(this._targetRay=new SC,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new qM,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new qM),this._targetRay}getGripSpace(){return null===this._grip&&(this._grip=new SC,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new qM,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new qM),this._grip}dispatchEvent(e){return null!==this._targetRay&&this._targetRay.dispatchEvent(e),null!==this._grip&&this._grip.dispatchEvent(e),null!==this._hand&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){let t=this._hand;if(t)for(let n of e.hand.values())this._getHandJoint(t,n)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),null!==this._targetRay&&(this._targetRay.visible=!1),null!==this._grip&&(this._grip.visible=!1),null!==this._hand&&(this._hand.visible=!1),this}update(e,t,n){let r=null,i=null,a=null,s=this._targetRay,o=this._grip,l=this._hand;if(e&&"visible-blurred"!==t.session.visibilityState){if(l&&e.hand){a=!0;for(let a of e.hand.values()){let e=t.getJointPose(a,n),r=this._getHandJoint(l,a);null!==e&&(r.matrix.fromArray(e.transform.matrix),r.matrix.decompose(r.position,r.rotation,r.scale),r.jointRadius=e.radius),r.visible=null!==e}let r=l.joints["index-finger-tip"],i=l.joints["thumb-tip"],s=r.position.distanceTo(i.position),o=.02,c=.005;l.inputState.pinching&&s>o+c?(l.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!l.inputState.pinching&&s<=o-c&&(l.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else null!==o&&e.gripSpace&&(i=t.getPose(e.gripSpace,n),null!==i&&(o.matrix.fromArray(i.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),i.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(i.linearVelocity)):o.hasLinearVelocity=!1,i.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(i.angularVelocity)):o.hasAngularVelocity=!1));null!==s&&(r=t.getPose(e.targetRaySpace,n),null===r&&null!==i&&(r=i),null!==r&&(s.matrix.fromArray(r.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale),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(AC)))}return null!==s&&(s.visible=null!==r),null!==o&&(o.visible=null!==i),null!==l&&(l.visible=null!==a),this}_getHandJoint(e,t){if(void 0===e.joints[t.jointName]){let n=new SC;n.matrixAutoUpdate=!1,n.visible=!1,e.joints[t.jointName]=n,e.add(n)}return e.joints[t.jointName]}},kC=class extends EM{constructor(e,t,n,r,i,a,s,o,l,c){if((c=void 0!==c?c:Lw)!==Lw&&c!==Yw)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===n&&c===Lw&&(n=Dw),void 0===n&&c===Yw&&(n=Ww),super(null,r,i,a,s,o,c,n,l),this.isDepthTexture=!0,this.image={width:e,height:t},this.magFilter=void 0!==s?s:ww,this.minFilter=void 0!==o?o:ww,this.flipY=!1,this.generateMipmaps=!1}},wC=class extends Zj{constructor(e,t){super();let n=this,r=null,i=1,a=null,s="local-floor",o=1,l=null,c=null,d=null,h=null,u=null,p=null,f=t.getContextAttributes(),m=null,g=null,y=[],v=[],x=new Set,S=new Map,A=new BO;A.layers.enable(1),A.viewport=new VM;let b=new BO;b.layers.enable(2),b.viewport=new VM;let k=[A,b],w=new xC;w.layers.enable(1),w.layers.enable(2);let j=null,M=null;function P(e){let t=v.indexOf(e.inputSource);if(-1===t)return;let n=y[t];void 0!==n&&n.dispatchEvent({type:e.type,data:e.inputSource})}function O(){r.removeEventListener("select",P),r.removeEventListener("selectstart",P),r.removeEventListener("selectend",P),r.removeEventListener("squeeze",P),r.removeEventListener("squeezestart",P),r.removeEventListener("squeezeend",P),r.removeEventListener("end",O),r.removeEventListener("inputsourceschange",T);for(let e=0;e<y.length;e++){let t=v[e];null!==t&&(v[e]=null,y[e].disconnect(t))}j=null,M=null,e.setRenderTarget(m),u=null,h=null,d=null,r=null,g=null,R.stop(),n.isPresenting=!1,n.dispatchEvent({type:"sessionend"})}function T(e){for(let t=0;t<e.removed.length;t++){let n=e.removed[t],r=v.indexOf(n);r>=0&&(v[r]=null,y[r].disconnect(n))}for(let t=0;t<e.added.length;t++){let n=e.added[t],r=v.indexOf(n);if(-1===r){for(let e=0;e<y.length;e++){if(e>=v.length){v.push(n),r=e;break}if(null===v[e]){v[e]=n,r=e;break}}if(-1===r)break}let i=y[r];i&&i.connect(n)}}this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(e){let t=y[e];return void 0===t&&(t=new bC,y[e]=t),t.getTargetRaySpace()},this.getControllerGrip=function(e){let t=y[e];return void 0===t&&(t=new bC,y[e]=t),t.getGripSpace()},this.getHand=function(e){let t=y[e];return void 0===t&&(t=new bC,y[e]=t),t.getHandSpace()},this.setFramebufferScaleFactor=function(e){i=e,!0===n.isPresenting&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(e){s=e,!0===n.isPresenting&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return l||a},this.setReferenceSpace=function(e){l=e},this.getBaseLayer=function(){return null!==h?h:u},this.getBinding=function(){return d},this.getFrame=function(){return p},this.getSession=function(){return r},this.setSession=async function(c){if(r=c,null!==r){if(m=e.getRenderTarget(),r.addEventListener("select",P),r.addEventListener("selectstart",P),r.addEventListener("selectend",P),r.addEventListener("squeeze",P),r.addEventListener("squeezestart",P),r.addEventListener("squeezeend",P),r.addEventListener("end",O),r.addEventListener("inputsourceschange",T),!0!==f.xrCompatible&&await t.makeXRCompatible(),void 0===r.renderState.layers||!1===e.capabilities.isWebGL2){let n={antialias:void 0!==r.renderState.layers||f.antialias,alpha:f.alpha,depth:f.depth,stencil:f.stencil,framebufferScaleFactor:i};u=new XRWebGLLayer(r,t,n),r.updateRenderState({baseLayer:u}),g=new RM(u.framebufferWidth,u.framebufferHeight,{format:Jw,type:Iw,encoding:e.outputEncoding,stencilBuffer:f.stencil})}else{let n=null,a=null,s=null;f.depth&&(s=f.stencil?35056:33190,n=f.stencil?Yw:Lw,a=f.stencil?Ww:Dw);let o={colorFormat:32856,depthFormat:s,scaleFactor:i};d=new XRWebGLBinding(r,t),h=d.createProjectionLayer(o),r.updateRenderState({layers:[h]}),g=new RM(h.textureWidth,h.textureHeight,{format:Jw,type:Iw,depthTexture:new kC(h.textureWidth,h.textureHeight,a,void 0,void 0,void 0,void 0,void 0,void 0,n),stencilBuffer:f.stencil,encoding:e.outputEncoding,samples:f.antialias?4:0}),e.properties.get(g).__ignoreDepthValues=h.ignoreDepthValues}g.isXRRenderTarget=!0,this.setFoveation(o),l=null,a=await r.requestReferenceSpace(s),R.setContext(r),R.start(),n.isPresenting=!0,n.dispatchEvent({type:"sessionstart"})}};let I=new qM,C=new qM;function E(e,t){null===t?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix),e.matrixWorldInverse.copy(e.matrixWorld).invert()}this.updateCamera=function(e){if(null===r)return;w.near=b.near=A.near=e.near,w.far=b.far=A.far=e.far,(j!==w.near||M!==w.far)&&(r.updateRenderState({depthNear:w.near,depthFar:w.far}),j=w.near,M=w.far);let t=e.parent,n=w.cameras;E(w,t);for(let r=0;r<n.length;r++)E(n[r],t);w.matrixWorld.decompose(w.position,w.quaternion,w.scale),e.matrix.copy(w.matrix),e.matrix.decompose(e.position,e.quaternion,e.scale);let i=e.children;for(let r=0,a=i.length;r<a;r++)i[r].updateMatrixWorld(!0);2===n.length?function(e,t,n){I.setFromMatrixPosition(t.matrixWorld),C.setFromMatrixPosition(n.matrixWorld);let r=I.distanceTo(C),i=t.projectionMatrix.elements,a=n.projectionMatrix.elements,s=i[14]/(i[10]-1),o=i[14]/(i[10]+1),l=(i[9]+1)/i[5],c=(i[9]-1)/i[5],d=(i[8]-1)/i[0],h=(a[8]+1)/a[0],u=s*d,p=s*h,f=r/(-d+h),m=f*-d;t.matrixWorld.decompose(e.position,e.quaternion,e.scale),e.translateX(m),e.translateZ(f),e.matrixWorld.compose(e.position,e.quaternion,e.scale),e.matrixWorldInverse.copy(e.matrixWorld).invert();let g=s+f,y=o+f,v=u-m,x=p+(r-m),S=l*o/y*g,A=c*o/y*g;e.projectionMatrix.makePerspective(v,x,S,A,g,y)}(w,A,b):w.projectionMatrix.copy(A.projectionMatrix)},this.getCamera=function(){return w},this.getFoveation=function(){if(null!==h||null!==u)return o},this.setFoveation=function(e){o=e,null!==h&&(h.fixedFoveation=e),null!==u&&void 0!==u.fixedFoveation&&(u.fixedFoveation=e)},this.getPlanes=function(){return x};let V=null;let R=new ZO;R.setAnimationLoop((function(t,r){if(c=r.getViewerPose(l||a),p=r,null!==c){let t=c.views;null!==u&&(e.setRenderTargetFramebuffer(g,u.framebuffer),e.setRenderTarget(g));let n=!1;t.length!==w.cameras.length&&(w.cameras.length=0,n=!0);for(let r=0;r<t.length;r++){let i=t[r],a=null;if(null!==u)a=u.getViewport(i);else{let t=d.getViewSubImage(h,i);a=t.viewport,0===r&&(e.setRenderTargetTextures(g,t.colorTexture,h.ignoreDepthValues?void 0:t.depthStencilTexture),e.setRenderTarget(g))}let s=k[r];void 0===s&&(s=new BO,s.layers.enable(r),s.viewport=new VM,k[r]=s),s.matrix.fromArray(i.transform.matrix),s.projectionMatrix.fromArray(i.projectionMatrix),s.viewport.set(a.x,a.y,a.width,a.height),0===r&&w.matrix.copy(s.matrix),!0===n&&w.cameras.push(s)}}for(let e=0;e<y.length;e++){let t=v[e],n=y[e];null!==t&&void 0!==n&&n.update(t,r,l||a)}if(V&&V(t,r),r.detectedPlanes){n.dispatchEvent({type:"planesdetected",data:r.detectedPlanes});let e=null;for(let t of x)r.detectedPlanes.has(t)||(null===e&&(e=[]),e.push(t));if(null!==e)for(let t of e)x.delete(t),S.delete(t),n.dispatchEvent({type:"planeremoved",data:t});for(let t of r.detectedPlanes)if(x.has(t)){let e=S.get(t);t.lastChangedTime>e&&(S.set(t,t.lastChangedTime),n.dispatchEvent({type:"planechanged",data:t}))}else x.add(t),S.set(t,r.lastChangedTime),n.dispatchEvent({type:"planeadded",data:t})}p=null})),this.setAnimationLoop=function(e){V=e},this.dispose=function(){}}};function jC(e,t){function n(n,r){n.opacity.value=r.opacity,r.color&&n.diffuse.value.copy(r.color),r.emissive&&n.emissive.value.copy(r.emissive).multiplyScalar(r.emissiveIntensity),r.map&&(n.map.value=r.map),r.alphaMap&&(n.alphaMap.value=r.alphaMap),r.bumpMap&&(n.bumpMap.value=r.bumpMap,n.bumpScale.value=r.bumpScale,r.side===Tk&&(n.bumpScale.value*=-1)),r.displacementMap&&(n.displacementMap.value=r.displacementMap,n.displacementScale.value=r.displacementScale,n.displacementBias.value=r.displacementBias),r.emissiveMap&&(n.emissiveMap.value=r.emissiveMap),r.normalMap&&(n.normalMap.value=r.normalMap,n.normalScale.value.copy(r.normalScale),r.side===Tk&&n.normalScale.value.negate()),r.specularMap&&(n.specularMap.value=r.specularMap),r.alphaTest>0&&(n.alphaTest.value=r.alphaTest);let i,a,s=t.get(r).envMap;if(s&&(n.envMap.value=s,n.flipEnvMap.value=s.isCubeTexture&&!1===s.isRenderTargetTexture?-1:1,n.reflectivity.value=r.reflectivity,n.ior.value=r.ior,n.refractionRatio.value=r.refractionRatio),r.lightMap){n.lightMap.value=r.lightMap;let t=!0!==e.physicallyCorrectLights?Math.PI:1;n.lightMapIntensity.value=r.lightMapIntensity*t}r.aoMap&&(n.aoMap.value=r.aoMap,n.aoMapIntensity.value=r.aoMapIntensity),r.map?i=r.map:r.specularMap?i=r.specularMap:r.displacementMap?i=r.displacementMap:r.normalMap?i=r.normalMap:r.bumpMap?i=r.bumpMap:r.roughnessMap?i=r.roughnessMap:r.metalnessMap?i=r.metalnessMap:r.alphaMap?i=r.alphaMap:r.emissiveMap?i=r.emissiveMap:r.clearcoatMap?i=r.clearcoatMap:r.clearcoatNormalMap?i=r.clearcoatNormalMap:r.clearcoatRoughnessMap?i=r.clearcoatRoughnessMap:r.iridescenceMap?i=r.iridescenceMap:r.iridescenceThicknessMap?i=r.iridescenceThicknessMap:r.specularIntensityMap?i=r.specularIntensityMap:r.specularColorMap?i=r.specularColorMap:r.transmissionMap?i=r.transmissionMap:r.thicknessMap?i=r.thicknessMap:r.sheenColorMap?i=r.sheenColorMap:r.sheenRoughnessMap&&(i=r.sheenRoughnessMap),void 0!==i&&(i.isWebGLRenderTarget&&(i=i.texture),!0===i.matrixAutoUpdate&&i.updateMatrix(),n.uvTransform.value.copy(i.matrix)),r.aoMap?a=r.aoMap:r.lightMap&&(a=r.lightMap),void 0!==a&&(a.isWebGLRenderTarget&&(a=a.texture),!0===a.matrixAutoUpdate&&a.updateMatrix(),n.uv2Transform.value.copy(a.matrix))}return{refreshFogUniforms:function(t,n){n.color.getRGB(t.fogColor.value,EO(e)),n.isFog?(t.fogNear.value=n.near,t.fogFar.value=n.far):n.isFogExp2&&(t.fogDensity.value=n.density)},refreshMaterialUniforms:function(e,r,i,a,s){r.isMeshBasicMaterial||r.isMeshLambertMaterial?n(e,r):r.isMeshToonMaterial?(n(e,r),function(e,t){t.gradientMap&&(e.gradientMap.value=t.gradientMap)}(e,r)):r.isMeshPhongMaterial?(n(e,r),function(e,t){e.specular.value.copy(t.specular),e.shininess.value=Math.max(t.shininess,1e-4)}(e,r)):r.isMeshStandardMaterial?(n(e,r),function(e,n){e.roughness.value=n.roughness,e.metalness.value=n.metalness,n.roughnessMap&&(e.roughnessMap.value=n.roughnessMap),n.metalnessMap&&(e.metalnessMap.value=n.metalnessMap),t.get(n).envMap&&(e.envMapIntensity.value=n.envMapIntensity)}(e,r),r.isMeshPhysicalMaterial&&function(e,t,n){e.ior.value=t.ior,t.sheen>0&&(e.sheenColor.value.copy(t.sheenColor).multiplyScalar(t.sheen),e.sheenRoughness.value=t.sheenRoughness,t.sheenColorMap&&(e.sheenColorMap.value=t.sheenColorMap),t.sheenRoughnessMap&&(e.sheenRoughnessMap.value=t.sheenRoughnessMap)),t.clearcoat>0&&(e.clearcoat.value=t.clearcoat,e.clearcoatRoughness.value=t.clearcoatRoughness,t.clearcoatMap&&(e.clearcoatMap.value=t.clearcoatMap),t.clearcoatRoughnessMap&&(e.clearcoatRoughnessMap.value=t.clearcoatRoughnessMap),t.clearcoatNormalMap&&(e.clearcoatNormalScale.value.copy(t.clearcoatNormalScale),e.clearcoatNormalMap.value=t.clearcoatNormalMap,t.side===Tk&&e.clearcoatNormalScale.value.negate())),t.iridescence>0&&(e.iridescence.value=t.iridescence,e.iridescenceIOR.value=t.iridescenceIOR,e.iridescenceThicknessMinimum.value=t.iridescenceThicknessRange[0],e.iridescenceThicknessMaximum.value=t.iridescenceThicknessRange[1],t.iridescenceMap&&(e.iridescenceMap.value=t.iridescenceMap),t.iridescenceThicknessMap&&(e.iridescenceThicknessMap.value=t.iridescenceThicknessMap)),t.transmission>0&&(e.transmission.value=t.transmission,e.transmissionSamplerMap.value=n.texture,e.transmissionSamplerSize.value.set(n.width,n.height),t.transmissionMap&&(e.transmissionMap.value=t.transmissionMap),e.thickness.value=t.thickness,t.thicknessMap&&(e.thicknessMap.value=t.thicknessMap),e.attenuationDistance.value=t.attenuationDistance,e.attenuationColor.value.copy(t.attenuationColor)),e.specularIntensity.value=t.specularIntensity,e.specularColor.value.copy(t.specularColor),t.specularIntensityMap&&(e.specularIntensityMap.value=t.specularIntensityMap),t.specularColorMap&&(e.specularColorMap.value=t.specularColorMap)}(e,r,s)):r.isMeshMatcapMaterial?(n(e,r),function(e,t){t.matcap&&(e.matcap.value=t.matcap)}(e,r)):r.isMeshDepthMaterial?n(e,r):r.isMeshDistanceMaterial?(n(e,r),function(e,t){e.referencePosition.value.copy(t.referencePosition),e.nearDistance.value=t.nearDistance,e.farDistance.value=t.farDistance}(e,r)):r.isMeshNormalMaterial?n(e,r):r.isLineBasicMaterial?(function(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity}(e,r),r.isLineDashedMaterial&&function(e,t){e.dashSize.value=t.dashSize,e.totalSize.value=t.dashSize+t.gapSize,e.scale.value=t.scale}(e,r)):r.isPointsMaterial?function(e,t,n,r){let i;e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.size.value=t.size*n,e.scale.value=.5*r,t.map&&(e.map.value=t.map),t.alphaMap&&(e.alphaMap.value=t.alphaMap),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest),t.map?i=t.map:t.alphaMap&&(i=t.alphaMap),void 0!==i&&(!0===i.matrixAutoUpdate&&i.updateMatrix(),e.uvTransform.value.copy(i.matrix))}(e,r,i,a):r.isSpriteMaterial?function(e,t){let n;e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.rotation.value=t.rotation,t.map&&(e.map.value=t.map),t.alphaMap&&(e.alphaMap.value=t.alphaMap),t.alphaTest>0&&(e.alphaTest.value=t.alphaTest),t.map?n=t.map:t.alphaMap&&(n=t.alphaMap),void 0!==n&&(!0===n.matrixAutoUpdate&&n.updateMatrix(),e.uvTransform.value.copy(n.matrix))}(e,r):r.isShadowMaterial?(e.color.value.copy(r.color),e.opacity.value=r.opacity):r.isShaderMaterial&&(r.uniformsNeedUpdate=!1)}}}function MC(e,t,n,r){let i={},a={},s=[],o=n.isWebGL2?e.getParameter(35375):0;function l(e,t,n){let r=e.value;if(void 0===n[t]){if("number"==typeof r)n[t]=r;else{let e=Array.isArray(r)?r:[r],i=[];for(let t=0;t<e.length;t++)i.push(e[t].clone());n[t]=i}return!0}if("number"==typeof r){if(n[t]!==r)return n[t]=r,!0}else{let e=Array.isArray(n[t])?n[t]:[n[t]],i=Array.isArray(r)?r:[r];for(let t=0;t<e.length;t++){let n=e[t];if(!1===n.equals(i[t]))return n.copy(i[t]),!0}}return!1}function c(e){let t={boundary:0,storage:0};return"number"==typeof e?(t.boundary=4,t.storage=4):e.isVector2?(t.boundary=8,t.storage=8):e.isVector3||e.isColor?(t.boundary=16,t.storage=12):e.isVector4?(t.boundary=16,t.storage=16):e.isMatrix3?(t.boundary=48,t.storage=48):e.isMatrix4?(t.boundary=64,t.storage=64):e.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",e),t}function d(t){let n=t.target;n.removeEventListener("dispose",d);let r=s.indexOf(n.__bindingPointIndex);s.splice(r,1),e.deleteBuffer(i[n.id]),delete i[n.id],delete a[n.id]}return{bind:function(e,t){let n=t.program;r.uniformBlockBinding(e,n)},update:function(n,h){let u=i[n.id];void 0===u&&(function(e){let t=e.uniforms,n=0,r=16,i=0;for(let a=0,s=t.length;a<s;a++){let e=t[a],s={boundary:0,storage:0},o=Array.isArray(e.value)?e.value:[e.value];for(let t=0,n=o.length;t<n;t++){let e=c(o[t]);s.boundary+=e.boundary,s.storage+=e.storage}if(e.__data=new Float32Array(s.storage/Float32Array.BYTES_PER_ELEMENT),e.__offset=n,a>0){i=n%r,0!==i&&r-i-s.boundary<0&&(n+=r-i,e.__offset=n)}n+=s.storage}i=n%r,i>0&&(n+=r-i),e.__size=n,e.__cache={}}(n),u=function(t){let n=function(){for(let e=0;e<o;e++)if(-1===s.indexOf(e))return s.push(e),e;return console.error("THREE.WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached."),0}();t.__bindingPointIndex=n;let r=e.createBuffer(),i=t.__size,a=t.usage;return e.bindBuffer(35345,r),e.bufferData(35345,i,a),e.bindBuffer(35345,null),e.bindBufferBase(35345,n,r),r}(n),i[n.id]=u,n.addEventListener("dispose",d));let p=h.program;r.updateUBOMapping(n,p);let f=t.render.frame;a[n.id]!==f&&(function(t){let n=i[t.id],r=t.uniforms,a=t.__cache;e.bindBuffer(35345,n);for(let i=0,s=r.length;i<s;i++){let t=r[i];if(!0===l(t,i,a)){let n=t.__offset,r=Array.isArray(t.value)?t.value:[t.value],i=0;for(let a=0;a<r.length;a++){let s=r[a],o=c(s);"number"==typeof s?(t.__data[0]=s,e.bufferSubData(35345,n+i,t.__data)):s.isMatrix3?(t.__data[0]=s.elements[0],t.__data[1]=s.elements[1],t.__data[2]=s.elements[2],t.__data[3]=s.elements[0],t.__data[4]=s.elements[3],t.__data[5]=s.elements[4],t.__data[6]=s.elements[5],t.__data[7]=s.elements[0],t.__data[8]=s.elements[6],t.__data[9]=s.elements[7],t.__data[10]=s.elements[8],t.__data[11]=s.elements[0]):(s.toArray(t.__data,i),i+=o.storage/Float32Array.BYTES_PER_ELEMENT)}e.bufferSubData(35345,n,t.__data)}}e.bindBuffer(35345,null)}(n),a[n.id]=f)},dispose:function(){for(let t in i)e.deleteBuffer(i[t]);s=[],i={},a={}}}}function PC(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.isWebGLRenderer=!0;let t,n=void 0!==e.canvas?e.canvas:function(){let e=mM("canvas");return e.style.display="block",e}(),r=void 0!==e.context?e.context:null,i=void 0===e.depth||e.depth,a=void 0===e.stencil||e.stencil,s=void 0!==e.antialias&&e.antialias,o=void 0===e.premultipliedAlpha||e.premultipliedAlpha,l=void 0!==e.preserveDrawingBuffer&&e.preserveDrawingBuffer,c=void 0!==e.powerPreference?e.powerPreference:"default",d=void 0!==e.failIfMajorPerformanceCaveat&&e.failIfMajorPerformanceCaveat;t=null!==r?r.getContextAttributes().alpha:void 0!==e.alpha&&e.alpha;let h=null,u=null,p=[],f=[];this.domElement=n,this.debug={checkShaderErrors:!0},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.outputEncoding=Bj,this.physicallyCorrectLights=!1,this.toneMapping=dw,this.toneMappingExposure=1;let m=this,g=!1,y=0,v=0,x=null,S=-1,A=null,b=new VM,k=new VM,w=null,j=n.width,M=n.height,P=1,O=null,T=null,I=new VM(0,0,j,M),C=new VM(0,0,j,M),E=!1,V=new FO,R=!1,D=!1,B=null,G=new fP,q=new cM,H=new qM,W={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function J(){return null===x?P:1}let U,N,L,Y,F,Z,K,Q,X,_,$,ee,te,ne,re,ie,ae,se,oe,le,ce,de,he,ue,pe=r;function fe(e,t){for(let r=0;r<e.length;r++){let i=e[r],a=n.getContext(i,t);if(null!==a)return a}return null}try{let e={alpha:!0,depth:i,stencil:a,antialias:s,premultipliedAlpha:o,preserveDrawingBuffer:l,powerPreference:c,failIfMajorPerformanceCaveat:d};if("setAttribute"in n&&n.setAttribute("data-engine","three.js r".concat(yk)),n.addEventListener("webglcontextlost",ye,!1),n.addEventListener("webglcontextrestored",ve,!1),n.addEventListener("webglcontextcreationerror",xe,!1),null===pe){let t=["webgl2","webgl","experimental-webgl"];if(!0===m.isWebGL1Renderer&&t.shift(),pe=fe(t,e),null===pe)throw fe(t)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}void 0===pe.getShaderPrecisionFormat&&(pe.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(z){throw console.error("THREE.WebGLRenderer: "+z.message),z}function me(){U=new bT(pe),N=new iT(pe,U,e),U.init(N),de=new vC(pe,U,N),L=new gC(pe,U,N),Y=new jT,F=new eC,Z=new yC(pe,U,L,F,N,de,Y),K=new sT(m),Q=new AT(m),X=new KO(pe,N),he=new nT(pe,U,X,N),_=new kT(pe,X,Y,he),$=new TT(pe,_,X,Y),oe=new OT(pe,N,Z),ie=new aT(F),ee=new $I(m,K,Q,U,N,he,ie),te=new jC(m,F),ne=new iC,re=new dC(U,N),se=new tT(m,K,Q,L,$,t,o),ae=new mC(m,$,N),ue=new MC(pe,Y,N,L),le=new rT(pe,U,Y,N),ce=new wT(pe,U,Y,N),Y.programs=ee.programs,m.capabilities=N,m.extensions=U,m.properties=F,m.renderLists=ne,m.shadowMap=ae,m.state=L,m.info=Y}me();let ge=new wC(m,pe);function ye(e){e.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),g=!0}function ve(){console.log("THREE.WebGLRenderer: Context Restored."),g=!1;let e=Y.autoReset,t=ae.enabled,n=ae.autoUpdate,r=ae.needsUpdate,i=ae.type;me(),Y.autoReset=e,ae.enabled=t,ae.autoUpdate=n,ae.needsUpdate=r,ae.type=i}function xe(e){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",e.statusMessage)}function Se(e){let t=e.target;t.removeEventListener("dispose",Se),function(e){(function(e){let t=F.get(e).programs;void 0!==t&&(t.forEach((function(e){ee.releaseProgram(e)})),e.isShaderMaterial&&ee.releaseShaderCache(e))})(e),F.remove(e)}(t)}this.xr=ge,this.getContext=function(){return pe},this.getContextAttributes=function(){return pe.getContextAttributes()},this.forceContextLoss=function(){let e=U.get("WEBGL_lose_context");e&&e.loseContext()},this.forceContextRestore=function(){let e=U.get("WEBGL_lose_context");e&&e.restoreContext()},this.getPixelRatio=function(){return P},this.setPixelRatio=function(e){void 0!==e&&(P=e,this.setSize(j,M,!1))},this.getSize=function(e){return e.set(j,M)},this.setSize=function(e,t,r){ge.isPresenting?console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting."):(j=e,M=t,n.width=Math.floor(e*P),n.height=Math.floor(t*P),!1!==r&&(n.style.width=e+"px",n.style.height=t+"px"),this.setViewport(0,0,e,t))},this.getDrawingBufferSize=function(e){return e.set(j*P,M*P).floor()},this.setDrawingBufferSize=function(e,t,r){j=e,M=t,P=r,n.width=Math.floor(e*r),n.height=Math.floor(t*r),this.setViewport(0,0,e,t)},this.getCurrentViewport=function(e){return e.copy(b)},this.getViewport=function(e){return e.copy(I)},this.setViewport=function(e,t,n,r){e.isVector4?I.set(e.x,e.y,e.z,e.w):I.set(e,t,n,r),L.viewport(b.copy(I).multiplyScalar(P).floor())},this.getScissor=function(e){return e.copy(C)},this.setScissor=function(e,t,n,r){e.isVector4?C.set(e.x,e.y,e.z,e.w):C.set(e,t,n,r),L.scissor(k.copy(C).multiplyScalar(P).floor())},this.getScissorTest=function(){return E},this.setScissorTest=function(e){L.setScissorTest(E=e)},this.setOpaqueSort=function(e){O=e},this.setTransparentSort=function(e){T=e},this.getClearColor=function(e){return e.copy(se.getClearColor())},this.setClearColor=function(){se.setClearColor.apply(se,arguments)},this.getClearAlpha=function(){return se.getClearAlpha()},this.setClearAlpha=function(){se.setClearAlpha.apply(se,arguments)},this.clear=function(){let e=0;(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])&&(e|=16384),(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])&&(e|=256),(!(arguments.length>2&&void 0!==arguments[2])||arguments[2])&&(e|=1024),pe.clear(e)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){n.removeEventListener("webglcontextlost",ye,!1),n.removeEventListener("webglcontextrestored",ve,!1),n.removeEventListener("webglcontextcreationerror",xe,!1),ne.dispose(),re.dispose(),F.dispose(),K.dispose(),Q.dispose(),$.dispose(),he.dispose(),ue.dispose(),ee.dispose(),ge.dispose(),ge.removeEventListener("sessionstart",be),ge.removeEventListener("sessionend",ke),B&&(B.dispose(),B=null),we.stop()},this.renderBufferDirect=function(e,t,n,r,i,a){null===t&&(t=W);let s=i.isMesh&&i.matrixWorld.determinant()<0,o=function(e,t,n,r,i){!0!==t.isScene&&(t=W),Z.resetTextureUnits();let a=t.fog,s=r.isMeshStandardMaterial?t.environment:null,o=null===x?m.outputEncoding:!0===x.isXRRenderTarget?x.texture.encoding:Bj,l=(r.isMeshStandardMaterial?Q:K).get(r.envMap||s),c=!0===r.vertexColors&&!!n.attributes.color&&4===n.attributes.color.itemSize,d=!!r.normalMap&&!!n.attributes.tangent,h=!!n.morphAttributes.position,p=!!n.morphAttributes.normal,f=!!n.morphAttributes.color,g=r.toneMapped?m.toneMapping:dw,y=n.morphAttributes.position||n.morphAttributes.normal||n.morphAttributes.color,v=void 0!==y?y.length:0,b=F.get(r),k=u.state.lights;if(!0===R&&(!0===D||e!==A)){let t=e===A&&r.id===S;ie.setState(r,e,t)}let w=!1;r.version===b.__version?(b.needsLights&&b.lightsStateVersion!==k.state.version||b.outputEncoding!==o||i.isInstancedMesh&&!1===b.instancing||!i.isInstancedMesh&&!0===b.instancing||i.isSkinnedMesh&&!1===b.skinning||!i.isSkinnedMesh&&!0===b.skinning||b.envMap!==l||!0===r.fog&&b.fog!==a||void 0!==b.numClippingPlanes&&(b.numClippingPlanes!==ie.numPlanes||b.numIntersection!==ie.numIntersection)||b.vertexAlphas!==c||b.vertexTangents!==d||b.morphTargets!==h||b.morphNormals!==p||b.morphColors!==f||b.toneMapping!==g||!0===N.isWebGL2&&b.morphTargetsCount!==v)&&(w=!0):(w=!0,b.__version=r.version);let j=b.currentProgram;!0===w&&(j=Te(r,t,i));let O=!1,T=!1,I=!1,C=j.getUniforms(),E=b.uniforms;if(L.useProgram(j.program)&&(O=!0,T=!0,I=!0),r.id!==S&&(S=r.id,T=!0),O||A!==e){if(C.setValue(pe,"projectionMatrix",e.projectionMatrix),N.logarithmicDepthBuffer&&C.setValue(pe,"logDepthBufFC",2/(Math.log(e.far+1)/Math.LN2)),A!==e&&(A=e,T=!0,I=!0),r.isShaderMaterial||r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshStandardMaterial||r.envMap){let t=C.map.cameraPosition;void 0!==t&&t.setValue(pe,H.setFromMatrixPosition(e.matrixWorld))}(r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshLambertMaterial||r.isMeshBasicMaterial||r.isMeshStandardMaterial||r.isShaderMaterial)&&C.setValue(pe,"isOrthographic",!0===e.isOrthographicCamera),(r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshLambertMaterial||r.isMeshBasicMaterial||r.isMeshStandardMaterial||r.isShaderMaterial||r.isShadowMaterial||i.isSkinnedMesh)&&C.setValue(pe,"viewMatrix",e.matrixWorldInverse)}if(i.isSkinnedMesh){C.setOptional(pe,i,"bindMatrix"),C.setOptional(pe,i,"bindMatrixInverse");let e=i.skeleton;e&&(N.floatVertexTextures?(null===e.boneTexture&&e.computeBoneTexture(),C.setValue(pe,"boneTexture",e.boneTexture,Z),C.setValue(pe,"boneTextureSize",e.boneTextureSize)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}let V=n.morphAttributes;if((void 0!==V.position||void 0!==V.normal||void 0!==V.color&&!0===N.isWebGL2)&&oe.update(i,n,r,j),(T||b.receiveShadow!==i.receiveShadow)&&(b.receiveShadow=i.receiveShadow,C.setValue(pe,"receiveShadow",i.receiveShadow)),r.isMeshGouraudMaterial&&null!==r.envMap&&(E.envMap.value=l,E.flipEnvMap.value=l.isCubeTexture&&!1===l.isRenderTargetTexture?-1:1),T&&(C.setValue(pe,"toneMappingExposure",m.toneMappingExposure),b.needsLights&&function(e,t){e.ambientLightColor.needsUpdate=t,e.lightProbe.needsUpdate=t,e.directionalLights.needsUpdate=t,e.directionalLightShadows.needsUpdate=t,e.pointLights.needsUpdate=t,e.pointLightShadows.needsUpdate=t,e.spotLights.needsUpdate=t,e.spotLightShadows.needsUpdate=t,e.rectAreaLights.needsUpdate=t,e.hemisphereLights.needsUpdate=t}(E,I),a&&!0===r.fog&&te.refreshFogUniforms(E,a),te.refreshMaterialUniforms(E,r,P,M,B),VI.upload(pe,b.uniformsList,E,Z)),r.isShaderMaterial&&!0===r.uniformsNeedUpdate&&(VI.upload(pe,b.uniformsList,E,Z),r.uniformsNeedUpdate=!1),r.isSpriteMaterial&&C.setValue(pe,"center",i.center),C.setValue(pe,"modelViewMatrix",i.modelViewMatrix),C.setValue(pe,"normalMatrix",i.normalMatrix),C.setValue(pe,"modelMatrix",i.matrixWorld),i.previousModelViewMatrix&&C.setValue(pe,"previousModelViewMatrix",i.previousModelViewMatrix),e.previousProjectionMatrix&&C.setValue(pe,"previousProjectionMatrix",e.previousProjectionMatrix),r.isShaderMaterial||r.isRawShaderMaterial){let e=r.uniformsGroups;for(let t=0,n=e.length;t<n;t++)if(N.isWebGL2){let n=e[t];ue.update(n,j),ue.bind(n,j)}else console.warn("THREE.WebGLRenderer: Uniform Buffer Objects can only be used with WebGL 2.")}return j}(e,t,n,r,i);L.setMaterial(r,s);let l=n.index,c=1;!0===r.wireframe&&(l=_.getWireframeAttribute(n),c=2);let d=n.drawRange,h=n.attributes.position,p=d.start*c,f=(d.start+d.count)*c;null!==a&&(p=Math.max(p,a.start*c),f=Math.min(f,(a.start+a.count)*c)),null!==l?(p=Math.max(p,0),f=Math.min(f,l.count)):null!=h&&(p=Math.max(p,0),f=Math.min(f,h.count));let g=f-p;if(g<0||g===1/0)return;he.setup(i,r,o,n,l);let y,v=le;if(null!==l&&(y=X.get(l),v=ce,v.setIndex(y)),i.isMesh)!0===r.wireframe?(L.setLineWidth(r.wireframeLinewidth*J()),v.setMode(1)):v.setMode(4);else if(i.isLine){let e=r.linewidth;void 0===e&&(e=1),L.setLineWidth(e*J()),i.isLineSegments?v.setMode(1):i.isLineLoop?v.setMode(2):v.setMode(3)}else i.isPoints?v.setMode(0):i.isSprite&&v.setMode(4);if(i.isInstancedMesh)v.renderInstances(p,g,i.count);else if(n.isInstancedBufferGeometry){let e=void 0!==n._maxInstanceCount?n._maxInstanceCount:1/0,t=Math.min(n.instanceCount,e);v.renderInstances(p,g,t)}else v.render(p,g)},this.compile=function(e,t){function n(e,t,n){!0===e.transparent&&e.side===Ik&&!1===e.forceSinglePass?(e.side=Tk,e.needsUpdate=!0,Te(e,t,n),e.side=Ok,e.needsUpdate=!0,Te(e,t,n),e.side=Ik):Te(e,t,n)}u=re.get(e),u.init(),f.push(u),e.traverseVisible((function(e){e.isLight&&e.layers.test(t.layers)&&(u.pushLight(e),e.castShadow&&u.pushShadow(e))})),u.setupLights(m.physicallyCorrectLights),e.traverse((function(t){let r=t.material;if(r)if(Array.isArray(r))for(let i=0;i<r.length;i++){n(r[i],e,t)}else n(r,e,t)})),f.pop(),u=null};let Ae=null;function be(){we.stop()}function ke(){we.start()}let we=new ZO;function je(e,t,n,r){if(!1===e.visible)return;if(e.layers.test(t.layers))if(e.isGroup)n=e.renderOrder;else if(e.isLOD)!0===e.autoUpdate&&e.update(t);else if(e.isLight)u.pushLight(e),e.castShadow&&u.pushShadow(e);else if(e.isSprite){if(!e.frustumCulled||V.intersectsSprite(e)){r&&H.setFromMatrixPosition(e.matrixWorld).applyMatrix4(G);let t=$.update(e),i=e.material;i.visible&&h.push(e,t,i,n,H.z,null)}}else if((e.isMesh||e.isLine||e.isPoints)&&(e.isSkinnedMesh&&e.skeleton.frame!==Y.render.frame&&(e.skeleton.update(),e.skeleton.frame=Y.render.frame),!e.frustumCulled||V.intersectsObject(e))){r&&H.setFromMatrixPosition(e.matrixWorld).applyMatrix4(G);let t=$.update(e),i=e.material;if(Array.isArray(i)){let r=t.groups;for(let a=0,s=r.length;a<s;a++){let s=r[a],o=i[s.materialIndex];o&&o.visible&&h.push(e,t,o,n,H.z,s)}}else i.visible&&h.push(e,t,i,n,H.z,null)}let i=e.children;for(let a=0,s=i.length;a<s;a++)je(i[a],t,n,r)}function Me(e,t,n,r){let i=e.opaque,a=e.transmissive,o=e.transparent;u.setupLightsView(n),!0===R&&ie.setGlobalState(m.clippingPlanes,n),a.length>0&&function(e,t,n){let r=N.isWebGL2;null===B&&(B=new RM(1,1,{generateMipmaps:!0,type:U.has("EXT_color_buffer_half_float")?Gw:Iw,minFilter:Tw,samples:r&&!0===s?4:0})),m.getDrawingBufferSize(q),r?B.setSize(q.x,q.y):B.setSize(aM(q.x),aM(q.y));let i=m.getRenderTarget();m.setRenderTarget(B),m.clear();let a=m.toneMapping;m.toneMapping=dw,Pe(e,t,n),m.toneMapping=a,Z.updateMultisampleRenderTarget(B),Z.updateRenderTargetMipmap(B),m.setRenderTarget(i)}(i,t,n),r&&L.viewport(b.copy(r)),i.length>0&&Pe(i,t,n),a.length>0&&Pe(a,t,n),o.length>0&&Pe(o,t,n),L.buffers.depth.setTest(!0),L.buffers.depth.setMask(!0),L.buffers.color.setMask(!0),L.setPolygonOffset(!1)}function Pe(e,t,n){let r=!0===t.isScene?t.overrideMaterial:null;for(let i=0,a=e.length;i<a;i++){let a=e[i],s=a.object,o=a.geometry,l=null===r?a.material:r,c=a.group;s.layers.test(n.layers)&&Oe(s,t,n,o,l,c)}}function Oe(e,t,n,r,i,a){e.onBeforeRender(m,t,n,r,i,a),e.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse,e.matrixWorld),e.normalMatrix.getNormalMatrix(e.modelViewMatrix),i.onBeforeRender(m,t,n,r,e,a),!0===i.transparent&&i.side===Ik&&!1===i.forceSinglePass?(i.side=Tk,i.needsUpdate=!0,m.renderBufferDirect(n,t,r,i,e,a),i.side=Ok,i.needsUpdate=!0,m.renderBufferDirect(n,t,r,i,e,a),i.side=Ik):m.renderBufferDirect(n,t,r,i,e,a),e.onAfterRender(m,t,n,r,i,a)}function Te(e,t,n){!0!==t.isScene&&(t=W);let r=F.get(e),i=u.state.lights,a=u.state.shadowsArray,s=i.state.version,o=ee.getParameters(e,i.state,a,t,n),l=ee.getProgramCacheKey(o),c=r.programs;r.environment=e.isMeshStandardMaterial?t.environment:null,r.fog=t.fog,r.envMap=(e.isMeshStandardMaterial?Q:K).get(e.envMap||r.environment),void 0===c&&(e.addEventListener("dispose",Se),c=new Map,r.programs=c);let d=c.get(l);if(void 0!==d){if(r.currentProgram===d&&r.lightsStateVersion===s)return Ie(e,o),d}else o.uniforms=ee.getUniforms(e),e.onBuild(n,o,m),e.onBeforeCompile(o,m),d=ee.acquireProgram(o,l),c.set(l,d),r.uniforms=o.uniforms;let h=r.uniforms;(!e.isShaderMaterial&&!e.isRawShaderMaterial||!0===e.clipping)&&(h.clippingPlanes=ie.uniform),Ie(e,o),r.needsLights=function(e){return e.isMeshLambertMaterial||e.isMeshToonMaterial||e.isMeshPhongMaterial||e.isMeshStandardMaterial||e.isShadowMaterial||e.isShaderMaterial&&!0===e.lights}(e),r.lightsStateVersion=s,r.needsLights&&(h.ambientLightColor.value=i.state.ambient,h.lightProbe.value=i.state.probe,h.directionalLights.value=i.state.directional,h.directionalLightShadows.value=i.state.directionalShadow,h.spotLights.value=i.state.spot,h.spotLightShadows.value=i.state.spotShadow,h.rectAreaLights.value=i.state.rectArea,h.ltc_1.value=i.state.rectAreaLTC1,h.ltc_2.value=i.state.rectAreaLTC2,h.pointLights.value=i.state.point,h.pointLightShadows.value=i.state.pointShadow,h.hemisphereLights.value=i.state.hemi,h.directionalShadowMap.value=i.state.directionalShadowMap,h.directionalShadowMatrix.value=i.state.directionalShadowMatrix,h.spotShadowMap.value=i.state.spotShadowMap,h.spotLightMatrix.value=i.state.spotLightMatrix,h.spotLightMap.value=i.state.spotLightMap,h.pointShadowMap.value=i.state.pointShadowMap,h.pointShadowMatrix.value=i.state.pointShadowMatrix);let p=d.getUniforms(),f=VI.seqWithValue(p.seq,h);return r.currentProgram=d,r.uniformsList=f,d}function Ie(e,t){let n=F.get(e);n.outputEncoding=t.outputEncoding,n.instancing=t.instancing,n.skinning=t.skinning,n.morphTargets=t.morphTargets,n.morphNormals=t.morphNormals,n.morphColors=t.morphColors,n.morphTargetsCount=t.morphTargetsCount,n.numClippingPlanes=t.numClippingPlanes,n.numIntersection=t.numClipIntersection,n.vertexAlphas=t.vertexAlphas,n.vertexTangents=t.vertexTangents,n.toneMapping=t.toneMapping}we.setAnimationLoop((function(e){Ae&&Ae(e)})),typeof self<"u"&&we.setContext(self),this.setAnimationLoop=function(e){Ae=e,ge.setAnimationLoop(e),null===e?we.stop():we.start()},ge.addEventListener("sessionstart",be),ge.addEventListener("sessionend",ke),this.render=function(e,t){if(void 0!==t&&!0!==t.isCamera)return void console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");if(!0===g)return;!0===e.matrixWorldAutoUpdate&&e.updateMatrixWorld(),null===t.parent&&!0===t.matrixWorldAutoUpdate&&t.updateMatrixWorld(),!0===ge.enabled&&!0===ge.isPresenting&&(!0===ge.cameraAutoUpdate&&ge.updateCamera(t),t=ge.getCamera()),!0===e.isScene&&e.onBeforeRender(m,e,t,x),u=re.get(e,f.length),u.init(),f.push(u),G.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),V.setFromProjectionMatrix(G),D=this.localClippingEnabled,R=ie.init(this.clippingPlanes,D),h=ne.get(e,p.length),h.init(),p.push(h),je(e,t,0,m.sortObjects),h.finish(),!0===m.sortObjects&&h.sort(O,T),!0===R&&ie.beginShadows();let n=u.state.shadowsArray;if(ae.render(n,e,t),!0===R&&ie.endShadows(),!0===this.info.autoReset&&this.info.reset(),se.render(h,e),u.setupLights(m.physicallyCorrectLights),t.isArrayCamera){let n=t.cameras;for(let t=0,r=n.length;t<r;t++){let r=n[t];Me(h,e,r,r.viewport)}}else Me(h,e,t);null!==x&&(Z.updateMultisampleRenderTarget(x),Z.updateRenderTargetMipmap(x)),!0===e.isScene&&e.onAfterRender(m,e,t),he.resetDefaultState(),S=-1,A=null,f.pop(),u=f.length>0?f[f.length-1]:null,p.pop(),h=p.length>0?p[p.length-1]:null},this.getActiveCubeFace=function(){return y},this.getActiveMipmapLevel=function(){return v},this.getRenderTarget=function(){return x},this.setRenderTargetTextures=function(e,t,n){F.get(e.texture).__webglTexture=t,F.get(e.depthTexture).__webglTexture=n;let r=F.get(e);r.__hasExternalTextures=!0,r.__hasExternalTextures&&(r.__autoAllocateDepthBuffer=void 0===n,r.__autoAllocateDepthBuffer||!0===U.has("WEBGL_multisampled_render_to_texture")&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),r.__useRenderToTexture=!1))},this.setRenderTargetFramebuffer=function(e,t){let n=F.get(e);n.__webglFramebuffer=t,n.__useDefaultFramebuffer=void 0===t},this.setRenderTarget=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;x=e,y=t,v=n;let r=!0,i=null,a=!1,s=!1;if(e){let n=F.get(e);void 0!==n.__useDefaultFramebuffer?(L.bindFramebuffer(36160,null),r=!1):void 0===n.__webglFramebuffer?Z.setupRenderTarget(e):n.__hasExternalTextures&&Z.rebindTextures(e,F.get(e.texture).__webglTexture,F.get(e.depthTexture).__webglTexture);let o=e.texture;(o.isData3DTexture||o.isDataArrayTexture||o.isCompressedArrayTexture)&&(s=!0);let l=F.get(e).__webglFramebuffer;e.isWebGLCubeRenderTarget?(i=l[t],a=!0):i=N.isWebGL2&&e.samples>0&&!1===Z.useMultisampledRTT(e)?F.get(e).__webglMultisampledFramebuffer:l,b.copy(e.viewport),k.copy(e.scissor),w=e.scissorTest}else b.copy(I).multiplyScalar(P).floor(),k.copy(C).multiplyScalar(P).floor(),w=E;if(L.bindFramebuffer(36160,i)&&N.drawBuffers&&r&&L.drawBuffers(e,i),L.viewport(b),L.scissor(k),L.setScissorTest(w),a){let r=F.get(e.texture);pe.framebufferTexture2D(36160,36064,34069+t,r.__webglTexture,n)}else if(s){let r=F.get(e.texture),i=t||0;pe.framebufferTextureLayer(36160,36064,r.__webglTexture,n||0,i)}S=-1},this.readRenderTargetPixels=function(e,t,n,r,i,a,s){if(!e||!e.isWebGLRenderTarget)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let o=F.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&void 0!==s&&(o=o[s]),o){L.bindFramebuffer(36160,o);try{let s=e.texture,o=s.format,l=s.type;if(o!==Jw&&de.convert(o)!==pe.getParameter(35739))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");let c=l===Gw&&(U.has("EXT_color_buffer_half_float")||N.isWebGL2&&U.has("EXT_color_buffer_float"));if(l!==Iw&&de.convert(l)!==pe.getParameter(35738)&&(l!==Bw||!(N.isWebGL2||U.has("OES_texture_float")||U.has("WEBGL_color_buffer_float")))&&!c)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i&&pe.readPixels(t,n,r,i,de.convert(o),de.convert(l),a)}finally{let e=null!==x?F.get(x).__webglFramebuffer:null;L.bindFramebuffer(36160,e)}}},this.copyFramebufferToTexture=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=Math.pow(2,-n),i=Math.floor(t.image.width*r),a=Math.floor(t.image.height*r);Z.setTexture2D(t,0),pe.copyTexSubImage2D(3553,n,0,0,e.x,e.y,i,a),L.unbindTexture()},this.copyTextureToTexture=function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=t.image.width,a=t.image.height,s=de.convert(n.format),o=de.convert(n.type);Z.setTexture2D(n,0),pe.pixelStorei(37440,n.flipY),pe.pixelStorei(37441,n.premultiplyAlpha),pe.pixelStorei(3317,n.unpackAlignment),t.isDataTexture?pe.texSubImage2D(3553,r,e.x,e.y,i,a,s,o,t.image.data):t.isCompressedTexture?pe.compressedTexSubImage2D(3553,r,e.x,e.y,t.mipmaps[0].width,t.mipmaps[0].height,s,t.mipmaps[0].data):pe.texSubImage2D(3553,r,e.x,e.y,s,o,t.image),0===r&&n.generateMipmaps&&pe.generateMipmap(3553),L.unbindTexture()},this.copyTextureToTexture3D=function(e,t,n,r){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(m.isWebGL1Renderer)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");let a,s=e.max.x-e.min.x+1,o=e.max.y-e.min.y+1,l=e.max.z-e.min.z+1,c=de.convert(r.format),d=de.convert(r.type);if(r.isData3DTexture)Z.setTexture3D(r,0),a=32879;else{if(!r.isDataArrayTexture)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");Z.setTexture2DArray(r,0),a=35866}pe.pixelStorei(37440,r.flipY),pe.pixelStorei(37441,r.premultiplyAlpha),pe.pixelStorei(3317,r.unpackAlignment);let h=pe.getParameter(3314),u=pe.getParameter(32878),p=pe.getParameter(3316),f=pe.getParameter(3315),g=pe.getParameter(32877),y=n.isCompressedTexture?n.mipmaps[0]:n.image;pe.pixelStorei(3314,y.width),pe.pixelStorei(32878,y.height),pe.pixelStorei(3316,e.min.x),pe.pixelStorei(3315,e.min.y),pe.pixelStorei(32877,e.min.z),n.isDataTexture||n.isData3DTexture?pe.texSubImage3D(a,i,t.x,t.y,t.z,s,o,l,c,d,y.data):n.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),pe.compressedTexSubImage3D(a,i,t.x,t.y,t.z,s,o,l,c,y.data)):pe.texSubImage3D(a,i,t.x,t.y,t.z,s,o,l,c,d,y),pe.pixelStorei(3314,h),pe.pixelStorei(32878,u),pe.pixelStorei(3316,p),pe.pixelStorei(3315,f),pe.pixelStorei(32877,g),0===i&&r.generateMipmaps&&pe.generateMipmap(a),L.unbindTexture()},this.initTexture=function(e){e.isCubeTexture?Z.setTextureCube(e,0):e.isData3DTexture?Z.setTexture3D(e,0):e.isDataArrayTexture||e.isCompressedArrayTexture?Z.setTexture2DArray(e,0):Z.setTexture2D(e,0),L.unbindTexture()},this.resetState=function(){y=0,v=0,x=null,L.reset(),he.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}(class extends PC{}).prototype.isWebGL1Renderer=!0;var OC=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e3;this.isFog=!0,this.name="",this.color=new MM(e),this.near=t,this.far=n}clone(){return new OC(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}},TC=class extends HP{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),null!==e.background&&(this.background=e.background.clone()),null!==e.environment&&(this.environment=e.environment.clone()),null!==e.fog&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,null!==e.overrideMaterial&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){let t=super.toJSON(e);return null!==this.fog&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),1!==this.backgroundIntensity&&(t.object.backgroundIntensity=this.backgroundIntensity),t}get autoUpdate(){return console.warn("THREE.Scene: autoUpdate was renamed to matrixWorldAutoUpdate in r144."),this.matrixWorldAutoUpdate}set autoUpdate(e){console.warn("THREE.Scene: autoUpdate was renamed to matrixWorldAutoUpdate in r144."),this.matrixWorldAutoUpdate=e}},IC=class{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=void 0!==e?e.length/t:0,this.usage=Lj,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=$j()}onUploadCallback(){}set needsUpdate(e){!0===e&&this.version++}setUsage(e){return this.usage=e,this}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,n){e*=this.stride,n*=t.stride;for(let r=0,i=this.stride;r<i;r++)this.array[e+r]=t.array[n+r];return this}set(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.array.set(e,t),this}clone(e){void 0===e.arrayBuffers&&(e.arrayBuffers={}),void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=$j()),void 0===e.arrayBuffers[this.array.buffer._uuid]&&(e.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);let t=new this.array.constructor(e.arrayBuffers[this.array.buffer._uuid]),n=new this.constructor(t,this.stride);return n.setUsage(this.usage),n}onUpload(e){return this.onUploadCallback=e,this}toJSON(e){return void 0===e.arrayBuffers&&(e.arrayBuffers={}),void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=$j()),void 0===e.arrayBuffers[this.array.buffer._uuid]&&(e.arrayBuffers[this.array.buffer._uuid]=Array.from(new Uint32Array(this.array.buffer))),{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}},CC=new qM,EC=class{constructor(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];this.isInterleavedBufferAttribute=!0,this.name="",this.data=e,this.itemSize=t,this.offset=n,this.normalized=r}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(e){this.data.needsUpdate=e}applyMatrix4(e){for(let t=0,n=this.data.count;t<n;t++)CC.fromBufferAttribute(this,t),CC.applyMatrix4(e),this.setXYZ(t,CC.x,CC.y,CC.z);return this}applyNormalMatrix(e){for(let t=0,n=this.count;t<n;t++)CC.fromBufferAttribute(this,t),CC.applyNormalMatrix(e),this.setXYZ(t,CC.x,CC.y,CC.z);return this}transformDirection(e){for(let t=0,n=this.count;t<n;t++)CC.fromBufferAttribute(this,t),CC.transformDirection(e),this.setXYZ(t,CC.x,CC.y,CC.z);return this}setX(e,t){return this.normalized&&(t=oM(t,this.array)),this.data.array[e*this.data.stride+this.offset]=t,this}setY(e,t){return this.normalized&&(t=oM(t,this.array)),this.data.array[e*this.data.stride+this.offset+1]=t,this}setZ(e,t){return this.normalized&&(t=oM(t,this.array)),this.data.array[e*this.data.stride+this.offset+2]=t,this}setW(e,t){return this.normalized&&(t=oM(t,this.array)),this.data.array[e*this.data.stride+this.offset+3]=t,this}getX(e){let t=this.data.array[e*this.data.stride+this.offset];return this.normalized&&(t=sM(t,this.array)),t}getY(e){let t=this.data.array[e*this.data.stride+this.offset+1];return this.normalized&&(t=sM(t,this.array)),t}getZ(e){let t=this.data.array[e*this.data.stride+this.offset+2];return this.normalized&&(t=sM(t,this.array)),t}getW(e){let t=this.data.array[e*this.data.stride+this.offset+3];return this.normalized&&(t=sM(t,this.array)),t}setXY(e,t,n){return e=e*this.data.stride+this.offset,this.normalized&&(t=oM(t,this.array),n=oM(n,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=n,this}setXYZ(e,t,n,r){return e=e*this.data.stride+this.offset,this.normalized&&(t=oM(t,this.array),n=oM(n,this.array),r=oM(r,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=n,this.data.array[e+2]=r,this}setXYZW(e,t,n,r,i){return e=e*this.data.stride+this.offset,this.normalized&&(t=oM(t,this.array),n=oM(n,this.array),r=oM(r,this.array),i=oM(i,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=n,this.data.array[e+2]=r,this.data.array[e+3]=i,this}clone(e){if(void 0===e){console.log("THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.");let e=[];for(let t=0;t<this.count;t++){let n=t*this.data.stride+this.offset;for(let t=0;t<this.itemSize;t++)e.push(this.data.array[n+t])}return new nO(new this.array.constructor(e),this.itemSize,this.normalized)}return void 0===e.interleavedBuffers&&(e.interleavedBuffers={}),void 0===e.interleavedBuffers[this.data.uuid]&&(e.interleavedBuffers[this.data.uuid]=this.data.clone(e)),new EC(e.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(e){if(void 0===e){console.log("THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.");let e=[];for(let t=0;t<this.count;t++){let n=t*this.data.stride+this.offset;for(let t=0;t<this.itemSize;t++)e.push(this.data.array[n+t])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:e,normalized:this.normalized}}return void 0===e.interleavedBuffers&&(e.interleavedBuffers={}),void 0===e.interleavedBuffers[this.data.uuid]&&(e.interleavedBuffers[this.data.uuid]=this.data.toJSON(e)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}},VC=class extends HP{constructor(){super(),this.isBone=!0,this.type="Bone"}},RC=class extends EM{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;super(null,arguments.length>5?arguments[5]:void 0,arguments.length>6?arguments[6]:void 0,arguments.length>7?arguments[7]:void 0,arguments.length>8&&void 0!==arguments[8]?arguments[8]:ww,arguments.length>9&&void 0!==arguments[9]?arguments[9]:ww,arguments.length>3?arguments[3]:void 0,arguments.length>4?arguments[4]:void 0,arguments.length>10?arguments[10]:void 0,arguments.length>11?arguments[11]:void 0),this.isDataTexture=!0,this.image={data:e,width:t,height:n},this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}},DC=new fP,BC=new fP,GC=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.uuid=$j(),this.bones=e.slice(0),this.boneInverses=t,this.boneMatrices=null,this.boneTexture=null,this.boneTextureSize=0,this.frame=-1,this.init()}init(){let e=this.bones,t=this.boneInverses;if(this.boneMatrices=new Float32Array(16*e.length),0===t.length)this.calculateInverses();else if(e.length!==t.length){console.warn("THREE.Skeleton: Number of inverse bone matrices does not match amount of bones."),this.boneInverses=[];for(let e=0,t=this.bones.length;e<t;e++)this.boneInverses.push(new fP)}}calculateInverses(){this.boneInverses.length=0;for(let e=0,t=this.bones.length;e<t;e++){let t=new fP;this.bones[e]&&t.copy(this.bones[e].matrixWorld).invert(),this.boneInverses.push(t)}}pose(){for(let e=0,t=this.bones.length;e<t;e++){let t=this.bones[e];t&&t.matrixWorld.copy(this.boneInverses[e]).invert()}for(let e=0,t=this.bones.length;e<t;e++){let t=this.bones[e];t&&(t.parent&&t.parent.isBone?(t.matrix.copy(t.parent.matrixWorld).invert(),t.matrix.multiply(t.matrixWorld)):t.matrix.copy(t.matrixWorld),t.matrix.decompose(t.position,t.quaternion,t.scale))}}update(){let e=this.bones,t=this.boneInverses,n=this.boneMatrices,r=this.boneTexture;for(let i=0,a=e.length;i<a;i++){let r=e[i]?e[i].matrixWorld:BC;DC.multiplyMatrices(r,t[i]),DC.toArray(n,16*i)}null!==r&&(r.needsUpdate=!0)}clone(){return new GC(this.bones,this.boneInverses)}computeBoneTexture(){let e=Math.sqrt(4*this.bones.length);e=iM(e),e=Math.max(e,4);let t=new Float32Array(e*e*4);t.set(this.boneMatrices);let n=new RC(t,e,e,Jw,Bw);return n.needsUpdate=!0,this.boneMatrices=t,this.boneTexture=n,this.boneTextureSize=e,this}getBoneByName(e){for(let t=0,n=this.bones.length;t<n;t++){let n=this.bones[t];if(n.name===e)return n}}dispose(){null!==this.boneTexture&&(this.boneTexture.dispose(),this.boneTexture=null)}fromJSON(e,t){this.uuid=e.uuid;for(let n=0,r=e.bones.length;n<r;n++){let r=e.bones[n],i=t[r];void 0===i&&(console.warn("THREE.Skeleton: No bone found with UUID:",r),i=new VC),this.bones.push(i),this.boneInverses.push((new fP).fromArray(e.boneInverses[n]))}return this.init(),this}toJSON(){let e={metadata:{version:4.5,type:"Skeleton",generator:"Skeleton.toJSON"},bones:[],boneInverses:[]};e.uuid=this.uuid;let t=this.bones,n=this.boneInverses;for(let r=0,i=t.length;r<i;r++){let i=t[r];e.bones.push(i.uuid);let a=n[r];e.boneInverses.push(a.toArray())}return e}},qC=class extends nO{constructor(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;super(e,t,n),this.isInstancedBufferAttribute=!0,this.meshPerAttribute=r}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}toJSON(){let e=super.toJSON();return e.meshPerAttribute=this.meshPerAttribute,e.isInstancedBufferAttribute=!0,e}},HC=new fP,WC=new fP,zC=[],JC=new fP,UC=new PO,NC=class extends PO{constructor(e,t,n){super(e,t),this.isInstancedMesh=!0,this.instanceMatrix=new qC(new Float32Array(16*n),16),this.instanceColor=null,this.count=n,this.frustumCulled=!1;for(let r=0;r<n;r++)this.setMatrixAt(r,JC)}copy(e,t){return super.copy(e,t),this.instanceMatrix.copy(e.instanceMatrix),null!==e.instanceColor&&(this.instanceColor=e.instanceColor.clone()),this.count=e.count,this}getColorAt(e,t){t.fromArray(this.instanceColor.array,3*e)}getMatrixAt(e,t){t.fromArray(this.instanceMatrix.array,16*e)}raycast(e,t){let n=this.matrixWorld,r=this.count;if(UC.geometry=this.geometry,UC.material=this.material,void 0!==UC.material)for(let i=0;i<r;i++){this.getMatrixAt(i,HC),WC.multiplyMatrices(n,HC),UC.matrixWorld=WC,UC.raycast(e,zC);for(let e=0,n=zC.length;e<n;e++){let n=zC[e];n.instanceId=i,n.object=this,t.push(n)}zC.length=0}}setColorAt(e,t){null===this.instanceColor&&(this.instanceColor=new qC(new Float32Array(3*this.instanceMatrix.count),3)),t.toArray(this.instanceColor.array,3*e)}setMatrixAt(e,t){t.toArray(this.instanceMatrix.array,16*e)}updateMorphTargets(){}dispose(){this.dispatchEvent({type:"dispose"})}},LC=class extends _P{constructor(e){super(),this.isLineBasicMaterial=!0,this.type="LineBasicMaterial",this.color=new MM(16777215),this.linewidth=1,this.linecap="round",this.linejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.linewidth=e.linewidth,this.linecap=e.linecap,this.linejoin=e.linejoin,this.fog=e.fog,this}},YC=new qM,FC=new qM,ZC=new fP,KC=new pP,QC=new aP,XC=class extends HP{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new pO,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new LC;super(),this.isLine=!0,this.type="Line",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=e.material,this.geometry=e.geometry,this}computeLineDistances(){let e=this.geometry;if(null===e.index){let t=e.attributes.position,n=[0];for(let e=1,r=t.count;e<r;e++)YC.fromBufferAttribute(t,e-1),FC.fromBufferAttribute(t,e),n[e]=n[e-1],n[e]+=YC.distanceTo(FC);e.setAttribute("lineDistance",new aO(n,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}raycast(e,t){let n=this.geometry,r=this.matrixWorld,i=e.params.Line.threshold,a=n.drawRange;if(null===n.boundingSphere&&n.computeBoundingSphere(),QC.copy(n.boundingSphere),QC.applyMatrix4(r),QC.radius+=i,!1===e.ray.intersectsSphere(QC))return;ZC.copy(r).invert(),KC.copy(e.ray).applyMatrix4(ZC);let s=i/((this.scale.x+this.scale.y+this.scale.z)/3),o=s*s,l=new qM,c=new qM,d=new qM,h=new qM,u=this.isLineSegments?2:1,p=n.index,f=n.attributes.position;if(null!==p){for(let n=Math.max(0,a.start),r=Math.min(p.count,a.start+a.count)-1;n<r;n+=u){let r=p.getX(n),i=p.getX(n+1);if(l.fromBufferAttribute(f,r),c.fromBufferAttribute(f,i),KC.distanceSqToSegment(l,c,h,d)>o)continue;h.applyMatrix4(this.matrixWorld);let a=e.ray.origin.distanceTo(h);a<e.near||a>e.far||t.push({distance:a,point:d.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}else{for(let n=Math.max(0,a.start),r=Math.min(f.count,a.start+a.count)-1;n<r;n+=u){if(l.fromBufferAttribute(f,n),c.fromBufferAttribute(f,n+1),KC.distanceSqToSegment(l,c,h,d)>o)continue;h.applyMatrix4(this.matrixWorld);let r=e.ray.origin.distanceTo(h);r<e.near||r>e.far||t.push({distance:r,point:d.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){let e=this.geometry.morphAttributes,t=Object.keys(e);if(t.length>0){let n=e[t[0]];if(void 0!==n){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;e<t;e++){let t=n[e].name||String(e);this.morphTargetInfluences.push(0),this.morphTargetDictionary[t]=e}}}}},_C=new qM,$C=new qM,eE=class extends XC{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){let e=this.geometry;if(null===e.index){let t=e.attributes.position,n=[];for(let e=0,r=t.count;e<r;e+=2)_C.fromBufferAttribute(t,e),$C.fromBufferAttribute(t,e+1),n[e]=0===e?0:n[e-1],n[e+1]=n[e]+_C.distanceTo($C);e.setAttribute("lineDistance",new aO(n,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}},tE=class extends EM{constructor(e,t,n,r,i,a,s,o,l){super(e,t,n,r,i,a,s,o,l),this.isVideoTexture=!0,this.minFilter=void 0!==a?a:Pw,this.magFilter=void 0!==i?i:Pw,this.generateMipmaps=!1;let c=this;"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback((function t(){c.needsUpdate=!0,e.requestVideoFrameCallback(t)}))}clone(){return new this.constructor(this.image).copy(this)}update(){let e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}},nE=class extends EM{constructor(e,t,n,r,i,a,s,o,l){super(e,t,n,r,i,a,s,o,l),this.isCanvasTexture=!0,this.needsUpdate=!0}},rE=class{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(e,t){let n=this.getUtoTmapping(e);return this.getPoint(n,t)}getPoints(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5,t=[];for(let n=0;n<=e;n++)t.push(this.getPoint(n/e));return t}getSpacedPoints(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5,t=[];for(let n=0;n<=e;n++)t.push(this.getPointAt(n/e));return t}getLength(){let e=this.getLengths();return e[e.length-1]}getLengths(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.arcLengthDivisions;if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;let t,n=[],r=this.getPoint(0),i=0;n.push(0);for(let a=1;a<=e;a++)t=this.getPoint(a/e),i+=t.distanceTo(r),n.push(i),r=t;return this.cacheArcLengths=n,n}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,t){let n,r=this.getLengths(),i=0,a=r.length;n=t||e*r[a-1];let s,o=0,l=a-1;for(;o<=l;)if(i=Math.floor(o+(l-o)/2),s=r[i]-n,s<0)o=i+1;else{if(!(s>0)){l=i;break}l=i-1}if(i=l,r[i]===n)return i/(a-1);let c=r[i];return(i+(n-c)/(r[i+1]-c))/(a-1)}getTangent(e,t){let n=e-1e-4,r=e+1e-4;n<0&&(n=0),r>1&&(r=1);let i=this.getPoint(n),a=this.getPoint(r),s=t||(i.isVector2?new cM:new qM);return s.copy(a).sub(i).normalize(),s}getTangentAt(e,t){let n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t){let n=new qM,r=[],i=[],a=[],s=new qM,o=new fP;for(let u=0;u<=e;u++){let t=u/e;r[u]=this.getTangentAt(t,new qM)}i[0]=new qM,a[0]=new qM;let l=Number.MAX_VALUE,c=Math.abs(r[0].x),d=Math.abs(r[0].y),h=Math.abs(r[0].z);c<=l&&(l=c,n.set(1,0,0)),d<=l&&(l=d,n.set(0,1,0)),h<=l&&n.set(0,0,1),s.crossVectors(r[0],n).normalize(),i[0].crossVectors(r[0],s),a[0].crossVectors(r[0],i[0]);for(let u=1;u<=e;u++){if(i[u]=i[u-1].clone(),a[u]=a[u-1].clone(),s.crossVectors(r[u-1],r[u]),s.length()>Number.EPSILON){s.normalize();let e=Math.acos(eM(r[u-1].dot(r[u]),-1,1));i[u].applyMatrix4(o.makeRotationAxis(s,e))}a[u].crossVectors(r[u],i[u])}if(!0===t){let t=Math.acos(eM(i[0].dot(i[e]),-1,1));t/=e,r[0].dot(s.crossVectors(i[0],i[e]))>0&&(t=-t);for(let n=1;n<=e;n++)i[n].applyMatrix4(o.makeRotationAxis(r[n],t*n)),a[n].crossVectors(r[n],i[n])}return{tangents:r,normals:i,binormals:a}}clone(){return(new this.constructor).copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){let e={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}},iE=class extends rE{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:2*Math.PI,s=arguments.length>6&&void 0!==arguments[6]&&arguments[6],o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:0;super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=n,this.yRadius=r,this.aStartAngle=i,this.aEndAngle=a,this.aClockwise=s,this.aRotation=o}getPoint(e,t){let n=t||new cM,r=2*Math.PI,i=this.aEndAngle-this.aStartAngle,a=Math.abs(i)<Number.EPSILON;for(;i<0;)i+=r;for(;i>r;)i-=r;i<Number.EPSILON&&(i=a?0:r),!0===this.aClockwise&&!a&&(i===r?i=-r:i-=r);let s=this.aStartAngle+e*i,o=this.aX+this.xRadius*Math.cos(s),l=this.aY+this.yRadius*Math.sin(s);if(0!==this.aRotation){let e=Math.cos(this.aRotation),t=Math.sin(this.aRotation),n=o-this.aX,r=l-this.aY;o=n*e-r*t+this.aX,l=n*t+r*e+this.aY}return n.set(o,l)}copy(e){return super.copy(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this}toJSON(){let e=super.toJSON();return e.aX=this.aX,e.aY=this.aY,e.xRadius=this.xRadius,e.yRadius=this.yRadius,e.aStartAngle=this.aStartAngle,e.aEndAngle=this.aEndAngle,e.aClockwise=this.aClockwise,e.aRotation=this.aRotation,e}fromJSON(e){return super.fromJSON(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this}};function aE(){let e=0,t=0,n=0,r=0;function i(i,a,s,o){e=i,t=s,n=-3*i+3*a-2*s-o,r=2*i-2*a+s+o}return{initCatmullRom:function(e,t,n,r,a){i(t,n,a*(n-e),a*(r-t))},initNonuniformCatmullRom:function(e,t,n,r,a,s,o){let l=(t-e)/a-(n-e)/(a+s)+(n-t)/s,c=(n-t)/s-(r-t)/(s+o)+(r-n)/o;l*=s,c*=s,i(t,n,l,c)},calc:function(i){let a=i*i;return e+t*i+n*a+r*(a*i)}}}var sE=new qM,oE=new aE,lE=new aE,cE=new aE;function dE(e,t,n,r,i){let a=.5*(r-t),s=.5*(i-n),o=e*e;return(2*n-2*r+a+s)*(e*o)+(-3*n+3*r-2*a-s)*o+a*e+n}function hE(e,t,n,r){return function(e,t){let n=1-e;return n*n*t}(e,t)+function(e,t){return 2*(1-e)*e*t}(e,n)+function(e,t){return e*e*t}(e,r)}function uE(e,t,n,r,i){return function(e,t){let n=1-e;return n*n*n*t}(e,t)+function(e,t){let n=1-e;return 3*n*n*e*t}(e,n)+function(e,t){return 3*(1-e)*e*e*t}(e,r)+function(e,t){return e*e*e*t}(e,i)}var pE=class extends rE{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new cM,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new cM,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new cM,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new cM;super(),this.isCubicBezierCurve=!0,this.type="CubicBezierCurve",this.v0=e,this.v1=t,this.v2=n,this.v3=r}getPoint(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new cM,n=this.v0,r=this.v1,i=this.v2,a=this.v3;return t.set(uE(e,n.x,r.x,i.x,a.x),uE(e,n.y,r.y,i.y,a.y)),t}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this}toJSON(){let e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this}},fE=class extends rE{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new qM,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new qM,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new qM,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new qM;super(),this.isCubicBezierCurve3=!0,this.type="CubicBezierCurve3",this.v0=e,this.v1=t,this.v2=n,this.v3=r}getPoint(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new qM,n=this.v0,r=this.v1,i=this.v2,a=this.v3;return t.set(uE(e,n.x,r.x,i.x,a.x),uE(e,n.y,r.y,i.y,a.y),uE(e,n.z,r.z,i.z,a.z)),t}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this}toJSON(){let e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this}},mE=class extends rE{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new cM,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new cM;super(),this.isLineCurve=!0,this.type="LineCurve",this.v1=e,this.v2=t}getPoint(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new cM;return 1===e?t.copy(this.v2):(t.copy(this.v2).sub(this.v1),t.multiplyScalar(e).add(this.v1)),t}getPointAt(e,t){return this.getPoint(e,t)}getTangent(e,t){let n=t||new cM;return n.copy(this.v2).sub(this.v1).normalize(),n}copy(e){return super.copy(e),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){let e=super.toJSON();return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}},gE=class extends rE{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new qM,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new qM;super(),this.isLineCurve3=!0,this.type="LineCurve3",this.v1=e,this.v2=t}getPoint(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new qM;return 1===e?t.copy(this.v2):(t.copy(this.v2).sub(this.v1),t.multiplyScalar(e).add(this.v1)),t}getPointAt(e,t){return this.getPoint(e,t)}copy(e){return super.copy(e),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){let e=super.toJSON();return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}},yE=class extends rE{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new cM,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new cM,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new cM;super(),this.isQuadraticBezierCurve=!0,this.type="QuadraticBezierCurve",this.v0=e,this.v1=t,this.v2=n}getPoint(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new cM,n=this.v0,r=this.v1,i=this.v2;return t.set(hE(e,n.x,r.x,i.x),hE(e,n.y,r.y,i.y)),t}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){let e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}},vE=class extends rE{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];super(),this.isSplineCurve=!0,this.type="SplineCurve",this.points=e}getPoint(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new cM,n=this.points,r=(n.length-1)*e,i=Math.floor(r),a=r-i,s=n[0===i?i:i-1],o=n[i],l=n[i>n.length-2?n.length-1:i+1],c=n[i>n.length-3?n.length-1:i+2];return t.set(dE(a,s.x,o.x,l.x,c.x),dE(a,s.y,o.y,l.y,c.y)),t}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){let n=e.points[t];this.points.push(n.clone())}return this}toJSON(){let e=super.toJSON();e.points=[];for(let t=0,n=this.points.length;t<n;t++){let n=this.points[t];e.points.push(n.toArray())}return e}fromJSON(e){super.fromJSON(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){let n=e.points[t];this.points.push((new cM).fromArray(n))}return this}},xE=Object.freeze({__proto__:null,ArcCurve:class extends iE{constructor(e,t,n,r,i,a){super(e,t,n,n,r,i,a),this.isArcCurve=!0,this.type="ArcCurve"}},CatmullRomCurve3:class extends rE{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"centripetal",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5;super(),this.isCatmullRomCurve3=!0,this.type="CatmullRomCurve3",this.points=e,this.closed=t,this.curveType=n,this.tension=r}getPoint(e){let t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new qM,i=this.points,a=i.length,s=(a-(this.closed?0:1))*e,o=Math.floor(s),l=s-o;this.closed?o+=o>0?0:(Math.floor(Math.abs(o)/a)+1)*a:0===l&&o===a-1&&(o=a-2,l=1),this.closed||o>0?t=i[(o-1)%a]:(sE.subVectors(i[0],i[1]).add(i[0]),t=sE);let c=i[o%a],d=i[(o+1)%a];if(this.closed||o+2<a?n=i[(o+2)%a]:(sE.subVectors(i[a-1],i[a-2]).add(i[a-1]),n=sE),"centripetal"===this.curveType||"chordal"===this.curveType){let e="chordal"===this.curveType?.5:.25,r=Math.pow(t.distanceToSquared(c),e),i=Math.pow(c.distanceToSquared(d),e),a=Math.pow(d.distanceToSquared(n),e);i<1e-4&&(i=1),r<1e-4&&(r=i),a<1e-4&&(a=i),oE.initNonuniformCatmullRom(t.x,c.x,d.x,n.x,r,i,a),lE.initNonuniformCatmullRom(t.y,c.y,d.y,n.y,r,i,a),cE.initNonuniformCatmullRom(t.z,c.z,d.z,n.z,r,i,a)}else"catmullrom"===this.curveType&&(oE.initCatmullRom(t.x,c.x,d.x,n.x,this.tension),lE.initCatmullRom(t.y,c.y,d.y,n.y,this.tension),cE.initCatmullRom(t.z,c.z,d.z,n.z,this.tension));return r.set(oE.calc(l),lE.calc(l),cE.calc(l)),r}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){let n=e.points[t];this.points.push(n.clone())}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this}toJSON(){let e=super.toJSON();e.points=[];for(let t=0,n=this.points.length;t<n;t++){let n=this.points[t];e.points.push(n.toArray())}return e.closed=this.closed,e.curveType=this.curveType,e.tension=this.tension,e}fromJSON(e){super.fromJSON(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){let n=e.points[t];this.points.push((new qM).fromArray(n))}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this}},CubicBezierCurve:pE,CubicBezierCurve3:fE,EllipseCurve:iE,LineCurve:mE,LineCurve3:gE,QuadraticBezierCurve:yE,QuadraticBezierCurve3:class extends rE{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new qM,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new qM,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new qM;super(),this.isQuadraticBezierCurve3=!0,this.type="QuadraticBezierCurve3",this.v0=e,this.v1=t,this.v2=n}getPoint(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new qM,n=this.v0,r=this.v1,i=this.v2;return t.set(hE(e,n.x,r.x,i.x),hE(e,n.y,r.y,i.y),hE(e,n.z,r.z,i.z)),t}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){let e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}},SplineCurve:vE}),SE=class extends rE{constructor(){super(),this.type="CurvePath",this.curves=[],this.autoClose=!1}add(e){this.curves.push(e)}closePath(){let e=this.curves[0].getPoint(0),t=this.curves[this.curves.length-1].getPoint(1);e.equals(t)||this.curves.push(new mE(t,e))}getPoint(e,t){let n=e*this.getLength(),r=this.getCurveLengths(),i=0;for(;i<r.length;){if(r[i]>=n){let e=r[i]-n,a=this.curves[i],s=a.getLength(),o=0===s?0:1-e/s;return a.getPointAt(o,t)}i++}return null}getLength(){let 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;let e=[],t=0;for(let n=0,r=this.curves.length;n<r;n++)t+=this.curves[n].getLength(),e.push(t);return this.cacheLengths=e,e}getSpacedPoints(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:40,t=[];for(let n=0;n<=e;n++)t.push(this.getPoint(n/e));return this.autoClose&&t.push(t[0]),t}getPoints(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:12,n=[];for(let r=0,i=this.curves;r<i.length;r++){let a=i[r],s=a.isEllipseCurve?2*t:a.isLineCurve||a.isLineCurve3?1:a.isSplineCurve?t*a.points.length:t,o=a.getPoints(s);for(let t=0;t<o.length;t++){let r=o[t];e&&e.equals(r)||(n.push(r),e=r)}}return this.autoClose&&n.length>1&&!n[n.length-1].equals(n[0])&&n.push(n[0]),n}copy(e){super.copy(e),this.curves=[];for(let t=0,n=e.curves.length;t<n;t++){let n=e.curves[t];this.curves.push(n.clone())}return this.autoClose=e.autoClose,this}toJSON(){let e=super.toJSON();e.autoClose=this.autoClose,e.curves=[];for(let t=0,n=this.curves.length;t<n;t++){let n=this.curves[t];e.curves.push(n.toJSON())}return e}fromJSON(e){super.fromJSON(e),this.autoClose=e.autoClose,this.curves=[];for(let t=0,n=e.curves.length;t<n;t++){let n=e.curves[t];this.curves.push((new xE[n.type]).fromJSON(n))}return this}},AE=class extends SE{constructor(e){super(),this.type="Path",this.currentPoint=new cM,e&&this.setFromPoints(e)}setFromPoints(e){this.moveTo(e[0].x,e[0].y);for(let t=1,n=e.length;t<n;t++)this.lineTo(e[t].x,e[t].y);return this}moveTo(e,t){return this.currentPoint.set(e,t),this}lineTo(e,t){let n=new mE(this.currentPoint.clone(),new cM(e,t));return this.curves.push(n),this.currentPoint.set(e,t),this}quadraticCurveTo(e,t,n,r){let i=new yE(this.currentPoint.clone(),new cM(e,t),new cM(n,r));return this.curves.push(i),this.currentPoint.set(n,r),this}bezierCurveTo(e,t,n,r,i,a){let s=new pE(this.currentPoint.clone(),new cM(e,t),new cM(n,r),new cM(i,a));return this.curves.push(s),this.currentPoint.set(i,a),this}splineThru(e){let t=[this.currentPoint.clone()].concat(e),n=new vE(t);return this.curves.push(n),this.currentPoint.copy(e[e.length-1]),this}arc(e,t,n,r,i,a){let s=this.currentPoint.x,o=this.currentPoint.y;return this.absarc(e+s,t+o,n,r,i,a),this}absarc(e,t,n,r,i,a){return this.absellipse(e,t,n,n,r,i,a),this}ellipse(e,t,n,r,i,a,s,o){let l=this.currentPoint.x,c=this.currentPoint.y;return this.absellipse(e+l,t+c,n,r,i,a,s,o),this}absellipse(e,t,n,r,i,a,s,o){let l=new iE(e,t,n,r,i,a,s,o);if(this.curves.length>0){let e=l.getPoint(0);e.equals(this.currentPoint)||this.lineTo(e.x,e.y)}this.curves.push(l);let c=l.getPoint(1);return this.currentPoint.copy(c),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){let e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}},bE=class extends pO{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[new cM(0,-.5),new cM(.5,0),new cM(0,.5)],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:12,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:2*Math.PI;super(),this.type="LatheGeometry",this.parameters={points:e,segments:t,phiStart:n,phiLength:r},t=Math.floor(t),r=eM(r,0,2*Math.PI);let i=[],a=[],s=[],o=[],l=[],c=1/t,d=new qM,h=new cM,u=new qM,p=new qM,f=new qM,m=0,g=0;for(let y=0;y<=e.length-1;y++)switch(y){case 0:m=e[y+1].x-e[y].x,g=e[y+1].y-e[y].y,u.x=1*g,u.y=-m,u.z=0*g,f.copy(u),u.normalize(),o.push(u.x,u.y,u.z);break;case e.length-1:o.push(f.x,f.y,f.z);break;default:m=e[y+1].x-e[y].x,g=e[y+1].y-e[y].y,u.x=1*g,u.y=-m,u.z=0*g,p.copy(u),u.x+=f.x,u.y+=f.y,u.z+=f.z,u.normalize(),o.push(u.x,u.y,u.z),f.copy(p)}for(let y=0;y<=t;y++){let i=n+y*c*r,u=Math.sin(i),p=Math.cos(i);for(let n=0;n<=e.length-1;n++){d.x=e[n].x*u,d.y=e[n].y,d.z=e[n].x*p,a.push(d.x,d.y,d.z),h.x=y/t,h.y=n/(e.length-1),s.push(h.x,h.y);let r=o[3*n+0]*u,i=o[3*n+1],c=o[3*n+0]*p;l.push(r,i,c)}}for(let y=0;y<t;y++)for(let t=0;t<e.length-1;t++){let n=t+y*e.length,r=n,a=n+e.length,s=n+e.length+1,o=n+1;i.push(r,a,o),i.push(s,o,a)}this.setIndex(i),this.setAttribute("position",new aO(a,3)),this.setAttribute("uv",new aO(s,2)),this.setAttribute("normal",new aO(l,3))}static fromJSON(e){return new bE(e.points,e.segments,e.phiStart,e.phiLength)}},kE=class extends pO{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:32,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=arguments.length>5&&void 0!==arguments[5]&&arguments[5],s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:2*Math.PI;super(),this.type="CylinderGeometry",this.parameters={radiusTop:e,radiusBottom:t,height:n,radialSegments:r,heightSegments:i,openEnded:a,thetaStart:s,thetaLength:o};let l=this;r=Math.floor(r),i=Math.floor(i);let c=[],d=[],h=[],u=[],p=0,f=[],m=n/2,g=0;function y(n){let i=p,a=new cM,f=new qM,y=0,v=!0===n?e:t,x=!0===n?1:-1;for(let e=1;e<=r;e++)d.push(0,m*x,0),h.push(0,x,0),u.push(.5,.5),p++;let S=p;for(let e=0;e<=r;e++){let t=e/r*o+s,n=Math.cos(t),i=Math.sin(t);f.x=v*i,f.y=m*x,f.z=v*n,d.push(f.x,f.y,f.z),h.push(0,x,0),a.x=.5*n+.5,a.y=.5*i*x+.5,u.push(a.x,a.y),p++}for(let e=0;e<r;e++){let t=i+e,r=S+e;!0===n?c.push(r,r+1,t):c.push(r+1,r,t),y+=3}l.addGroup(g,y,!0===n?1:2),g+=y}(function(){let a=new qM,y=new qM,v=0,x=(t-e)/n;for(let l=0;l<=i;l++){let c=[],g=l/i,v=g*(t-e)+e;for(let e=0;e<=r;e++){let t=e/r,i=t*o+s,l=Math.sin(i),f=Math.cos(i);y.x=v*l,y.y=-g*n+m,y.z=v*f,d.push(y.x,y.y,y.z),a.set(l,x,f).normalize(),h.push(a.x,a.y,a.z),u.push(t,1-g),c.push(p++)}f.push(c)}for(let e=0;e<r;e++)for(let t=0;t<i;t++){let n=f[t][e],r=f[t+1][e],i=f[t+1][e+1],a=f[t][e+1];c.push(n,r,a),c.push(r,i,a),v+=6}l.addGroup(g,v,0),g+=v})(),!1===a&&(e>0&&y(!0),t>0&&y(!1)),this.setIndex(c),this.setAttribute("position",new aO(d,3)),this.setAttribute("normal",new aO(h,3)),this.setAttribute("uv",new aO(u,2))}static fromJSON(e){return new kE(e.radiusTop,e.radiusBottom,e.height,e.radialSegments,e.heightSegments,e.openEnded,e.thetaStart,e.thetaLength)}},wE=class extends kE{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:32,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:2*Math.PI;super(0,e,t,n,r,i,a,s),this.type="ConeGeometry",this.parameters={radius:e,height:t,radialSegments:n,heightSegments:r,openEnded:i,thetaStart:a,thetaLength:s}}static fromJSON(e){return new wE(e.radius,e.height,e.radialSegments,e.heightSegments,e.openEnded,e.thetaStart,e.thetaLength)}},jE=class extends pO{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;super(),this.type="PolyhedronGeometry",this.parameters={vertices:e,indices:t,radius:n,detail:r};let i=[],a=[];function s(e,t,n,r){let i=r+1,a=[];for(let s=0;s<=i;s++){a[s]=[];let r=e.clone().lerp(n,s/i),o=t.clone().lerp(n,s/i),l=i-s;for(let e=0;e<=l;e++)a[s][e]=0===e&&s===i?r:r.clone().lerp(o,e/l)}for(let s=0;s<i;s++)for(let e=0;e<2*(i-s)-1;e++){let t=Math.floor(e/2);e%2===0?(o(a[s][t+1]),o(a[s+1][t]),o(a[s][t])):(o(a[s][t+1]),o(a[s+1][t+1]),o(a[s+1][t]))}}function o(e){i.push(e.x,e.y,e.z)}function l(t,n){let r=3*t;n.x=e[r+0],n.y=e[r+1],n.z=e[r+2]}function c(e,t,n,r){r<0&&1===e.x&&(a[t]=e.x-1),0===n.x&&0===n.z&&(a[t]=r/2/Math.PI+.5)}function d(e){return Math.atan2(e.z,-e.x)}function h(e){return Math.atan2(-e.y,Math.sqrt(e.x*e.x+e.z*e.z))}(function(e){let n=new qM,r=new qM,i=new qM;for(let a=0;a<t.length;a+=3)l(t[a+0],n),l(t[a+1],r),l(t[a+2],i),s(n,r,i,e)})(r),function(e){let t=new qM;for(let n=0;n<i.length;n+=3)t.x=i[n+0],t.y=i[n+1],t.z=i[n+2],t.normalize().multiplyScalar(e),i[n+0]=t.x,i[n+1]=t.y,i[n+2]=t.z}(n),function(){let e=new qM;for(let t=0;t<i.length;t+=3){e.x=i[t+0],e.y=i[t+1],e.z=i[t+2];let n=d(e)/2/Math.PI+.5,r=h(e)/Math.PI+.5;a.push(n,1-r)}(function(){let e=new qM,t=new qM,n=new qM,r=new qM,s=new cM,o=new cM,l=new cM;for(let h=0,u=0;h<i.length;h+=9,u+=6){e.set(i[h+0],i[h+1],i[h+2]),t.set(i[h+3],i[h+4],i[h+5]),n.set(i[h+6],i[h+7],i[h+8]),s.set(a[u+0],a[u+1]),o.set(a[u+2],a[u+3]),l.set(a[u+4],a[u+5]),r.copy(e).add(t).add(n).divideScalar(3);let p=d(r);c(s,u+0,e,p),c(o,u+2,t,p),c(l,u+4,n,p)}})(),function(){for(let e=0;e<a.length;e+=6){let t=a[e+0],n=a[e+2],r=a[e+4],i=Math.max(t,n,r),s=Math.min(t,n,r);i>.9&&s<.1&&(t<.2&&(a[e+0]+=1),n<.2&&(a[e+2]+=1),r<.2&&(a[e+4]+=1))}}()}(),this.setAttribute("position",new aO(i,3)),this.setAttribute("normal",new aO(i.slice(),3)),this.setAttribute("uv",new aO(a,2)),0===r?this.computeVertexNormals():this.normalizeNormals()}static fromJSON(e){return new jE(e.vertices,e.indices,e.radius,e.details)}},ME=class extends jE{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(1+Math.sqrt(5))/2,r=1/n;super([-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-r,-n,0,-r,n,0,r,-n,0,r,n,-r,-n,0,-r,n,0,r,-n,0,r,n,0,-n,0,-r,n,0,-r,-n,0,r,n,0,r],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],e,t),this.type="DodecahedronGeometry",this.parameters={radius:e,detail:t}}static fromJSON(e){return new ME(e.radius,e.detail)}},PE=class extends AE{constructor(e){super(e),this.uuid=$j(),this.type="Shape",this.holes=[]}getPointsHoles(e){let t=[];for(let n=0,r=this.holes.length;n<r;n++)t[n]=this.holes[n].getPoints(e);return t}extractPoints(e){return{shape:this.getPoints(e),holes:this.getPointsHoles(e)}}copy(e){super.copy(e),this.holes=[];for(let t=0,n=e.holes.length;t<n;t++){let n=e.holes[t];this.holes.push(n.clone())}return this}toJSON(){let e=super.toJSON();e.uuid=this.uuid,e.holes=[];for(let t=0,n=this.holes.length;t<n;t++){let n=this.holes[t];e.holes.push(n.toJSON())}return e}fromJSON(e){super.fromJSON(e),this.uuid=e.uuid,this.holes=[];for(let t=0,n=e.holes.length;t<n;t++){let n=e.holes[t];this.holes.push((new AE).fromJSON(n))}return this}},OE=function(e,t){let n,r,i,a,s,o,l,c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:2,d=t&&t.length,h=d?t[0]*c:e.length,u=TE(e,0,h,c,!0),p=[];if(!u||u.next===u.prev)return p;if(d&&(u=function(e,t,n,r){let i,a,s,o,l,c=[];for(i=0,a=t.length;i<a;i++)s=t[i]*r,o=i<a-1?t[i+1]*r:e.length,l=TE(e,s,o,r,!1),l===l.next&&(l.steiner=!0),c.push(WE(l));for(c.sort(BE),i=0;i<c.length;i++)n=GE(c[i],n);return n}(e,t,u,c)),e.length>80*c){n=i=e[0],r=a=e[1];for(let t=c;t<h;t+=c)s=e[t],o=e[t+1],s<n&&(n=s),o<r&&(r=o),s>i&&(i=s),o>a&&(a=o);l=Math.max(i-n,a-r),l=0!==l?32767/l:0}return CE(u,p,c,n,r,l,0),p};function TE(e,t,n,r,i){let a,s;if(i===function(e,t,n,r){let i=0;for(let a=t,s=n-r;a<n;a+=r)i+=(e[s]-e[a])*(e[a+1]+e[s+1]),s=a;return i}(e,t,n,r)>0)for(a=t;a<n;a+=r)s=QE(a,e[a],e[a+1],s);else for(a=n-r;a>=t;a-=r)s=QE(a,e[a],e[a+1],s);return s&&NE(s,s.next)&&(XE(s),s=s.next),s}function IE(e,t){if(!e)return e;t||(t=e);let n,r=e;do{if(n=!1,r.steiner||!NE(r,r.next)&&0!==UE(r.prev,r,r.next))r=r.next;else{if(XE(r),r=t=r.prev,r===r.next)break;n=!0}}while(n||r!==t);return t}function CE(e,t,n,r,i,a,s){if(!e)return;!s&&a&&function(e,t,n,r){let i=e;do{0===i.z&&(i.z=HE(i.x,i.y,t,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){let t,n,r,i,a,s,o,l,c=1;do{for(n=e,e=null,a=null,s=0;n;){for(s++,r=n,o=0,t=0;t<c&&(o++,r=r.nextZ,r);t++);for(l=c;o>0||l>0&&r;)0!==o&&(0===l||!r||n.z<=r.z)?(i=n,n=n.nextZ,o--):(i=r,r=r.nextZ,l--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;n=r}a.nextZ=null,c*=2}while(s>1)}(i)}(e,r,i,a);let o,l,c=e;for(;e.prev!==e.next;)if(o=e.prev,l=e.next,a?VE(e,r,i,a):EE(e))t.push(o.i/n|0),t.push(e.i/n|0),t.push(l.i/n|0),XE(e),e=l.next,c=l.next;else if((e=l)===c){s?1===s?CE(e=RE(IE(e),t,n),t,n,r,i,a,2):2===s&&DE(e,t,n,r,i,a):CE(IE(e),t,n,r,i,a,1);break}}function EE(e){let t=e.prev,n=e,r=e.next;if(UE(t,n,r)>=0)return!1;let i=t.x,a=n.x,s=r.x,o=t.y,l=n.y,c=r.y,d=i<a?i<s?i:s:a<s?a:s,h=o<l?o<c?o:c:l<c?l:c,u=i>a?i>s?i:s:a>s?a:s,p=o>l?o>c?o:c:l>c?l:c,f=r.next;for(;f!==t;){if(f.x>=d&&f.x<=u&&f.y>=h&&f.y<=p&&zE(i,o,a,l,s,c,f.x,f.y)&&UE(f.prev,f,f.next)>=0)return!1;f=f.next}return!0}function VE(e,t,n,r){let i=e.prev,a=e,s=e.next;if(UE(i,a,s)>=0)return!1;let o=i.x,l=a.x,c=s.x,d=i.y,h=a.y,u=s.y,p=o<l?o<c?o:c:l<c?l:c,f=d<h?d<u?d:u:h<u?h:u,m=o>l?o>c?o:c:l>c?l:c,g=d>h?d>u?d:u:h>u?h:u,y=HE(p,f,t,n,r),v=HE(m,g,t,n,r),x=e.prevZ,S=e.nextZ;for(;x&&x.z>=y&&S&&S.z<=v;){if(x.x>=p&&x.x<=m&&x.y>=f&&x.y<=g&&x!==i&&x!==s&&zE(o,d,l,h,c,u,x.x,x.y)&&UE(x.prev,x,x.next)>=0||(x=x.prevZ,S.x>=p&&S.x<=m&&S.y>=f&&S.y<=g&&S!==i&&S!==s&&zE(o,d,l,h,c,u,S.x,S.y)&&UE(S.prev,S,S.next)>=0))return!1;S=S.nextZ}for(;x&&x.z>=y;){if(x.x>=p&&x.x<=m&&x.y>=f&&x.y<=g&&x!==i&&x!==s&&zE(o,d,l,h,c,u,x.x,x.y)&&UE(x.prev,x,x.next)>=0)return!1;x=x.prevZ}for(;S&&S.z<=v;){if(S.x>=p&&S.x<=m&&S.y>=f&&S.y<=g&&S!==i&&S!==s&&zE(o,d,l,h,c,u,S.x,S.y)&&UE(S.prev,S,S.next)>=0)return!1;S=S.nextZ}return!0}function RE(e,t,n){let r=e;do{let i=r.prev,a=r.next.next;!NE(i,a)&&LE(i,r,r.next,a)&&ZE(i,a)&&ZE(a,i)&&(t.push(i.i/n|0),t.push(r.i/n|0),t.push(a.i/n|0),XE(r),XE(r.next),r=e=a),r=r.next}while(r!==e);return IE(r)}function DE(e,t,n,r,i,a){let s=e;do{let e=s.next.next;for(;e!==s.prev;){if(s.i!==e.i&&JE(s,e)){let o=KE(s,e);return s=IE(s,s.next),o=IE(o,o.next),CE(s,t,n,r,i,a,0),void CE(o,t,n,r,i,a,0)}e=e.next}s=s.next}while(s!==e)}function BE(e,t){return e.x-t.x}function GE(e,t){let n=function(e,t){let n,r=t,i=-1/0,a=e.x,s=e.y;do{if(s<=r.y&&s>=r.next.y&&r.next.y!==r.y){let e=r.x+(s-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(e<=a&&e>i&&(i=e,n=r.x<r.next.x?r:r.next,e===a))return n}r=r.next}while(r!==t);if(!n)return null;let o,l=n,c=n.x,d=n.y,h=1/0;r=n;do{a>=r.x&&r.x>=c&&a!==r.x&&zE(s<d?a:i,s,c,d,s<d?i:a,s,r.x,r.y)&&(o=Math.abs(s-r.y)/(a-r.x),ZE(r,e)&&(o<h||o===h&&(r.x>n.x||r.x===n.x&&qE(n,r)))&&(n=r,h=o)),r=r.next}while(r!==l);return n}(e,t);if(!n)return t;let r=KE(n,e);return IE(r,r.next),IE(n,n.next)}function qE(e,t){return UE(e.prev,e,t.prev)<0&&UE(t.next,e,e.next)<0}function HE(e,t,n,r,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-r)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function WE(e){let t=e,n=e;do{(t.x<n.x||t.x===n.x&&t.y<n.y)&&(n=t),t=t.next}while(t!==e);return n}function zE(e,t,n,r,i,a,s,o){return(i-s)*(t-o)>=(e-s)*(a-o)&&(e-s)*(r-o)>=(n-s)*(t-o)&&(n-s)*(a-o)>=(i-s)*(r-o)}function JE(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){let n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&LE(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}(e,t)&&(ZE(e,t)&&ZE(t,e)&&function(e,t){let n=e,r=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do{n.y>a!=n.next.y>a&&n.next.y!==n.y&&i<(n.next.x-n.x)*(a-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next}while(n!==e);return r}(e,t)&&(UE(e.prev,e,t.prev)||UE(e,t.prev,t))||NE(e,t)&&UE(e.prev,e,e.next)>0&&UE(t.prev,t,t.next)>0)}function UE(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function NE(e,t){return e.x===t.x&&e.y===t.y}function LE(e,t,n,r){let i=FE(UE(e,t,n)),a=FE(UE(e,t,r)),s=FE(UE(n,r,e)),o=FE(UE(n,r,t));return!!(i!==a&&s!==o||0===i&&YE(e,n,t)||0===a&&YE(e,r,t)||0===s&&YE(n,e,r)||0===o&&YE(n,t,r))}function YE(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function FE(e){return e>0?1:e<0?-1:0}function ZE(e,t){return UE(e.prev,e,e.next)<0?UE(e,t,e.next)>=0&&UE(e,e.prev,t)>=0:UE(e,t,e.prev)<0||UE(e,e.next,t)<0}function KE(e,t){let n=new _E(e.i,e.x,e.y),r=new _E(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,n.next=i,i.prev=n,r.next=n,n.prev=r,a.next=r,r.prev=a,r}function QE(e,t,n,r){let i=new _E(e,t,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function XE(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function _E(e,t,n){this.i=e,this.x=t,this.y=n,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}var $E=class{static area(e){let t=e.length,n=0;for(let r=t-1,i=0;i<t;r=i++)n+=e[r].x*e[i].y-e[i].x*e[r].y;return.5*n}static isClockWise(e){return $E.area(e)<0}static triangulateShape(e,t){let n=[],r=[],i=[];eV(e),tV(n,e);let a=e.length;t.forEach(eV);for(let o=0;o<t.length;o++)r.push(a),a+=t[o].length,tV(n,t[o]);let s=OE(n,r);for(let o=0;o<s.length;o+=3)i.push(s.slice(o,o+3));return i}};function eV(e){let t=e.length;t>2&&e[t-1].equals(e[0])&&e.pop()}function tV(e,t){for(let n=0;n<t.length;n++)e.push(t[n].x),e.push(t[n].y)}var nV=class extends jE{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(1+Math.sqrt(5))/2;super([-1,n,0,1,n,0,-1,-n,0,1,-n,0,0,-1,n,0,1,n,0,-1,-n,0,1,-n,n,0,-1,n,0,1,-n,0,-1,-n,0,1],[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1],e,t),this.type="IcosahedronGeometry",this.parameters={radius:e,detail:t}}static fromJSON(e){return new nV(e.radius,e.detail)}},rV=class extends pO{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:32,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:16,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:2*Math.PI,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:Math.PI;super(),this.type="SphereGeometry",this.parameters={radius:e,widthSegments:t,heightSegments:n,phiStart:r,phiLength:i,thetaStart:a,thetaLength:s},t=Math.max(3,Math.floor(t)),n=Math.max(2,Math.floor(n));let o=Math.min(a+s,Math.PI),l=0,c=[],d=new qM,h=new qM,u=[],p=[],f=[],m=[];for(let g=0;g<=n;g++){let u=[],y=g/n,v=0;0==g&&0==a?v=.5/t:g==n&&o==Math.PI&&(v=-.5/t);for(let n=0;n<=t;n++){let o=n/t;d.x=-e*Math.cos(r+o*i)*Math.sin(a+y*s),d.y=e*Math.cos(a+y*s),d.z=e*Math.sin(r+o*i)*Math.sin(a+y*s),p.push(d.x,d.y,d.z),h.copy(d).normalize(),f.push(h.x,h.y,h.z),m.push(o+v,1-y),u.push(l++)}c.push(u)}for(let g=0;g<n;g++)for(let e=0;e<t;e++){let t=c[g][e+1],r=c[g][e],i=c[g+1][e],s=c[g+1][e+1];(0!==g||a>0)&&u.push(t,r,s),(g!==n-1||o<Math.PI)&&u.push(r,i,s)}this.setIndex(u),this.setAttribute("position",new aO(p,3)),this.setAttribute("normal",new aO(f,3)),this.setAttribute("uv",new aO(m,2))}static fromJSON(e){return new rV(e.radius,e.widthSegments,e.heightSegments,e.phiStart,e.phiLength,e.thetaStart,e.thetaLength)}},iV=class extends pO{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.4,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:12,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:48,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:2*Math.PI;super(),this.type="TorusGeometry",this.parameters={radius:e,tube:t,radialSegments:n,tubularSegments:r,arc:i},n=Math.floor(n),r=Math.floor(r);let a=[],s=[],o=[],l=[],c=new qM,d=new qM,h=new qM;for(let u=0;u<=n;u++)for(let a=0;a<=r;a++){let p=a/r*i,f=u/n*Math.PI*2;d.x=(e+t*Math.cos(f))*Math.cos(p),d.y=(e+t*Math.cos(f))*Math.sin(p),d.z=t*Math.sin(f),s.push(d.x,d.y,d.z),c.x=e*Math.cos(p),c.y=e*Math.sin(p),h.subVectors(d,c).normalize(),o.push(h.x,h.y,h.z),l.push(a/r),l.push(u/n)}for(let u=1;u<=n;u++)for(let e=1;e<=r;e++){let t=(r+1)*u+e-1,n=(r+1)*(u-1)+e-1,i=(r+1)*(u-1)+e,s=(r+1)*u+e;a.push(t,n,s),a.push(n,i,s)}this.setIndex(a),this.setAttribute("position",new aO(s,3)),this.setAttribute("normal",new aO(o,3)),this.setAttribute("uv",new aO(l,2))}static fromJSON(e){return new iV(e.radius,e.tube,e.radialSegments,e.tubularSegments,e.arc)}},aV=class extends pO{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.4,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:64,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:8,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:2,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:3;super(),this.type="TorusKnotGeometry",this.parameters={radius:e,tube:t,tubularSegments:n,radialSegments:r,p:i,q:a},n=Math.floor(n),r=Math.floor(r);let s=[],o=[],l=[],c=[],d=new qM,h=new qM,u=new qM,p=new qM,f=new qM,m=new qM,g=new qM;for(let v=0;v<=n;++v){let s=v/n*i*Math.PI*2;y(s,i,a,e,u),y(s+.01,i,a,e,p),m.subVectors(p,u),g.addVectors(p,u),f.crossVectors(m,g),g.crossVectors(f,m),f.normalize(),g.normalize();for(let e=0;e<=r;++e){let i=e/r*Math.PI*2,a=-t*Math.cos(i),s=t*Math.sin(i);d.x=u.x+(a*g.x+s*f.x),d.y=u.y+(a*g.y+s*f.y),d.z=u.z+(a*g.z+s*f.z),o.push(d.x,d.y,d.z),h.subVectors(d,u).normalize(),l.push(h.x,h.y,h.z),c.push(v/n),c.push(e/r)}}for(let v=1;v<=n;v++)for(let e=1;e<=r;e++){let t=(r+1)*(v-1)+(e-1),n=(r+1)*v+(e-1),i=(r+1)*v+e,a=(r+1)*(v-1)+e;s.push(t,n,a),s.push(n,i,a)}function y(e,t,n,r,i){let a=Math.cos(e),s=Math.sin(e),o=n/t*e,l=Math.cos(o);i.x=r*(2+l)*.5*a,i.y=r*(2+l)*s*.5,i.z=r*Math.sin(o)*.5}this.setIndex(s),this.setAttribute("position",new aO(o,3)),this.setAttribute("normal",new aO(l,3)),this.setAttribute("uv",new aO(c,2))}static fromJSON(e){return new aV(e.radius,e.tube,e.tubularSegments,e.radialSegments,e.p,e.q)}};function sV(e,t,n){return lV(e)?new e.constructor(e.subarray(t,void 0!==n?n:e.length)):e.slice(t,n)}function oV(e,t,n){return!e||!n&&e.constructor===t?e:"number"==typeof t.BYTES_PER_ELEMENT?new t(e):Array.prototype.slice.call(e)}function lV(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function cV(e){let t=e.length,n=new Array(t);for(let r=0;r!==t;++r)n[r]=r;return n.sort((function(t,n){return e[t]-e[n]})),n}function dV(e,t,n){let r=e.length,i=new e.constructor(r);for(let a=0,s=0;s!==r;++a){let r=n[a]*t;for(let n=0;n!==t;++n)i[s++]=e[r+n]}return i}function hV(e,t,n,r){let i=1,a=e[0];for(;void 0!==a&&void 0===a[r];)a=e[i++];if(void 0===a)return;let s=a[r];if(void 0!==s)if(Array.isArray(s))do{s=a[r],void 0!==s&&(t.push(a.time),n.push.apply(n,s)),a=e[i++]}while(void 0!==a);else if(void 0!==s.toArray)do{s=a[r],void 0!==s&&(t.push(a.time),s.toArray(n,n.length)),a=e[i++]}while(void 0!==a);else do{s=a[r],void 0!==s&&(t.push(a.time),n.push(s)),a=e[i++]}while(void 0!==a)}var uV=class{constructor(e,t,n,r){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=void 0!==r?r:new t.constructor(n),this.sampleValues=t,this.valueSize=n,this.settings=null,this.DefaultSettings_={}}evaluate(e){let t=this.parameterPositions,n=this._cachedIndex,r=t[n],i=t[n-1];e:{t:{let a;n:{r:if(!(e<r)){for(let a=n+2;;){if(void 0===r){if(e<i)break r;return n=t.length,this._cachedIndex=n,this.copySampleValue_(n-1)}if(n===a)break;if(i=r,r=t[++n],e<r)break t}a=t.length;break n}if(e>=i)break e;{let s=t[1];e<s&&(n=2,i=s);for(let a=n-2;;){if(void 0===i)return this._cachedIndex=0,this.copySampleValue_(0);if(n===a)break;if(r=i,i=t[--n-1],e>=i)break t}a=n,n=0}}for(;n<a;){let r=n+a>>>1;e<t[r]?a=r:n=r+1}if(r=t[n],i=t[n-1],void 0===i)return this._cachedIndex=0,this.copySampleValue_(0);if(void 0===r)return n=t.length,this._cachedIndex=n,this.copySampleValue_(n-1)}this._cachedIndex=n,this.intervalChanged_(n,i,r)}return this.interpolate_(n,i,e,r)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(e){let t=this.resultBuffer,n=this.sampleValues,r=this.valueSize,i=e*r;for(let a=0;a!==r;++a)t[a]=n[i+a];return t}interpolate_(){throw new Error("call to abstract method")}intervalChanged_(){}},pV=class extends uV{constructor(e,t,n,r){super(e,t,n,r),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:Ej,endingEnd:Ej}}intervalChanged_(e,t,n){let r=this.parameterPositions,i=e-2,a=e+1,s=r[i],o=r[a];if(void 0===s)switch(this.getSettings_().endingStart){case Vj:i=e,s=2*t-n;break;case Rj:i=r.length-2,s=t+r[i]-r[i+1];break;default:i=e,s=n}if(void 0===o)switch(this.getSettings_().endingEnd){case Vj:a=e,o=2*n-t;break;case Rj:a=1,o=n+r[1]-r[0];break;default:a=e-1,o=t}let l=.5*(n-t),c=this.valueSize;this._weightPrev=l/(t-s),this._weightNext=l/(o-n),this._offsetPrev=i*c,this._offsetNext=a*c}interpolate_(e,t,n,r){let i=this.resultBuffer,a=this.sampleValues,s=this.valueSize,o=e*s,l=o-s,c=this._offsetPrev,d=this._offsetNext,h=this._weightPrev,u=this._weightNext,p=(n-t)/(r-t),f=p*p,m=f*p,g=-h*m+2*h*f-h*p,y=(1+h)*m+(-1.5-2*h)*f+(-.5+h)*p+1,v=(-1-u)*m+(1.5+u)*f+.5*p,x=u*m-u*f;for(let S=0;S!==s;++S)i[S]=g*a[c+S]+y*a[l+S]+v*a[o+S]+x*a[d+S];return i}},fV=class extends uV{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e,t,n,r){let i=this.resultBuffer,a=this.sampleValues,s=this.valueSize,o=e*s,l=o-s,c=(n-t)/(r-t),d=1-c;for(let h=0;h!==s;++h)i[h]=a[l+h]*d+a[o+h]*c;return i}},mV=class extends uV{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e){return this.copySampleValue_(e-1)}},gV=class{constructor(e,t,n,r){if(void 0===e)throw new Error("THREE.KeyframeTrack: track name is undefined");if(void 0===t||0===t.length)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+e);this.name=e,this.times=oV(t,this.TimeBufferType),this.values=oV(n,this.ValueBufferType),this.setInterpolation(r||this.DefaultInterpolation)}static toJSON(e){let t,n=e.constructor;if(n.toJSON!==this.toJSON)t=n.toJSON(e);else{t={name:e.name,times:oV(e.times,Array),values:oV(e.values,Array)};let n=e.getInterpolation();n!==e.DefaultInterpolation&&(t.interpolation=n)}return t.type=e.ValueTypeName,t}InterpolantFactoryMethodDiscrete(e){return new mV(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodLinear(e){return new fV(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodSmooth(e){return new pV(this.times,this.values,this.getValueSize(),e)}setInterpolation(e){let t;switch(e){case Tj:t=this.InterpolantFactoryMethodDiscrete;break;case Ij:t=this.InterpolantFactoryMethodLinear;break;case Cj:t=this.InterpolantFactoryMethodSmooth}if(void 0===t){let t="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(void 0===this.createInterpolant){if(e===this.DefaultInterpolation)throw new Error(t);this.setInterpolation(this.DefaultInterpolation)}return console.warn("THREE.KeyframeTrack:",t),this}return this.createInterpolant=t,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return Tj;case this.InterpolantFactoryMethodLinear:return Ij;case this.InterpolantFactoryMethodSmooth:return Cj}}getValueSize(){return this.values.length/this.times.length}shift(e){if(0!==e){let t=this.times;for(let n=0,r=t.length;n!==r;++n)t[n]+=e}return this}scale(e){if(1!==e){let t=this.times;for(let n=0,r=t.length;n!==r;++n)t[n]*=e}return this}trim(e,t){let n=this.times,r=n.length,i=0,a=r-1;for(;i!==r&&n[i]<e;)++i;for(;-1!==a&&n[a]>t;)--a;if(++a,0!==i||a!==r){i>=a&&(a=Math.max(a,1),i=a-1);let e=this.getValueSize();this.times=sV(n,i,a),this.values=sV(this.values,i*e,a*e)}return this}validate(){let e=!0,t=this.getValueSize();t-Math.floor(t)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);let n=this.times,r=this.values,i=n.length;0===i&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let a=null;for(let s=0;s!==i;s++){let t=n[s];if("number"==typeof t&&isNaN(t)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,s,t),e=!1;break}if(null!==a&&a>t){console.error("THREE.KeyframeTrack: Out of order keys.",this,s,t,a),e=!1;break}a=t}if(void 0!==r&&lV(r))for(let s=0,o=r.length;s!==o;++s){let t=r[s];if(isNaN(t)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,s,t),e=!1;break}}return e}optimize(){let e=sV(this.times),t=sV(this.values),n=this.getValueSize(),r=this.getInterpolation()===Cj,i=e.length-1,a=1;for(let s=1;s<i;++s){let i=!1,o=e[s];if(o!==e[s+1]&&(1!==s||o!==e[0]))if(r)i=!0;else{let e=s*n,r=e-n,a=e+n;for(let s=0;s!==n;++s){let n=t[e+s];if(n!==t[r+s]||n!==t[a+s]){i=!0;break}}}if(i){if(s!==a){e[a]=e[s];let r=s*n,i=a*n;for(let e=0;e!==n;++e)t[i+e]=t[r+e]}++a}}if(i>0){e[a]=e[i];for(let e=i*n,r=a*n,s=0;s!==n;++s)t[r+s]=t[e+s];++a}return a!==e.length?(this.times=sV(e,0,a),this.values=sV(t,0,a*n)):(this.times=e,this.values=t),this}clone(){let e=sV(this.times,0),t=sV(this.values,0),n=new(0,this.constructor)(this.name,e,t);return n.createInterpolant=this.createInterpolant,n}};gV.prototype.TimeBufferType=Float32Array,gV.prototype.ValueBufferType=Float32Array,gV.prototype.DefaultInterpolation=Ij;var yV=class extends gV{};yV.prototype.ValueTypeName="bool",yV.prototype.ValueBufferType=Array,yV.prototype.DefaultInterpolation=Tj,yV.prototype.InterpolantFactoryMethodLinear=void 0,yV.prototype.InterpolantFactoryMethodSmooth=void 0;var vV=class extends gV{};vV.prototype.ValueTypeName="color";var xV=class extends gV{};xV.prototype.ValueTypeName="number";var SV=class extends uV{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e,t,n,r){let i=this.resultBuffer,a=this.sampleValues,s=this.valueSize,o=(n-t)/(r-t),l=e*s;for(let c=l+s;l!==c;l+=4)GM.slerpFlat(i,0,a,l-s,a,l,o);return i}},AV=class extends gV{InterpolantFactoryMethodLinear(e){return new SV(this.times,this.values,this.getValueSize(),e)}};AV.prototype.ValueTypeName="quaternion",AV.prototype.DefaultInterpolation=Ij,AV.prototype.InterpolantFactoryMethodSmooth=void 0;var bV=class extends gV{};bV.prototype.ValueTypeName="string",bV.prototype.ValueBufferType=Array,bV.prototype.DefaultInterpolation=Tj,bV.prototype.InterpolantFactoryMethodLinear=void 0,bV.prototype.InterpolantFactoryMethodSmooth=void 0;var kV=class extends gV{};kV.prototype.ValueTypeName="vector";var wV=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Dj;this.name=e,this.tracks=n,this.duration=t,this.blendMode=r,this.uuid=$j(),this.duration<0&&this.resetDuration()}static parse(e){let t=[],n=e.tracks,r=1/(e.fps||1);for(let a=0,s=n.length;a!==s;++a)t.push(jV(n[a]).scale(r));let i=new this(e.name,e.duration,t,e.blendMode);return i.uuid=e.uuid,i}static toJSON(e){let t=[],n=e.tracks,r={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let i=0,a=n.length;i!==a;++i)t.push(gV.toJSON(n[i]));return r}static CreateFromMorphTargetSequence(e,t,n,r){let i=t.length,a=[];for(let s=0;s<i;s++){let e=[],o=[];e.push((s+i-1)%i,s,(s+1)%i),o.push(0,1,0);let l=cV(e);e=dV(e,1,l),o=dV(o,1,l),!r&&0===e[0]&&(e.push(i),o.push(o[0])),a.push(new xV(".morphTargetInfluences["+t[s].name+"]",e,o).scale(1/n))}return new this(e,-1,a)}static findByName(e,t){let n=e;if(!Array.isArray(e)){let t=e;n=t.geometry&&t.geometry.animations||t.animations}for(let r=0;r<n.length;r++)if(n[r].name===t)return n[r];return null}static CreateClipsFromMorphTargetSequences(e,t,n){let r={},i=/^([\w-]*?)([\d]+)$/;for(let s=0,o=e.length;s<o;s++){let t=e[s],n=t.name.match(i);if(n&&n.length>1){let e=n[1],i=r[e];i||(r[e]=i=[]),i.push(t)}}let a=[];for(let s in r)a.push(this.CreateFromMorphTargetSequence(s,r[s],t,n));return a}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;let n=function(e,t,n,r,i){if(0!==n.length){let a=[],s=[];hV(n,a,s,r),0!==a.length&&i.push(new e(t,a,s))}},r=[],i=e.name||"default",a=e.fps||30,s=e.blendMode,o=e.length||-1,l=e.hierarchy||[];for(let c=0;c<l.length;c++){let e=l[c].keys;if(e&&0!==e.length)if(e[0].morphTargets){let t,n={};for(t=0;t<e.length;t++)if(e[t].morphTargets)for(let r=0;r<e[t].morphTargets.length;r++)n[e[t].morphTargets[r]]=-1;for(let i in n){let n=[],a=[];for(let r=0;r!==e[t].morphTargets.length;++r){let r=e[t];n.push(r.time),a.push(r.morphTarget===i?1:0)}r.push(new xV(".morphTargetInfluence["+i+"]",n,a))}o=n.length*a}else{let i=".bones["+t[c].name+"]";n(kV,i+".position",e,"pos",r),n(AV,i+".quaternion",e,"rot",r),n(kV,i+".scale",e,"scl",r)}}return 0===r.length?null:new this(i,o,r,s)}resetDuration(){let e=0;for(let t=0,n=this.tracks.length;t!==n;++t){let n=this.tracks[t];e=Math.max(e,n.times[n.times.length-1])}return this.duration=e,this}trim(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].trim(0,this.duration);return this}validate(){let e=!0;for(let t=0;t<this.tracks.length;t++)e=e&&this.tracks[t].validate();return e}optimize(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].optimize();return this}clone(){let e=[];for(let t=0;t<this.tracks.length;t++)e.push(this.tracks[t].clone());return new this.constructor(this.name,this.duration,e,this.blendMode)}toJSON(){return this.constructor.toJSON(this)}};function jV(e){if(void 0===e.type)throw new Error("THREE.KeyframeTrack: track type undefined, can not parse");let t=function(e){switch(e.toLowerCase()){case"scalar":case"double":case"float":case"number":case"integer":return xV;case"vector":case"vector2":case"vector3":case"vector4":return kV;case"color":return vV;case"quaternion":return AV;case"bool":case"boolean":return yV;case"string":return bV}throw new Error("THREE.KeyframeTrack: Unsupported typeName: "+e)}(e.type);if(void 0===e.times){let t=[],n=[];hV(e.keys,t,n,"value"),e.times=t,e.values=n}return void 0!==t.parse?t.parse(e):new t(e.name,e.times,e.values,e.interpolation)}var MV={enabled:!1,files:{},add:function(e,t){!1!==this.enabled&&(this.files[e]=t)},get:function(e){if(!1!==this.enabled)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}},PV=class{constructor(e,t,n){let r,i=this,a=!1,s=0,o=0,l=[];this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=n,this.itemStart=function(e){o++,!1===a&&void 0!==i.onStart&&i.onStart(e,s,o),a=!0},this.itemEnd=function(e){s++,void 0!==i.onProgress&&i.onProgress(e,s,o),s===o&&(a=!1,void 0!==i.onLoad&&i.onLoad())},this.itemError=function(e){void 0!==i.onError&&i.onError(e)},this.resolveURL=function(e){return r?r(e):e},this.setURLModifier=function(e){return r=e,this},this.addHandler=function(e,t){return l.push(e,t),this},this.removeHandler=function(e){let t=l.indexOf(e);return-1!==t&&l.splice(t,2),this},this.getHandler=function(e){for(let t=0,n=l.length;t<n;t+=2){let n=l[t],r=l[t+1];if(n.global&&(n.lastIndex=0),n.test(e))return r}return null}}},OV=new PV,TV=class{constructor(e){this.manager=void 0!==e?e:OV,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}load(){}loadAsync(e,t){let n=this;return new Promise((function(r,i){n.load(e,r,t,i)}))}parse(){}setCrossOrigin(e){return this.crossOrigin=e,this}setWithCredentials(e){return this.withCredentials=e,this}setPath(e){return this.path=e,this}setResourcePath(e){return this.resourcePath=e,this}setRequestHeader(e){return this.requestHeader=e,this}},IV={},CV=class extends Error{constructor(e,t){super(e),this.response=t}},EV=class extends TV{constructor(e){super(e)}load(e,t,n,r){void 0===e&&(e=""),void 0!==this.path&&(e=this.path+e),e=this.manager.resolveURL(e);let i=MV.get(e);if(void 0!==i)return this.manager.itemStart(e),setTimeout((()=>{t&&t(i),this.manager.itemEnd(e)}),0),i;if(void 0!==IV[e])return void IV[e].push({onLoad:t,onProgress:n,onError:r});IV[e]=[],IV[e].push({onLoad:t,onProgress:n,onError:r});let a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),s=this.mimeType,o=this.responseType;fetch(a).then((t=>{if(200===t.status||0===t.status){if(0===t.status&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||void 0===t.body||void 0===t.body.getReader)return t;let n=IV[e],r=t.body.getReader(),i=t.headers.get("Content-Length")||t.headers.get("X-File-Size"),a=i?parseInt(i):0,s=0!==a,o=0,l=new ReadableStream({start(e){!function t(){r.read().then((r=>{let{done:i,value:l}=r;if(i)e.close();else{o+=l.byteLength;let r=new ProgressEvent("progress",{lengthComputable:s,loaded:o,total:a});for(let e=0,t=n.length;e<t;e++){let t=n[e];t.onProgress&&t.onProgress(r)}e.enqueue(l),t()}}))}()}});return new Response(l)}throw new CV('fetch for "'.concat(t.url,'" responded with ').concat(t.status,": ").concat(t.statusText),t)})).then((e=>{switch(o){case"arraybuffer":return e.arrayBuffer();case"blob":return e.blob();case"document":return e.text().then((e=>(new DOMParser).parseFromString(e,s)));case"json":return e.json();default:if(void 0===s)return e.text();{let t=/charset="?([^;"\s]*)"?/i.exec(s),n=t&&t[1]?t[1].toLowerCase():void 0,r=new TextDecoder(n);return e.arrayBuffer().then((e=>r.decode(e)))}}})).then((t=>{MV.add(e,t);let n=IV[e];delete IV[e];for(let e=0,r=n.length;e<r;e++){let r=n[e];r.onLoad&&r.onLoad(t)}})).catch((t=>{let n=IV[e];if(void 0===n)throw this.manager.itemError(e),t;delete IV[e];for(let e=0,r=n.length;e<r;e++){let r=n[e];r.onError&&r.onError(t)}this.manager.itemError(e)})).finally((()=>{this.manager.itemEnd(e)})),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}},VV=class extends TV{constructor(e){super(e)}load(e,t,n,r){void 0!==this.path&&(e=this.path+e),e=this.manager.resolveURL(e);let i=this,a=MV.get(e);if(void 0!==a)return i.manager.itemStart(e),setTimeout((function(){t&&t(a),i.manager.itemEnd(e)}),0),a;let s=mM("img");function o(){c(),MV.add(e,this),t&&t(this),i.manager.itemEnd(e)}function l(t){c(),r&&r(t),i.manager.itemError(e),i.manager.itemEnd(e)}function c(){s.removeEventListener("load",o,!1),s.removeEventListener("error",l,!1)}return s.addEventListener("load",o,!1),s.addEventListener("error",l,!1),"data:"!==e.slice(0,5)&&void 0!==this.crossOrigin&&(s.crossOrigin=this.crossOrigin),i.manager.itemStart(e),s.src=e,s}},RV=class extends TV{constructor(e){super(e)}load(e,t,n,r){let i=new EM,a=new VV(this.manager);return a.setCrossOrigin(this.crossOrigin),a.setPath(this.path),a.load(e,(function(e){i.image=e,i.needsUpdate=!0,void 0!==t&&t(i)}),n,r),i}},DV=class extends HP{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;super(),this.isLight=!0,this.type="Light",this.color=new MM(e),this.intensity=t}dispose(){}copy(e,t){return super.copy(e,t),this.color.copy(e.color),this.intensity=e.intensity,this}toJSON(e){let t=super.toJSON(e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,void 0!==this.groundColor&&(t.object.groundColor=this.groundColor.getHex()),void 0!==this.distance&&(t.object.distance=this.distance),void 0!==this.angle&&(t.object.angle=this.angle),void 0!==this.decay&&(t.object.decay=this.decay),void 0!==this.penumbra&&(t.object.penumbra=this.penumbra),void 0!==this.shadow&&(t.object.shadow=this.shadow.toJSON()),t}},BV=class extends DV{constructor(e,t,n){super(e,n),this.isHemisphereLight=!0,this.type="HemisphereLight",this.position.copy(HP.DEFAULT_UP),this.updateMatrix(),this.groundColor=new MM(t)}copy(e,t){return super.copy(e,t),this.groundColor.copy(e.groundColor),this}},GV=new fP,qV=new qM,HV=new qM,WV=class{constructor(e){this.camera=e,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new cM(512,512),this.map=null,this.mapPass=null,this.matrix=new fP,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new FO,this._frameExtents=new cM(1,1),this._viewportCount=1,this._viewports=[new VM(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){let t=this.camera,n=this.matrix;qV.setFromMatrixPosition(e.matrixWorld),t.position.copy(qV),HV.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(HV),t.updateMatrixWorld(),GV.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(GV),n.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),n.multiply(GV)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(e){return this.camera=e.camera.clone(),this.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this}clone(){return(new this.constructor).copy(this)}toJSON(){let e={};return 0!==this.bias&&(e.bias=this.bias),0!==this.normalBias&&(e.normalBias=this.normalBias),1!==this.radius&&(e.radius=this.radius),(512!==this.mapSize.x||512!==this.mapSize.y)&&(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}},zV=class extends WV{constructor(){super(new BO(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1}updateMatrices(e){let t=this.camera,n=2*_j*e.angle*this.focus,r=this.mapSize.width/this.mapSize.height,i=e.distance||t.far;(n!==t.fov||r!==t.aspect||i!==t.far)&&(t.fov=n,t.aspect=r,t.far=i,t.updateProjectionMatrix()),super.updateMatrices(e)}copy(e){return super.copy(e),this.focus=e.focus,this}},JV=class extends DV{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Math.PI/3,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:2;super(e,t),this.isSpotLight=!0,this.type="SpotLight",this.position.copy(HP.DEFAULT_UP),this.updateMatrix(),this.target=new HP,this.distance=n,this.angle=r,this.penumbra=i,this.decay=a,this.map=null,this.shadow=new zV}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}},UV=new fP,NV=new qM,LV=new qM,YV=class extends WV{constructor(){super(new BO(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new cM(4,2),this._viewportCount=6,this._viewports=[new VM(2,1,1,1),new VM(0,1,1,1),new VM(3,1,1,1),new VM(1,1,1,1),new VM(3,0,1,1),new VM(1,0,1,1)],this._cubeDirections=[new qM(1,0,0),new qM(-1,0,0),new qM(0,0,1),new qM(0,0,-1),new qM(0,1,0),new qM(0,-1,0)],this._cubeUps=[new qM(0,1,0),new qM(0,1,0),new qM(0,1,0),new qM(0,1,0),new qM(0,0,1),new qM(0,0,-1)]}updateMatrices(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=this.camera,r=this.matrix,i=e.distance||n.far;i!==n.far&&(n.far=i,n.updateProjectionMatrix()),NV.setFromMatrixPosition(e.matrixWorld),n.position.copy(NV),LV.copy(n.position),LV.add(this._cubeDirections[t]),n.up.copy(this._cubeUps[t]),n.lookAt(LV),n.updateMatrixWorld(),r.makeTranslation(-NV.x,-NV.y,-NV.z),UV.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse),this._frustum.setFromProjectionMatrix(UV)}},FV=class extends DV{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:2;super(e,t),this.isPointLight=!0,this.type="PointLight",this.distance=n,this.decay=r,this.shadow=new YV}get power(){return 4*this.intensity*Math.PI}set power(e){this.intensity=e/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}},ZV=class extends WV{constructor(){super(new oT(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}},KV=class extends DV{constructor(e,t){super(e,t),this.isDirectionalLight=!0,this.type="DirectionalLight",this.position.copy(HP.DEFAULT_UP),this.updateMatrix(),this.target=new HP,this.shadow=new ZV}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}},QV=class extends pO{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(e){return super.copy(e),this.instanceCount=e.instanceCount,this}toJSON(){let e=super.toJSON();return e.instanceCount=this.instanceCount,e.isInstancedBufferGeometry=!0,e}},XV=class extends TV{constructor(e){super(e)}load(e,t,n,r){let i=this,a=new EV(i.manager);a.setPath(i.path),a.setRequestHeader(i.requestHeader),a.setWithCredentials(i.withCredentials),a.load(e,(function(n){try{t(i.parse(JSON.parse(n)))}catch(g){r?r(g):console.error(g),i.manager.itemError(e)}}),n,r)}parse(e){let t={},n={};function r(e,r){if(void 0!==t[r])return t[r];let i=e.interleavedBuffers[r],a=function(e,t){if(void 0!==n[t])return n[t];let r=e.arrayBuffers[t],i=new Uint32Array(r).buffer;return n[t]=i,i}(e,i.buffer),s=fM(i.type,a),o=new IC(s,i.stride);return o.uuid=i.uuid,t[r]=o,o}let i=e.isInstancedBufferGeometry?new QV:new pO,a=e.data.index;if(void 0!==a){let e=fM(a.type,a.array);i.setIndex(new nO(e,1))}let s=e.data.attributes;for(let d in s){let t,n=s[d];if(n.isInterleavedBufferAttribute){let i=r(e.data,n.data);t=new EC(i,n.itemSize,n.offset,n.normalized)}else{let e=fM(n.type,n.array);t=new(n.isInstancedBufferAttribute?qC:nO)(e,n.itemSize,n.normalized)}void 0!==n.name&&(t.name=n.name),void 0!==n.usage&&t.setUsage(n.usage),void 0!==n.updateRange&&(t.updateRange.offset=n.updateRange.offset,t.updateRange.count=n.updateRange.count),i.setAttribute(d,t)}let o=e.data.morphAttributes;if(o)for(let d in o){let t=o[d],n=[];for(let i=0,a=t.length;i<a;i++){let a,s=t[i];if(s.isInterleavedBufferAttribute){let t=r(e.data,s.data);a=new EC(t,s.itemSize,s.offset,s.normalized)}else{let e=fM(s.type,s.array);a=new nO(e,s.itemSize,s.normalized)}void 0!==s.name&&(a.name=s.name),n.push(a)}i.morphAttributes[d]=n}e.data.morphTargetsRelative&&(i.morphTargetsRelative=!0);let l=e.data.groups||e.data.drawcalls||e.data.offsets;if(void 0!==l)for(let d=0,h=l.length;d!==h;++d){let e=l[d];i.addGroup(e.start,e.count,e.materialIndex)}let c=e.data.boundingSphere;if(void 0!==c){let e=new qM;void 0!==c.center&&e.fromArray(c.center),i.boundingSphere=new aP(e,c.radius)}return e.name&&(i.name=e.name),e.userData&&(i.userData=e.userData),i}},_V=class{constructor(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=$V(),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){let t=$V();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}};function $V(){return(typeof performance>"u"?Date:performance).now()}var eR=class{constructor(e,t,n){let r,i,a;switch(this.binding=e,this.valueSize=n,t){case"quaternion":r=this._slerp,i=this._slerpAdditive,a=this._setAdditiveIdentityQuaternion,this.buffer=new Float64Array(6*n),this._workIndex=5;break;case"string":case"bool":r=this._select,i=this._select,a=this._setAdditiveIdentityOther,this.buffer=new Array(5*n);break;default:r=this._lerp,i=this._lerpAdditive,a=this._setAdditiveIdentityNumeric,this.buffer=new Float64Array(5*n)}this._mixBufferRegion=r,this._mixBufferRegionAdditive=i,this._setIdentity=a,this._origIndex=3,this._addIndex=4,this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,this.useCount=0,this.referenceCount=0}accumulate(e,t){let n=this.buffer,r=this.valueSize,i=e*r+r,a=this.cumulativeWeight;if(0===a){for(let e=0;e!==r;++e)n[i+e]=n[e];a=t}else{a+=t;let e=t/a;this._mixBufferRegion(n,i,0,e,r)}this.cumulativeWeight=a}accumulateAdditive(e){let t=this.buffer,n=this.valueSize,r=n*this._addIndex;0===this.cumulativeWeightAdditive&&this._setIdentity(),this._mixBufferRegionAdditive(t,r,0,e,n),this.cumulativeWeightAdditive+=e}apply(e){let t=this.valueSize,n=this.buffer,r=e*t+t,i=this.cumulativeWeight,a=this.cumulativeWeightAdditive,s=this.binding;if(this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,i<1){let e=t*this._origIndex;this._mixBufferRegion(n,r,e,1-i,t)}a>0&&this._mixBufferRegionAdditive(n,r,this._addIndex*t,1,t);for(let o=t,l=t+t;o!==l;++o)if(n[o]!==n[o+t]){s.setValue(n,r);break}}saveOriginalState(){let e=this.binding,t=this.buffer,n=this.valueSize,r=n*this._origIndex;e.getValue(t,r);for(let i=n,a=r;i!==a;++i)t[i]=t[r+i%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){let e=3*this.valueSize;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){let e=this._addIndex*this.valueSize,t=e+this.valueSize;for(let n=e;n<t;n++)this.buffer[n]=0}_setAdditiveIdentityQuaternion(){this._setAdditiveIdentityNumeric(),this.buffer[this._addIndex*this.valueSize+3]=1}_setAdditiveIdentityOther(){let e=this._origIndex*this.valueSize,t=this._addIndex*this.valueSize;for(let n=0;n<this.valueSize;n++)this.buffer[t+n]=this.buffer[e+n]}_select(e,t,n,r,i){if(r>=.5)for(let a=0;a!==i;++a)e[t+a]=e[n+a]}_slerp(e,t,n,r){GM.slerpFlat(e,t,e,t,e,n,r)}_slerpAdditive(e,t,n,r,i){let a=this._workIndex*i;GM.multiplyQuaternionsFlat(e,a,e,t,e,n),GM.slerpFlat(e,t,e,t,e,a,r)}_lerp(e,t,n,r,i){let a=1-r;for(let s=0;s!==i;++s){let i=t+s;e[i]=e[i]*a+e[n+s]*r}}_lerpAdditive(e,t,n,r,i){for(let a=0;a!==i;++a){let i=t+a;e[i]=e[i]+e[n+a]*r}}},tR="\\[\\]\\.:\\/",nR=new RegExp("["+tR+"]","g"),rR="[^"+tR+"]",iR="[^"+tR.replace("\\.","")+"]",aR=/((?:WC+[\/:])*)/.source.replace("WC",rR),sR=/(WCOD+)?/.source.replace("WCOD",iR),oR=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",rR),lR=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",rR),cR=new RegExp("^"+aR+sR+oR+lR+"$"),dR=["material","materials","bones","map"],hR=class{constructor(e,t,n){this.path=t,this.parsedPath=n||hR.parseTrackName(t),this.node=hR.findNode(e,this.parsedPath.nodeName)||e,this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,n){return e&&e.isAnimationObjectGroup?new hR.Composite(e,t,n):new hR(e,t,n)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(nR,"")}static parseTrackName(e){let t=cR.exec(e);if(null===t)throw new Error("PropertyBinding: Cannot parse trackName: "+e);let n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},r=n.nodeName&&n.nodeName.lastIndexOf(".");if(void 0!==r&&-1!==r){let e=n.nodeName.substring(r+1);-1!==dR.indexOf(e)&&(n.nodeName=n.nodeName.substring(0,r),n.objectName=e)}if(null===n.propertyName||0===n.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return n}static findNode(e,t){if(void 0===t||""===t||"."===t||-1===t||t===e.name||t===e.uuid)return e;if(e.skeleton){let n=e.skeleton.getBoneByName(t);if(void 0!==n)return n}if(e.children){let n=function(e){for(let r=0;r<e.length;r++){let i=e[r];if(i.name===t||i.uuid===t)return i;let a=n(i.children);if(a)return a}return null},r=n(e.children);if(r)return r}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(e,t){e[t]=this.targetObject[this.propertyName]}_getValue_array(e,t){let n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)e[t++]=n[r]}_getValue_arrayElement(e,t){e[t]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(e,t){this.resolvedProperty.toArray(e,t)}_setValue_direct(e,t){this.targetObject[this.propertyName]=e[t]}_setValue_direct_setNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.needsUpdate=!0}_setValue_direct_setMatrixWorldNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(e,t){let n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)n[r]=e[t++]}_setValue_array_setNeedsUpdate(e,t){let n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)n[r]=e[t++];this.targetObject.needsUpdate=!0}_setValue_array_setMatrixWorldNeedsUpdate(e,t){let n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)n[r]=e[t++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(e,t){this.resolvedProperty[this.propertyIndex]=e[t]}_setValue_arrayElement_setNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(e,t){this.resolvedProperty.fromArray(e,t)}_setValue_fromArray_setNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.matrixWorldNeedsUpdate=!0}_getValue_unbound(e,t){this.bind(),this.getValue(e,t)}_setValue_unbound(e,t){this.bind(),this.setValue(e,t)}bind(){let e=this.node,t=this.parsedPath,n=t.objectName,r=t.propertyName,i=t.propertyIndex;if(e||(e=hR.findNode(this.rootNode,t.nodeName)||this.rootNode,this.node=e),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!e)return void console.error("THREE.PropertyBinding: Trying to update node for track: "+this.path+" but it wasn't found.");if(n){let r=t.objectIndex;switch(n){case"materials":if(!e.material)return void console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);if(!e.material.materials)return void console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);e=e.material.materials;break;case"bones":if(!e.skeleton)return void console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);e=e.skeleton.bones;for(let t=0;t<e.length;t++)if(e[t].name===r){r=t;break}break;case"map":if("map"in e){e=e.map;break}if(!e.material)return void console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);if(!e.material.map)return void console.error("THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.",this);e=e.material.map;break;default:if(void 0===e[n])return void console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);e=e[n]}if(void 0!==r){if(void 0===e[r])return void console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,e);e=e[r]}}let a=e[r];if(void 0===a){let n=t.nodeName;return void console.error("THREE.PropertyBinding: Trying to update property for track: "+n+"."+r+" but it wasn't found.",e)}let s=this.Versioning.None;this.targetObject=e,void 0!==e.needsUpdate?s=this.Versioning.NeedsUpdate:void 0!==e.matrixWorldNeedsUpdate&&(s=this.Versioning.MatrixWorldNeedsUpdate);let o=this.BindingType.Direct;if(void 0!==i){if("morphTargetInfluences"===r){if(!e.geometry)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);if(!e.geometry.morphAttributes)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);void 0!==e.morphTargetDictionary[i]&&(i=e.morphTargetDictionary[i])}o=this.BindingType.ArrayElement,this.resolvedProperty=a,this.propertyIndex=i}else void 0!==a.fromArray&&void 0!==a.toArray?(o=this.BindingType.HasFromToArray,this.resolvedProperty=a):Array.isArray(a)?(o=this.BindingType.EntireArray,this.resolvedProperty=a):this.propertyName=r;this.getValue=this.GetterByBindingType[o],this.setValue=this.SetterByBindingTypeAndVersioning[o][s]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}};hR.Composite=class{constructor(e,t,n){let r=n||hR.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();let n=this._targetGroup.nCachedObjects_,r=this._bindings[n];void 0!==r&&r.getValue(e,t)}setValue(e,t){let n=this._bindings;for(let r=this._targetGroup.nCachedObjects_,i=n.length;r!==i;++r)n[r].setValue(e,t)}bind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()}unbind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}},hR.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3},hR.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2},hR.prototype.GetterByBindingType=[hR.prototype._getValue_direct,hR.prototype._getValue_array,hR.prototype._getValue_arrayElement,hR.prototype._getValue_toArray],hR.prototype.SetterByBindingTypeAndVersioning=[[hR.prototype._setValue_direct,hR.prototype._setValue_direct_setNeedsUpdate,hR.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[hR.prototype._setValue_array,hR.prototype._setValue_array_setNeedsUpdate,hR.prototype._setValue_array_setMatrixWorldNeedsUpdate],[hR.prototype._setValue_arrayElement,hR.prototype._setValue_arrayElement_setNeedsUpdate,hR.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[hR.prototype._setValue_fromArray,hR.prototype._setValue_fromArray_setNeedsUpdate,hR.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];var uR=class{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t.blendMode;this._mixer=e,this._clip=t,this._localRoot=n,this.blendMode=r;let i=t.tracks,a=i.length,s=new Array(a),o={endingStart:Ej,endingEnd:Ej};for(let l=0;l!==a;++l){let e=i[l].createInterpolant(null);s[l]=e,e.settings=o}this._interpolantSettings=o,this._interpolants=s,this._propertyBindings=new Array(a),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=2201,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&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){return this._startTime=e,this}setLoop(e,t){return this.loop=e,this.repetitions=t,this}setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,t,n){if(e.fadeOut(t),this.fadeIn(t),n){let n=this._clip.duration,r=e._clip.duration,i=r/n,a=n/r;e.warp(1,i,t),this.warp(a,1,t)}return this}crossFadeTo(e,t,n){return e.crossFadeFrom(this,t,n)}stopFading(){let e=this._weightInterpolant;return null!==e&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWarping()}syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,t,n){let r=this._mixer,i=r.time,a=this.timeScale,s=this._timeScaleInterpolant;null===s&&(s=r._lendControlInterpolant(),this._timeScaleInterpolant=s);let o=s.parameterPositions,l=s.sampleValues;return o[0]=i,o[1]=i+n,l[0]=e/a,l[1]=t/a,this}stopWarping(){let e=this._timeScaleInterpolant;return null!==e&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,t,n,r){if(!this.enabled)return void this._updateWeight(e);let i=this._startTime;if(null!==i){let r=(e-i)*n;r<0||0===n?t=0:(this._startTime=null,t=n*r)}t*=this._updateTimeScale(e);let a=this._updateTime(t),s=this._updateWeight(e);if(s>0){let e=this._interpolants,t=this._propertyBindings;if(2501===this.blendMode)for(let n=0,r=e.length;n!==r;++n)e[n].evaluate(a),t[n].accumulateAdditive(s);else for(let n=0,i=e.length;n!==i;++n)e[n].evaluate(a),t[n].accumulate(r,s)}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;let n=this._weightInterpolant;if(null!==n){let r=n.evaluate(e)[0];t*=r,e>n.parameterPositions[1]&&(this.stopFading(),0===r&&(this.enabled=!1))}}return this._effectiveWeight=t,t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;let n=this._timeScaleInterpolant;if(null!==n){t*=n.evaluate(e)[0],e>n.parameterPositions[1]&&(this.stopWarping(),0===t?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t}_updateTime(e){let t=this._clip.duration,n=this.loop,r=this.time+e,i=this._loopCount,a=n===Oj;if(0===e)return-1===i?r:a&&1===(1&i)?t-r:r;if(2200===n){-1===i&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(r>=t)r=t;else{if(!(r<0)){this.time=r;break e}r=0}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(-1===i&&(e>=0?(i=0,this._setEndings(!0,0===this.repetitions,a)):this._setEndings(0===this.repetitions,!0,a)),r>=t||r<0){let n=Math.floor(r/t);r-=t*n,i+=Math.abs(n);let s=this.repetitions-i;if(s<=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(1===s){let t=e<0;this._setEndings(t,!t,a)}else this._setEndings(!1,!1,a);this._loopCount=i,this.time=r,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:n})}}else this.time=r;if(a&&1===(1&i))return t-r}return r}_setEndings(e,t,n){let r=this._interpolantSettings;n?(r.endingStart=Vj,r.endingEnd=Vj):(r.endingStart=e?this.zeroSlopeAtStart?Vj:Ej:Rj,r.endingEnd=t?this.zeroSlopeAtEnd?Vj:Ej:Rj)}_scheduleFading(e,t,n){let r=this._mixer,i=r.time,a=this._weightInterpolant;null===a&&(a=r._lendControlInterpolant(),this._weightInterpolant=a);let s=a.parameterPositions,o=a.sampleValues;return s[0]=i,o[0]=t,s[1]=i+e,o[1]=n,this}},pR=new Float32Array(1),fR=class extends Zj{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,t){let n=e._localRoot||this._root,r=e._clip.tracks,i=r.length,a=e._propertyBindings,s=e._interpolants,o=n.uuid,l=this._bindingsByRootAndName,c=l[o];void 0===c&&(c={},l[o]=c);for(let d=0;d!==i;++d){let e=r[d],i=e.name,l=c[i];if(void 0!==l)++l.referenceCount,a[d]=l;else{if(l=a[d],void 0!==l){null===l._cacheIndex&&(++l.referenceCount,this._addInactiveBinding(l,o,i));continue}let r=t&&t._propertyBindings[d].binding.parsedPath;l=new eR(hR.create(n,i,r),e.ValueTypeName,e.getValueSize()),++l.referenceCount,this._addInactiveBinding(l,o,i),a[d]=l}s[d].resultBuffer=l.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(null===e._cacheIndex){let t=(e._localRoot||this._root).uuid,n=e._clip.uuid,r=this._actionsByClip[n];this._bindAction(e,r&&r.knownActions[0]),this._addInactiveAction(e,n,t)}let t=e._propertyBindings;for(let e=0,n=t.length;e!==n;++e){let n=t[e];0===n.useCount++&&(this._lendBinding(n),n.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){let t=e._propertyBindings;for(let e=0,n=t.length;e!==n;++e){let n=t[e];0===--n.useCount&&(n.restoreOriginalState(),this._takeBackBinding(n))}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;let 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){let t=e._cacheIndex;return null!==t&&t<this._nActiveActions}_addInactiveAction(e,t,n){let r=this._actions,i=this._actionsByClip,a=i[t];if(void 0===a)a={knownActions:[e],actionByRoot:{}},e._byClipCacheIndex=0,i[t]=a;else{let t=a.knownActions;e._byClipCacheIndex=t.length,t.push(e)}e._cacheIndex=r.length,r.push(e),a.actionByRoot[n]=e}_removeInactiveAction(e){let t=this._actions,n=t[t.length-1],r=e._cacheIndex;n._cacheIndex=r,t[r]=n,t.pop(),e._cacheIndex=null;let i=e._clip.uuid,a=this._actionsByClip,s=a[i],o=s.knownActions,l=o[o.length-1],c=e._byClipCacheIndex;l._byClipCacheIndex=c,o[c]=l,o.pop(),e._byClipCacheIndex=null,delete s.actionByRoot[(e._localRoot||this._root).uuid],0===o.length&&delete a[i],this._removeInactiveBindingsForAction(e)}_removeInactiveBindingsForAction(e){let t=e._propertyBindings;for(let n=0,r=t.length;n!==r;++n){let e=t[n];0===--e.referenceCount&&this._removeInactiveBinding(e)}}_lendAction(e){let t=this._actions,n=e._cacheIndex,r=this._nActiveActions++,i=t[r];e._cacheIndex=r,t[r]=e,i._cacheIndex=n,t[n]=i}_takeBackAction(e){let t=this._actions,n=e._cacheIndex,r=--this._nActiveActions,i=t[r];e._cacheIndex=r,t[r]=e,i._cacheIndex=n,t[n]=i}_addInactiveBinding(e,t,n){let r=this._bindingsByRootAndName,i=this._bindings,a=r[t];void 0===a&&(a={},r[t]=a),a[n]=e,e._cacheIndex=i.length,i.push(e)}_removeInactiveBinding(e){let t=this._bindings,n=e.binding,r=n.rootNode.uuid,i=n.path,a=this._bindingsByRootAndName,s=a[r],o=t[t.length-1],l=e._cacheIndex;o._cacheIndex=l,t[l]=o,t.pop(),delete s[i],0===Object.keys(s).length&&delete a[r]}_lendBinding(e){let t=this._bindings,n=e._cacheIndex,r=this._nActiveBindings++,i=t[r];e._cacheIndex=r,t[r]=e,i._cacheIndex=n,t[n]=i}_takeBackBinding(e){let t=this._bindings,n=e._cacheIndex,r=--this._nActiveBindings,i=t[r];e._cacheIndex=r,t[r]=e,i._cacheIndex=n,t[n]=i}_lendControlInterpolant(){let e=this._controlInterpolants,t=this._nActiveControlInterpolants++,n=e[t];return void 0===n&&(n=new fV(new Float32Array(2),new Float32Array(2),1,pR),n.__cacheIndex=t,e[t]=n),n}_takeBackControlInterpolant(e){let t=this._controlInterpolants,n=e.__cacheIndex,r=--this._nActiveControlInterpolants,i=t[r];e.__cacheIndex=r,t[r]=e,i.__cacheIndex=n,t[n]=i}clipAction(e,t,n){let r=t||this._root,i=r.uuid,a="string"==typeof e?wV.findByName(r,e):e,s=null!==a?a.uuid:e,o=this._actionsByClip[s],l=null;if(void 0===n&&(n=null!==a?a.blendMode:Dj),void 0!==o){let e=o.actionByRoot[i];if(void 0!==e&&e.blendMode===n)return e;l=o.knownActions[0],null===a&&(a=l._clip)}if(null===a)return null;let c=new uR(this,a,t,n);return this._bindAction(c,l),this._addInactiveAction(c,s,i),c}existingAction(e,t){let n=t||this._root,r=n.uuid,i="string"==typeof e?wV.findByName(n,e):e,a=i?i.uuid:e,s=this._actionsByClip[a];return void 0!==s&&s.actionByRoot[r]||null}stopAllAction(){let e=this._actions;for(let t=this._nActiveActions-1;t>=0;--t)e[t].stop();return this}update(e){e*=this.timeScale;let t=this._actions,n=this._nActiveActions,r=this.time+=e,i=Math.sign(e),a=this._accuIndex^=1;for(let l=0;l!==n;++l)t[l]._update(r,e,i,a);let s=this._bindings,o=this._nActiveBindings;for(let l=0;l!==o;++l)s[l].apply(a);return this}setTime(e){this.time=0;for(let t=0;t<this._actions.length;t++)this._actions[t].time=0;return this.update(e)}getRoot(){return this._root}uncacheClip(e){let t=this._actions,n=e.uuid,r=this._actionsByClip,i=r[n];if(void 0!==i){let e=i.knownActions;for(let n=0,r=e.length;n!==r;++n){let r=e[n];this._deactivateAction(r);let i=r._cacheIndex,a=t[t.length-1];r._cacheIndex=null,r._byClipCacheIndex=null,a._cacheIndex=i,t[i]=a,t.pop(),this._removeInactiveBindingsForAction(r)}delete r[n]}}uncacheRoot(e){let t=e.uuid,n=this._actionsByClip;for(let i in n){let e=n[i].actionByRoot[t];void 0!==e&&(this._deactivateAction(e),this._removeInactiveAction(e))}let r=this._bindingsByRootAndName[t];if(void 0!==r)for(let i in r){let e=r[i];e.restoreOriginalState(),this._removeInactiveBinding(e)}}uncacheAction(e,t){let n=this.existingAction(e,t);null!==n&&(this._deactivateAction(n),this._removeInactiveAction(n))}},mR=class{constructor(e){this.value=e}clone(){return new mR(void 0===this.value.clone?this.value:this.value.clone())}},gR=class{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1/0;this.ray=new pP(e,t),this.near=n,this.far=r,this.camera=null,this.layers=new jP,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(e,t){this.ray.set(e,t)}setFromCamera(e,t){t.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(t.matrixWorld),this.ray.direction.set(e.x,e.y,.5).unproject(t).sub(this.ray.origin).normalize(),this.camera=t):t.isOrthographicCamera?(this.ray.origin.set(e.x,e.y,(t.near+t.far)/(t.near-t.far)).unproject(t),this.ray.direction.set(0,0,-1).transformDirection(t.matrixWorld),this.camera=t):console.error("THREE.Raycaster: Unsupported camera type: "+t.type)}intersectObject(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return vR(e,this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1]),t.sort(yR),t}intersectObjects(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];for(let r=0,i=e.length;r<i;r++)vR(e[r],this,n,t);return n.sort(yR),n}};function yR(e,t){return e.distance-t.distance}function vR(e,t,n,r){if(e.layers.test(t.layers)&&e.raycast(t,n),!0===r){let r=e.children;for(let e=0,i=r.length;e<i;e++)vR(r[e],t,n,!0)}}var xR=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return this.radius=e,this.phi=t,this.theta=n,this}set(e,t,n){return this.radius=e,this.phi=t,this.theta=n,this}copy(e){return this.radius=e.radius,this.phi=e.phi,this.theta=e.theta,this}makeSafe(){return this.phi=Math.max(1e-6,Math.min(Math.PI-1e-6,this.phi)),this}setFromVector3(e){return this.setFromCartesianCoords(e.x,e.y,e.z)}setFromCartesianCoords(e,t,n){return this.radius=Math.sqrt(e*e+t*t+n*n),0===this.radius?(this.theta=0,this.phi=0):(this.theta=Math.atan2(e,n),this.phi=Math.acos(eM(t/this.radius,-1,1))),this}clone(){return(new this.constructor).copy(this)}},SR=new cM,AR=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new cM(1/0,1/0),t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new cM(-1/0,-1/0);this.isBox2=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromPoints(e){this.makeEmpty();for(let t=0,n=e.length;t<n;t++)this.expandByPoint(e[t]);return this}setFromCenterAndSize(e,t){let n=SR.copy(t).multiplyScalar(.5);return this.min.copy(e).sub(n),this.max.copy(e).add(n),this}clone(){return(new this.constructor).copy(this)}copy(e){return this.min.copy(e.min),this.max.copy(e.max),this}makeEmpty(){return this.min.x=this.min.y=1/0,this.max.x=this.max.y=-1/0,this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y}getCenter(e){return this.isEmpty()?e.set(0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(e){return this.isEmpty()?e.set(0,0):e.subVectors(this.max,this.min)}expandByPoint(e){return this.min.min(e),this.max.max(e),this}expandByVector(e){return this.min.sub(e),this.max.add(e),this}expandByScalar(e){return this.min.addScalar(-e),this.max.addScalar(e),this}containsPoint(e){return!(e.x<this.min.x||e.x>this.max.x||e.y<this.min.y||e.y>this.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.x<this.min.x||e.min.x>this.max.x||e.max.y<this.min.y||e.min.y>this.max.y)}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return SR.copy(e).clamp(this.min,this.max).sub(e).length()}intersect(e){return this.min.max(e.min),this.max.min(e.max),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)}},bR=new qM,kR=new qM,wR=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new qM,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new qM;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){bR.subVectors(e,this.start),kR.subVectors(this.end,this.start);let n=kR.dot(kR),r=kR.dot(bR)/n;return t&&(r=eM(r,0,1)),r}closestPointToPoint(e,t,n){let r=this.closestPointToPointParameter(e,t);return this.delta(n).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)}},jR=new qM,MR=class extends HP{constructor(e,t){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";let n=new pO,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 a=0,s=1,o=32;a<o;a++,s++){let e=a/o*Math.PI*2,t=s/o*Math.PI*2;r.push(Math.cos(e),Math.sin(e),1,Math.cos(t),Math.sin(t),1)}n.setAttribute("position",new aO(r,3));let i=new LC({fog:!1,toneMapped:!1});this.cone=new eE(n,i),this.add(this.cone),this.update()}dispose(){this.cone.geometry.dispose(),this.cone.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.light.target.updateWorldMatrix(!0,!1);let e=this.light.distance?this.light.distance:1e3,t=e*Math.tan(this.light.angle);this.cone.scale.set(t,t,e),jR.setFromMatrixPosition(this.light.target.matrixWorld),this.cone.lookAt(jR),void 0!==this.color?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)}},PR=class extends PO{constructor(e,t,n){super(new rV(t,4,2),new $P({wireframe:!0,fog:!1,toneMapped:!1})),this.light=e,this.color=n,this.type="PointLightHelper",this.matrix=this.light.matrixWorld,this.matrixAutoUpdate=!1,this.update()}dispose(){this.geometry.dispose(),this.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),void 0!==this.color?this.material.color.set(this.color):this.material.color.copy(this.light.color)}},OR=new qM,TR=new qM,IR=new qM,CR=class extends HP{constructor(e,t,n){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,this.type="DirectionalLightHelper",void 0===t&&(t=1);let r=new pO;r.setAttribute("position",new aO([-t,t,0,t,t,0,t,-t,0,-t,-t,0,-t,t,0],3));let i=new LC({fog:!1,toneMapped:!1});this.lightPlane=new XC(r,i),this.add(this.lightPlane),r=new pO,r.setAttribute("position",new aO([0,0,0,0,0,1],3)),this.targetLine=new XC(r,i),this.add(this.targetLine),this.update()}dispose(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.light.target.updateWorldMatrix(!0,!1),OR.setFromMatrixPosition(this.light.matrixWorld),TR.setFromMatrixPosition(this.light.target.matrixWorld),IR.subVectors(TR,OR),this.lightPlane.lookAt(TR),void 0!==this.color?(this.lightPlane.material.color.set(this.color),this.targetLine.material.color.set(this.color)):(this.lightPlane.material.color.copy(this.light.color),this.targetLine.material.color.copy(this.light.color)),this.targetLine.lookAt(TR),this.targetLine.scale.z=IR.length()}},ER=new qM,VR=new DO,RR=class extends eE{constructor(e){let t=new pO,n=new LC({color:16777215,vertexColors:!0,toneMapped:!1}),r=[],i=[],a={};function s(e,t){o(e),o(t)}function o(e){r.push(0,0,0),i.push(0,0,0),void 0===a[e]&&(a[e]=[]),a[e].push(r.length/3-1)}s("n1","n2"),s("n2","n4"),s("n4","n3"),s("n3","n1"),s("f1","f2"),s("f2","f4"),s("f4","f3"),s("f3","f1"),s("n1","f1"),s("n2","f2"),s("n3","f3"),s("n4","f4"),s("p","n1"),s("p","n2"),s("p","n3"),s("p","n4"),s("u1","u2"),s("u2","u3"),s("u3","u1"),s("c","t"),s("p","c"),s("cn1","cn2"),s("cn3","cn4"),s("cf1","cf2"),s("cf3","cf4"),t.setAttribute("position",new aO(r,3)),t.setAttribute("color",new aO(i,3)),super(t,n),this.type="CameraHelper",this.camera=e,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=a,this.update();let l=new MM(16755200),c=new MM(16711680),d=new MM(43775),h=new MM(16777215),u=new MM(3355443);this.setColors(l,c,d,h,u)}setColors(e,t,n,r,i){let a=this.geometry.getAttribute("color");a.setXYZ(0,e.r,e.g,e.b),a.setXYZ(1,e.r,e.g,e.b),a.setXYZ(2,e.r,e.g,e.b),a.setXYZ(3,e.r,e.g,e.b),a.setXYZ(4,e.r,e.g,e.b),a.setXYZ(5,e.r,e.g,e.b),a.setXYZ(6,e.r,e.g,e.b),a.setXYZ(7,e.r,e.g,e.b),a.setXYZ(8,e.r,e.g,e.b),a.setXYZ(9,e.r,e.g,e.b),a.setXYZ(10,e.r,e.g,e.b),a.setXYZ(11,e.r,e.g,e.b),a.setXYZ(12,e.r,e.g,e.b),a.setXYZ(13,e.r,e.g,e.b),a.setXYZ(14,e.r,e.g,e.b),a.setXYZ(15,e.r,e.g,e.b),a.setXYZ(16,e.r,e.g,e.b),a.setXYZ(17,e.r,e.g,e.b),a.setXYZ(18,e.r,e.g,e.b),a.setXYZ(19,e.r,e.g,e.b),a.setXYZ(20,e.r,e.g,e.b),a.setXYZ(21,e.r,e.g,e.b),a.setXYZ(22,e.r,e.g,e.b),a.setXYZ(23,e.r,e.g,e.b),a.setXYZ(24,t.r,t.g,t.b),a.setXYZ(25,t.r,t.g,t.b),a.setXYZ(26,t.r,t.g,t.b),a.setXYZ(27,t.r,t.g,t.b),a.setXYZ(28,t.r,t.g,t.b),a.setXYZ(29,t.r,t.g,t.b),a.setXYZ(30,t.r,t.g,t.b),a.setXYZ(31,t.r,t.g,t.b),a.setXYZ(32,n.r,n.g,n.b),a.setXYZ(33,n.r,n.g,n.b),a.setXYZ(34,n.r,n.g,n.b),a.setXYZ(35,n.r,n.g,n.b),a.setXYZ(36,n.r,n.g,n.b),a.setXYZ(37,n.r,n.g,n.b),a.setXYZ(38,r.r,r.g,r.b),a.setXYZ(39,r.r,r.g,r.b),a.setXYZ(40,i.r,i.g,i.b),a.setXYZ(41,i.r,i.g,i.b),a.setXYZ(42,i.r,i.g,i.b),a.setXYZ(43,i.r,i.g,i.b),a.setXYZ(44,i.r,i.g,i.b),a.setXYZ(45,i.r,i.g,i.b),a.setXYZ(46,i.r,i.g,i.b),a.setXYZ(47,i.r,i.g,i.b),a.setXYZ(48,i.r,i.g,i.b),a.setXYZ(49,i.r,i.g,i.b),a.needsUpdate=!0}update(){let e=this.geometry,t=this.pointMap;VR.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),DR("c",t,e,VR,0,0,-1),DR("t",t,e,VR,0,0,1),DR("n1",t,e,VR,-1,-1,-1),DR("n2",t,e,VR,1,-1,-1),DR("n3",t,e,VR,-1,1,-1),DR("n4",t,e,VR,1,1,-1),DR("f1",t,e,VR,-1,-1,1),DR("f2",t,e,VR,1,-1,1),DR("f3",t,e,VR,-1,1,1),DR("f4",t,e,VR,1,1,1),DR("u1",t,e,VR,.7,1.1,-1),DR("u2",t,e,VR,-.7,1.1,-1),DR("u3",t,e,VR,0,2,-1),DR("cf1",t,e,VR,-1,0,1),DR("cf2",t,e,VR,1,0,1),DR("cf3",t,e,VR,0,-1,1),DR("cf4",t,e,VR,0,1,1),DR("cn1",t,e,VR,-1,0,-1),DR("cn2",t,e,VR,1,0,-1),DR("cn3",t,e,VR,0,-1,-1),DR("cn4",t,e,VR,0,1,-1),e.getAttribute("position").needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}};function DR(e,t,n,r,i,a,s){ER.set(i,a,s).unproject(r);let o=t[e];if(void 0!==o){let e=n.getAttribute("position");for(let t=0,n=o.length;t<n;t++)e.setXYZ(o[t],ER.x,ER.y,ER.z)}}var BR=class extends eE{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16776960,n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),r=new pO;r.setIndex(new nO(n,1)),r.setAttribute("position",new aO([1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1],3)),super(r,new LC({color:t,toneMapped:!1})),this.box=e,this.type="Box3Helper",this.geometry.computeBoundingSphere()}updateMatrixWorld(e){let t=this.box;t.isEmpty()||(t.getCenter(this.position),t.getSize(this.scale),this.scale.multiplyScalar(.5),super.updateMatrixWorld(e))}dispose(){this.geometry.dispose(),this.material.dispose()}},GR=class extends eE{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],n=new pO;n.setAttribute("position",new aO(t,3)),n.setAttribute("color",new aO([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3)),super(n,new LC({vertexColors:!0,toneMapped:!1})),this.type="AxesHelper"}setColors(e,t,n){let r=new MM,i=this.geometry.attributes.color.array;return r.set(e),r.toArray(i,0),r.toArray(i,3),r.set(t),r.toArray(i,6),r.toArray(i,9),r.set(n),r.toArray(i,12),r.toArray(i,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}},qR=function(){let e=new ArrayBuffer(4),t=new Float32Array(e),n=new Uint32Array(e),r=new Uint32Array(512),i=new Uint32Array(512);for(let l=0;l<256;++l){let e=l-127;e<-27?(r[l]=0,r[256|l]=32768,i[l]=24,i[256|l]=24):e<-14?(r[l]=1024>>-e-14,r[256|l]=1024>>-e-14|32768,i[l]=-e-1,i[256|l]=-e-1):e<=15?(r[l]=e+15<<10,r[256|l]=e+15<<10|32768,i[l]=13,i[256|l]=13):e<128?(r[l]=31744,r[256|l]=64512,i[l]=24,i[256|l]=24):(r[l]=31744,r[256|l]=64512,i[l]=13,i[256|l]=13)}let a=new Uint32Array(2048),s=new Uint32Array(64),o=new Uint32Array(64);for(let l=1;l<1024;++l){let e=l<<13,t=0;for(;0===(8388608&e);)e<<=1,t-=8388608;e&=-8388609,t+=947912704,a[l]=e|t}for(let l=1024;l<2048;++l)a[l]=939524096+(l-1024<<13);for(let l=1;l<31;++l)s[l]=l<<23;s[31]=1199570944,s[32]=2147483648;for(let l=33;l<63;++l)s[l]=2147483648+(l-32<<23);s[63]=3347054592;for(let l=1;l<64;++l)32!==l&&(o[l]=1024);return{floatView:t,uint32View:n,baseTable:r,shiftTable:i,mantissaTable:a,exponentTable:s,offsetTable:o}}();var HR=Object.freeze({__proto__:null,fromHalfFloat:function(e){let t=e>>10;return qR.uint32View[0]=qR.mantissaTable[qR.offsetTable[t]+(1023&e)]+qR.exponentTable[t],qR.floatView[0]},toHalfFloat:function(e){Math.abs(e)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),e=eM(e,-65504,65504),qR.floatView[0]=e;let t=qR.uint32View[0],n=t>>23&511;return qR.baseTable[n]+((8388607&t)>>qR.shiftTable[n])}});typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:yk}})),typeof window<"u"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=yk);var WR=".",zR=Symbol("target"),JR=Symbol("unsubscribe");function UR(e){return e instanceof Date||e instanceof Set||e instanceof Map||e instanceof WeakSet||e instanceof WeakMap||ArrayBuffer.isView(e)}var NR=Array.isArray;function LR(e){return"symbol"==typeof e}var YR={after:(e,t)=>NR(e)?e.slice(t.length):""===t?e:e.slice(t.length+1),concat:(e,t)=>NR(e)?(e=[...e],t&&e.push(t),e):t&&void 0!==t.toString?(""!==e&&(e+=WR),LR(t)?e+t.toString():e+t):e,initial:e=>{if(NR(e))return e.slice(0,-1);if(""===e)return e;let t=e.lastIndexOf(WR);return-1===t?"":e.slice(0,t)},last:e=>{if(NR(e))return e[e.length-1]||"";if(""===e)return e;let t=e.lastIndexOf(WR);return-1===t?e:e.slice(t+1)},walk:(e,t)=>{if(NR(e))for(let n of e)t(n);else if(""!==e){let n=0,r=e.indexOf(WR);if(-1===r)t(e);else for(;n<e.length;)-1===r&&(r=e.length),t(e.slice(n,r)),n=r+1,r=e.indexOf(WR,n)}},get(e,t){return this.walk(t,(t=>{e&&(e=e[t])})),e}},FR=YR;function ZR(e,t,n){return e.isUnsubscribed||t.ignoreSymbols&&LR(n)||t.ignoreUnderscores&&"_"===n.charAt(0)||"ignoreKeys"in t&&t.ignoreKeys.includes(n)}var KR=class{constructor(e){this._equals=e,this._proxyCache=new WeakMap,this._pathCache=new WeakMap,this.isUnsubscribed=!1}_getDescriptorCache(){return void 0===this._descriptorCache&&(this._descriptorCache=new WeakMap),this._descriptorCache}_getProperties(e){let t=this._getDescriptorCache(),n=t.get(e);return void 0===n&&(n={},t.set(e,n)),n}_getOwnPropertyDescriptor(e,t){if(this.isUnsubscribed)return Reflect.getOwnPropertyDescriptor(e,t);let n=this._getProperties(e),r=n[t];return void 0===r&&(r=Reflect.getOwnPropertyDescriptor(e,t),n[t]=r),r}getProxy(e,t,n,r){if(this.isUnsubscribed)return e;let i=e[r],a=i||e;this._pathCache.set(a,t);let s=this._proxyCache.get(a);return void 0===s&&(s=void 0===i?new Proxy(e,n):e,this._proxyCache.set(a,s)),s}getPath(e){return this.isUnsubscribed?void 0:this._pathCache.get(e)}isDetached(e,t){return!Object.is(e,FR.get(t,this.getPath(e)))}defineProperty(e,t,n){return!!Reflect.defineProperty(e,t,n)&&(this.isUnsubscribed||(this._getProperties(e)[t]=n),!0)}setProperty(e,t,n,r,i){if(!this._equals(i,n)||!(t in e)){let i=this._getOwnPropertyDescriptor(e,t);return void 0!==i&&"set"in i?Reflect.set(e,t,n,r):Reflect.set(e,t,n)}return!0}deleteProperty(e,t,n){if(Reflect.deleteProperty(e,t)){if(!this.isUnsubscribed){let r=this._getDescriptorCache().get(e);r&&(delete r[t],this._pathCache.delete(n))}return!0}return!1}isSameDescriptor(e,t,n){let r=this._getOwnPropertyDescriptor(t,n);return void 0!==e&&void 0!==r&&Object.is(e.value,r.value)&&(e.writable||!1)===(r.writable||!1)&&(e.enumerable||!1)===(r.enumerable||!1)&&(e.configurable||!1)===(r.configurable||!1)&&e.get===r.get&&e.set===r.set}isGetInvariant(e,t){let n=this._getOwnPropertyDescriptor(e,t);return void 0!==n&&!0!==n.configurable&&!0!==n.writable}unsubscribe(){this._descriptorCache=null,this._pathCache=null,this._proxyCache=null,this.isUnsubscribed=!0}};function QR(e){return"[object Object]"===toString.call(e)}function XR(){return!0}function _R(e,t){return e.length!==t.length||e.some(((e,n)=>t[n]!==e))}var $R=new Set(["hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]),eD=new Set(["concat","includes","indexOf","join","keys","lastIndexOf"]),tD={push:XR,pop:XR,shift:XR,unshift:XR,copyWithin:_R,reverse:_R,sort:_R,splice:_R,flat:_R,fill:_R},nD=new Set([...$R,...eD,...Object.keys(tD)]);function rD(e,t){if(e.size!==t.size)return!0;for(let n of e)if(!t.has(n))return!0;return!1}var iD=["keys","values","entries"],aD=new Set(["has","toString"]),sD={add:rD,clear:rD,delete:rD,forEach:rD},oD=new Set([...aD,...Object.keys(sD),...iD]);function lD(e,t){if(e.size!==t.size)return!0;let n;for(let[r,i]of e)if(n=t.get(r),n!==i||void 0===n&&!t.has(r))return!0;return!1}var cD=new Set([...aD,"get"]),dD={set:lD,clear:lD,delete:lD,forEach:lD},hD=new Set([...cD,...Object.keys(dD),...iD]),uD=class{constructor(e,t,n,r){this._path=t,this._isChanged=!1,this._clonedCache=new Set,this._hasOnValidate=r,this._changes=r?[]:null,this.clone=void 0===t?e:this._shallowClone(e)}static isHandledMethod(e){return $R.has(e)}_shallowClone(e){let t=e;if(QR(e))t={...e};else if(NR(e))t=[...e];else if(e instanceof Date)t=new Date(e);else if(e instanceof Set)t=new Set([...e].map((e=>this._shallowClone(e))));else if(e instanceof Map){t=new Map;for(let[n,r]of e.entries())t.set(n,this._shallowClone(r))}return this._clonedCache.add(t),t}preferredThisArg(e,t,n,r){return e?(NR(r)?this._onIsChanged=tD[t]:r instanceof Set?this._onIsChanged=sD[t]:r instanceof Map&&(this._onIsChanged=dD[t]),r):n}update(e,t,n){let r=FR.after(e,this._path);if("length"!==t){let e=this.clone;FR.walk(r,(t=>{e&&e[t]&&(this._clonedCache.has(e[t])||(e[t]=this._shallowClone(e[t])),e=e[t])})),this._hasOnValidate&&this._changes.push({path:r,property:t,previous:n}),e&&e[t]&&(e[t]=n)}this._isChanged=!0}undo(e){let t;for(let n=this._changes.length-1;-1!==n;n--)t=this._changes[n],FR.get(e,t.path)[t.property]=t.previous}isChanged(e){return void 0===this._onIsChanged?this._isChanged:this._onIsChanged(this.clone,e)}},pD=class extends uD{static isHandledMethod(e){return nD.has(e)}},fD=class extends uD{undo(e){e.setTime(this.clone.getTime())}isChanged(e,t){return!t(this.clone.valueOf(),e.valueOf())}},mD=class extends uD{static isHandledMethod(e){return oD.has(e)}undo(e){for(let t of this.clone)e.add(t);for(let t of e)this.clone.has(t)||e.delete(t)}},gD=class extends uD{static isHandledMethod(e){return hD.has(e)}undo(e){for(let[t,n]of this.clone.entries())e.set(t,n);for(let t of e.keys())this.clone.has(t)||e.delete(t)}},yD=class extends uD{constructor(e,t,n,r){super(void 0,t,n,r),this._arg1=n[0],this._weakValue=e.has(this._arg1)}isChanged(e){return this._weakValue!==e.has(this._arg1)}undo(e){this._weakValue&&!e.has(this._arg1)?e.add(this._arg1):e.delete(this._arg1)}},vD=class extends uD{constructor(e,t,n,r){super(void 0,t,n,r),this._weakKey=n[0],this._weakHas=e.has(this._weakKey),this._weakValue=e.get(this._weakKey)}isChanged(e){return this._weakValue!==e.get(this._weakKey)}undo(e){let t=e.has(this._weakKey);this._weakHas&&!t?e.set(this._weakKey,this._weakValue):!this._weakHas&&t?e.delete(this._weakKey):this._weakValue!==e.get(this._weakKey)&&e.set(this._weakKey,this._weakValue)}},xD=class{constructor(e){this._stack=[],this._hasOnValidate=e}static isHandledType(e){return QR(e)||NR(e)||UR(e)}static isHandledMethod(e,t){return QR(e)?uD.isHandledMethod(t):NR(e)?pD.isHandledMethod(t):e instanceof Set?mD.isHandledMethod(t):e instanceof Map?gD.isHandledMethod(t):UR(e)}get isCloning(){return this._stack.length>0}start(e,t,n){let r=uD;NR(e)?r=pD:e instanceof Date?r=fD:e instanceof Set?r=mD:e instanceof Map?r=gD:e instanceof WeakSet?r=yD:e instanceof WeakMap&&(r=vD),this._stack.push(new r(e,t,n,this._hasOnValidate))}update(e,t,n){this._stack[this._stack.length-1].update(e,t,n)}preferredThisArg(e,t,n){let{name:r}=e,i=xD.isHandledMethod(n,r);return this._stack[this._stack.length-1].preferredThisArg(i,r,t,n)}isChanged(e,t,n){return this._stack[this._stack.length-1].isChanged(e,t,n)}undo(e){void 0!==this._previousClone&&this._previousClone.undo(e)}stop(){return this._previousClone=this._stack.pop(),this._previousClone.clone}},SD={equals:Object.is,isShallow:!1,pathAsArray:!1,ignoreSymbols:!1,ignoreUnderscores:!1,ignoreDetached:!1,details:!1},AD=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};n={...SD,...n};let r=Symbol("ProxyTarget"),{equals:i,isShallow:a,ignoreDetached:s,details:o}=n,l=new KR(i),c="function"==typeof n.onValidate,d=new xD(c),h=(e,t,r,i,a)=>!c||d.isCloning||!0===n.onValidate(FR.concat(l.getPath(e),t),r,i,a),u=(t,r,i,a)=>{!ZR(l,n,r)&&(!s||!l.isDetached(t,e))&&p(l.getPath(t),r,i,a)},p=(e,n,r,i,a)=>{d.isCloning?d.update(e,n,i):t(FR.concat(e,n),r,i,a)},f=e=>e&&(e[r]||e),m=(t,i,o,c)=>function(e){return("object"==typeof e?null===e:"function"!=typeof e)||e instanceof RegExp}(t)||"constructor"===o||a&&!xD.isHandledMethod(i,o)||ZR(l,n,o)||l.isGetInvariant(i,o)||s&&l.isDetached(i,e)?t:(void 0===c&&(c=l.getPath(i)),l.getProxy(t,FR.concat(c,o),g,r)),g={get(e,t,n){if(LR(t)){if(t===r||t===zR)return e;if(t===JR&&!l.isUnsubscribed&&0===l.getPath(e).length)return l.unsubscribe(),e}let i=UR(e)?Reflect.get(e,t):Reflect.get(e,t,n);return m(i,e,t)},set(e,t,n,a){n=f(n);let s=e[r]||e,o=s[t];if(i(o,n)&&t in e)return!0;let c=h(e,t,n,o);return c&&l.setProperty(s,t,n,a,o)?(u(e,t,e[t],o),!0):!c},defineProperty(e,t,n){if(!l.isSameDescriptor(n,e,t)){let r=e[t];h(e,t,n.value,r)&&l.defineProperty(e,t,n,r)&&u(e,t,n.value,r)}return!0},deleteProperty(e,t){if(!Reflect.has(e,t))return!0;let n=Reflect.get(e,t),r=h(e,t,void 0,n);return r&&l.deleteProperty(e,t,n)?(u(e,t,void 0,n),!0):!r},apply(t,n,a){let s=n[r]||n;if(l.isUnsubscribed)return Reflect.apply(t,s,a);if((!1===o||!0!==o&&!o.includes(t.name))&&xD.isHandledType(s)){let r=FR.initial(l.getPath(t)),o=xD.isHandledMethod(s,t.name);d.start(s,r,a);let c=Reflect.apply(t,d.preferredThisArg(t,n,s),o?a.map((e=>f(e))):a),u=d.isChanged(s,i),y=d.stop();if(xD.isHandledType(c)&&o&&(n instanceof Map&&"get"===t.name&&(r=FR.concat(r,a[0])),c=l.getProxy(c,r,g)),u){let n={name:t.name,args:a,result:c},i=d.isCloning?FR.initial(r):r,o=d.isCloning?FR.last(r):"";h(FR.get(e,i),o,s,y,n)?p(i,o,s,y,n):d.undo(s)}return(n instanceof Map||n instanceof Set)&&function(e){return"object"==typeof e&&"function"==typeof e.next}(c)?function(e,t,n,r,i){let a=e.next;if("entries"===t.name)e.next=function(){let e=a.call(this);return!1===e.done&&(e.value[0]=i(e.value[0],t,e.value[0],r),e.value[1]=i(e.value[1],t,e.value[0],r)),e};else if("values"===t.name){let s=n[zR].keys();e.next=function(){let e=a.call(this);return!1===e.done&&(e.value=i(e.value,t,s.next().value,r)),e}}else e.next=function(){let e=a.call(this);return!1===e.done&&(e.value=i(e.value,t,e.value,r)),e};return e}(c,t,n,r,m):c}return Reflect.apply(t,n,a)}},y=l.getProxy(e,n.pathAsArray?[]:"",g);return t=t.bind(y),c&&(n.onValidate=n.onValidate.bind(y)),y};AD.target=e=>e&&e[zR]||e,AD.unsubscribe=e=>e[JR]||e;var bD=AD,kD="object"==typeof global&&global&&global.Object===Object&&global,wD="object"==typeof self&&self&&self.Object===Object&&self,jD=kD||wD||Function("return this")(),MD=jD.Symbol,PD=Object.prototype,OD=PD.hasOwnProperty,TD=PD.toString,ID=MD?MD.toStringTag:void 0;var CD=function(e){var t=OD.call(e,ID),n=e[ID];try{e[ID]=void 0;var r=!0}catch{}var i=TD.call(e);return r&&(t?e[ID]=n:delete e[ID]),i},ED=Object.prototype.toString;var VD=function(e){return ED.call(e)},RD=MD?MD.toStringTag:void 0;var DD=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":RD&&RD in Object(e)?CD(e):VD(e)};var BD=function(e){return null!=e&&"object"==typeof e};var GD=function(e){return"symbol"==typeof e||BD(e)&&"[object Symbol]"==DD(e)};var qD=function(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i},HD=Array.isArray,WD=MD?MD.prototype:void 0,zD=WD?WD.toString:void 0;var JD=function e(t){if("string"==typeof t)return t;if(HD(t))return qD(t,e)+"";if(GD(t))return zD?zD.call(t):"";var n=t+"";return"0"==n&&1/t==-Infinity?"-0":n},UD=/\s/;var ND=function(e){for(var t=e.length;t--&&UD.test(e.charAt(t)););return t},LD=/^\s+/;var YD=function(e){return e&&e.slice(0,ND(e)+1).replace(LD,"")};var FD=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},ZD=/^[-+]0x[0-9a-f]+$/i,KD=/^0b[01]+$/i,QD=/^0o[0-7]+$/i,XD=parseInt;var _D=function(e){if("number"==typeof e)return e;if(GD(e))return NaN;if(FD(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=FD(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=YD(e);var n=KD.test(e);return n||QD.test(e)?XD(e.slice(2),n?2:8):ZD.test(e)?NaN:+e};var $D=function(e){return e};var eB=function(e){if(!FD(e))return!1;var t=DD(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},tB=jD["__core-js_shared__"],nB=function(){var e=/[^.]+$/.exec(tB&&tB.keys&&tB.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();var rB=function(e){return!!nB&&nB in e},iB=Function.prototype.toString;var aB=function(e){if(null!=e){try{return iB.call(e)}catch{}try{return e+""}catch{}}return""},sB=/^\[object .+?Constructor\]$/,oB=Function.prototype,lB=Object.prototype,cB=oB.toString,dB=lB.hasOwnProperty,hB=RegExp("^"+cB.call(dB).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var uB=function(e){return!(!FD(e)||rB(e))&&(eB(e)?hB:sB).test(aB(e))};var pB=function(e,t){return null===e||void 0===e?void 0:e[t]};var fB=function(e,t){var n=pB(e,t);return uB(n)?n:void 0},mB=fB(jD,"WeakMap"),gB=Object.create,yB=function(){function e(){}return function(t){if(!FD(t))return{};if(gB)return gB(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}(),vB=yB;var xB=function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)};var SB=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t},AB=Date.now;var bB=function(e){var t=0,n=0;return function(){var r=AB(),i=16-(r-n);if(n=r,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}};var kB=function(e){return function(){return e}},wB=function(){try{var e=fB(Object,"defineProperty");return e({},"",{}),e}catch{}}(),jB=wB,MB=jB?function(e,t){return jB(e,"toString",{configurable:!0,enumerable:!1,value:kB(t),writable:!0})}:$D,PB=bB(MB);var OB=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e},TB=/^(?:0|[1-9]\d*)$/;var IB=function(e,t){var n,r=typeof e;return!!(t=null!==(n=t)&&void 0!==n?n:9007199254740991)&&("number"==r||"symbol"!=r&&TB.test(e))&&e>-1&&e%1==0&&e<t};var CB=function(e,t,n){"__proto__"==t&&jB?jB(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n};var EB=function(e,t){return e===t||e!==e&&t!==t},VB=Object.prototype.hasOwnProperty;var RB=function(e,t,n){var r=e[t];(!VB.call(e,t)||!EB(r,n)||void 0===n&&!(t in e))&&CB(e,t,n)};var DB=function(e,t,n,r){var i=!n;n||(n={});for(var a=-1,s=t.length;++a<s;){var o=t[a],l=r?r(n[o],e[o],o,n,e):void 0;void 0===l&&(l=e[o]),i?CB(n,o,l):RB(n,o,l)}return n},BB=Math.max;var GB=function(e,t,n){return t=BB(void 0===t?e.length-1:t,0),function(){for(var r=arguments,i=-1,a=BB(r.length-t,0),s=Array(a);++i<a;)s[i]=r[t+i];i=-1;for(var o=Array(t+1);++i<t;)o[i]=r[i];return o[t]=n(s),xB(e,this,o)}};var qB=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var HB=function(e){return null!=e&&qB(e.length)&&!eB(e)},WB=Object.prototype;var zB=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||WB)};var JB=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r};var UB=function(e){return BD(e)&&"[object Arguments]"==DD(e)},NB=Object.prototype,LB=NB.hasOwnProperty,YB=NB.propertyIsEnumerable,FB=UB(function(){return arguments}())?UB:function(e){return BD(e)&&LB.call(e,"callee")&&!YB.call(e,"callee")},ZB=FB;var KB=function(){return!1},QB="object"==typeof exports&&exports&&!exports.nodeType&&exports,XB=QB&&"object"==typeof module&&module&&!module.nodeType&&module,_B=XB&&XB.exports===QB?jD.Buffer:void 0,$B=(_B?_B.isBuffer:void 0)||KB,eG={};eG["[object Float32Array]"]=eG["[object Float64Array]"]=eG["[object Int8Array]"]=eG["[object Int16Array]"]=eG["[object Int32Array]"]=eG["[object Uint8Array]"]=eG["[object Uint8ClampedArray]"]=eG["[object Uint16Array]"]=eG["[object Uint32Array]"]=!0,eG["[object Arguments]"]=eG["[object Array]"]=eG["[object ArrayBuffer]"]=eG["[object Boolean]"]=eG["[object DataView]"]=eG["[object Date]"]=eG["[object Error]"]=eG["[object Function]"]=eG["[object Map]"]=eG["[object Number]"]=eG["[object Object]"]=eG["[object RegExp]"]=eG["[object Set]"]=eG["[object String]"]=eG["[object WeakMap]"]=!1;var tG=function(e){return BD(e)&&qB(e.length)&&!!eG[DD(e)]};var nG=function(e){return function(t){return e(t)}},rG="object"==typeof exports&&exports&&!exports.nodeType&&exports,iG=rG&&"object"==typeof module&&module&&!module.nodeType&&module,aG=iG&&iG.exports===rG&&kD.process,sG=function(){try{return iG&&iG.require&&iG.require("util").types||aG&&aG.binding&&aG.binding("util")}catch{}}(),oG=sG&&sG.isTypedArray,lG=oG?nG(oG):tG,cG=Object.prototype.hasOwnProperty;var dG=function(e,t){var n=HD(e),r=!n&&ZB(e),i=!n&&!r&&$B(e),a=!n&&!r&&!i&&lG(e),s=n||r||i||a,o=s?JB(e.length,String):[],l=o.length;for(var c in e)(t||cG.call(e,c))&&(!s||!("length"==c||i&&("offset"==c||"parent"==c)||a&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||IB(c,l)))&&o.push(c);return o};var hG=function(e,t){return function(n){return e(t(n))}},uG=hG(Object.keys,Object),pG=Object.prototype.hasOwnProperty;var fG=function(e){if(!zB(e))return uG(e);var t=[];for(var n in Object(e))pG.call(e,n)&&"constructor"!=n&&t.push(n);return t};var mG=function(e){return HB(e)?dG(e):fG(e)};var gG=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t},yG=Object.prototype.hasOwnProperty;var vG=function(e){if(!FD(e))return gG(e);var t=zB(e),n=[];for(var r in e)"constructor"==r&&(t||!yG.call(e,r))||n.push(r);return n};var xG=function(e){return HB(e)?dG(e,!0):vG(e)},SG=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,AG=/^\w*$/;var bG=function(e,t){if(HD(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!GD(e))||(AG.test(e)||!SG.test(e)||null!=t&&e in Object(t))},kG=fB(Object,"create");var wG=function(){this.__data__=kG?kG(null):{},this.size=0};var jG=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},MG=Object.prototype.hasOwnProperty;var PG=function(e){var t=this.__data__;if(kG){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return MG.call(t,e)?t[e]:void 0},OG=Object.prototype.hasOwnProperty;var TG=function(e){var t=this.__data__;return kG?void 0!==t[e]:OG.call(t,e)};var IG=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=kG&&void 0===t?"__lodash_hash_undefined__":t,this};function CG(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}CG.prototype.clear=wG,CG.prototype.delete=jG,CG.prototype.get=PG,CG.prototype.has=TG,CG.prototype.set=IG;var EG=CG;var VG=function(){this.__data__=[],this.size=0};var RG=function(e,t){for(var n=e.length;n--;)if(EB(e[n][0],t))return n;return-1},DG=Array.prototype.splice;var BG=function(e){var t=this.__data__,n=RG(t,e);return!(n<0)&&(n==t.length-1?t.pop():DG.call(t,n,1),--this.size,!0)};var GG=function(e){var t=this.__data__,n=RG(t,e);return n<0?void 0:t[n][1]};var qG=function(e){return RG(this.__data__,e)>-1};var HG=function(e,t){var n=this.__data__,r=RG(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};function WG(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}WG.prototype.clear=VG,WG.prototype.delete=BG,WG.prototype.get=GG,WG.prototype.has=qG,WG.prototype.set=HG;var zG=WG,JG=fB(jD,"Map");var UG=function(){this.size=0,this.__data__={hash:new EG,map:new(JG||zG),string:new EG}};var NG=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};var LG=function(e,t){var n=e.__data__;return NG(t)?n["string"==typeof t?"string":"hash"]:n.map};var YG=function(e){var t=LG(this,e).delete(e);return this.size-=t?1:0,t};var FG=function(e){return LG(this,e).get(e)};var ZG=function(e){return LG(this,e).has(e)};var KG=function(e,t){var n=LG(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this};function QG(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}QG.prototype.clear=UG,QG.prototype.delete=YG,QG.prototype.get=FG,QG.prototype.has=ZG,QG.prototype.set=KG;var XG=QG;function _G(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var s=e.apply(this,r);return n.cache=a.set(i,s)||a,s};return n.cache=new(_G.Cache||XG),n}_G.Cache=XG;var $G=_G;var eq=function(e){var t=$G(e,(function(e){return 500===n.size&&n.clear(),e})),n=t.cache;return t},tq=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,nq=/\\(\\)?/g,rq=eq((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(tq,(function(e,n,r,i){t.push(r?i.replace(nq,"$1"):n||e)})),t})),iq=rq;var aq=function(e){return null==e?"":JD(e)};var sq=function(e,t){return HD(e)?e:bG(e,t)?[e]:iq(aq(e))};var oq=function(e){if("string"==typeof e||GD(e))return e;var t=e+"";return"0"==t&&1/e==-Infinity?"-0":t};var lq=function(e,t){for(var n=0,r=(t=sq(t,e)).length;null!=e&&n<r;)e=e[oq(t[n++])];return n&&n==r?e:void 0};var cq=function(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e},dq=MD?MD.isConcatSpreadable:void 0;var hq=function(e){return HD(e)||ZB(e)||!!(dq&&e&&e[dq])};var uq=function e(t,n,r,i,a){var s=-1,o=t.length;for(r||(r=hq),a||(a=[]);++s<o;){var l=t[s];n>0&&r(l)?n>1?e(l,n-1,r,i,a):cq(a,l):i||(a[a.length]=l)}return a};var pq=function(e){return(null==e?0:e.length)?uq(e,1):[]};var fq=function(e){return PB(GB(e,void 0,pq),e+"")},mq=hG(Object.getPrototypeOf,Object),gq=Function.prototype,yq=Object.prototype,vq=gq.toString,xq=yq.hasOwnProperty,Sq=vq.call(Object);var Aq=function(e){if(!BD(e)||"[object Object]"!=DD(e))return!1;var t=mq(e);if(null===t)return!0;var n=xq.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&vq.call(n)==Sq};var bq=function(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(n=n>i?i:n)<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var a=Array(i);++r<i;)a[r]=e[r+t];return a};var kq=function(){this.__data__=new zG,this.size=0};var wq=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n};var jq=function(e){return this.__data__.get(e)};var Mq=function(e){return this.__data__.has(e)};var Pq=function(e,t){var n=this.__data__;if(n instanceof zG){var r=n.__data__;if(!JG||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new XG(r)}return n.set(e,t),this.size=n.size,this};function Oq(e){var t=this.__data__=new zG(e);this.size=t.size}Oq.prototype.clear=kq,Oq.prototype.delete=wq,Oq.prototype.get=jq,Oq.prototype.has=Mq,Oq.prototype.set=Pq;var Tq=Oq;var Iq=function(e,t){return e&&DB(t,mG(t),e)};var Cq=function(e,t){return e&&DB(t,xG(t),e)},Eq="object"==typeof exports&&exports&&!exports.nodeType&&exports,Vq=Eq&&"object"==typeof module&&module&&!module.nodeType&&module,Rq=Vq&&Vq.exports===Eq?jD.Buffer:void 0,Dq=Rq?Rq.allocUnsafe:void 0;var Bq=function(e,t){if(t)return e.slice();var n=e.length,r=Dq?Dq(n):new e.constructor(n);return e.copy(r),r};var Gq=function(e,t){for(var n=-1,r=null==e?0:e.length,i=0,a=[];++n<r;){var s=e[n];t(s,n,e)&&(a[i++]=s)}return a};var qq=function(){return[]},Hq=Object.prototype.propertyIsEnumerable,Wq=Object.getOwnPropertySymbols,zq=Wq?function(e){return null==e?[]:(e=Object(e),Gq(Wq(e),(function(t){return Hq.call(e,t)})))}:qq,Jq=zq;var Uq=function(e,t){return DB(e,Jq(e),t)},Nq=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)cq(t,Jq(e)),e=mq(e);return t}:qq,Lq=Nq;var Yq=function(e,t){return DB(e,Lq(e),t)};var Fq=function(e,t,n){var r=t(e);return HD(e)?r:cq(r,n(e))};var Zq=function(e){return Fq(e,mG,Jq)};var Kq=function(e){return Fq(e,xG,Lq)},Qq=fB(jD,"DataView"),Xq=fB(jD,"Promise"),_q=fB(jD,"Set"),$q="[object Map]",eH="[object Promise]",tH="[object Set]",nH="[object WeakMap]",rH="[object DataView]",iH=aB(Qq),aH=aB(JG),sH=aB(Xq),oH=aB(_q),lH=aB(mB),cH=DD;(Qq&&cH(new Qq(new ArrayBuffer(1)))!=rH||JG&&cH(new JG)!=$q||Xq&&cH(Xq.resolve())!=eH||_q&&cH(new _q)!=tH||mB&&cH(new mB)!=nH)&&(cH=function(e){var t=DD(e),n="[object Object]"==t?e.constructor:void 0,r=n?aB(n):"";if(r)switch(r){case iH:return rH;case aH:return $q;case sH:return eH;case oH:return tH;case lH:return nH}return t});var dH=cH,hH=Object.prototype.hasOwnProperty;var uH=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&hH.call(e,"index")&&(n.index=e.index,n.input=e.input),n},pH=jD.Uint8Array;var fH=function(e){var t=new e.constructor(e.byteLength);return new pH(t).set(new pH(e)),t};var mH=function(e,t){var n=t?fH(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)},gH=/\w*$/;var yH=function(e){var t=new e.constructor(e.source,gH.exec(e));return t.lastIndex=e.lastIndex,t},vH=MD?MD.prototype:void 0,xH=vH?vH.valueOf:void 0;var SH=function(e){return xH?Object(xH.call(e)):{}};var AH=function(e,t){var n=t?fH(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)};var bH=function(e,t,n){var r=e.constructor;switch(t){case"[object ArrayBuffer]":return fH(e);case"[object Boolean]":case"[object Date]":return new r(+e);case"[object DataView]":return mH(e,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return AH(e,n);case"[object Map]":case"[object Set]":return new r;case"[object Number]":case"[object String]":return new r(e);case"[object RegExp]":return yH(e);case"[object Symbol]":return SH(e)}};var kH=function(e){return"function"!=typeof e.constructor||zB(e)?{}:vB(mq(e))};var wH=function(e){return BD(e)&&"[object Map]"==dH(e)},jH=sG&&sG.isMap,MH=jH?nG(jH):wH;var PH=function(e){return BD(e)&&"[object Set]"==dH(e)},OH=sG&&sG.isSet,TH=OH?nG(OH):PH,IH="[object Arguments]",CH="[object Function]",EH="[object Object]",VH={};VH[IH]=VH["[object Array]"]=VH["[object ArrayBuffer]"]=VH["[object DataView]"]=VH["[object Boolean]"]=VH["[object Date]"]=VH["[object Float32Array]"]=VH["[object Float64Array]"]=VH["[object Int8Array]"]=VH["[object Int16Array]"]=VH["[object Int32Array]"]=VH["[object Map]"]=VH["[object Number]"]=VH[EH]=VH["[object RegExp]"]=VH["[object Set]"]=VH["[object String]"]=VH["[object Symbol]"]=VH["[object Uint8Array]"]=VH["[object Uint8ClampedArray]"]=VH["[object Uint16Array]"]=VH["[object Uint32Array]"]=!0,VH["[object Error]"]=VH[CH]=VH["[object WeakMap]"]=!1;var RH=function e(t,n,r,i,a,s){var o,l=1&n,c=2&n,d=4&n;if(r&&(o=a?r(t,i,a,s):r(t)),void 0!==o)return o;if(!FD(t))return t;var h=HD(t);if(h){if(o=uH(t),!l)return SB(t,o)}else{var u=dH(t),p=u==CH||"[object GeneratorFunction]"==u;if($B(t))return Bq(t,l);if(u==EH||u==IH||p&&!a){if(o=c||p?{}:kH(t),!l)return c?Yq(t,Cq(o,t)):Uq(t,Iq(o,t))}else{if(!VH[u])return a?t:{};o=bH(t,u,l)}}s||(s=new Tq);var f=s.get(t);if(f)return f;s.set(t,o),TH(t)?t.forEach((function(i){o.add(e(i,n,r,i,t,s))})):MH(t)&&t.forEach((function(i,a){o.set(a,e(i,n,r,a,t,s))}));var m=h?void 0:(d?c?Kq:Zq:c?xG:mG)(t);return OB(m||t,(function(i,a){m&&(i=t[a=i]),RB(o,a,e(i,n,r,a,t,s))})),o};var DH=function(e){return RH(e,5)};var BH=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this};var GH=function(e){return this.__data__.has(e)};function qH(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new XG;++t<n;)this.add(e[t])}qH.prototype.add=qH.prototype.push=BH,qH.prototype.has=GH;var HH=qH;var WH=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1};var zH=function(e,t){return e.has(t)};var JH=function(e,t,n,r,i,a){var s=1&n,o=e.length,l=t.length;if(o!=l&&!(s&&l>o))return!1;var c=a.get(e),d=a.get(t);if(c&&d)return c==t&&d==e;var h=-1,u=!0,p=2&n?new HH:void 0;for(a.set(e,t),a.set(t,e);++h<o;){var f=e[h],m=t[h];if(r)var g=s?r(m,f,h,t,e,a):r(f,m,h,e,t,a);if(void 0!==g){if(g)continue;u=!1;break}if(p){if(!WH(t,(function(e,t){if(!zH(p,t)&&(f===e||i(f,e,n,r,a)))return p.push(t)}))){u=!1;break}}else if(f!==m&&!i(f,m,n,r,a)){u=!1;break}}return a.delete(e),a.delete(t),u};var UH=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n};var NH=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n},LH=MD?MD.prototype:void 0,YH=LH?LH.valueOf:void 0;var FH=function(e,t,n,r,i,a,s){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!a(new pH(e),new pH(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return EB(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var o=UH;case"[object Set]":var l=1&r;if(o||(o=NH),e.size!=t.size&&!l)return!1;var c=s.get(e);if(c)return c==t;r|=2,s.set(e,t);var d=JH(o(e),o(t),r,i,a,s);return s.delete(e),d;case"[object Symbol]":if(YH)return YH.call(e)==YH.call(t)}return!1},ZH=Object.prototype.hasOwnProperty;var KH=function(e,t,n,r,i,a){var s=1&n,o=Zq(e),l=o.length;if(l!=Zq(t).length&&!s)return!1;for(var c=l;c--;){var d=o[c];if(!(s?d in t:ZH.call(t,d)))return!1}var h=a.get(e),u=a.get(t);if(h&&u)return h==t&&u==e;var p=!0;a.set(e,t),a.set(t,e);for(var f=s;++c<l;){var m=e[d=o[c]],g=t[d];if(r)var y=s?r(g,m,d,t,e,a):r(m,g,d,e,t,a);if(!(void 0===y?m===g||i(m,g,n,r,a):y)){p=!1;break}f||(f="constructor"==d)}if(p&&!f){var v=e.constructor,x=t.constructor;v!=x&&"constructor"in e&&"constructor"in t&&!("function"==typeof v&&v instanceof v&&"function"==typeof x&&x instanceof x)&&(p=!1)}return a.delete(e),a.delete(t),p},QH="[object Arguments]",XH="[object Array]",_H="[object Object]",$H=Object.prototype.hasOwnProperty;var eW=function(e,t,n,r,i,a){var s=HD(e),o=HD(t),l=s?XH:dH(e),c=o?XH:dH(t),d=(l=l==QH?_H:l)==_H,h=(c=c==QH?_H:c)==_H,u=l==c;if(u&&$B(e)){if(!$B(t))return!1;s=!0,d=!1}if(u&&!d)return a||(a=new Tq),s||lG(e)?JH(e,t,n,r,i,a):FH(e,t,l,n,r,i,a);if(!(1&n)){var p=d&&$H.call(e,"__wrapped__"),f=h&&$H.call(t,"__wrapped__");if(p||f){var m=p?e.value():e,g=f?t.value():t;return a||(a=new Tq),i(m,g,n,r,a)}}return!!u&&(a||(a=new Tq),KH(e,t,n,r,i,a))};var tW=function e(t,n,r,i,a){return t===n||(null==t||null==n||!BD(t)&&!BD(n)?t!==t&&n!==n:eW(t,n,r,i,e,a))};var nW=function(e,t){return null!=e&&t in Object(e)};var rW=function(e,t,n){for(var r=-1,i=(t=sq(t,e)).length,a=!1;++r<i;){var s=oq(t[r]);if(!(a=null!=e&&n(e,s)))break;e=e[s]}return a||++r!=i?a:!!(i=null==e?0:e.length)&&qB(i)&&IB(s,i)&&(HD(e)||ZB(e))};var iW=function(e,t){return null!=e&&rW(e,t,nW)},aW=function(){return jD.Date.now()},sW=Math.max,oW=Math.min;var lW=function(e,t,n){var r,i,a,s,o,l,c=0,d=!1,h=!1,u=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function p(t){var n=r,a=i;return r=i=void 0,c=t,s=e.apply(a,n)}function f(e){var n=e-l;return void 0===l||n>=t||n<0||h&&e-c>=a}function m(){var e=aW();if(f(e))return g(e);o=setTimeout(m,function(e){var n=t-(e-l);return h?oW(n,a-(e-c)):n}(e))}function g(e){return o=void 0,u&&r?p(e):(r=i=void 0,s)}function y(){var e=aW(),n=f(e);if(r=arguments,i=this,l=e,n){if(void 0===o)return function(e){return c=e,o=setTimeout(m,t),d?p(e):s}(l);if(h)return clearTimeout(o),o=setTimeout(m,t),p(l)}return void 0===o&&(o=setTimeout(m,t)),s}return t=_D(t)||0,FD(n)&&(d=!!n.leading,a=(h="maxWait"in n)?sW(_D(n.maxWait)||0,t):a,u="trailing"in n?!!n.trailing:u),y.cancel=function(){void 0!==o&&clearTimeout(o),c=0,r=l=i=o=void 0},y.flush=function(){return void 0===o?s:g(aW())},y};var cW=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0};var dW=function(e,t){return t.length<2?e:lq(e,bq(t,0,-1))};var hW=function(e,t){return tW(e,t)};var uW=function(e,t){return t=sq(t,e),null==(e=dW(e,t))||delete e[oq(cW(t))]};var pW=function(e){return Aq(e)?void 0:e},fW=fq((function(e,t){var n={};if(null==e)return n;var r=!1;t=qD(t,(function(t){return t=sq(t,e),r||(r=t.length>1),t})),DB(e,Kq(e),n),r&&(n=RH(n,7,pW));for(var i=t.length;i--;)uW(n,t[i]);return n})),mW=fW;var gW=function(e,t,n,r){if(!FD(e))return e;for(var i=-1,a=(t=sq(t,e)).length,s=a-1,o=e;null!=o&&++i<a;){var l=oq(t[i]),c=n;if("__proto__"===l||"constructor"===l||"prototype"===l)return e;if(i!=s){var d=o[l];void 0===(c=r?r(d,l,o):void 0)&&(c=FD(d)?d:IB(t[i+1])?[]:{})}RB(o,l,c),o=o[l]}return e};var yW=function(e,t,n){for(var r=-1,i=t.length,a={};++r<i;){var s=t[r],o=lq(e,s);n(o,s)&&gW(a,sq(s,e),o)}return a};var vW=function(e,t){return yW(e,t,(function(t,n){return iW(e,n)}))},xW=fq((function(e,t){return null==e?{}:vW(e,t)})),SW=xW;var AW=function(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return FD(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),lW(e,t,{leading:r,maxWait:t,trailing:i})};function bW(e){for(let t of Object.keys(e))void 0===e[t]&&delete e[t];return e}function kW(e,t){return Object.setPrototypeOf(e,t),e}!(typeof window>"u")&&window.navigator.userAgent.toLowerCase().includes(" electron/")&&(()=>{var e;if(typeof window>"u")return;let t=new URLSearchParams(window.location.search).get("desktop-app-version");t?window.localStorage.setItem("desktop-app-version",t):e=window.localStorage.getItem("desktop-app-version")})();var wW=!(typeof window>"u")&&window.navigator.platform.toUpperCase().includes("MAC"),jW=!(typeof window>"u")&&(/iPad|iPhone|iPod/.test(window.navigator.userAgent)||wW&&"ontouchend"in document),MW=!(typeof window>"u")&&window.navigator.userAgent.toLowerCase().indexOf("firefox")>-1,PW=!(typeof window>"u")&&("ontouchstart"in window||navigator.maxTouchPoints>0),OW=(()=>{if(typeof window>"u")return!1;let e=navigator.userAgent,t=navigator.vendor;return/Safari/i.test(e)&&/Apple Computer/.test(t)})(),TW=Number((()=>{if(typeof window>"u")return null;let e=navigator.userAgent.match(/Version\/(\d+\.\d)/);return e&&e[1]})());function IW(e){return Array.isArray(e)?e:[e]}function CW(e,t){let n=0;for(;n<e.length&&n<t.length;){if(e[n]<t[n])return-1;if(e[n]>t[n])return 1;n+=1}return n!==t.length?-1:n!==e.length?1:0}function EW(e){return wW?e.metaKey:e.ctrlKey}var VW=[],RW={},DW={},BW={};function GW(e){VW.includes(e)||VW.push(e)}function qW(e){delete RW[e.pointerId];for(let t=0;t<VW.length;t++)if(VW[t].pointerId===e.pointerId){VW.splice(t,1);break}}function HW(e){if("touch"!==e.pointerType)return;let t=RW[e.pointerId];void 0===t&&(t={x:0,y:0},RW[e.pointerId]=t),t.x=e.pageX,t.y=e.pageY}function WW(e){let t=e.pointerId===VW[0].pointerId?VW[1]:VW[0];return RW[t.pointerId]}function zW(e){DW[e.key]=!0,BW[e.key]=void 0===BW[e.key]?1:BW[e.key]+1}function JW(e){if(wW&&DW.Meta)for(let t in DW)DW[t]=!1;else DW[e.key]=!1;BW={}}var UW,NW,LW=new Promise((e=>{UW=e}));function YW(){if(NW)return NW;return NW=async function(){let e=__webpack_require__.e(208).then(__webpack_require__.bind(__webpack_require__,208)),[t,n]=await Promise.all([e,fetch("".concat("https://unpkg.com/@splinetool/navmesh-wasm@1.0.53/build","/navmesh.wasm")).then((e=>e.arrayBuffer()))]),r=t.default,i=await r({wasmBinary:n});UW(i)}(),NW}var FW,ZW,KW=new Promise((e=>{FW=e}));function QW(){if(ZW)return ZW;return ZW=async function(){let e=await __webpack_require__.e(293).then(__webpack_require__.bind(__webpack_require__,293));await e.init(),FW(e)}(),ZW}var XW=class{modifyById(e,t){let n=this;if(void 0===n[e])throw new Error("not expected");{let r={...n,[e]:t};return Object.setPrototypeOf(r,XW.prototype),r}}add(e,t){var n,r;return null!==(n=null===(r=this.runOp({type:1,id:e,data:t}))||void 0===r?void 0:r.data)&&void 0!==n?n:this}runOp(e){let t=this;if(1===e.type){let n,r=t[e.id];n=void 0===r?{type:2,id:e.id}:{type:1,id:e.id,data:r};let{id:i,data:a}=e,s={...t,[i]:a};return Object.setPrototypeOf(s,XW.prototype),{data:s,actual:e,reverse:n}}if(2===e.type){let{id:n}=e,r=t[n];if(void 0===r)return null;{let i={...t};return Object.setPrototypeOf(i,XW.prototype),delete i[n],{data:i,actual:e,reverse:{type:1,id:n,data:r}}}}return null}};function _W(e){if(void 0!==e.deepFreeze)return void e.deepFreeze(e);let t=Object.getOwnPropertyNames(e);for(let n of t){let t=e[n];t&&"object"==typeof t&&_W(t)}return Object.freeze(e)}var $W=class extends Error{};function ez(e){let t={...e};return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),t}function tz(e,t,n){if(void 0===e?void 0===t?(e=0,t=10):e=t-10:void 0===t&&(t=e+10),e>t){let n=e;e=t,t=n}let r=[],i=1/(n+1);for(let a=0;a<n;a++){let n=e+(t-e)*(a+.75+.5*Math.random())*i;r.push(n)}return r}function nz(e){return e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Uint32Array||e instanceof Int8Array||e instanceof Int16Array||e instanceof Int32Array||e instanceof Float32Array||e instanceof Float64Array}function rz(e,t){for(let n of e)!0!==t(n.id,n.data)&&rz(n.children,t)}function iz(e,t){if(!0!==t(e.id,e.data))for(let n of e.children)iz(n,t)}var az,sz=class extends Array{constructor(){super(...arguments),Object.setPrototypeOf(this,sz.prototype)}deepFreeze(){let e=0;for(;e<this.length;)_W(this[e]),e++}fillCaches0(e,t){this.objCaches.set(e.id,e),this.parentCaches.set(e.id,t);for(let n of e.children)this.fillCaches0(n,e.id)}fillCaches(){if(void 0===this.objCaches){this.objCaches=new Map,this.parentCaches=new Map;for(let e of this)this.fillCaches0(e,null)}}randomId(){this.fillCaches();let e=Array.from(this.objCaches.keys());if(0!==e.length)return e[Math.max(0,Math.floor(Math.random()*e.length)-1)]}nonExistOrDescendantOf(e,t){if(!this.has(e))return!0;for(;e;){let n=this.parent(e);if(n===t)return!0;e=n}return!1}rootAcestor(e){for(;e;){let t=this.parent(e);if(!t)return e;e=t}return e}isDescendantOf(e,t){for(;e;){let n=this.parent(e);if(n===t)return!0;e=n}return!1}data(e){var t;return null===(t=this.get(e))||void 0===t?void 0:t.data}has(e){return void 0!==this.childrenOf(e)}get(e){return this.fillCaches(),this.objCaches.get(e)}childrenOf(e){var t;return null===e?this:null===(t=this.get(e))||void 0===t?void 0:t.children}traverseFrom(e,t){if(null===e)this.traverse(t);else{let n=this.get(e);n&&iz(n,t)}}traverse(e){rz(this,e)}totalSize(){return this.fillCaches(),this.objCaches.size}parent(e){return this.fillCaches(),this.parentCaches.get(e)}childrenArray(e){return null===e?this:this.get(e).children}modifyById(e,t){if(void 0===this.get(e))throw new Error("not expected");{let n=this.parent(e),r=this.childrenArray(n),i=r.findIndex((t=>t.id===e));if(i<0)throw new Error("not expected");let a=r[i];return r=[...r],r[i]={...a,data:t},this.modifyArrayBy(n,r)}}modifyArrayBy(e,t){let n=e,r=t;for(;null!==n;){let e=r,t=n;if(n=this.parent(n),void 0===n)throw new Error;r=this.childrenArray(n);let i=r.findIndex((e=>e.id===t));if(i<0)throw new Error;r=[...r],r[i]={...r[i],children:e}}Object.setPrototypeOf(r,sz.prototype);let i=r;return i.fillCaches(),i}runOp(e){switch(e.type){case 7:return this.addOp(e);case 8:return this.deleteOp(e);case 9:return this.moveOp(e)}return null}checkDuplicatedIdRec(e){let{id:t,children:n}=e;if(void 0!==this.get(t))return!0;for(let r of n)if(this.checkDuplicatedIdRec(r))return!0;return!1}addOp(e){let{parent:t,fi:n,id:r,data:i,children:a}=e;if(null!==t&&void 0===this.get(t))return null;if(this.checkDuplicatedIdRec(e))return null;{let s=t,o=this.childrenArray(s),l={fi:n,id:r,data:i,children:a};return o=[...o,l],o.sort(((e,t)=>e.fi-t.fi)),e.localIndex=o.indexOf(l),{data:this.modifyArrayBy(s,o),actual:e,reverse:{type:8,id:r}}}}deleteOp(e){let{id:t}=e;if(null===this.get(t))return null;{let n=this.parent(t);if(void 0===n)return null;let r=this.childrenArray(n),i=r.findIndex((e=>e.id===t));e.localIndex=i,r=[...r];let a=r.splice(i,1)[0];return{data:this.modifyArrayBy(n,r),actual:e,reverse:{type:7,...a,parent:n}}}}moveOp(e){let{parent:t,fi:n,id:r}=e;if(null!==t&&void 0===this.get(t))return this.deleteOp({type:8,id:r});if(null!==t){let e=t;for(;null!==e;){if(void 0===e)throw new Error;if(e===r)throw new $W("cyclic tree");e=this.parent(e)}}let i=this.parent(r);if(void 0===i)return null;let a=i,s=this.childrenArray(i),o=s.findIndex((e=>e.id===r));s=[...s];let l=s.splice(o,1)[0],c=this.modifyArrayBy(i,s);i=t,s=c.childrenArray(i);let d=l.fi;return l={...l,fi:n},s=[...s,l],s.sort(((e,t)=>e.fi-t.fi)),e.localIndex=s.indexOf(l),c=c.modifyArrayBy(i,s),{data:c,actual:e,reverse:{type:9,parent:a,fi:d,id:r}}}previous(e,t){if(null===t){let t=this.childrenArray(e);return 0===t.length?null:t[t.length-1].id}let n=null;for(let r of this.childrenArray(e)){if(r.id===t)return n;n=r.id}return null}traverseSortNext(e){let t=this.parent(e);if(void 0!==t){let n=this.childrenArray(t),r=n.findIndex((t=>t.id===e))+1;if(r<n.length)return n[r].id;if(t)return this.traverseSortNext(t)}}sortNext(e){let t=this.childrenArray(e);return t.length>0?t[0].id:this.traverseSortNext(e)}traverseSortPrevious(e){let t=this.childrenArray(e);return t.length>0?this.traverseSortPrevious(t[t.length-1].id):e}sortPrevious(e){let t=this.parent(e);if(void 0!==t){let n=this.childrenArray(t),r=n.findIndex((t=>t.id===e))-1;return r>=0?this.traverseSortPrevious(n[r].id):t}}getAllSorted(e){let t=[];for(let n of e){let e=this.getWithSortKey(n.id);void 0!==e&&t.push({...n,...e})}t.sort(((e,t)=>function(e,t){let n=0;for(;n<e.length&&n<t.length;){if(e[n]<t[n])return-1;if(e[n]>t[n])return 1;n+=1}return n!==t.length?-1:n!==e.length?1:0}(e.sortKey,t.sortKey)));for(let n of t)delete n.sortKey;return t}getWithSortKey(e){var t=e;let n=[],r=this.get(t),i=r;if(void 0!==r){for(;t;)n.splice(0,0,r.fi),null!==(t=this.parent(t))&&(r=this.get(t));return{...i,sortKey:n}}}insertBeforeHelper(e,t,n){return this.insertAfterHelper(e,this.previous(e,t),n)}insertAfterHelper(e,t,n){let r=this.childrenArray(e);if(null===t){if(0===r.length)return tz(0,n,n);{let e=r[0].fi;return tz(e-n,e,n)}}{let i=this.get(t);if(void 0===i||this.parent(t)!==e)throw new Error("illegal args");let a=r.find((e=>e.fi>i.fi));if(void 0===a){let e=r[r.length-1].fi;return tz(e,e+n,n)}return tz(i.fi,a.fi,n)}}};(e=>{e.runOp=function(e,t){if(0!==t.type)return null;if(Array.isArray(e)){let n=t.props,r={},i=[...e],a=!1;if(n)for(let e of Object.keys(n)){let t=parseInt(e);if(isNaN(t))throw new Error("wrong index");r[e]=i[t],i[t]=n[e],a=!0}return a?{data:i,actual:t,reverse:{type:0,props:r}}:null}{let n=t.props,r={},i={...e},a=!1;if(n)for(let e of Object.keys(n)){r[e]=i[e];let t=n[e];void 0===t?delete i[e]:i[e]=t,a=!0}return a?{data:i,actual:t,reverse:{type:0,props:r}}:null}}})(az||(az={}));var oz=class extends Array{constructor(){super(...arguments),Object.setPrototypeOf(this,oz.prototype)}deepFreeze(){let e=0;for(;e<this.length;)_W(this[e]),e++}fillCaches0(e){this.objCaches.set(e.id,e)}fillCaches(){if(void 0===this.objCaches){this.objCaches=new Map,Object.getOwnPropertyDescriptor(this,"objCaches").enumerable=!1;for(let e of this)this.fillCaches0(e)}}randomId(){this.fillCaches();let e=Array.from(this.objCaches.keys());if(0!==e.length)return e[Math.max(0,Math.floor(Math.random()*e.length)-1)]}data(e){var t;return null===(t=this.get(e))||void 0===t?void 0:t.data}get(e){return this.fillCaches(),this.objCaches.get(e)}modifyById(e,t){if(void 0===this.get(e))throw new Error("not expected");{let n=this,r=n.findIndex((t=>t.id===e));if(r<0)throw new Error("not expected");let i=n[r];return n=[...n],n[r]={...i,data:t},this.modifyArrayBy(n)}}modifyArrayBy(e){Object.setPrototypeOf(e,oz.prototype);let t=e;return typeof process<"u"||t.fillCaches(),t}runOp(e){switch(e.type){case 4:return this.addOp(e);case 5:return this.deleteOp(e);case 6:return this.moveOp(e)}return null}addOp(e){let{fi:t,id:n,data:r}=e,i=this,a={fi:t,id:n,data:r};return i=[...i,a],i.sort(((e,t)=>e.fi-t.fi)),e.localIndex=i.indexOf(a),{data:this.modifyArrayBy(i),actual:e,reverse:{type:5,id:n}}}deleteOp(e){let{id:t}=e,n=this,r=n.findIndex((e=>e.id===t));if(-1===r)return null;e.localIndex=r,n=[...n];let i=n.splice(r,1)[0];return{data:this.modifyArrayBy(n),actual:e,reverse:{type:4,...i}}}moveOp(e){let{fi:t,id:n}=e,r=this;r=[...r];let i=r.findIndex((e=>e.id===n));if(-1===i)return null;let a=r[i].fi,s={...r[i],fi:t};return r[i]=s,r.sort(((e,t)=>e.fi-t.fi)),e.localIndex=r.indexOf(s),{data:this.modifyArrayBy(r),actual:e,reverse:{type:6,fi:a,id:n}}}previous(e){if(null===e)return 0===this.length?null:this[this.length-1].id;let t=null;for(let n of this){if(n.id===e)return t;t=n.id}return null}insertBeforeHelper(e,t){return this.insertAfterHelper(this.previous(e),t)}insertAfterHelper(e,t){let n=this;if(null===e){if(0===n.length)return tz(0,t,t);{let e=n[0].fi;return tz(e-t,e,t)}}{let r=this.get(e);if(void 0===r)throw new Error("illegal args");let i=n.find((e=>e.fi>r.fi));if(void 0===i){let e=n[n.length-1].fi;return tz(e,e+t,t)}return tz(r.fi,i.fi,t)}}};function lz(e){return e&&"object"==typeof e&&e instanceof pz}var cz,dz,hz,uz,pz=class{unusedFunOverridesTable(e){}runOp(e){let t=[],n=this,r=0,i={};for(;r<e.path.length;){if(t.push(n),n=void 0===n?void 0:n[e.path[r]],void 0!==n&&!lz(n))return null;r+=1}n=n?ez(n):new pz;for(let[a,s]of Object.entries(e.props)){let e=n[a];i[a]=e,void 0===s?delete n[a]:n[a]=s}for(;r>0;){if(0===Object.keys(n).length){let i=t[r-1];i&&(n=ez(i),delete n[e.path[r-1]])}else{let i=t[r-1];if(i){let t=ez(i);t[e.path[r-1]]=n,n=t}else{let t=new pz;t[e.path[r-1]]=n,n=t}}r-=1}return{data:Object.setPrototypeOf(n,pz.prototype),actual:e,reverse:{...e,props:i}}}};function fz(e,t){if(void 0===t)return;let n=!1,r=e.map((e=>{let r=e.id,i=mz(e.data,t[r]);if(n=n||void 0!==i,void 0===i&&(i=e.data),e.children){let a=fz(e.children,t);return void 0!==a?n=!0:a=e.children,{...e,id:r,data:i,children:a}}return{...e,id:r,data:i}}));return n?r:void 0}function mz(e,t){if(!lz(t))return t;if(e instanceof sz){let n=fz(e,t);return void 0!==n&&Object.setPrototypeOf(n,Object.getPrototypeOf(e)),n}if(e instanceof oz)return function(e,t){if(void 0===t)return;let n=!1,r=e.map((e=>{let r=e.id,i=mz(e.data,t[r]);return n=n||void 0!==i,void 0===i&&(i=e.data),{...e,id:r,data:i}}));return n?(Object.setPrototypeOf(r,Object.getPrototypeOf(e)),r):void 0}(e,t);if(Array.isArray(e)){let n=!1,r=e.map(((e,r)=>{let i=mz(e,t[r]);return n=n||void 0!==i,void 0===i&&(i=e),i}));return n?(Object.setPrototypeOf(r,Object.getPrototypeOf(e)),r):void 0}if(e instanceof pz)return gz(e,t);if(e&&"object"==typeof e){let n={},r=!1;for(let[i,a]of Object.entries(e)){let e=mz(a,t[i]);r=r||void 0!==e,void 0===e&&(e=a),n[i]=e}return r?(Object.setPrototypeOf(n,Object.getPrototypeOf(e)),n):void 0}}function gz(e,t){if(void 0===e)return t;if(void 0===t)return e;if(!lz(t))return t;if(!lz(e))return cz.apply(e,t);let n=new Set;for(let i of Object.keys(e))n.add(i);for(let i of Object.keys(t))n.add(i);let r=new pz;for(let i of n){let n=gz(void 0===e?void 0:e[i],void 0===t?void 0:t[i]);r[i]=n}return r}function yz(e,t){var n;let r={cur:[],result:[],len:0};return[e=null!==(n=Az(e,t,r))&&void 0!==n?n:e,r.result]}function vz(e,t){return null===e?null:(e.cur[e.len]=t,e.len+=1,e)}function xz(e){e&&(e.len-=1)}function Sz(e,t,n){let r=!1,i=e.map((e=>{let i=e.id,a=t[i];if(void 0!==a&&"string"==typeof a&&(r=!0,i=a,null!==n))throw new Error("not supported");let s=Az(e.data,t,vz(n,i));xz(n),r=r||void 0!==s,void 0===s&&(s=e.data);let o=Sz(e.children,t,n);return void 0!==o?r=!0:o=e.children,{...e,id:i,data:s,children:o}}));if(r)return i}function Az(e,t,n){if(e instanceof sz){let r=Sz(e,t,n);return void 0!==r&&Object.setPrototypeOf(r,Object.getPrototypeOf(e)),r}if(e instanceof oz)return function(e,t,n){let r=!1,i=e.map((e=>{let i=e.id,a=t[i];if(void 0!==a&&"string"==typeof a&&(r=!0,i=a,null!==n))throw new Error("not supported");let s=Az(e.data,t,vz(n,i));return xz(n),r=r||void 0!==s,void 0===s&&(s=e.data),{...e,id:i,data:s}}));if(r)return Object.setPrototypeOf(i,Object.getPrototypeOf(e)),i}(e,t,n);if(Array.isArray(e)){let r=!1,i=e.map(((e,i)=>{let a=Az(e,t,vz(n,i));return xz(n),r=r||void 0!==a,void 0===a&&(a=e),a}));return r?(Object.setPrototypeOf(i,Object.getPrototypeOf(e)),i):void 0}if(e&&"object"==typeof e&&!nz(e)){let r={},i=!1;for(let[a,s]of Object.entries(e))if("name"!==a){let e=t[a];if("string"==typeof e){if(null!==n)throw new Error("not supported");i=!0,a=e}let o=Az(s,t,vz(n,a));xz(n),i=i||void 0!==o,void 0===o&&(o=s),r[a]=o}else r[a]=s;return i?(Object.setPrototypeOf(r,Object.getPrototypeOf(e)),r):void 0}if("string"==typeof e){let r=t[e];return void 0!==r&&function(e){if(null===e)return null;e.result.push(e.cur.slice(0,e.len))}(n),r}}(e=>{e.apply=function(e,t){var n;return null!==(n=mz(e,t))&&void 0!==n?n:e},e.merge=function(e,t){return gz(e,t)},e.filterOp=function(e,t){let n=0,r=t.path,i=e;for(;n<r.length&&void 0!==i;){if(i=Rz.zoomOnce(i,r[n]),void 0===i)return t;if(!lz(i))return;n+=1}if(void 0===i)return t;if(lz(i)){if(0===t.type){let e={...t.props};for(let t of Object.keys(i))delete e[t];return{...t,props:e}}if(1===t.type||4===t.type||7===t.type){let e=fz([t],i);return e?(console.log(e),e):t}return t}}})(cz||(cz={})),(e=>{e.replaceProps=function(e,t){let n=Rz.zoom(t,e.path);if("object"==typeof n){let t={};for(let r of Object.keys(e.props))t[r]=n[r];return{...e,props:t}}return{...e,props:{}}}})(dz||(dz={})),(e=>{function t(e,t){let n=t.path;for(var r=[];;){let s;if(e instanceof pz&&0===t.type&&(s=e.runOp({...t,path:n.slice(r.length)}),null===s&&(s=void 0)),void 0===s&&r.length===n.length&&(s=e instanceof sz||e instanceof oz||e instanceof XW?e.runOp(t):az.runOp(e,t)),void 0!==s){if(null!==s){let e=s.data;for(let t=r.length-1;t>=0;t--){let i=n[t],a=r[t];if(a instanceof sz){if("number"==typeof i)throw new Error("illegal arg");e=a.modifyById(i,e)}else if(a instanceof oz){if("number"==typeof i)throw new Error("illegal arg");e=a.modifyById(i,e)}else if(a instanceof XW){if("number"==typeof i)throw new Error("illegal arg");e=a.modifyById(i,e)}else if(a instanceof pz){let t={...a,[i]:e};e=Object.setPrototypeOf(t,pz.prototype)}else{if("object"!=typeof a)return null;if(Array.isArray(a)){if("string"==typeof i&&(i=parseInt(i),isNaN(i)))throw new Error("Invalid path");let t=e;e=[...a],e[i]=t}else e={...a,[i]:e}}}return{data:e,actual:{...s.actual,path:n},reverse:{...s.reverse,path:n}}}return null}let o,l=n[r.length];if(e instanceof sz){var i;if("number"==typeof l)throw new Error("");o=null===(i=e.get(l))||void 0===i?void 0:i.data}else if(e instanceof oz){var a;if("number"==typeof l)throw new Error("");o=null===(a=e.get(l))||void 0===a?void 0:a.data}else null!==e&&(o=e[l]);if(void 0===o)return null;r.push(e),e=o}}function n(e,t){for(let n=0;n<e.length&&n<t.length;n++)if(e[n]!==t[n])return!0;return!1}function r(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}e.drop=function(e,t){return{...e,path:e.path.slice(t)}},e.applySimple=function(e,n){var r,i;return null!==(r=null===(i=t(e,n))||void 0===i?void 0:i.data)&&void 0!==r?r:e},e.apply=t,e.pathDisjoint=n,e.pathEq=r,e.commutative=function(e,t){return n(e.path,t.path)},e.subsumed=function(e,t){return!(0!==e.type||0!==t.type||!r(e.path,t.path))&&Object.keys(e.props).every((e=>void 0!==t.props[e]))}})(hz||(hz={})),(e=>{function t(e,t){var n=e;let r=[],i=[];for(let a of t)try{if(3===a.type||5===a.type&&"variables"===a.path[a.path.length-1]){let e,t,s;if(3===a.type?(e=Rz.zoom(n,[...a.path,a.id]),s=hz.apply(n,{...a,type:2})):(e=Rz.zoom(n,[...a.path,a.id,"value"]),s=hz.apply(n,a)),null!==s){n=s.data;let[o,l]=yz(n,{[a.id]:e});n=o;for(let s=0;s<l.length;s++){let o=l[s],c=o.pop();if("number"==typeof c){let r=[c];for(let e=s+1;e<l.length;e++){let t=l[e],n=t[t.length-1];if("number"!=typeof n||!Rz.equal(o,t.slice(0,t.length-1)))break;r.push(n),l.splice(e,1)}let i=Rz.zoom(n,o);t=i.map(((e,t)=>r.includes(t)?a.id:e)),e=i,c=o.pop()}else{if("alphaOverride"===c||"alpha"===c){e/=100;let t=e,r=Rz.zoom(n,o.slice(0,o.length-2)),i=r.layers.map((e=>e.id===o[o.length-1]?{...e,data:{...e.data,[c]:t}}:e));Object.setPrototypeOf(i,Object.getPrototypeOf(r.layers)),r.layers=i}t=a.id}r.push({type:0,path:o,props:{[c]:e}}),i.push({type:0,path:o,props:{[c]:t}})}i.push(s.reverse),r.push(s.actual)}}else{let e=hz.apply(n,a);null!==e&&(r.push(e.actual),n=e.data,i.push(e.reverse))}}catch(A){if(A instanceof $W)return null;throw A}return{data:n,actual:r,reverse:i.reverse()}}e.empty=function(){return[]},e.removePrefix=function(e,t){let n=[];for(let r of e){let[e,...i]=r.path;e===t&&n.push({...r,path:i})}return n},e.addPrefix=function(e,t){return e.map((e=>({...e,path:[t,...e.path]})))},e.concat=function(e,t){return[...e,...t]},e.compress=function(e,t){return[...e.filter((e=>!t.some((t=>hz.subsumed(e,t))))),...t]},e.commutative=function(e,t){return e.every((e=>t.every((t=>hz.commutative(e,t)))))},e.applyAll=function(e,n){for(let r of n){let n=t(e,r);null!==n&&(e=n.data)}return e},e.apply=t})(uz||(uz={}));var bz=Symbol(),kz=Symbol(),wz=Symbol(),jz=class{reportOp(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=this;if(null===t)return;r._current=t.data;let i=n;for(;!(r instanceof Dz);){let e=r._path,t=r._current;if(""!==e&&i.splice(0,0,e),r=r._parent,null===r)return;r.update(e,t)}r.push(i,e,t.actual,t.reverse)}deleteChildren(e){if(this._children){let t=this._children[e];if(t){let n=t[wz];n&&n(),delete this._children[e]}}}},Mz=class extends jz{constructor(e,t,n){super(),this._parent=e,this._path=t,this._current=n}update(e,t){if(Array.isArray(this._current)){if("string"==typeof e&&(e=parseInt(e),isNaN(e)))throw new Error("Invalid path");this._current=[...this._current],this._current[e]=t}else this._current={...this._current,[e]:t}}runOp(e){this.reportOp(e,az.runOp(this._current,e),e.path)}},Pz=class extends jz{constructor(e,t,n){super(),this._parent=e,this._path=t,this._current=n}update(e,t){this._current={...this._current,[e]:t},Object.setPrototypeOf(this._current,XW.prototype)}runOp(e){this.reportOp(e,this._current.runOp(e))}},Oz={get(e,t){if(t===wz)return()=>{e._parent=null};if(t===bz)return e._current;if(t===kz)return e;let{_current:n,_children:r}=e;if("push"===t&&Array.isArray(n))throw new Error("not supported to expand array");let i=void 0===r?void 0:r[t];if(void 0!==i)return i;let a=n[t],s=Bz(e,t,a);return s!==a?(void 0===r&&(r={},e._children=r),r[t]=s,s):a},has:(e,t)=>t in e._current,ownKeys:e=>Reflect.ownKeys(e._current),defineProperty(){throw Error("not supported")},getPrototypeOf:e=>Object.getPrototypeOf(e._current),setPrototypeOf(){throw Error("not supported")},getOwnPropertyDescriptor(e,t){let n=e._current,r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{writable:!0,configurable:!0,enumerable:r.enumerable,value:n[t]}}},Tz={...Oz,set(e,t,n){var r;let i={type:0,props:{[t]:null!==(r=Hz(n))&&void 0!==r?r:n}};return e.deleteChildren(t),e.runOp(i),!0},deleteProperty(e,t){let n={type:0,props:{[t]:void 0}};return e.deleteChildren(t),e.runOp(n),!0}},Iz={...Oz,set(e,t,n){return void 0===n?this.deleteProperty(e,t):(e.deleteChildren(t),e.runOp({type:1,id:t,data:n})),!0},deleteProperty:(e,t)=>(e.runOp({type:2,id:t}),!0)},Cz=class extends jz{constructor(e,t,n){super(),this._children={},this._parent=e,this._path=t,this._current=n,this[wz]=()=>{this._parent=null}}unproxy(){return this._current}update(e,t){this._current=this._current.modifyById(e,t)}runOp(e){this.reportOp(e,this._current.runOp(e))}randomId(){return this._current.randomId()}isDescendantOf(e,t){return this._current.isDescendantOf(e,t)}childrenOf(e){return this._current.childrenOf(e)}traverse(e){return this._current.traverse(e)}get(e){return this._current.get(e)}parent(e){return this._current.parent(e)}traverse(e){this._current.traverse(((t,n)=>{e(t,this.data(t))}))}data(e){var t;let{_current:n,_children:r}=this,i=void 0===r?void 0:r[e];if(void 0!==i)return i;let a=null===(t=n.get(e))||void 0===t?void 0:t.data,s=Bz(this,e,a);return s!==a?(void 0===r&&(r={},this._children=r),r[e]=s,s):a}add(e,t,n,r,i){this.runOp({type:7,parent:e,fi:t,id:n,data:r,children:i})}move(e,t,n){this.runOp({type:9,parent:e,fi:t,id:n})}insertAfter(e,t,n){let r=this._current.insertAfterHelper(e,t,n.length);for(let i=0;i<n.length;i++){let t=n[i];this.add(e,r[i],t.id,t.data,t.children)}}insertBefore(e,t,n){let r=this._current.insertBeforeHelper(e,t,n.length);for(let i=0;i<n.length;i++){let t=n[i];this.add(e,r[i],t.id,t.data,t.children)}}moveAfter(e,t,n){let r=this._current.insertAfterHelper(e,t,n.length);for(let i=0;i<n.length;i++){let t=n[i];this.move(e,r[i],t)}}moveBefore(e,t,n){let r=this._current.insertBeforeHelper(e,t,n.length);for(let i=0;i<n.length;i++){let t=n[i];this.move(e,r[i],t)}}delete(e){this.deleteChildren(e),this.runOp({type:8,id:e})}sortNext(e){return this._current.sortNext(e)}sortPrevious(e){return this._current.sortPrevious(e)}getAllSorted(e){return this._current.getAllSorted(e)}},Ez=class extends jz{constructor(e,t,n){super(),this._children={},this._parent=e,this._path=t,this._current=n,this[wz]=()=>{this._parent=null}}unproxy(){return this._current}get length(){return this._current.length}forEach(e){let t=this.length;for(let n=0;n<t;n++){let t=this._current[n].id,r=this._current[n].fi;e(this.data(this._current[n].id),t,r)}}find(e){let t=this.length;for(let n=0;n<t;n++){let t=this._current[n].id;if(e(this.data(t),t))return this.get(t)}}update(e,t){this._current=this._current.modifyById(e,t)}randomId(){return this._current.randomId()}get(e){return{...this._current.get(e),data:this.data(e)}}data(e){var t;let{_current:n,_children:r}=this,i=void 0===r?void 0:r[e];if(void 0!==i)return i;let a=null===(t=n.get(e))||void 0===t?void 0:t.data,s=Bz(this,e,a);return s!==a?(void 0===r&&(r={},this._children=r),r[e]=s,s):a}runOp(e){this.reportOp(e,this._current.runOp(e))}add(e,t,n){this.runOp({type:4,fi:e,id:t,data:n})}move(e,t){this.runOp({type:6,fi:e,id:t})}insertAfter(e,t){let n=this._current.insertAfterHelper(e,t.length);for(let r=0;r<t.length;r++){let e=t[r];this.add(n[r],e.id,e.data)}}insertBefore(e,t){let n=this._current.insertBeforeHelper(e,t.length);for(let r=0;r<t.length;r++){let e=t[r];this.add(n[r],e.id,e.data)}}moveAfter(e,t){let n=this._current.insertAfterHelper(e,t.length);for(let r=0;r<t.length;r++){let e=t[r];this.move(n[r],e)}}moveBefore(e,t){let n=this._current.insertBeforeHelper(e,t.length);for(let r=0;r<t.length;r++){let e=t[r];this.move(n[r],e)}}delete(e){this.deleteChildren(e),this.runOp({type:5,id:e})}};function Vz(e,t,n){if(e.length>0){let r=e[e.length-1];if(0===r.type&&0===t.type&&Rz.equal(r.path,n))return void Object.assign(r.props,t.props)}e.push({...t,path:n})}var Rz,Dz=class extends jz{constructor(e){super(),this.ts=[],this.actual=[],this.reverse=[],this._current=e}update(e,t){if(""!==e)throw new Error("");this._current=t}push(e,t,n,r){Vz(this.ts,t,e),Vz(this.actual,n,e),Vz(this.reverse,r,e)}result(){return{data:this._current,ts:this.ts,actual:this.actual,reverse:this.reverse.reverse()}}};function Bz(e,t,n){return n instanceof sz?new Cz(e,t,n):n instanceof oz?new Ez(e,t,n):n instanceof XW?new Proxy(new Pz(e,t,n),Iz):null!==n&&"object"==typeof n?nz(n)?n:new Proxy(new Mz(e,t,n),Tz):n}function Gz(e){let t=new Dz(e);return[Bz(t,"",e),t]}function qz(e,t){let[n,r]=Gz(e);return t(n),r.result()}function Hz(e){return e instanceof Cz||e instanceof Ez?e._current:null!==e&&"object"==typeof e?e[bz]:e}function Wz(e,t){let n=[];if(!(t.length<=e.length))return null;for(var r=0;r<t.length;){if("*"===t[r])n.push(e[r]);else if(e[r]!==t[r])return null;r+=1}return n}(e=>{function t(e,t){return(e instanceof sz||e instanceof Cz)&&"string"==typeof t||(e instanceof oz||e instanceof Ez)&&"string"==typeof t?e.data(t):"number"==typeof t&&Array.isArray(e)||"string"==typeof t&&"object"==typeof e&&null!==e?e[t]:void 0}function n(e,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;for(;r<n.length&&void 0!==e;)e=t(e,n[r]),r+=1;return e}e.equal=function(e,t){if(t.length!==e.length)return!1;for(var n=0;n<e.length;){if(e[n]!==t[n])return!1;n+=1}return!0},e.removeOverridden=function(e,t,r){let i=n(r,e);if(void 0!==i&&"object"==typeof i&&null!==i){let e={...t};return Object.keys(i).forEach((t=>{delete e[t]})),e}return t},e.zoomOnce=t,e.zoom=n})(Rz||(Rz={}));var zz,Jz=class{},Uz=class extends Jz{constructor(e){super(),this.id=e}},Nz=class extends Jz{constructor(e){super(),this.data=e}};try{zz=new TextDecoder}catch{}var Lz,Yz,Fz,Zz,Kz,Qz,Xz,_z=0,$z=[],eJ=$z,tJ=0,nJ={},rJ=0,iJ=0,aJ=[],sJ={useRecords:!1,mapsAsObjects:!0},oJ=class{},lJ=new oJ;lJ.name="MessagePack 0xC1";var cJ=!1,dJ=class{constructor(e){e&&(!1===e.useRecords&&void 0===e.mapsAsObjects&&(e.mapsAsObjects=!0),e.structures?e.structures.sharedLength=e.structures.length:e.getStructures&&((e.structures=[]).uninitialized=!0,e.structures.sharedLength=0)),Object.assign(this,e)}unpack(e,t){if(Lz)return DJ((()=>(BJ(),this?this.unpack(e,t):dJ.prototype.unpack.call(sJ,e,t))));Yz=t>-1?t:e.length,_z=0,tJ=0,iJ=0,Zz=null,eJ=$z,Kz=null,Lz=e;try{Xz=e.dataView||(e.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength))}catch(a){throw Lz=null,e instanceof Uint8Array?a:new Error("Source must be a Uint8Array or Buffer but was a "+(e&&"object"==typeof e?e.constructor.name:typeof e))}if(this instanceof dJ){if(nJ=this,this.structures)return Fz=this.structures,hJ();(!Fz||Fz.length>0)&&(Fz=[])}else nJ=sJ,(!Fz||Fz.length>0)&&(Fz=[]);return hJ()}unpackMultiple(e,t){let n,r=0;try{cJ=!0;let i=e.length,a=this?this.unpack(e,i):HJ.unpack(e,i);if(!t){for(n=[a];_z<i;)r=_z,n.push(hJ());return n}for(t(a);_z<i;)if(r=_z,!1===t(hJ()))return}catch(p){throw p.lastPosition=r,p.values=n,p}finally{cJ=!1,BJ()}}_mergeStructures(e,t){for(let n=0,r=(e=e||[]).length;n<r;n++){let t=e[n];t&&(t.isShared=!0,n>=32&&(t.highByte=n-32>>5))}e.sharedLength=e.length;for(let n in t||[])if(n>=0){let r=e[n],i=t[n];i&&(r&&((e.restoreStructures||(e.restoreStructures=[]))[n]=r),e[n]=i)}return this.structures=e}decode(e,t){return this.unpack(e,t)}};function hJ(){try{if(!nJ.trusted&&!cJ){let e=Fz.sharedLength||0;e<Fz.length&&(Fz.length=e)}let e=pJ();if(_z==Yz)Fz.restoreStructures&&uJ(),Fz=null,Lz=null,Qz&&(Qz=null);else{if(_z>Yz){let e=new Error("Unexpected end of MessagePack data");throw e.incomplete=!0,e}if(!cJ)throw new Error("Data read, but end of buffer not reached")}return e}catch(i){throw Fz.restoreStructures&&uJ(),BJ(),(i instanceof RangeError||i.message.startsWith("Unexpected end of buffer"))&&(i.incomplete=!0),i}}function uJ(){for(let e in Fz.restoreStructures)Fz[e]=Fz.restoreStructures[e];Fz.restoreStructures=null}function pJ(){let e=Lz[_z++];if(e<160){if(e<128){if(e<64)return e;{let t=Fz[63&e]||nJ.getStructures&&yJ()[63&e];return t?(t.read||(t.read=mJ(t,63&e)),t.read()):e}}if(e<144){if(e-=128,nJ.mapsAsObjects){let t={};for(let n=0;n<e;n++)t[CJ()]=pJ();return t}{let t=new Map;for(let n=0;n<e;n++)t.set(pJ(),pJ());return t}}{e-=144;let t=new Array(e);for(let n=0;n<e;n++)t[n]=pJ();return t}}if(e<192){let t=e-160;if(iJ>=_z)return Zz.slice(_z-rJ,(_z+=t)-rJ);if(0==iJ&&Yz<140){let e=t<16?PJ(t):MJ(t);if(null!=e)return e}return vJ(t)}{let t;switch(e){case 192:return null;case 193:return Kz?(t=pJ(),t>0?Kz[1].slice(Kz.position1,Kz.position1+=t):Kz[0].slice(Kz.position0,Kz.position0-=t)):lJ;case 194:return!1;case 195:return!0;case 196:return OJ(Lz[_z++]);case 197:return t=Xz.getUint16(_z),_z+=2,OJ(t);case 198:return t=Xz.getUint32(_z),_z+=4,OJ(t);case 199:return TJ(Lz[_z++]);case 200:return t=Xz.getUint16(_z),_z+=2,TJ(t);case 201:return t=Xz.getUint32(_z),_z+=4,TJ(t);case 202:if(t=Xz.getFloat32(_z),nJ.useFloat32>2){let e=GJ[(127&Lz[_z])<<1|Lz[_z+1]>>7];return _z+=4,(e*t+(t>0?.5:-.5)>>0)/e}return _z+=4,t;case 203:return t=Xz.getFloat64(_z),_z+=8,t;case 204:return Lz[_z++];case 205:return t=Xz.getUint16(_z),_z+=2,t;case 206:return t=Xz.getUint32(_z),_z+=4,t;case 207:return nJ.int64AsNumber?(t=4294967296*Xz.getUint32(_z),t+=Xz.getUint32(_z+4)):t=Xz.getBigUint64(_z),_z+=8,t;case 208:return Xz.getInt8(_z++);case 209:return t=Xz.getInt16(_z),_z+=2,t;case 210:return t=Xz.getInt32(_z),_z+=4,t;case 211:return nJ.int64AsNumber?(t=4294967296*Xz.getInt32(_z),t+=Xz.getUint32(_z+4)):t=Xz.getBigInt64(_z),_z+=8,t;case 212:if(t=Lz[_z++],114==t)return EJ(63&Lz[_z++]);{let e=aJ[t];if(e)return e.read?(_z++,e.read(pJ())):e.noBuffer?(_z++,e()):e(Lz.subarray(_z,++_z));throw new Error("Unknown extension "+t)}case 213:return t=Lz[_z],114==t?(_z++,EJ(63&Lz[_z++],Lz[_z++])):TJ(2);case 214:return TJ(4);case 215:return TJ(8);case 216:return TJ(16);case 217:return t=Lz[_z++],iJ>=_z?Zz.slice(_z-rJ,(_z+=t)-rJ):xJ(t);case 218:return t=Xz.getUint16(_z),iJ>=(_z+=2)?Zz.slice(_z-rJ,(_z+=t)-rJ):SJ(t);case 219:return t=Xz.getUint32(_z),iJ>=(_z+=4)?Zz.slice(_z-rJ,(_z+=t)-rJ):AJ(t);case 220:return t=Xz.getUint16(_z),_z+=2,kJ(t);case 221:return t=Xz.getUint32(_z),_z+=4,kJ(t);case 222:return t=Xz.getUint16(_z),_z+=2,wJ(t);case 223:return t=Xz.getUint32(_z),_z+=4,wJ(t);default:if(e>=224)return e-256;if(void 0===e){let e=new Error("Unexpected end of MessagePack data");throw e.incomplete=!0,e}throw new Error("Unknown MessagePack token "+e)}}}var fJ=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function mJ(e,t){function n(){if(n.count++>2){let n=e.read=new Function("r","return function(){return {"+e.map((e=>fJ.test(e)?e+":r()":"["+JSON.stringify(e)+"]:r()")).join(",")+"}}")(pJ);return 0===e.highByte&&(e.read=gJ(t,e.read)),n()}let r={};for(let t=0,n=e.length;t<n;t++){r[e[t]]=pJ()}return r}return n.count=0,0===e.highByte?gJ(t,n):n}var gJ=(e,t)=>function(){let n=Lz[_z++];if(0===n)return t();let r=e<32?-(e+(n<<5)):e+(n<<5),i=Fz[r]||yJ()[r];if(!i)throw new Error("Record id is not defined for "+r);return i.read||(i.read=mJ(i,e)),i.read()};function yJ(){let e=DJ((()=>(Lz=null,nJ.getStructures())));return Fz=nJ._mergeStructures(e,Fz)}var vJ=bJ,xJ=bJ,SJ=bJ,AJ=bJ;function bJ(e){let t;if(e<16&&(t=PJ(e)))return t;if(e>64&&zz)return zz.decode(Lz.subarray(_z,_z+=e));let n=_z+e,r=[];for(t="";_z<n;){let e=Lz[_z++];if(0===(128&e))r.push(e);else if(192===(224&e)){let t=63&Lz[_z++];r.push((31&e)<<6|t)}else if(224===(240&e)){let t=63&Lz[_z++],n=63&Lz[_z++];r.push((31&e)<<12|t<<6|n)}else if(240===(248&e)){let t=(7&e)<<18|(63&Lz[_z++])<<12|(63&Lz[_z++])<<6|63&Lz[_z++];t>65535&&(t-=65536,r.push(t>>>10&1023|55296),t=56320|1023&t),r.push(t)}else r.push(e);r.length>=4096&&(t+=jJ.apply(String,r),r.length=0)}return r.length>0&&(t+=jJ.apply(String,r)),t}function kJ(e){let t=new Array(e);for(let n=0;n<e;n++)t[n]=pJ();return t}function wJ(e){if(nJ.mapsAsObjects){let t={};for(let n=0;n<e;n++)t[CJ()]=pJ();return t}{let t=new Map;for(let n=0;n<e;n++)t.set(pJ(),pJ());return t}}var jJ=String.fromCharCode;function MJ(e){let t=_z,n=new Array(e);for(let r=0;r<e;r++){let e=Lz[_z++];if((128&e)>0)return void(_z=t);n[r]=e}return jJ.apply(String,n)}function PJ(e){if(e<4){if(e<2){if(0===e)return"";{let e=Lz[_z++];return(128&e)>1?void(_z-=1):jJ(e)}}{let t=Lz[_z++],n=Lz[_z++];if((128&t)>0||(128&n)>0)return void(_z-=2);if(e<3)return jJ(t,n);let r=Lz[_z++];return(128&r)>0?void(_z-=3):jJ(t,n,r)}}{let t=Lz[_z++],n=Lz[_z++],r=Lz[_z++],i=Lz[_z++];if((128&t)>0||(128&n)>0||(128&r)>0||(128&i)>0)return void(_z-=4);if(e<6){if(4===e)return jJ(t,n,r,i);{let e=Lz[_z++];return(128&e)>0?void(_z-=5):jJ(t,n,r,i,e)}}if(e<8){let a=Lz[_z++],s=Lz[_z++];if((128&a)>0||(128&s)>0)return void(_z-=6);if(e<7)return jJ(t,n,r,i,a,s);let o=Lz[_z++];return(128&o)>0?void(_z-=7):jJ(t,n,r,i,a,s,o)}{let a=Lz[_z++],s=Lz[_z++],o=Lz[_z++],l=Lz[_z++];if((128&a)>0||(128&s)>0||(128&o)>0||(128&l)>0)return void(_z-=8);if(e<10){if(8===e)return jJ(t,n,r,i,a,s,o,l);{let e=Lz[_z++];return(128&e)>0?void(_z-=9):jJ(t,n,r,i,a,s,o,l,e)}}if(e<12){let c=Lz[_z++],d=Lz[_z++];if((128&c)>0||(128&d)>0)return void(_z-=10);if(e<11)return jJ(t,n,r,i,a,s,o,l,c,d);let h=Lz[_z++];return(128&h)>0?void(_z-=11):jJ(t,n,r,i,a,s,o,l,c,d,h)}{let c=Lz[_z++],d=Lz[_z++],h=Lz[_z++],u=Lz[_z++];if((128&c)>0||(128&d)>0||(128&h)>0||(128&u)>0)return void(_z-=12);if(e<14){if(12===e)return jJ(t,n,r,i,a,s,o,l,c,d,h,u);{let e=Lz[_z++];return(128&e)>0?void(_z-=13):jJ(t,n,r,i,a,s,o,l,c,d,h,u,e)}}{let p=Lz[_z++],f=Lz[_z++];if((128&p)>0||(128&f)>0)return void(_z-=14);if(e<15)return jJ(t,n,r,i,a,s,o,l,c,d,h,u,p,f);let m=Lz[_z++];return(128&m)>0?void(_z-=15):jJ(t,n,r,i,a,s,o,l,c,d,h,u,p,f,m)}}}}}function OJ(e){return nJ.copyBuffers?Uint8Array.prototype.slice.call(Lz,_z,_z+=e):Lz.subarray(_z,_z+=e)}function TJ(e){let t=Lz[_z++];if(aJ[t])return aJ[t](Lz.subarray(_z,_z+=e));throw new Error("Unknown extension type "+t)}var IJ=new Array(4096);function CJ(){let e=Lz[_z++];if(!(e>=160&&e<192))return _z--,pJ();if(e-=160,iJ>=_z)return Zz.slice(_z-rJ,(_z+=e)-rJ);if(!(0==iJ&&Yz<180))return vJ(e);let t,n=4095&(e<<5^(e>1?Xz.getUint16(_z):e>0?Lz[_z]:0)),r=IJ[n],i=_z,a=_z+e-3,s=0;if(r&&r.bytes==e){for(;i<a;){if(t=Xz.getUint32(i),t!=r[s++]){i=1879048192;break}i+=4}for(a+=3;i<a;)if(t=Lz[i++],t!=r[s++]){i=1879048192;break}if(i===a)return _z=i,r.string;a-=3,i=_z}for(r=[],IJ[n]=r,r.bytes=e;i<a;)t=Xz.getUint32(i),r.push(t),i+=4;for(a+=3;i<a;)t=Lz[i++],r.push(t);let o=e<16?PJ(e):MJ(e);return r.string=null!=o?o:vJ(e)}var EJ=(e,t)=>{var n=pJ();let r=e;void 0!==t&&(e=e<32?-((t<<5)+e):(t<<5)+e,n.highByte=t);let i=Fz[e];return i&&i.isShared&&((Fz.restoreStructures||(Fz.restoreStructures=[]))[e]=i),Fz[e]=n,n.read=mJ(n,r),n.read()},VJ="object"==typeof self?self:global;aJ[0]=()=>{},aJ[0].noBuffer=!0,aJ[101]=()=>{let e=pJ();return(VJ[e[0]]||Error)(e[1])},aJ[105]=e=>{let t=Xz.getUint32(_z-4);Qz||(Qz=new Map);let n,r=Lz[_z];n=r>=144&&r<160||220==r||221==r?[]:{};let i={target:n};Qz.set(t,i);let a=pJ();return i.used?Object.assign(n,a):(i.target=a,a)},aJ[112]=e=>{let t=Xz.getUint32(_z-4),n=Qz.get(t);return n.used=!0,n.target},aJ[115]=()=>new Set(pJ());var RJ=["Int8","Uint8","Uint8Clamped","Int16","Uint16","Int32","Uint32","Float32","Float64","BigInt64","BigUint64"].map((e=>e+"Array"));function DJ(e){let t=Yz,n=_z,r=tJ,i=rJ,a=iJ,s=Zz,o=eJ,l=Qz,c=Kz,d=new Uint8Array(Lz.slice(0,Yz)),h=Fz,u=Fz.slice(0,Fz.length),p=nJ,f=cJ,m=e();return Yz=t,_z=n,tJ=r,rJ=i,iJ=a,Zz=s,eJ=o,Qz=l,Kz=c,Lz=d,cJ=f,(Fz=h).splice(0,Fz.length,...u),nJ=p,Xz=new DataView(Lz.buffer,Lz.byteOffset,Lz.byteLength),m}function BJ(){Lz=null,Qz=null,Fz=null}aJ[116]=e=>{let t=e[0],n=RJ[t];if(!n)throw new Error("Could not find typed array for code "+t);return new VJ[n](Uint8Array.prototype.slice.call(e,1).buffer)},aJ[120]=()=>{let e=pJ();return new RegExp(e[0],e[1])},aJ[98]=e=>{let t=(e[0]<<24)+(e[1]<<16)+(e[2]<<8)+e[3],n=_z;_z+=t-4,(Kz=[pJ(),pJ()]).position0=0,Kz.position1=0;let r=_z;_z=n;try{return pJ()}finally{_z=r}},aJ[255]=e=>4==e.length?new Date(1e3*(16777216*e[0]+(e[1]<<16)+(e[2]<<8)+e[3])):8==e.length?new Date(((e[0]<<22)+(e[1]<<14)+(e[2]<<6)+(e[3]>>2))/1e6+1e3*(4294967296*(3&e[3])+16777216*e[4]+(e[5]<<16)+(e[6]<<8)+e[7])):12==e.length?new Date(((e[0]<<24)+(e[1]<<16)+(e[2]<<8)+e[3])/1e6+1e3*((128&e[4]?-281474976710656:0)+1099511627776*e[6]+4294967296*e[7]+16777216*e[8]+(e[9]<<16)+(e[10]<<8)+e[11])):new Date("invalid");var GJ=new Array(147);for(let bre=0;bre<256;bre++)GJ[bre]=+("1e"+Math.floor(45.15-.30103*bre));var qJ,HJ=new dJ({useRecords:!1}),WJ=(HJ.unpack,HJ.unpackMultiple,HJ.unpack,new Float32Array(1));new Uint8Array(WJ.buffer,0,4);try{qJ=new TextEncoder}catch{}var zJ,JJ,UJ,NJ,LJ,YJ=typeof Buffer<"u",FJ=YJ?Buffer.allocUnsafeSlow:Uint8Array,ZJ=YJ?Buffer:Uint8Array,KJ=YJ?4294967296:2144337920,QJ=0,XJ=null,_J=/[\u0080-\uFFFF]/,$J=Symbol("record-id"),eU=class extends dJ{constructor(e){super(e),this.offset=0;let t,n,r,i,a,s=0,o=ZJ.prototype.utf8Write?function(e,t,n){return UJ.utf8Write(e,t,n)}:!(!qJ||!qJ.encodeInto)&&function(e,t){return qJ.encodeInto(e,UJ.subarray(t)).written},l=this;e||(e={});let c=e&&e.sequential,d=e.structures||e.saveStructures,h=e.maxSharedStructures;if(null==h&&(h=d?32:0),h>8160)throw new Error("Maximum maxSharedStructure is 8160");let u=e.maxOwnStructures;null==u&&(u=d?32:64),c&&!e.saveStructures&&(this.structures=[]);let p=h>32||u+h>64,f=h+64,m=h+u+64;if(m>8256)throw new Error("Maximum maxSharedStructure + maxOwnStructure is 8192");let g=[],y=0,v=0;this.pack=this.encode=function(e,o){if(UJ||(UJ=new FJ(8192),NJ=new DataView(UJ.buffer,0,8192),QJ=0),(LJ=UJ.length-10)-QJ<2048?(UJ=new FJ(UJ.length),NJ=new DataView(UJ.buffer,0,UJ.length),LJ=UJ.length-10,QJ=0):QJ=QJ+7&2147483640,t=QJ,a=l.structuredClone?new Map:null,l.bundleStrings?(XJ=["",""],UJ[QJ++]=214,UJ[QJ++]=98,XJ.position=QJ-t,QJ+=4):XJ=null,n=l.structures,n){n.uninitialized&&(n=l._mergeStructures(l.getStructures()));let e=n.sharedLength||0;if(e>h)throw new Error("Shared structures is larger than maximum shared structures, try increasing maxSharedStructures to "+n.sharedLength);if(!n.transitions){n.transitions=Object.create(null);for(let t=0;t<e;t++){let e=n[t];if(!e)continue;let r,i=n.transitions;for(let t=0,n=e.length;t<n;t++){let n=e[t];r=i[n],r||(r=i[n]=Object.create(null)),i=r}i[$J]=t+64}s=e}c||(n.nextId=e+64)}r&&(r=!1),i=n||[];try{if(x(e),XJ){NJ.setUint32(XJ.position+t,QJ-XJ.position-t);let e=XJ;XJ=null,x(e[0]),x(e[1])}if(l.offset=QJ,a&&a.idsToInsert){(QJ+=6*a.idsToInsert.length)>LJ&&A(QJ),l.offset=QJ;let e=function(e,t){let n,r=6*t.length,i=e.length-r;for(t.sort(((e,t)=>e.offset>t.offset?1:-1));n=t.pop();){let t=n.offset,a=n.id;e.copyWithin(t+r,t,i),r-=6;let s=t+r;e[s++]=214,e[s++]=105,e[s++]=a>>24,e[s++]=a>>16&255,e[s++]=a>>8&255,e[s++]=255&a,i=t}return e}(UJ.subarray(t,QJ),a.idsToInsert);return a=null,e}return o&uU?(UJ.start=t,UJ.end=QJ,UJ):UJ.subarray(t,QJ)}finally{if(n){if(v<10&&v++,y>1e4)n.transitions=null,v=0,y=0,g.length>0&&(g=[]);else if(g.length>0&&!c){for(let e=0,t=g.length;e<t;e++)g[e][$J]=0;g=[]}if(r&&l.saveStructures){let r=n.sharedLength||h;n.length>r&&(n=n.slice(0,r));let i=UJ.subarray(t,QJ);return!1===l.saveStructures(n,s)?(l._mergeStructures(l.getStructures()),l.pack(e)):(s=r,i)}}o&pU&&(QJ=t)}};let x=e=>{QJ>LJ&&(UJ=A(QJ));var n,r=typeof e;if("string"===r){let t,r=e.length;if(XJ&&r>=8&&r<4096){let t=_J.test(e);return XJ[t?0:1]+=e,UJ[QJ++]=193,void x(t?-r:r)}t=r<32?1:r<256?2:r<65536?3:5;let i=3*r;if(QJ+i>LJ&&(UJ=A(QJ+i)),r<64||!o){let i,a,s,o=QJ+t;for(i=0;i<r;i++)a=e.charCodeAt(i),a<128?UJ[o++]=a:a<2048?(UJ[o++]=a>>6|192,UJ[o++]=63&a|128):55296===(64512&a)&&56320===(64512&(s=e.charCodeAt(i+1)))?(a=65536+((1023&a)<<10)+(1023&s),i++,UJ[o++]=a>>18|240,UJ[o++]=a>>12&63|128,UJ[o++]=a>>6&63|128,UJ[o++]=63&a|128):(UJ[o++]=a>>12|224,UJ[o++]=a>>6&63|128,UJ[o++]=63&a|128);n=o-QJ-t}else n=o(e,QJ+t,i);n<32?UJ[QJ++]=160|n:n<256?(t<2&&UJ.copyWithin(QJ+2,QJ+1,QJ+1+n),UJ[QJ++]=217,UJ[QJ++]=n):n<65536?(t<3&&UJ.copyWithin(QJ+3,QJ+2,QJ+2+n),UJ[QJ++]=218,UJ[QJ++]=n>>8,UJ[QJ++]=255&n):(t<5&&UJ.copyWithin(QJ+5,QJ+3,QJ+3+n),UJ[QJ++]=219,NJ.setUint32(QJ,n),QJ+=4),QJ+=n}else if("number"===r)if(e>>>0===e)e<64?UJ[QJ++]=e:e<256?(UJ[QJ++]=204,UJ[QJ++]=e):e<65536?(UJ[QJ++]=205,UJ[QJ++]=e>>8,UJ[QJ++]=255&e):(UJ[QJ++]=206,NJ.setUint32(QJ,e),QJ+=4);else if(e>>0===e)e>=-32?UJ[QJ++]=256+e:e>=-128?(UJ[QJ++]=208,UJ[QJ++]=e+256):e>=-32768?(UJ[QJ++]=209,NJ.setInt16(QJ,e),QJ+=2):(UJ[QJ++]=210,NJ.setInt32(QJ,e),QJ+=4);else{let t;if((t=this.useFloat32)>0&&e<4294967296&&e>=-2147483648){let n;if(UJ[QJ++]=202,NJ.setFloat32(QJ,e),t<4||(n=e*GJ[(127&UJ[QJ])<<1|UJ[QJ+1]>>7])>>0===n)return void(QJ+=4);QJ--}UJ[QJ++]=203,NJ.setFloat64(QJ,e),QJ+=8}else if("object"===r)if(e){if(a){let n=a.get(e);if(n){if(!n.id){let e=a.idsToInsert||(a.idsToInsert=[]);n.id=e.push(n)}return UJ[QJ++]=214,UJ[QJ++]=112,NJ.setUint32(QJ,n.id),void(QJ+=4)}a.set(e,{offset:QJ-t})}let r=e.constructor;if(r===Object)S(e,!0);else if(r===Array){(n=e.length)<16?UJ[QJ++]=144|n:n<65536?(UJ[QJ++]=220,UJ[QJ++]=n>>8,UJ[QJ++]=255&n):(UJ[QJ++]=221,NJ.setUint32(QJ,n),QJ+=4);for(let t=0;t<n;t++)x(e[t])}else if(r===Map){(n=e.size)<16?UJ[QJ++]=128|n:n<65536?(UJ[QJ++]=222,UJ[QJ++]=n>>8,UJ[QJ++]=255&n):(UJ[QJ++]=223,NJ.setUint32(QJ,n),QJ+=4);for(let[t,n]of e)x(t),x(n)}else{for(let t=0,n=zJ.length;t<n;t++){if(e instanceof JJ[t]){let n=zJ[t];if(n.write)return n.type&&(UJ[QJ++]=212,UJ[QJ++]=n.type,UJ[QJ++]=0),void x(n.write.call(this,e));let r,i=UJ,a=NJ,s=QJ;UJ=null;try{r=n.pack.call(this,e,(e=>(UJ=i,i=null,(QJ+=e)>LJ&&A(QJ),{target:UJ,targetView:NJ,position:QJ-e})),x)}finally{i&&(NJ=a,QJ=s,LJ=(UJ=i).length-10)}return void(r&&(r.length+QJ>LJ&&A(r.length+QJ),QJ=rU(r,UJ,QJ,n.type)))}}S(e,!e.hasOwnProperty)}}else UJ[QJ++]=192;else if("boolean"===r)UJ[QJ++]=e?195:194;else if("bigint"===r){if(e<BigInt(1)<<BigInt(63)&&e>=-(BigInt(1)<<BigInt(63)))UJ[QJ++]=211,NJ.setBigInt64(QJ,e);else if(e<BigInt(1)<<BigInt(64)&&e>0)UJ[QJ++]=207,NJ.setBigUint64(QJ,e);else{if(!this.largeBigIntToFloat)throw new RangeError(e+" was too large to fit in MessagePack 64-bit integer format, set largeBigIntToFloat to convert to float-64");UJ[QJ++]=203,NJ.setFloat64(QJ,Number(e))}QJ+=8}else if("undefined"===r)this.encodeUndefinedAsNil?UJ[QJ++]=192:(UJ[QJ++]=212,UJ[QJ++]=0,UJ[QJ++]=0);else{if("function"!==r)throw new Error("Unknown type: "+r);x(this.writeFunction&&this.writeFunction())}},S=!1===this.useRecords?this.variableMapSize?e=>{let t,n=Object.keys(e),r=n.length;r<16?UJ[QJ++]=128|r:r<65536?(UJ[QJ++]=222,UJ[QJ++]=r>>8,UJ[QJ++]=255&r):(UJ[QJ++]=223,NJ.setUint32(QJ,r),QJ+=4);for(let i=0;i<r;i++)x(t=n[i]),x(e[t])}:(e,n)=>{UJ[QJ++]=222;let r=QJ-t;QJ+=2;let i=0;for(let t in e)(n||e.hasOwnProperty(t))&&(x(t),x(e[t]),i++);UJ[r+++t]=i>>8,UJ[r+t]=255&i}:e=>{let t,n=Object.keys(e),a=i.transitions||(i.transitions=Object.create(null)),s=0;for(let r=0,i=n.length;r<i;r++){let e=n[r];t=a[e],t||(t=a[e]=Object.create(null),s++),a=t}let o=a[$J];if(o)o>=96&&p?(UJ[QJ++]=96+(31&(o-=96)),UJ[QJ++]=o>>5):UJ[QJ++]=o;else{o=i.nextId,o||(o=64),o<f&&this.shouldShareStructure&&!this.shouldShareStructure(n)?(o=i.nextOwnId,o<m||(o=f),i.nextOwnId=o+1):(o>=m&&(o=f),i.nextId=o+1);let e=n.highByte=o>=96&&p?o-96>>5:-1;a[$J]=o,i[o-64]=n,o<f?(n.isShared=!0,i.sharedLength=o-63,r=!0,e>=0?(UJ[QJ++]=96+(31&o),UJ[QJ++]=e):UJ[QJ++]=o):(e>=0?(UJ[QJ++]=213,UJ[QJ++]=114,UJ[QJ++]=96+(31&o),UJ[QJ++]=e):(UJ[QJ++]=212,UJ[QJ++]=114,UJ[QJ++]=o),s&&(y+=v*s),g.length>=u&&(g.shift()[$J]=0),g.push(a),x(n))}for(let r=0,i=n.length;r<i;r++)x(e[n[r]])},A=e=>{let n;if(e>16777216){if(e-t>KJ)throw new Error("Packed buffer would be larger than maximum buffer size");n=Math.min(KJ,4096*Math.round(Math.max((e-t)*(e>67108864?1.25:2),4194304)/4096))}else n=1+(Math.max(e-t<<2,UJ.length-1)>>12)<<12;let r=new FJ(n);return NJ=new DataView(r.buffer,0,n),UJ.copy?UJ.copy(r,0,t,e):r.set(UJ.slice(t,e)),QJ-=t,t=0,LJ=r.length-10,UJ=r}}useBuffer(e){UJ=e,NJ=new DataView(UJ.buffer,UJ.byteOffset,UJ.byteLength),QJ=0}};function tU(e,t,n,r){let i=e.byteLength;if(i+1<256){var{target:a,position:s}=n(4+i);a[s++]=199,a[s++]=i+1}else if(i+1<65536){var{target:a,position:s}=n(5+i);a[s++]=200,a[s++]=i+1>>8,a[s++]=i+1&255}else{var{target:a,position:s,targetView:o}=n(7+i);a[s++]=201,o.setUint32(s,i+1),s+=4}a[s++]=116,a[s++]=t,a.set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),s)}function nU(e,t){let n=e.byteLength;var r,i;if(n<256){var{target:r,position:i}=t(n+2);r[i++]=196,r[i++]=n}else if(n<65536){var{target:r,position:i}=t(n+3);r[i++]=197,r[i++]=n>>8,r[i++]=255&n}else{var{target:r,position:i,targetView:a}=t(n+5);r[i++]=198,a.setUint32(i,n),i+=4}r.set(e,i)}function rU(e,t,n,r){let i=e.length;switch(i){case 1:t[n++]=212;break;case 2:t[n++]=213;break;case 4:t[n++]=214;break;case 8:t[n++]=215;break;case 16:t[n++]=216;break;default:i<256?(t[n++]=199,t[n++]=i):i<65536?(t[n++]=200,t[n++]=i>>8,t[n++]=255&i):(t[n++]=201,t[n++]=i>>24,t[n++]=i>>16&255,t[n++]=i>>8&255,t[n++]=255&i)}return t[n++]=r,t.set(e,n),n+=i}function iU(e){if(e.Class){if(!e.pack&&!e.write)throw new Error("Extension has no pack or write function");if(e.pack&&!e.type)throw new Error("Extension has no type (numeric code to identify the extension)");JJ.unshift(e.Class),zJ.unshift(e)}!function(e){e.unpack?aJ[e.type]=e.unpack:aJ[e.type]=e}(e)}JJ=[Date,Set,Error,RegExp,ArrayBuffer,Object.getPrototypeOf(Uint8Array.prototype).constructor,oJ],zJ=[{pack(e,t,n){let r=e.getTime()/1e3;if((this.useTimestamp32||0===e.getMilliseconds())&&r>=0&&r<4294967296){let{target:e,targetView:n,position:i}=t(6);e[i++]=214,e[i++]=255,n.setUint32(i,r)}else if(r>0&&r<17179869184){let{target:n,targetView:i,position:a}=t(10);n[a++]=215,n[a++]=255,i.setUint32(a,4e6*e.getMilliseconds()+(r/1e3/4294967296>>0)),i.setUint32(a+4,r)}else if(isNaN(r)){if(this.onInvalidDate)return t(0),n(this.onInvalidDate());let{target:e,targetView:r,position:i}=t(3);e[i++]=212,e[i++]=255,e[i++]=255}else{let{target:n,targetView:i,position:a}=t(15);n[a++]=199,n[a++]=12,n[a++]=255,i.setUint32(a,1e6*e.getMilliseconds()),i.setBigInt64(a+4,BigInt(Math.floor(r)))}}},{pack(e,t,n){let r=Array.from(e),{target:i,position:a}=t(this.structuredClone?3:0);this.structuredClone&&(i[a++]=212,i[a++]=115,i[a++]=0),n(r)}},{pack(e,t,n){let{target:r,position:i}=t(this.structuredClone?3:0);this.structuredClone&&(r[i++]=212,r[i++]=101,r[i++]=0),n([e.name,e.message])}},{pack(e,t,n){let{target:r,position:i}=t(this.structuredClone?3:0);this.structuredClone&&(r[i++]=212,r[i++]=120,r[i++]=0),n([e.source,e.flags])}},{pack(e,t){this.structuredClone?tU(e,16,t):nU(YJ?Buffer.from(e):new Uint8Array(e),t)}},{pack(e,t){let n=e.constructor;n!==ZJ&&this.structuredClone?tU(e,RJ.indexOf(n.name),t):nU(e,t)}},{pack(e,t){let{target:n,position:r}=t(1);n[r]=193}}];var aU,sU,oU=new eU({useRecords:!1}),{NEVER:lU,ALWAYS:cU,DECIMAL_ROUND:dU,DECIMAL_FIT:hU}=(oU.pack,oU.pack,{NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4}),uU=512,pU=1024,fU=new eU({structuredClone:!0});function mU(e){if(nz(e))return e;if(Array.isArray(e))return e.map(mU);if("object"==typeof e&&null!==e){let t={};for(let n of Object.keys(e).sort())t[n]=mU(e[n]);return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),t}return e}iU({Class:XW.prototype.constructor,type:1,write:e=>({...e}),read:e=>(Object.setPrototypeOf(e,XW.prototype),e)}),iU({Class:oz.prototype.constructor,type:2,write:e=>[...e],read:e=>(Object.setPrototypeOf(e,oz.prototype),e)}),iU({Class:sz.prototype.constructor,type:3,write:e=>[...e],read:e=>(Object.setPrototypeOf(e,sz.prototype),e)}),iU({Class:Uz.prototype.constructor,type:4,write:e=>e.id,read:e=>new Uz(e)}),iU({Class:Nz.prototype.constructor,type:5,write:e=>e.data,read:e=>new Nz(e)}),iU({Class:pz.prototype.constructor,type:6,write:e=>({...e}),read:e=>(Object.setPrototypeOf(e,pz.prototype),e)}),(e=>{function t(e){return fU.pack(e)}e.serialize=t,e.deserialize=function(e){return fU.unpack(e)},e.checksum=function(e){return function(e){var t=0;if(0===e.length)return t;for(let n=0;n<e.length;n++)t=(t<<5)-t+e[n],t&=t;return t}(t(mU(e))).toString()}})(aU||(aU={})),(e=>{e.toEventUIType=function(e){return"Conditional"===e.type?"Distance"===e.condition.type?"Distance":"StateChange":e.type},e.fromEventUIType=function(e){return"Distance"===e||"StateChange"===e?"Conditional":e}})(sU||(sU={}));var gU,yU,vU,xU,SU,AU,bU,kU,wU,jU,MU,PU,OU,TU,IU={LookAt:[],Follow:["Create"],DragDrop:["Transition","Animation","Audio","Particles","Create","SetVariable","DynamicVariablePlay","Conditional"],MouseHover:["Transition","Animation","Particles","Create","Destroy","SwitchCamera","SceneTransition","SetVariable","DynamicVariablePlay","Conditional"],Scroll:["Transition","Animation","Create","SetVariable","DynamicVariablePlay","Conditional"],Start:["Transition","Animation","Audio","Particles","Video","Create","Destroy","SwitchCamera","SceneTransition","Reset","SetVariable","DynamicVariablePlay","Conditional"],Conditional:["Transition","Animation","Audio","Particles","Video","Link","Create","Destroy","SwitchCamera","SceneTransition","Reset","SetVariable","DynamicVariablePlay","Conditional"],MouseDown:["Transition","Animation","Audio","Particles","Video","Link","Create","Destroy","SwitchCamera","SceneTransition","Reset","SetVariable","DynamicVariablePlay","Conditional"],MouseUp:["Transition","Animation","Audio","Particles","Video","Link","Create","Destroy","SwitchCamera","SceneTransition","Reset","SetVariable","DynamicVariablePlay","Conditional"],MousePress:["Transition","Animation","Audio","Particles","Video","Link","Create","SwitchCamera","SceneTransition","Reset","SetVariable","DynamicVariablePlay","Conditional"],KeyDown:["Transition","Animation","Audio","Particles","Video","Link","Create","Destroy","SwitchCamera","SceneTransition","Reset","SetVariable","DynamicVariablePlay","Conditional"],KeyUp:["Transition","Animation","Audio","Particles","Video","Link","Create","Destroy","SwitchCamera","SceneTransition","Reset","SetVariable","DynamicVariablePlay","Conditional"],KeyPress:["Transition","Animation","Audio","Particles","Video","Link","Create","SwitchCamera","Reset","SetVariable","DynamicVariablePlay","Conditional"],GameControl:["Transition","Animation","Audio","Particles","Create","Conditional"],Collision:["Transition","Animation","Audio","Particles","Video","Create","Destroy","Reset","SetVariable","DynamicVariablePlay","Conditional"],Trigger:["Transition","Audio","Particles","Video","Link","Create","Destroy","SwitchCamera","SceneTransition","Reset","SetVariable","DynamicVariablePlay","Conditional"],Resize:["Transition","Animation","Audio","Particles","Video","Create","Destroy","SwitchCamera","SceneTransition","Reset","SetVariable","DynamicVariablePlay","Conditional"],VariableChange:["Transition","Animation","Audio","Particles","Video","Link","Create","Destroy","SwitchCamera","SceneTransition","Reset","SetVariable","DynamicVariablePlay","Conditional"]};(e=>{e.is=function(e){return"MouseDown"===e.type||"MouseUp"===e.type||"MousePress"===e.type||"KeyDown"===e.type||"KeyUp"===e.type||"KeyPress"===e.type},e.defaultData=function(e){return"MouseDown"===e||"MouseUp"===e||"MousePress"===e?{type:e,mode:"Object",disabled:!1,runMode:"Once",actions:new oz}:{type:e,disabled:!1,key:void 0,runMode:"Once",actions:new oz}}})(gU||(gU={})),(e=>{e.propertyDefaultData=function(e){return{type:"Property",value:[null!==e&&void 0!==e?e:null,"position","x"]}},e.valueDefaultData={type:"Literal",value:0}})(yU||(yU={})),(e=>{e.comparisonDefaultData=function(e){return{type:"Comparison",operator:"==",lOperand:yU.propertyDefaultData(e),rOperand:{...yU.valueDefaultData}}},e.distanceDefaultData=function(e){return{type:"Distance",toObject:null!==e&&void 0!==e?e:null,fromObject:null!==e&&void 0!==e?e:null,distance:200}},e.stateDefaultData=function(e,t){return{type:"State",object:null!==e&&void 0!==e?e:null,state:null!==t&&void 0!==t?t:null}}})(vU||(vU={})),(e=>{e.is=function(e){return"Conditional"===e.type},e.defaultData=function(e){return{type:"Conditional",disabled:!1,inActions:new oz,outActions:new oz,condition:vU.distanceDefaultData(e)}}})(xU||(xU={})),(e=>{e.defaultData={type:"DragDrop",cursor:"hand",disabled:!1,dampingFactor:1,objects:[],snapTo:"center",snapSurfaceMode:"bbox",snapSurfaceOffset:0,dropOn:"all",autoOrient:!0,dropDestinations:[],plane:"adaptive",planeMode:"locked",referenceFrame:"global",limits:[-1/0,1/0,-1/0,1/0,-1/0,1/0],drop:!1,resetOnSnapFail:!1,snapSpeed:20,resetSpeed:20,dragDropActions:{drag:new oz,drop:new oz}}})(SU||(SU={})),(e=>{e.defaultData={type:"Follow",disabled:!1,maxDelta:0,dampingFactor:1,target:"cursor",plane:"custom",resetOnPointerLeave:!0,resetAfterDistanceLimit:!0,enabledTranslation:[!0,!0,!0],limitDistanceEnabled:!1,limitDistance:1e3,snapDelay:0,resetSpeed:5,actions:new oz}})(AU||(AU={})),(e=>{e.defaultData={type:"LookAt",disabled:!1,distance:1e3,dampingFactor:1,target:"cursor",tilt:"up",axis:"z",plane:"custom",resetOnPointerLeave:!0,resetAfterDistanceLimit:!0,enabledRotation:[!0,!0,!0],limitDistanceEnabled:!1,limitDistance:1e3,snapDelay:0,resetSpeed:5}})(bU||(bU={})),(e=>{e.is=function(e){return"MouseHover"===e.type},e.defaultData=function(){return{type:"MouseHover",disabled:!1,actions:new oz}}})(kU||(kU={})),(e=>{e.is=function(e){return"Scroll"===e.type},e.defaultData=function(){return{type:"Scroll",disabled:!1,steps:100,trigger:"load",startFrom:"enter",enterAnchor:"top",startOffset:0,endAfter:400,actions:new oz}}})(wU||(wU={})),(e=>{e.is=function(e){return"Start"===e.type},e.defaultData=function(){return{type:"Start",disabled:!1,actions:new oz}}})(jU||(jU={})),(e=>{e.is=function(e){return"Collision"===e.type},e.defaultData=function(){return{type:"Collision",disabled:!1,runMode:"Once",target:"character",actions:new oz}}})(MU||(MU={})),(e=>{e.is=function(e){return"Trigger"===e.type},e.defaultData=function(e,t){return{type:"Trigger",disabled:!1,runMode:"Once",target:"all",triggeringObjects:[],actions:new oz,triggerZone:"box",position:t.toArray(),rotation:[0,0,0],size:e.toArray(),radius:e.length()/2,helperVisible:!0}}})(PU||(PU={})),(e=>{e.defaultSizes={mobile:[480,480],tablet:[768,768],desktop:[1200,1200],custom:[769,1200]},e.is=function(e){return"Resize"===e.type},e.sizeToDevice=function(e){return"string"==typeof e?e:"custom"},e.deviceToSize=function(t){return"string"==typeof t?[...e.defaultSizes[t]]:[...t]},e.defaultData=function(){let t={size:"mobile",operator:"<",actions:new oz},n={size:"tablet",operator:"<",actions:new oz},r={size:[...e.defaultSizes.custom],operator:"<>",actions:new oz},i=new oz;return i.push({id:lM.generateUUID(),fi:0,data:t},{id:lM.generateUUID(),fi:1,data:n},{id:lM.generateUUID(),fi:2,data:r}),{type:"Resize",disabled:!1,orientation:"horizontal",breakpoints:i}},e.defaultBreakpointData=function(){return{size:[...e.defaultSizes.custom],operator:"<>",actions:new oz}}})(OU||(OU={})),(e=>{e.propertyPaths={Position:["position"],"Position X":["position","x"],"Position Y":["position","y"],"Position Z":["position","z"],Rotation:["rotation"],"Rotation X":["rotation","x"],"Rotation Y":["rotation","y"],"Rotation Z":["rotation","z"],Scale:["scale"],"Scale X":["scale","x"],"Scale Y":["scale","y"],"Scale Z":["scale","z"],Width:["width"],Height:["height"],Depth:["depth"],"Mouse Position X":["mouse","x"],"Mouse Position Y":["mouse","y"],"Mouse Pressed":["mouse","pressed"],"Screen Width":["mouse","width"],"Screen Height":["mouse","height"],"Hit Position X":["raycast","x"],"Hit Position Y":["raycast","y"],"Hit Position Z":["raycast","z"],"Hit Object Position X":["raycast","objX"],"Hit Object Position Y":["raycast","objY"],"Hit Object Position Z":["raycast","objZ"]},e.is=function(e){return"VariableChange"===e.type},e.defaultData=function(){return{disabled:!1,type:"VariableChange",actions:new oz,variableId:"",objectId:null,property:"Position X"}}})(TU||(TU={}));var CU,EU,VU,RU,DU,BU,GU,qU,HU,WU,zU,JU,UU,NU,LU="personal camera",YU="a218fcc3-276b-49b9-b485-49037fd14f5f",FU=5526619;function ZU(e){return"string"==typeof e&&36===e.length&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)}(e=>{function t(e,t){return Math.pow(t[0]-e[0],2)+Math.pow(t[1]-e[1],2)}function n(e,n){return Math.sqrt(t(e,n))}function r(t,n,r){let i=e.sub(n,t),a=e.sub(r,t),s=e.dot(i,a)/e.dot(i,i),o=e.scalarMultiply(i,s);return e.add(t,o)}e.isEqual=function(e,t){return e[0]===t[0]&&e[1]===t[1]},e.lerp=function(e,t,n){return[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n]},e.add=function(e,t){return[e[0]+t[0],e[1]+t[1]]},e.sub=function(e,t){return[e[0]-t[0],e[1]-t[1]]},e.multiply=function(e,t){return[e[0]*t[0],e[1]*t[1]]},e.divide=function(e,t){return[e[0]/t[0],e[1]/t[1]]},e.distanceSquared=t,e.distance=n,e.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]},e.scalarMultiply=function(e,t){return[e[0]*t,e[1]*t]},e.projectionOnto=r,e.projectionOntoDistance=function(e,t,i){return n(e,r(e,t,i))},e.center=function(e,t){return[.5*(e[0]+t[0]),.5*(e[1]+t[1])]}})(CU||(CU={})),(e=>{e.isEqual=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]},e.add=function(e,t){return[e[0]+t[0],e[1]+t[1],e[2]+t[2]]},e.sub=function(e,t){return[e[0]-t[0],e[1]-t[1],e[2]-t[2]]},e.div=function(e,t){return[e[0]/t[0],e[1]/t[1],e[2]/t[2]]},e.mul=function(e,t){return[e[0]*t[0],e[1]*t[1],e[2]*t[2]]},e.dist=function(e,t){return Math.hypot(e[0]-t[0],e[1]-t[1],e[2]-t[2])},e.lerp=function(e,t,n){return[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n,e[2]+(t[2]-e[2])*n]}})(EU||(EU={})),(e=>{e.isEqual=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]},e.lerp=function(e,t,n){return[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n,e[2]+(t[2]-e[2])*n,e[3]+(t[3]-e[3])*n]}})(VU||(VU={})),(e=>{e.identity=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e.isEqual=function(e,t){for(let n=0;n<16;n++)if(e[n]!==t[n])return!1;return!0},e.simplify=function(t){return null!==t&&void 0!==t?t:e.identity},e.applyMatrix4=function(e,t){let n=t.slice(0);for(var r=0,i=t.length;r<i;r+=3){let i=e[3]*t[r]+e[7]*t[r+1]+e[11]*t[r+2]+e[15];n[r]=(e[0]*t[r]+e[4]*t[r+1]+e[8]*t[r+2]+e[12])/i,n[r+1]=(e[1]*t[r]+e[5]*t[r+1]+e[9]*t[r+2]+e[13])/i,n[r+2]=(e[2]*t[r]+e[6]*t[r+1]+e[10]*t[r+2]+e[14])/i}return n}})(RU||(RU={})),(e=>{e.isRGB=function(e){return"object"==typeof e&&"number"==typeof e.r&&"number"==typeof e.g&&"number"==typeof e.b},e.white={r:1,g:1,b:1},e.red={r:1,g:0,b:0},e.black={r:0,g:0,b:0},e.toRgb255a1=function(e){return{r:Math.round(255*e.r),g:Math.round(255*e.g),b:Math.round(255*e.b),a:1}},e.clone=function(e){return{r:e.r,g:e.g,b:e.b}},e.fromHex=function(e){return{r:((e=Math.floor(e))>>16&255)/255,g:(e>>8&255)/255,b:(255&e)/255}},e.toHex=function(e){return 65536*Math.round(255*e.r)+256*Math.round(255*e.g)+Math.round(255*e.b)},e.equals=function(e,t){return e.r===t.r&&e.g===t.g&&e.b===t.b},e.equalsFixed=function(e,t){return e.r.toFixed(2)===t.r.toFixed(2)&&e.g.toFixed(2)===t.g.toFixed(2)&&e.b.toFixed(2)===t.b.toFixed(2)},e.lerp=function(e,t,n){return{r:e.r+(t.r-e.r)*n,g:e.g+(t.g-e.g)*n,b:e.b+(t.b-e.b)*n}}})(DU||(DU={})),(e=>{e.white={...DU.white,a:1},e.transparent={...DU.white,a:0},e.from0to1=function(e){return{r:e[0],g:e[1],b:e[2],a:e[3]}},e.fromHexAndA=function(e,t){return{...DU.fromHex(e),a:t}},e.toRgb255a1=function(e){return{r:Math.round(255*e.r),g:Math.round(255*e.g),b:Math.round(255*e.b),a:e.a}},e.equals=function(e,t){return DU.equals(e,t)&&e.a===t.a},e.equalsFixed=function(e,t){return DU.equalsFixed(e,t)&&e.a.toFixed(2)===t.a.toFixed(2)},e.lerp=function(e,t,n){return{r:e.r+(t.r-e.r)*n,g:e.g+(t.g-e.g)*n,b:e.b+(t.b-e.b)*n,a:e.a+(t.a-e.a)*n}},e.toStyle=function(){let{r:t,g:n,b:r,a:i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e.white;return"rgba(".concat(255*t,", ").concat(255*n,", ").concat(255*r,", ").concat(i,")")}})(BU||(BU={})),(e=>{e.identity={position:[0,0,0],rotation:[0,0,0],scale:[1,1,1]}})(GU||(GU={})),(e=>{e.defaultData={mass:1,stiffness:80,damping:10,velocity:0}})(qU||(qU={})),(e=>{e.defaultData={control1:[.5,0],control2:[.5,1]}})(HU||(HU={})),(e=>{e.linear=[0,0,1,1],e.ease=[.25,.1,.25,1],e.easeIn=[.42,0,1,1],e.easeOut=[0,0,.58,1],e.easeInOut=[.42,0,.58,1]})(WU||(WU={})),(e=>{e.all=["PerspectiveCamera","OrthographicCamera"],e.is=function(t){return e.all.includes(t)}})(zU||(zU={})),(e=>{e.DefaultUp=[0,1,0],e.DefaultTargetOffset=1e3,e.defaultData={far:1e5,type:"OrthographicCamera",perspective:{near:70,fov:45,zoom:1},orthographic:{near:-1e5,zoom:1},up:e.DefaultUp,isUpVectorFlipped:!1,targetOffset:e.DefaultTargetOffset},e.getZoom=function(e){return"PerspectiveCamera"===e.type?e.perspective.zoom:e.orthographic.zoom}})(JU||(JU={})),(e=>{e.defaultData=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.1;return{disabled:!1,type:"linear",hideBase:!1,count:3,radial:{radius:2*Math.max(e[0],e[1]),start:0,end:360,alignment:!1,axis:"y",scale:[1,1,1],rotation:[0,0,0],position:[0,0,0]},toObject:{object:"",spreadType:"random",scale:[0,0,0],rotation:[0,0,0],position:[0,0,0],axis:"x",seed:0,count:99,align:"normal"},linear:{scale:[1,1,1],rotation:[0,0,0],position:[e[0]+e[0]*t,0,0]},grid:{count:[2,2,2],size:e.map((e=>e*(1+t))),useCenter:!0},randomness:!1,randomnessObject:{strength:100,scale:[0,0,0],rotation:[0,0,0],position:[0,0,0],movement:1,seed:0,freqScale:10,noiseType:"perlin"}}},e.merge=function(e,t){let n={...e};if(sN.forEach((r=>{var i;Object.assign(n,{[r]:null!==(i=t[r])&&void 0!==i?i:e[r]})})),n.radial={...e.radial},t.radial){let r=e.radial,i=t.radial;oN.forEach((e=>{var t;Object.assign(n.radial,{[e]:null!==(t=i[e])&&void 0!==t?t:r[e]})}))}if(n.linear={...e.linear},t.linear){let r=e.linear,i=t.linear;lN.forEach((e=>{var t;Object.assign(n.linear,{[e]:null!==(t=i[e])&&void 0!==t?t:r[e]})}))}if(n.grid={...e.grid},t.grid){let r=e.grid,i=t.grid;cN.forEach((e=>{var t;Object.assign(n.grid,{[e]:null!==(t=i[e])&&void 0!==t?t:r[e]})}))}if(n.toObject={...e.toObject},t.toObject){let r=e.toObject,i=t.toObject;dN.forEach((e=>{var t;Object.assign(n.toObject,{[e]:null!==(t=i[e])&&void 0!==t?t:r[e]})}))}if(n.randomnessObject={...e.randomnessObject},t.randomnessObject){let r=e.randomnessObject,i=t.randomnessObject;hN.forEach((e=>{var t;Object.assign(n.randomnessObject,{[e]:null!==(t=i[e])&&void 0!==t?t:r[e]})}))}return n}})(UU||(UU={})),(e=>{e.defaultData={radial:{},linear:{},grid:{},toObject:{},randomnessObject:{}};let t=["radial","linear","grid","toObject","randomnessObject"];e.toOps=function(e,n){let r=[];void 0!==e.count&&r.push({type:0,path:n,props:{count:e.count}});for(let i of t){let t=e[i];t&&Object.keys(t).length>0&&r.push({type:0,path:[...n,i],props:t})}return r}})(NU||(NU={}));var KU,QU,XU,_U,$U,eN,tN,nN,rN,iN,aN,sN=["count"],oN=["radius","start","end","position","scale","rotation"],lN=["position","scale","rotation"],cN=["count","size"],dN=["count","position","scale","rotation"],hN=["strength","scale","rotation","position","movement","seed","freqScale"];(e=>{e.all=["PointLight","SpotLight","DirectionalLight","HemisphereLight"],e.is=function(t){return e.all.includes(t)}})(KU||(KU={})),(e=>{e.defaultData=function(e){return function(e){if("PointLight"===e)return{type:e,color:BU.white,intensity:1,distance:2e3,decay:1,shadows:!0,shadowResolution:1024,shadowRadius:1,penumbraSize:.5,depth:1e5};if("SpotLight"===e)return{type:e,color:BU.white,intensity:1,distance:2e3,decay:1,shadows:!0,penumbra:0,angle:30/180*Math.PI,depth:1e5,penumbraSize:.5,shadowResolution:1024,shadowRadius:1};if("DirectionalLight"===e)return{type:e,color:BU.white,intensity:1,shadows:!0,size:2e3,depth:1e5,penumbraSize:.5,shadowResolution:1024,shadowRadius:1};throw new Error("not implemented")}(e)}})(QU||(QU={})),(e=>{e.defaultShapeData={type:"PlaneEmitterShape",size:[100,100,100]},e.defaultCollisionData={colliderEntityId:null,collisionBounce:.75},e.defaultData={renderMaterial:{type:"particleMaterial",color:{r:1,g:.2,b:.545,a:1},color2:{r:.945,g:.714,b:.184,a:1},coloring:"gradient",ease:"linearFadeOut",easeSize:"linearFadeOut",transparent:!0,size:[40,40],texture:"pt_default_particle",spriteRotation:[0,0]},birthRatePerSec:50,gravity:1,noiseStrength:0,noiseScale:0,noiseSeed:1,noiseType:"curl",randomRotation:0,randomScale:.2,randomMass:.5,rootObjectType:"instancedMesh",life:1,direction:[0,0,0],directionMode:"axis",speed:10,shape:e.defaultShapeData,autoPlay:!0,emitTimeDelay:0,emitTimeCycle:"infinity",emitTimeLoopDelayStart:"end",emitTimeDuration:1,...e.defaultCollisionData}})(XU||(XU={})),(e=>{e.defaultData={enabled:"visibility",fusedBody:!0,rigidBody:"positioned",density:1,pointMass:0,gravityScale:1,friction:.5,damping:0,restitution:.2,colliderType:"convex",enabledRotation:[!0,!0,!0],enabledTranslation:[!0,!0,!0]}})(_U||(_U={})),(e=>{e.defaultData={castShadow:!0,receiveShadow:!0},e.equals=function(e,t){return e.castShadow===t.castShadow&&e.receiveShadow===t.receiveShadow}})($U||($U={})),(e=>{e.defaultData={flatShading:!1,wireframe:!1,side:0},e.equals=function(e,t){return e.flatShading===t.flatShading&&e.side===t.side&&e.wireframe===t.wireframe}})(eN||(eN={})),(e=>{e.defaultData={...eN.defaultData,...$U.defaultData}})(tN||(tN={})),(e=>{e.getMaterialData=function(e,t){let n=[];if("material"in e){var r,i;let a="string"==typeof e.material?null!==(r=t.materials[e.material])&&void 0!==r?r:null===(i=t.lib.materials[e.material])||void 0===i?void 0:i.asset:e.material;a&&n.push(a)}else if("materials"in e)for(let o of e.materials){var a,s;let e="string"==typeof o?null!==(a=t.materials[o])&&void 0!==a?a:null===(s=t.lib.materials[o])||void 0===s?void 0:s.asset:o;e&&n.push(e)}return n}})(nN||(nN={})),(e=>{e.defaultVideo={data:"",thumb:"/_assets/_videos/catThumb.png",type:"video",name:"Cat video"},e.maxSize=3e7})(rN||(rN={})),(e=>{e.is=function(e){return"texture"===e||"video"===e||"color"===e||"depth"===e||"normal"===e||"gradient"===e||"noise"===e||"fresnel"===e||"rainbow"===e||"toon"===e||"outline"===e||"particle"===e||"transmission"===e||"matcap"===e||"displace"===e||"pattern"===e||"light"===e}})(iN||(iN={})),(e=>{e.is=function(e){return"phong"===e||"toon"===e||"lambert"===e||"physical"===e}})(aN||(aN={}));var uN,pN,fN,mN,gN=["mode","gradientType","noiseType","displacementType","projection","cnormal","crop","axis","side"],yN=["wrapping","image","video","name","minFilter"];(e=>{e.patch=function(e,t){let{texture:n,...r}=t;if(Object.assign(e,r),n){let t=e.texture;t&&Object.assign(t,n)}},e.defaultData=function(e,t){return"light"===e&&t?function(e){let t={mode:0,isMask:!1,visible:!0,bumpMap:void 0,bumpMapIntensity:5,roughnessMap:void 0,alphaOverride:1};switch(e){case"phong":return{...t,category:"phong",specular:{r:.2,g:.2,b:.2},shininess:5,type:"light",visible:!0,mode:0,occlusion:!0,alpha:.6};case"toon":return{...t,category:"toon",specular:{r:.2,g:.2,b:.2},shininess:10,type:"light",alpha:1};case"lambert":return{...t,category:"lambert",emissive:{r:0,g:0,b:0},type:"light",alpha:1,visible:!0,mode:0,occlusion:!0};case"physical":return{...t,category:"physical",roughness:.2,metalness:.2,reflectivity:.2,type:"light",alpha:1,visible:!0,mode:0,occlusion:!0}}}(t):function(e){let t={alpha:1,mode:0,isMask:!1,visible:!0};switch(e){case"texture":return{...t,type:"texture",size:[128,128],blending:0,axis:"x",side:2,projection:0,texture:{image:"image_0",wrapping:1e3,repeat:[1,1],offset:[0,0],minFilter:1008},crop:!1};case"video":return{...t,type:"video",size:[128,128],blending:0,axis:"x",side:2,projection:0,texture:{video:rN.defaultVideo,wrapping:1001,repeat:[1,1],offset:[0,0],minFilter:1008},crop:!1};case"color":return{...t,type:"color",color:DU.fromHex(FU)};case"depth":return{...t,type:"depth",gradientType:1,smooth:!1,isVector:!0,isWorldSpace:!1,origin:[0,0,0],direction:[1,0,0],colors:[[1,1,1,1],[0,0,0,1]],steps:[0,1],near:50,far:200};case"normal":return{...t,type:"normal",cnormal:[1,1,1]};case"gradient":return{...t,type:"gradient",gradientType:0,smooth:!1,colors:[[0,0,0,1],[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1]],steps:[0,1,1,1,1,1,1,1,1,1],num:2,angle:0,offset:[0,0],morph:[0,0]};case"noise":return{...t,type:"noise",size:[100,100,100],noiseType:0,scale:1,move:1,colorA:{...DU.fromHex(6710886),a:1},colorB:{...DU.fromHex(6710886),a:1},colorC:{...DU.fromHex(16777215),a:1},colorD:{...DU.fromHex(16777215),a:1},distortion:[1,1],fA:[1.7,9.2],fB:[8.3,2.8],voronoiStyle:0,highCut:1,lowCut:0,smoothness:.3,seed:0,quality:1};case"fresnel":return{...t,type:"fresnel",color:BU.fromHexAndA(16777215,1),bias:.1,scale:1,intensity:2,factor:1};case"rainbow":return{...t,type:"rainbow",filmThickness:30,movement:0,wavelengths:[0,0,0],noiseStrength:0,noiseScale:1,offset:[0,0,0]};case"toon":return{...t,type:"toon",positioning:2,colors:[[0,0,0,1],[.5,.5,.5,1],[.5,.5,.5,1],[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1],[1,1,1,1]],steps:[0,.475,.525,1,1,1,1,1,1,1],num:4,source:[0,1e3,0],isWorldSpace:!0,noiseStrength:0,noiseScale:1,shadowColor:BU.fromHexAndA(0,0),offset:[0,0,0]};case"outline":return{...t,type:"outline",outlineColor:BU.fromHexAndA(0,1),contourColor:BU.fromHexAndA(0,1),outlineWidth:2,contourWidth:5,outlineThreshold:.4,contourThreshold:0,outlineSmoothing:0,contourFrequency:10,contourDirection:[0,1,0],positionalLines:!1,compensation:!0};case"matcap":return{...t,type:"matcap",texture:{image:"matcap_0",wrapping:1001,repeat:[1,1],offset:[0,0],minFilter:1008}};case"transmission":return{...t,type:"transmission",thickness:10,ior:1.5,roughness:1};case"displace":return{visible:!0,type:"displace",displacementType:"noise",noiseType:0,scale:10,movement:1,offset:[0,0,0],intensity:8,voronoiStyle:0,smoothness:.3,seed:0,highCut:1,lowCut:0,quality:1};case"pattern":return{...t,type:"pattern",style:0,projection:0,axis:"y",blending:0,offset:[0,0],colorA:{...DU.fromHex(0),a:1},colorB:{...DU.fromHex(16777215),a:1},frequency:[10,10],size:.5,variation:0,smoothness:.5,zigzag:0,rotation:0,vertical:[0,1],horizontal:[0,1],sides:6}}}(e)}})(uN||(uN={})),(e=>{function t(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"layer1",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"layer2",r=new oz;return r.push({fi:0,data:uN.defaultData("light",e),id:t}),r.push({fi:1,data:uN.defaultData("color"),id:n}),{layers:r}}e.isMergable=function(e){return!e.layers.some((e=>"texture"===e.data.type&&0!==e.data.projection||"depth"===e.data.type&&!e.data.isWorldSpace||"noise"===e.data.type||"displace"===e.data.type))},e.getHash=function(e){let t="";return e.layers.forEach((e=>{Object.entries(e.data).forEach((e=>{let[n,r]=e;t+="".concat(n).concat(r),Array.isArray(r)?r.forEach((e=>t+="".concat(e))):"object"==typeof r?Object.values(r).forEach((e=>{t+="".concat("number"==typeof e?e.toFixed(4):e)})):t+="".concat(r)}))})),t},e.defaultEmptyData=function(){return{layers:new oz}},e.defaultData=function(){return t("phong",arguments.length>0&&void 0!==arguments[0]?arguments[0]:"layer1",arguments.length>1&&void 0!==arguments[1]?arguments[1]:"layer2")},e.withName=function(e,t){return{...e,name:t}},e.defaultTwoLayerData=t,e.defaultUIObjectMaterial=function(e){let t=uN.defaultData("texture");e&&Object.assign(t.texture,{image:e});let n=new oz;return n.push({fi:0,data:t,id:"layer1"}),n.push({fi:1,data:{...uN.defaultData("transmission"),alpha:1},id:"layer2"}),n.push({fi:2,data:{...uN.defaultData("light","lambert"),alpha:0},id:"layer3"}),{layers:n}},e.defaultTwoLayerTextureData=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"phong",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"layer1",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"layer2",i=uN.defaultData("texture");Object.assign(i.texture,{image:e});let a=new oz;return a.push({fi:0,data:i,id:n}),a.push({fi:1,data:uN.defaultData("light",t),id:r}),{layers:a}},e.defaultTwoLayerVideoTextureData=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"phong",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"layer1",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"layer2",i=uN.defaultData("video");Object.assign(i.texture,{video:e});let a=new oz;return a.push({fi:0,data:i,id:n}),a.push({fi:1,data:uN.defaultData("light",t),id:r}),{layers:a}}})(pN||(pN={})),(e=>{e.defaultData=function(){return{points:new oz,roundness:0,shapeHoles:[],isClosed:!1}}})(fN||(fN={})),(e=>{e.defaultData=function(){return{points:new oz,lastInsertionPlane:null,subdivisions:12,isClosed:!1}}})(mN||(mN={}));var vN,xN={type:"Ellipse",width:50,height:50,spikes:16,angle:360,innerRadius:0};(e=>{e.merge=function(e,t){let n={...e};return wN.forEach((r=>{var i;Object.assign(n,{[r]:null!==(i=t[r])&&void 0!==i?i:e[r]})})),n}})(vN||(vN={}));var SN,AN,bN,kN={shape:xN,depth:1,offset:0,bevel:50,bevelSides:6,angle:0,twist:0,startScale:1,endScale:1,capType:"flat"},wN=["depth","offset","angle","twist","startScale","endScale"];(e=>{e.is2DParametricMesh=function(e){return"PolygonGeometry"===e||"RectangleGeometry"===e||"StarGeometry"===e||"TriangleGeometry"===e||"EllipseGeometry"===e||"UIGeometry"===e},e.isParametricMesh=function(e){return"PolygonGeometry"===e||"PolygonGeometry"===e||"RectangleGeometry"===e||"StarGeometry"===e||"TriangleGeometry"===e||"EllipseGeometry"===e||"PathGeometry"===e||"VectorGeometry"===e||"ConeGeometry"===e||"CubeGeometry"===e||"CylinderGeometry"===e||"DodecahedronGeometry"===e||"HelixGeometry"===e||"IcosahedronGeometry"===e||"LatheGeometry"===e||"PyramidGeometry"===e||"SphereGeometry"===e||"PlaneGeometry"===e||"BackdropGeometry"===e||"TorusGeometry"===e||"TorusKnotGeometry"===e||"BooleanGeometry"===e||"TextGeometry"===e}})(SN||(SN={})),(e=>{e.merge=function(e,t){let n={...e};return Object.assign(n,t),"PathGeometry"===n.type&&"extrusion"in t&&t.extrusion&&(n.extrusion={...e.extrusion},Object.assign(n.extrusion,vN.merge(n.extrusion,t.extrusion))),n}})(AN||(AN={})),(e=>{e.defaultData=function(e){if("RectangleGeometry"===e)return{width:320,height:320,type:e,cornerRadius:[0,0,0,0],cornerType:0,depth:0,extrudeBevelSize:0,extrudeBevelSegments:1};if("UIGeometry"===e)return{type:e,frame:"",cornerRadius:[0,0,0,0],cornerType:0,width:1,height:1};if("PathGeometry"===e)return{type:e,width:1,height:1,depth:1,path:mN.defaultData(),extrusion:kN};if("VectorGeometry"===e)return{width:1,height:1,type:e,subdivisions:12,shape:fN.defaultData(),depth:0,extrudeBevelSize:0,extrudeBevelSegments:1};if("BooleanGeometry"===e)return{type:e,operation:2,width:0,height:0,depth:0,phongAngle:35};if("TextGeometry"===e)return{type:e,width:100,height:100,depth:0,horizontalAlign:1,verticalAlign:1,fontSize:16,lineHeight:1.2,letterSpacing:0,text:{textValue:""},textTransform:1,font:"Roboto_regular",extrudeBevelSize:0,extrudeBevelSegments:1};if("SphereGeometry"===e)return{type:"SphereGeometry",width:100,height:100,depth:100,widthSegments:64,heightSegments:64,phiStart:0,phiLength:2*Math.PI,thetaStart:0,thetaLength:180};throw new Error("not implemented")}})(bN||(bN={}));var jN,MN,PN,ON,TN,IN,CN,EN,VN,RN,DN,BN,GN,qN,HN,WN,zN,JN,UN,NN,LN,YN,FN,ZN,KN,QN,XN,_N,$N,eL,tL,nL,rL,iL,aL,sL,oL,lL,cL,dL,hL,uL=["width","height","depth"];function pL(e){e.layers.forEach((e=>{if("depth"===e.type&&void 0!==e.colorA){let t=e.colorA,n=e.colorB,r=[[t.r,t.g,t.b,t.a],[n.r,n.g,n.b,n.a]],i=[0,1];for(let e=2;e<10;e++)r.push(r[1]),i.push(1);let a={...SW(Hz(e),"type","visible","isVector","isWorldSpace","origin","alpha","mode"),near:Math.max(0,e.near),far:Math.max(0,e.far),colors:r,steps:i,num:2,direction:[1,0,0],smooth:!1,gradientType:1};Object.assign(e,a)}else if("depth"===e.type&&1===e.gradientType&&(e.near<0||e.far<0)){let t={...Hz(e),near:Math.max(e.near,0),far:Math.max(e.far,0)};Object.assign(e,t)}}))}function fL(e,t){Object.values(e.shared.materials).forEach((e=>t(e)))}function mL(e,t){e.scene.objects.traverse(((e,n)=>{"materials"in n?n.materials.forEach(((e,r)=>{void 0===e&&(n.materials[r]=pN.defaultData(),e=n.materials[r]),"string"!=typeof e&&t(e)})):"material"in n?"string"!=typeof n.material&&(void 0===n.material&&(n.material=pN.defaultData()),t(n.material)):"Mesh"===n.type&&(void 0===n.material&&(n.material=pN.defaultData()),t(n.material)),"overrides"in n&&Object.values(n.overrides).forEach((e=>{e.material&&"string"!=typeof e.material&&Object.getPrototypeOf(e.material)!==pz.prototype&&t(e.material)}))}))}function gL(e){void 0===e.layers&&Object.assign(e,pN.defaultTwoLayerData("lambert"))}function yL(e){!e.layers||e.layers.forEach((e=>{if("depth"===e.type&&10===e.colors.length){let t=[...e.colors];t.push(e.colors[9]);let n=[...e.steps];n.push(e.steps[9]);let r={...Hz(e),colors:t,steps:n};Object.assign(e,r)}}))}function vL(e){e.scene.objects.traverse(((e,t)=>{"materials"in t?t.materials.forEach((e=>{"string"!=typeof e&&yL(e)})):"material"in t&&"string"!=typeof t.material&&yL(t.material)})),Object.values(e.shared.materials).forEach((e=>yL(e)))}function xL(e){e.layers&&e.layers.forEach((e=>{"depth"===e.type&&void 0!==e.num&&(e.colors=e.colors.slice(0,e.num),e.steps=e.steps.slice(0,e.num),delete e.num)}))}function SL(e){e.layers&&e.layers.forEach((e=>{(function(e){return"displace"!==e.type})(e)&&void 0===e.isMask&&(e.isMask=!1),("texture"===e.type||"video"===e.type)&&void 0===e.blending&&(e.blending=0),("noise"===e.type||"displace"===e.type&&"noise"===e.displacementType)&&(void 0===e.voronoiStyle&&(e.voronoiStyle=0),void 0===e.highCut&&(e.highCut=1),void 0===e.lowCut&&(e.lowCut=0),void 0===e.smoothness&&(e.smoothness=.3),void 0===e.seed&&(e.seed=0),void 0===e.quality&&(e.quality=1))}))}function AL(e){var t;let n=null===(t=e.layers.find((e=>"light"===e.type)))||void 0===t?void 0:t.data;if("basic"===(null===n||void 0===n?void 0:n.category)){let e=uN.defaultData("light","phong"),t=n;Object.assign(t,e),t.visible=!1}}function bL(e){fL(e,AL),mL(e,AL)}function kL(e){e.layers.forEach((e=>{"light"===e.type&&"toon"!==e.category&&void 0===e.occlusion&&(e.occlusion=!0)}))}function wL(e){e.layers&&e.layers.forEach((e=>{"light"===e.type&&void 0===e.bumpMapIntensity&&(e.bumpMapIntensity=5)}))}function jL(e,t){if(t<1&&(mL(e,pL),fL(e,pL),e.schema=1),t<2&&(function(e){Object.assign(e.scene.publish,{orbitControls:{...KN.defaultData,...Hz(e.scene.publish.orbitControls)}})}(e),e.schema=2),t<3&&(function(e){function t(e){if(e.layers)for(let t of Object.values(e.layers))if(t)for(let[e,n]of Object.entries(t))if((gN.includes(e)||"boolean"==typeof n)&&delete t[e],"texture"===e)for(let[t,r]of Object.entries(n))(yN.includes(t)||"boolean"==typeof r)&&delete n[t]}e.scene.objects.traverse(((e,n)=>{n.states.forEach((e=>{let n=e;n.material?t(n.material):n.materials&&n.materials.forEach((e=>{t(e)}))}))}))}(e),e.schema=3),t<4&&(function(e){e.scene.publish.withBackground=!0}(e),e.schema=4),t<5&&(function(e){e.scene.publish.settings.web={compress:!0,preload:!0,preset:1,logo:!0,hint:!1}}(e),e.schema=5),t<6&&(function(e){e.scene.objects.traverse(((e,t)=>{let n=t.cloner;n&&(n.radial.scale=n.radial.scale.map((e=>e+1)),n.linear.scale=n.linear.scale.map((e=>e+1)))}))}(e),e.schema=6),t<7&&(function(e){e.scene.objects.traverse(((e,t)=>{let n=t.geometry;n&&("DodecahedronGeometry"===n.type||"IcosahedronGeometry"===n.type)&&(n.detail=Math.round(n.detail))}))}(e),e.schema=7),t<8&&(e.schema=8),t<9&&(vL(e),e.schema=9),t<10&&(function(e){e.scene.objects.traverse(((e,t)=>{"Mesh"===t.type&&("BooleanGeometry"===t.geometry.type||"SubdivGeometry"===t.geometry.type)&&(t.geometry.phongAngle=35)}))}(e),e.schema=10),t<11&&(function(e){e.scene.environment.ambientLight.softShadows=!1,e.scene.environment.ambientLight.softShadowQuality="low",e.scene.objects.traverse(((e,t)=>{("DirectionalLight"===t.type||"SpotLight"===t.type)&&(t.shadowResolution=1024,t.shadowRadius=1,t.depth=1e5)})),e.shared.penumbraSize=new Array(5).fill(.5)}(e),e.schema=11),t<12&&(vL(e),e.schema=12),t<13&&(function(e){e.shared.audios=kW({},XW.prototype)}(e),e.schema=13),t<14&&(function(e){let t=e.shared.materials;Object.entries(t).forEach((e=>{let[n,r]=e;if(!r.layers){let e={name:"Untitled Material",layers:[{fi:0,data:{type:"light",category:"phong",alpha:.6,visible:!0,mode:0,specular:{r:.2,g:.2,b:.2},shininess:5},id:"layer1"},{fi:1,data:{type:"color",alpha:1,visible:!0,mode:0,color:{r:.2823529411764706,g:.2823529411764706,b:.30196078431372547}},id:"layer2"}]};Object.assign(t,{[n]:e})}}))}(e),e.schema=14),t<15&&(function(e){Object.entries(Hz(e.shared.images)).filter((e=>!1===e[1].asset)).map((e=>e[0])).forEach((t=>{delete e.shared.images[t]})),Object.entries(Hz(e.shared.audios)).filter((e=>!1===e[1].asset)).map((e=>e[0])).forEach((t=>{delete e.shared.audios[t]}))}(e),e.schema=15),t<16&&(function(e){e.scene.publish.settings.web.preload=!1}(e),e.schema=16),t<17&&(mL(e,xL),fL(e,xL),e.schema=17),t<18&&(mL(e,gL),fL(e,gL),e.schema=18),t<19&&(function(e){Object.assign(e.scene.publish.settings,{video:{...QN.defaultData.settings.video,...Hz(e.scene.publish.settings.video)}})}(e),e.schema=19),t<20&&(function(e){e.shared.fonts=kW({},XW.prototype)}(e),function(e){let t=[];e.scene.objects.traverse(((n,r)=>{let i=r;if("TextFrame"===i.type){let r=pN.defaultTwoLayerData("phong"),a="string"==typeof i.color?e.shared.colors[i.color]:i.color;r.layers[1].data.color={r:a.r,g:a.g,b:a.b},r.layers[1].data.alpha=i.alpha;let s=function(e){return e.replace(".typeface","").replace(/optimer/gi,"open sans").replace("space_mono","space mono").replace(/alma_mono/gi,"varela round").replace(/droid_sans_mono/gi,"noto sans mono").replace(/droid_sans|gentilis|gnomon_(simple|foreground)|helvetiker/gi,"roboto").replace(/droid_serif/gi,"roboto slab").replace("_sans"," sans").replace("crimson_text","crimson text").replace("medium_medium","medium").replace("fatface_fatface","fatface").replace("100hairline","thin").replace("200thin","extralight").replace("300light","light").replace("500medium","medium").replace("600semi","semibold").replace("800heavy","extrabold").replace("900black","black").replace(/bodoni_(11|16|24|36|48|72|96)([^_])/gi,"bodoni_$1_$2").replace(/bodoni_(11|16|24|36|48|72|96)/gi,"bodoni moda").replace(/(thin|hairline)(_regular)?/gi,"100").replace(/(extra|ultra)light(_regular)?/gi,"200").replace(/light(_regular)?/gi,"300").replace(/_book|_normal|_roman/gi,"_regular").replace(/medium(_regular)?/gi,"500").replace(/(semi|demi)bold(_regular)?/gi,"600").replace(/(extra|ultra)bold(_regular)?/gi,"800").replace(/bold(_regular)?/gi,"700").replace(/(black|heavy|fatface)(_regular)?/gi,"900").replace(/([1-9]00)_italic/gi,"$1italic").replace(/regularitalic/gi,"italic").replace(/regularitalic/gi,"italic").split(" ").map((e=>e.charAt(0).toUpperCase()+e.slice(1))).join(" ")}(i.font);void 0===e.shared.fonts[s]&&(e.shared.fonts[s]={name:s});let o={name:i.name,...BN.defaultData,...zN.defaultData,flatShading:!1,wireframe:!1,geometry:{...bN.defaultData("TextGeometry"),width:i.width,height:i.height,font:s,depth:0,horizontalAlign:i.horizontalAlign,verticalAlign:i.verticalAlign,fontSize:1.40625*i.fontSize,lineHeight:i.lineHeight/1.40625,letterSpacing:i.letterSpacing-1,text:i.text,textTransform:i.textTransform,extrudeBevelSize:0,extrudeBevelSegments:1},material:r,states:Hz(i.states),events:Hz(i.events),visible:i.visible,raycastLock:i.raycastLock,position:i.position,rotation:i.rotation,scale:i.scale,hiddenMatrix:i.hiddenMatrix},l=Hz(e.scene.objects).parent(n);e.scene.objects.insertAfter(null!==l&&void 0!==l?l:null,n,[{id:n+"new",data:o,children:[]}]),t.push(n)}})),t.forEach((t=>{e.scene.objects.delete(t)}))}(e),e.schema=20),t<21&&(function(e){let t={0:"MouseDown",1:"MouseUp",2:"MouseHover",5:"KeyDown",6:"KeyUp",7:"Start",9:"LookAt",10:"Follow",11:"Scroll",12:"Audio",13:"GameControl"};e.scene.objects.traverse(((e,n)=>{n.events.forEach((e=>{if(t[Number(e.type)])if(Object.assign(e,{type:t[Number(e.type)]}),"Audio"===e.type&&"audioEvent"in e&&(Object.assign(e,{playAudio:e.audioEvent}),delete e.audioEvent),"GameControl"===e.type)Object.assign(e,{gameActions:{idle:new oz,move:new oz,jump:new oz}});else{let t=new oz;Object.assign(e,{actions:t}),("MouseDown"===e.type||"MouseUp"===e.type||"KeyDown"===e.type||"KeyUp"===e.type)&&"url"in e&&t.push({fi:0,id:lM.generateUUID(),data:{type:"Link",url:e.url,delay:0}}),"targets"in e&&(e.targets.forEach(((e,n,r)=>{let i={easing:e.easing,duration:e.duration};6===e.easing?Object.assign(i,SW(e,"mass","stiffness","damping","velocity")):5===e.easing&&Object.assign(i,{control1:{...e.control1},control2:{...e.control2}});let a={repeat:e.repeat?-1:0,delay:e.delay,delayDirection:e.delayDirection,direction:e.cycle&&e.rewind?"pingpong-rewind":e.cycle?"pingpong":"normal"},s={state:e.state,...a,...i},o={allowSlerp:!0,type:"Transition",object:e.object,repeat:0,delay:0,delayDirection:void 0,direction:"normal",tweens:new oz({fi:0,id:lM.generateUUID(),data:{state:void 0,repeat:0,delay:0,delayDirection:void 0,direction:"normal",duration:0,easing:4}},{fi:1,id:lM.generateUUID(),data:s})};t.push({fi:r,id:n,data:o})})),delete e.targets)}}))}))}(e),function(e){e.scene.objects.traverse(((e,t)=>{function n(e,n){let r=new oz,i=[];if(t.events.forEach(((e,t,a)=>{if("Audio"===e.type&&e.trigger===n){let n;i.push(t),"play"===e.interaction?n={...SW(e,"interaction","audio","delay","volume","loop"),triggerAfter:"after"in e?e.after:void 0,toggle:"after"in e?e.toggle:void 0,type:"Audio"}:("pause"===e.interaction||"stop"===e.interaction)&&(n={...SW(e,"interaction","delay","object","playAudio"),type:"Audio"}),n&&r.push({fi:a,id:t,data:n})}})),i.forEach((e=>t.events.delete(e))),r.length){var a;let n=null===(a=t.events.find((t=>t.type===e)))||void 0===a?void 0:a.data;n?"actions"in n&&n.actions.insertBefore(null,r):t.events.insertBefore(null,[{id:lM.generateUUID(),data:{type:e,actions:r}}])}}n("Start","start"),n("MouseDown","mouseDown"),n("MouseUp","mouseUp"),n("KeyDown","keyDown"),n("KeyUp","keyUp")}))}(e),e.schema=21),t<22&&(bL(e),e.schema=22),t<23&&(function(e){e.scene.objects.traverse(((e,t)=>{"Mesh"===t.type&&"SubdivGeometry"===t.geometry.type&&(t.geometry.scaleBaked||(t.geometry.scaleBaked=[1,1,1]))}))}(e),e.schema=23),t<24&&(function(e){e.scene.objects.traverse(((e,t)=>{("Empty"===t.type||"Mesh"===t.type)&&t.cloner&&!t.cloner.randomnessObject&&!t.cloner.toObject&&!t.cloner.randomness&&(t.cloner={...t.cloner,toObject:{object:"",spreadType:"random",scale:[0,0,0],rotation:[0,0,0],position:[0,0,0],axis:"x",seed:0,count:99,align:"normal"},randomness:!1,randomnessObject:{strength:100,scale:[0,0,0],rotation:[0,0,0],position:[0,0,0],movement:1,seed:0,freqScale:10,noiseType:"perlin"}})}))}(e),e.schema=24),(t<25||void 0===e.shared.videos)&&(function(e){e.shared.videos=kW({},XW.prototype)}(e),t<25&&(e.schema=25)),t<26&&(function(e){e.scene.objects.traverse(((t,n)=>{let r=e.scene.objects.unproxy().parent(t);if(r){let t=Hz(e.scene.objects.data(r));t&&"Mesh"===t.type&&"BooleanGeometry"===t.geometry.type&&"Mesh"===n.type&&(n.visible=!0!==Hz(n).booleanExclude)}}))}(e),e.schema=26),t<27&&(function(e){e.scene.objects.traverse(((e,t)=>{if("Mesh"===t.type){let e=t;"NonParametricGeometry"===t.geometry.type?void 0!==e.material&&delete e.material:void 0!==e.materials&&delete e.materials}}))}(e),e.schema=27),t<28&&(bL(e),e.schema=28),t<29&&(function(e){function t(e){Object.setPrototypeOf(e,pz.prototype),e.texture&&Object.setPrototypeOf(e.texture,pz.prototype)}function n(e){Object.setPrototypeOf(e,pz.prototype);for(let n in e)t(e[n])}e.scene.objects.traverse(((e,t)=>{t.states.forEach((e=>{let t=e;if(t.material){let e=Hz(t.material).layers;n(e),t.material.layers=e}if(t.materials)for(let r=0;r<t.materials.length;r++){let e=t.materials[r],i=Hz(e).layers;n(i),e.layers=i}}))}))}(e),e.schema=29),t<30&&(function(e){e.scene.objects.traverse(((e,t)=>{"Mesh"===t.type&&"NonParametricGeometry"===t.geometry.type&&!("material"in t)&&!("materials"in t)&&(t.material=pN.defaultTwoLayerData("phong"))}))}(e),e.schema=30),t<31&&(function(e){void 0===e.scene.publish.orbitControls.autoZoom&&(e.scene.publish.orbitControls.autoZoom=!1),e.scene.objects.traverse(((e,t)=>{("OrthographicCamera"===t.type||"PerspectiveCamera"===t.type)&&(void 0===t.orthographic.autoZoom&&(t.orthographic.autoZoom=!1),void 0===t.orthographic.autoZoomFrustumSize&&(t.orthographic.autoZoomFrustumSize=790))}))}(e),e.schema=31),t<33&&(function(e){e.scene.objects.traverse(((e,t)=>{void 0===t.pathSnapping&&(t.pathSnapping={pathId:null,slide:0,offset:0,orientation:"tangential"}),void 0===t.pathSnapping.offset&&(t.pathSnapping.offset=0)}))}(e),e.schema=33),t<34&&(function(e){void 0===e.scene.publish.mouseEventTarget&&(e.scene.publish.mouseEventTarget="canvas"),void 0===e.scene.publish.settings.web.hint&&(e.scene.publish.settings.web.hint=!1)}(e),e.schema=34),t<35&&(function(e){let{video:t}=e.scene.publish.settings;"gif"===t.format&&t.fps>48&&(t.fps=15)}(e),e.schema=35),t<36&&(function(e){e.scene.objects.traverse(((e,t)=>{t.events.forEach((e=>{"GameControl"===e.type&&(e.resetYPosition=Math.abs(e.resetYPosition-t.position[1]))}))}))}(e),e.schema=36),t<37&&(function(e){let t=e.scene.environment.usePhysics;e.scene.objects.traverse(((e,n)=>{t&&null===n.physics?n.collision=!1:n.collision="visibility"}))}(e),e.schema=37),t<38&&(mL(e,SL),fL(e,SL),e.schema=38),t<39&&(function(e){e.scene.objects.traverse(((e,t)=>{t.events.forEach((e=>{"GameControl"===e.type&&(e.navmesh=hL.defaultDataThirdPerson.navmesh)}))}))}(e),e.schema=39),t<40&&(function(e){e.scene.styles||(e.scene.styles=$N.defaultData())}(e),e.schema=40),t<41&&(function(e){void 0===e.scene.environment.ambientLight.occlusion&&(e.scene.environment.ambientLight.occlusion=!1),void 0===e.scene.environment.ambientLight.aoFullRes&&(e.scene.environment.ambientLight.aoFullRes=!1),void 0===e.scene.environment.ambientLight.radius&&(e.scene.environment.ambientLight.radius=256),void 0===e.scene.environment.ambientLight.bias&&(e.scene.environment.ambientLight.bias=.5),void 0===e.scene.environment.ambientLight.aoColor&&(e.scene.environment.ambientLight.aoColor={r:.19607843137254902,g:.19607843137254902,b:.19607843137254902}),mL(e,kL),fL(e,kL)}(e),e.schema=41),t<42&&(function(e){e.scene.objects.traverse(((e,t)=>{t.events.forEach((e=>{"GameControl"===e.type&&Object.assign(e.gameActions,{run:new oz})}))}))}(e),e.schema=42),t<43&&(function(e){e.scene.objects.traverse(((e,t)=>{t.events.forEach((e=>{"GameControl"===e.type&&(e.keyAssignments=[...e.keyAssignments,["run","\u21e7"],["none","Ctrl"]])}))}))}(e),e.schema=43),t<99){var n;mL(e,wL),fL(e,wL),null===e.scene.publish.playCamera&&(e.scene.publish.playCamera=LU);let t=Hz(e.scene.objects),r=e.scene.objects;e.scene.publish.playPage=YU,r.insertBefore(null,null,[{id:YU,data:{...YN.defaultData,backgroundColor:e.scene.backgroundColor,fog:e.scene.fog,postprocessing:e.scene.postprocessing,ao:SW(e.scene.environment.ambientLight,"occlusion","aoFullRes","radius","bias","aoColor"),publish:{playCamera:e.scene.publish.playCamera,gameControlObject:e.scene.publish.gameControlObject},shadow:SW(e.scene.environment.ambientLight,"softShadowQuality"),globalPhysics:{...IN.defaultData,...SW(e.scene.environment,"usePhysics","gravity")},camera:null!==(n=Hz(e.scene.ownerCamera))&&void 0!==n?n:YN.defaultData.camera,name:"Scene"},children:[]}]);for(let e of t)e.id!==tL.TRASH_CAN_ID&&r.move(YU,e.fi,e.id);let i=0,a=0;e.shared.penumbraSize&&e.scene.objects.traverse(((t,n)=>{var r;"DirectionalLight"===n.type?(n.penumbraSize=e.shared.penumbraSize[Math.min(i,2)],i+=1):"SpotLight"===n.type&&(n.penumbraSize=e.shared.penumbraSize[3+Math.min(a,1)],a+=1),(void 0===n.physics||null===n.physics)&&"Instance"!==n.type&&(n.physics={},Object.assign(n.physics,_U.defaultData)),void 0!==n.physics&&null!==n.physics&&(n.physics.enabled=null!==(r=n.collision)&&void 0!==r?r:"visibility",delete n.collision)})),e.schema=99}}function ML(e){e.layers&&e.layers.forEach((e=>{"light"===e.type&&void 0===e.alphaOverride&&(e.alphaOverride=1)}))}(e=>{e.defaultData={enabled:!1,useBackgroundColor:!1,color:DU.white,near:.1,far:2e3}})(jN||(jN={})),(e=>{let t={opacity:1,blendFunction:13,enabled:!1};e.defaultData={enabled:!1,pixelation:{...t,blendFunction:16,granularity:15},bloom:{...t,blendFunction:16,intensity:1,blurScale:1,luminanceThreshold:.25,luminanceSmoothing:.025,kernelSize:3},chromaticAberration:{...t,offset:[2,2]},vignette:{...t,darkness:1,offset:0},hueSaturation:{...t,hue:3,saturation:0},brightnessContrast:{...t,brightness:.25,contrast:0},depthOfField:{...t,focalLength:2,focusDistance:2,bokehScale:2},noise:{...t,blendFunction:16}}})(MN||(MN={})),(e=>{e.defaultData={softShadowQuality:"low"}})(PN||(PN={})),(e=>{e.defaultData={enabled:!0,color:{r:.8274509803921568,g:.8274509803921568,b:.8274509803921568},intensity:.75}})(ON||(ON={})),(e=>{e.defaultData={occlusion:!1,aoFullRes:!1,radius:256,bias:.5,aoColor:{r:.19607843137254902,g:.19607843137254902,b:.19607843137254902}}})(TN||(TN={})),(e=>{e.defaultData={usePhysics:!1,gravity:-10}})(IN||(IN={})),(e=>{e.defaultData={playCamera:LU,gameControlObject:null}})(CN||(CN={})),(e=>{e.defaultData={backgroundColor:BU.fromHexAndA(2960946,1),postprocessing:MN.defaultData,fog:jN.defaultData,globalPhysics:IN.defaultData,ambient:ON.defaultData,ao:TN.defaultData,shadow:PN.defaultData,publish:CN.defaultData}})(EN||(EN={})),(e=>{e.defaultData={colliderType:"box",size:[100,100,100],colliderHelperVisible:!0,forceType:"collider",forceRange:"global",forceIntensity:.5,forceDambing:.95}})(VN||(VN={})),(e=>{e.isComponentRelated=function(e){return"Component"===e||"Instance"===e},e.isEmptyOrComponent=function(e){return"Empty"===e||"Instance"===e}})(RN||(RN={})),(e=>{e.identity={...GU.identity,hiddenMatrix:RU.identity},e.fromObject=function(e){return{position:e.position,rotation:e.rotation,scale:e.scale,hiddenMatrix:e.hiddenMatrix}},e.merge=function(e,t){return{position:(null===t||void 0===t?void 0:t.position)||e.position,rotation:(null===t||void 0===t?void 0:t.rotation)||e.rotation,scale:(null===t||void 0===t?void 0:t.scale)||e.scale,hiddenMatrix:(null===t||void 0===t?void 0:t.hiddenMatrix)||e.hiddenMatrix}},e.diff=function(e,t){return bW({position:EU.isEqual(e.position,t.position)?void 0:t.position,rotation:EU.isEqual(e.rotation,t.rotation)?void 0:t.rotation,scale:EU.isEqual(e.scale,t.scale)?null:t.scale,hiddenMatrix:RU.isEqual(e.hiddenMatrix,t.hiddenMatrix)?void 0:t.hiddenMatrix})}})(DN||(DN={})),(e=>{e.defaultData={states:new oz,events:new oz,visible:!0,raycastLock:!1,physics:_U.defaultData,pathSnapping:{pathId:null,slide:0,offset:0,orientation:"tangential"},...DN.identity,cloner:null}})(BN||(BN={})),(e=>{e.defaultData={type:"Empty",...BN.defaultData}})(GN||(GN={})),(e=>{e.defaultData={type:"ParticleCollider",...VN.defaultData,...BN.defaultData}})(qN||(qN={})),(e=>{e.defaultData={type:"Component",...BN.defaultData}})(HN||(HN={})),(e=>{e.defaultData={type:"Particle",...BN.defaultData,...XU.defaultData}})(WN||(WN={})),(e=>{e.defaultData={type:"Mesh",...BN.defaultData,...tN.defaultData}})(zN||(zN={})),(e=>{e.defaultData={...BN.defaultData,...DN.identity,position:[0,0,JU.DefaultTargetOffset],...JU.defaultData}})(JN||(JN={})),(e=>{e.defaultData=function(e){return{...BN.defaultData,...QU.defaultData(e)}},e.defaultDirectionalLightData={...e.defaultData("DirectionalLight"),position:[200,300,300],name:"Directional Light",intensity:.7}})(UN||(UN={})),(e=>{function t(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;for(;n<t.length;){let r=e?e[t[n]]:void 0;if(t.length===n+1)return r;if(!r)return;e=r.descendants,n+=1}}e.resolveWithDes=t,e.resolve=function(e,n){let r=t(e,n,arguments.length>2&&void 0!==arguments[2]?arguments[2]:0);if(r){let e=Object.keys(r);if(1===e.length&&"descendants"===e[0])return}return r}})(NN||(NN={})),(e=>{function t(e,t){return{...BN.defaultData,...t,component:e,overrides:new pz,physics:void 0,events:void 0,type:"Instance"}}e.rootOverrideProps=["physics","events"],e.compositeNonOptionalOverrideProps=["geometry"],e.compositeEntireOverrideOverrideProps=["material"],e.ofComponent=t,e.fromComponentData=function(e){let n=DN.fromObject(e.data);return t(e.id,n)}})(LN||(LN={})),(e=>{e.defaultData={type:"Page",...BN.defaultData,physics:{..._U.defaultData,fusedBody:!1},...EN.defaultData,camera:JN.defaultData},e.isUIPage=function(e){return void 0!==e.uiScene}})(YN||(YN={})),(e=>{e.defaultCamera={position:[0,0,1e3],scale:[1,1,1],rotation:[0,0,0],hiddenMatrix:RU.identity,name:"Play Camera",visible:!0,raycastLock:!1,physics:_U.defaultData,states:new oz,events:new oz,cloner:null,pathSnapping:{pathId:null,orientation:"tangential",slide:0,offset:0},...JU.defaultData},e.KeysByResetCategory={States:["states"],Events:["events"],Material:["material","materials"],Geometry:["geometry"],Position:["position"],Rotation:["rotation"],Scale:["scale"],Transform:["position","scale","rotation","hiddenMatrix"],Name:["name"],Visibility:["visible","raycastLock","flatShading","wireframe","side"],Shadows:["castShadow","receiveShadow"],Cloner:["cloner"],Physics:["physics"]},e.defaultMeshObject={name:"Rectangle",...BN.defaultData,...zN.defaultData,geometry:bN.defaultData("RectangleGeometry"),material:pN.defaultTwoLayerData("phong","layer1","layer2")},e.defaultBooleanObject={name:"Boolean",...BN.defaultData,...zN.defaultData,geometry:bN.defaultData("BooleanGeometry"),material:pN.defaultTwoLayerData("phong","layer1","layer2")},e.defaultTextObject={name:"Text",...BN.defaultData,...zN.defaultData,geometry:bN.defaultData("TextGeometry"),material:pN.defaultTwoLayerData("phong","layer1","layer2")}})(FN||(FN={})),(e=>{e.newEmpty=function(e,t){let n={name:t};return"Mesh"===e.type?(n.geometry={},"material"in e&&(n.material={layers:new pz}),"materials"in e&&(n.materials=e.materials.map((e=>({layers:new pz}))))):zU.is(e.type)&&(n.perspective={},n.orthographic={}),n},e.toOps=function(e,t){let n,r=[],i={orthographic:0,perspective:0,geometry:0};function a(e,t){for(let[n,i]of Object.entries(t.layers)){let{texture:t,...a}=i;if(void 0!==t&&Object.keys(t).length>0){let i={path:[...e,"layers",n,"texture"],props:t,type:0};r.push(i)}if(Object.keys(a).length>0){let t={path:[...e,"layers",n],props:a,type:0};r.push(t)}}}for(let[s,o]of Object.entries(t))if("name"!==s)if("cloner"===s)r.push(...NU.toOps(o,["cloner"]));else if("pathSnapping"===s)r.push({path:[s],props:{slide:o.slide,offset:o.offset},type:0});else if("material"===s)a(["material"],o);else if("materials"===s)for(let[e,t]of Object.entries(o))a(["materials",e],t);else if(0===i[s]){if("geometry"===s&&void 0!==o.extrusion){let e={path:[s,"extrusion"],props:o.extrusion,type:0};r.push(e),o={...o},delete o.extrusion}if(Object.keys(o).length>0){let e={path:[s],props:o,type:0};r.push(e)}}else void 0===n&&(n={path:[],props:{},type:0},r.push(n)),n.props[s]=o;return r},e.patch=function(e,t){var n,r,i,a,s,o,l,c;if(void 0===t)return e;let d={...e};if(Object.assign(d,DN.merge(d,t)),Object.assign(d,{pathSnapping:Object.assign({},d.pathSnapping,{slide:null!==(n=null!==(r=null===(i=t.pathSnapping)||void 0===i?void 0:i.slide)&&void 0!==r?r:null===(a=d.pathSnapping)||void 0===a?void 0:a.slide)&&void 0!==n?n:0,offset:null!==(s=null!==(o=null===(l=t.pathSnapping)||void 0===l?void 0:l.offset)&&void 0!==o?o:null===(c=d.pathSnapping)||void 0===c?void 0:c.offset)&&void 0!==s?s:0})}),zU.is(e.type)){var h,u;d.orthographic={...d.orthographic},d.perspective={...d.perspective};let e=t;void 0!==(null===(h=e.orthographic)||void 0===h?void 0:h.zoom)&&(d.orthographic.zoom=e.orthographic.zoom),void 0!==(null===(u=e.perspective)||void 0===u?void 0:u.zoom)&&(d.perspective.zoom=e.perspective.zoom),void 0!==e.isUpVectorFlipped&&(d.isUpVectorFlipped=e.isUpVectorFlipped),void 0!==e.targetOffset&&(d.targetOffset=e.targetOffset)}else if("Mesh"===e.type)"geometry"in t&&Object.assign(d,{geometry:AN.merge(d.geometry,t.geometry)}),(t.material||t.materials)&&(d=function(e,t){if(void 0===t)return e;let n={...e};return"material"in n&&"material"in t&&t.material&&(n.material=qz(n.material,(e=>{if("string"!=typeof e)for(let[n,r]of Object.entries(t.material.layers)){let t=e.layers.data(n);t&&uN.patch(t,r)}})).data),n.materials&&t.materials&&(n.materials=qz(n.materials,(e=>{for(let i=0;i<n.materials.length;i++){let n=t.materials[i];if("string"!=typeof n)for(let[t,a]of Object.entries(n.layers)){var r;let n=null===(r=e[i])||void 0===r||null===(r=r.layers)||void 0===r?void 0:r.data(t);n&&uN.patch(n,a)}}})).data),n}(d,t)),d.cloner&&"cloner"in t&&Object.assign(d,{cloner:UU.merge(d.cloner,t.cloner)});else if("Empty"===e.type)d.cloner&&"cloner"in t&&Object.assign(d,{cloner:UU.merge(d.cloner,t.cloner)});else if(KU.is(e.type)){let e=t;void 0!==e.intensity&&(d.intensity=e.intensity),void 0!==e.color&&("string"==typeof e.color?d.color=e.color:d.color=DU.clone(e.color))}return d}})(ZN||(ZN={})),(e=>{e.defaultData={enablePan:!0,enableZoom:!0,enableRotate:!0,enableDamping:!0,rotationLimitsMode:0,rotationVerticalOffset:{min:Math.PI/4,max:Math.PI/4},rotationHorizontalOffset:{min:Math.PI/4,max:Math.PI/4},rotationSoftLimit:2,panLimitsMode:0,panVerticalOffset:{min:250,max:250},panHorizontalOffset:{min:250,max:250},panSoftLimit:2,zoomLimitsEnabled:!1,zoomLimits:{min:.1,max:2},autoRotate:!1,autoRotateSpeed:2,autoRotateClockwise:!0,hoverRotatePanMode:0,hoverRotatePanStrength:20,hoverRotateDamping:.125,isTouchZoom:!0,orbitTouches:2,panTouches:3,resetHoverEffectOnPointerLeave:!0}})(KN||(KN={})),(e=>{e.defaultData={orbitControls:KN.defaultData,playPage:YU,withBackground:!0,preventScroll:!1,preventTouchScroll:!1,hideCursor:!1,mouseEventTarget:"canvas",joystickSizeAndXYOffset:Array(12).fill(0).map(((e,t)=>{let n=0,r=0;return t<5?r=-30:t<10&&(r=30),0===t||10===t||5===t?n=30:(4===t||11===t||9===t)&&(n=-30),[120,[n,r],"show"]})),settings:{image:{format:"jpg",ratio:1},video:{format:"mp4",imageFormat:"jpg",fps:30,mbps:80,ratio:Math.max(1,typeof window<"u"?Math.floor(window.devicePixelRatio):1),stopMode:"manual",duration:5e3},web:{logo:!0,compress:!0,preset:1,preload:!0,hint:!1}},stopRaycast:!0,hdTransmission:!1}})(QN||(QN={})),(e=>{e.defaultData={id:"basic",label:"Basic",style:"None",prompt:""}})(XN||(XN={})),(e=>{e.defaultData={weather:0,shadows:0,lightOrigin:0,temperature:0,sun:0,camera:0,environment:0,particles:0,nature:0,floor:0}})(_N||(_N={})),(e=>{e.defaultData=()=>({mode:"line-art-both",prompt:"",negativePrompt:"",style:{...XN.defaultData},isRandomSeed:!0,seed:e.generateSeed(),guessMode:!1,advanced:!1,steps:20,guidanceScale:7.5,controlNetScale:1,modifiers:_N.defaultData}),e.generateSeed=()=>Math.round(1e5*Math.random())})($N||($N={})),(e=>{e.physicsEnabled=function(e){return void 0!==e.find((e=>"Page"===e.data.type&&e.data.globalPhysics.usePhysics))},e.traverseModuleInstances=function(e,t,n){e.scene.objects.traverseFrom(t,((t,r)=>{if("Instance"===r.type){var i;let a=null===(i=IL.getComponentData(e,r.component))||void 0===i?void 0:i.data;a&&n(t,r,a.events)}else n(t,r,r.events)}))}})(eL||(eL={})),(e=>{function t(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{withLight:!0,withSquare:!0},t=[],n=FN.defaultMeshObject;!0===e.withLight&&t.push({fi:-1,data:UN.defaultDirectionalLightData,id:"830a2708-8ed9-49cf-a68e-085299899103",children:[]}),!0===e.withSquare&&t.push({fi:1,id:"7ba78968-2a55-48f2-b14c-5191da3e075e",data:n,children:[]});let r=new sz;return r.push({fi:1,id:YU,data:{...YN.defaultData,name:"Scene 1"},children:t}),r}function n(t){return{...e.defaultData,objects:kW(t,sz.prototype)}}e.TRASH_CAN_ID="830a2708-8ed9-49cf-a68e-085299892222",e.defaultData={objects:t(),publish:QN.defaultData,styles:$N.defaultData()},e.emptyDataWithoutPage=function(){return{objects:new sz,publish:QN.defaultData,styles:$N.defaultData()}},e.emptyDataWithPage=function(e){return{objects:t(e),publish:QN.defaultData,styles:$N.defaultData()}},e.emptyData=function(){return{objects:new sz,publish:{...QN.defaultData},styles:$N.defaultData()}},e.withObjs=n,e.withObj=function(e,t){return n([{id:e,data:t,children:[],fi:0}])}})(tL||(tL={})),(e=>{e.defaultData={preset:"fullscreen",allowResponsive:!1,size:[512,512],coords:[0,0],sceneScale:1,color:{r:0,g:0,b:0,a:.5}}})(nL||(nL={})),(e=>{e.emptyImage={data:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=",name:"empty"}})(rL||(rL={})),(e=>{function t(e){return void 0!==e.textValue}function n(e){return"boolean"==typeof e}e.isTextValue=t,e.isNumber=function(e){return"number"==typeof e},e.isBoolean=n,e.typeOfVariable=function(e){return t(e)?"string":n(e)?"boolean":"number"},e.getDisplayedValue=function(t){var n;return e.isTextValue(t)?Array.isArray(t.textValue)?t.textValue.map((e=>{var n;return e.toString().padStart(null!==(n=t.padding)&&void 0!==n?n:2,"0")})).join(null!==(n=t.deliminator)&&void 0!==n?n:":")+(void 0!==t.suffix?" "+t.suffix:""):t.textValue.toString():e.isBoolean(t)?t?"True":"False":e.isNumber(t)?parseFloat(t.toFixed(3)).toString():t.toString()}})(iL||(iL={})),(e=>{e.all=["images","videos","colors","audios","particles","fonts","materials","variables"]})(aL||(aL={})),(e=>{e.all=[...aL.all,"components"]})(sL||(sL={})),(e=>{e.defaultData=function(){return{images:new XW,videos:new XW,colors:new XW,audios:new XW,particles:new XW,fonts:new XW,materials:new XW,components:new XW,variables:new XW}}})(oL||(oL={})),(e=>{e.defaultData=function(){return{images:new XW,videos:new XW,colors:new XW,audios:new XW,particles:new XW,fonts:new XW,materials:new XW,components:new XW,variables:new XW}}})(lL||(lL={})),(e=>{e.defaultColors=function(){let e={"89b10010-844c-11ec-a8a3-0242ac120002":{r:.5,g:.5,b:.5,a:1,name:"Default Color"}};return kW(e,XW.prototype)},e.defaultImages=function(e){let t={};return null!==e&&void 0!==e&&e.withAITexture&&(t["a1b10010-844c-a8a3-11ec-0242ac2011ec"]={...rL.emptyImage,name:"AI generated image"}),kW(t,XW.prototype)},e.emptyData=function(){return{catelogs:new XW,materials:new XW,images:new XW,videos:new XW,colors:new XW,audios:new XW,particles:new XW,fonts:new XW,variables:new oz,lib:lL.defaultData()}},e.defaultVariables=function(e){switch(e){case"number":return{value:0,name:"Number"};case"boolean":return{value:!1,name:"Boolean"};case"string":return{value:{textValue:"String value"},name:"String"};case"time":let t=[0,0,0];return{name:"Time",value:{textValue:t,deliminator:":",padding:2,suffix:"AM"},dynamicVariableType:"time",format:"HH:mm:ss",format12h24h:"12ampm",timeZone:null,hasEnd:!1,endValue:{textValue:t,deliminator:":",padding:2,suffix:"AM"},autoStart:!0,repeat:!1};case"counter":return{name:"Counter",value:0,dynamicVariableType:"counter",updateInterval:1e3,increment:1,autoStart:!0,hasEnd:!0,endValue:60,repeat:!0,randomStart:!1,range:[0,100],decimals:0};case"random":return{name:"Random",value:0,dynamicVariableType:"random",updateInterval:1e3,increment:1,autoStart:!0,isStatic:!1,hasEnd:!0,endValue:60,repeat:!0,min:0,max:100,decimals:0};default:console.error("Unknown variable type",e)}},e.getFormattedTimerTime=function(e,t){if("HH:mm:ss"===t.format){let t=Math.floor(e/3600),n=Math.floor((e-3600*t)/60);return{textValue:[t,n,Math.round(e-3600*t-60*n)]}}if("mm:ss"===t.format){let t=Math.floor(e/60);return{textValue:[t,Math.round(e-60*t)]}}return e="number"===t.format?Math.round(e):Math.round(1e3*e)/1e3}})(cL||(cL={})),(e=>{e.list=["idle","move","jump","run"]})(dL||(dL={})),(e=>{e.defaultColliderData={type:"capsule",height:200,radius:50,position:[0,0,0],rotation:[0,0,0]},e.defaultDataThirdPerson={moveMode:"walk",forwardDirection:"+z",speedTranslate:1e3,speedRotate:100,runMultiplier:2,rotationMode:"normal",rotBy:"keys",rotByTouch:"drag",delayPos:[.3,.3],delayRot:[.3,.3],keyAssignments:[["moveNegZ","W"],["moveNegX","A"],["movePosZ","S"],["movePosX","D"],["rotPosX","\u25b2"],["rotPosY","\u25c0"],["rotNegX","\u25bc"],["rotNegY","\u25b6"],["jump","Space"],["run","\u21e7"],["none","Ctrl"]],touchControl:!0,joystickPosLoc:5,joystickRotLoc:11,jumpTouchButtonLoc:9,collider:e.defaultColliderData,colliderHelperVisible:!0,collisionEnabled:!0,jumpPower:100,resetYPosition:3e3,alignToGround:!1,autoOrientMove:!0,orientWith:"camera",orientMode:"radial",delayPosCamera:.3,delayRotCamera:.3,camera:"",cameraXAxis:"Limit",cameraYAxis:"Free",cameraRotXLimits:[0,Math.PI/2],cameraRotYLimits:[-Math.PI/2,Math.PI/2],gameActions:{idle:new oz,move:new oz,jump:new oz,run:new oz},navmesh:{enabled:!1,ch:6,cs:6,walkableClimb:5,walkableHeight:1,walkableRadius:0,zones:"all",objects:[],helperVisible:!0,destinationHelperRadius:0,destinationHelperColor:BU.fromHexAndA(3728051,1)}}})(hL||(hL={}));var PL=180/Math.PI;function OL(e){e.rotation=e.rotation.slice(0,3).map((e=>e*PL))}function TL(e){var t,n,r;OL(e),"Page"===e.type&&OL(e.camera),null===(t=e.states)||void 0===t||t.forEach((e=>{void 0===e.rotation||null===e.rotation||(e.rotation=e.rotation.slice(0,3).map((e=>e*PL)))}));let i=e.geometry;i&&"SphereGeometry"===i.type&&(i.thetaLength=(null!==(n=i.thetaLength)&&void 0!==n?n:180)*PL),i&&"TorusGeometry"===i.type&&(i.arc=i.arc*PL),i&&"PathGeometry"===i.type&&(i.extrusion.angle*=PL,i.extrusion.twist*=PL),"Mesh"===e.type&&"TextGeometry"===e.geometry.type&&(e.geometry.text={textValue:e.geometry.text}),Array.isArray(Hz(e.events))&&(null===(r=e.events)||void 0===r||r.forEach((e=>{("MouseDown"===e.type||"MouseUp"===e.type||"MousePress"===e.type||"KeyDown"===e.type||"KeyUp"===e.type||"KeyPress"===e.type||"Collision"===e.type||"Trigger"===e.type)&&(e.runMode=e.toggle?"Toggle":"Repeat")})))}var IL,CL,EL,VL,RL,DL,BL,GL,qL,HL,WL,zL,JL,UL,NL,LL,YL,FL,ZL=111;function KL(e,t){t(e.data);for(let n of e.children)KL(n,t)}function QL(e){var t;let n=null!==(t=e.schema)&&void 0!==t?t:104;n!==ZL&&n<105&&(KL(e.asset,TL),e.schema=105)}function XL(e){var t;let n=null!==(t=e.schema)&&void 0!==t?t:0;if(n!==ZL){console.warn("updating from ",n,"to ",ZL),jL(e,n),n<100&&(void 0===e.scene.publish.joystickSizeAndXYOffset&&(e.scene.publish.joystickSizeAndXYOffset=QN.defaultData.joystickSizeAndXYOffset),e.schema=100),n<101&&(mL(e,ML),fL(e,ML),e.schema=101),n<102&&(function(e){e.scene.objects.traverse(((e,t)=>{let n=t.geometry;n&&"PathGeometry"===n.type&&(n.extrusion.capType="flat",n.extrusion.bevel=50,n.extrusion.bevelSides=6,"Custom"===n.extrusion.shape.type&&(n.extrusion.shape.shapeQuality="low"))}))}(e),e.schema=102),n<104&&(e.shared.catelogs=new XW,e.shared.lib=lL.defaultData(),e.schema=104),n<105&&(function(e){e.shared.variables=kW({},XW.prototype)}(e),e.scene.objects.traverse(((e,t)=>{TL(t)})),e.schema=105);for(let t of Object.values(e.shared.lib.components))QL(t);n<106&&(function(e){let t=Hz(e.shared.variables);e.shared.variables=kW(Object.entries(null!==t&&void 0!==t?t:{}).map(((e,t)=>{let[n,r]=e;return{fi:t,id:n,data:r}})),oz.prototype)}(e),e.schema=106),n<107&&(e.shared.lib.variables=lL.defaultData().variables,e.schema=107),n<109&&(function(e){e.shared.particles=kW({},XW.prototype),e.shared.lib&&(e.shared.lib.particles=lL.defaultData().particles)}(e),e.schema=109),n<110&&(function(e){e.scene.objects.traverse(((e,t)=>{"Particle"===t.type&&"number"==typeof t.renderMaterial.size&&Object.assign(t.renderMaterial,{size:[t.renderMaterial.size,t.renderMaterial.size]})}))}(e),e.schema=110),n<111&&(e.scene.objects.traverse(((e,t)=>{!function(e){var t;Array.isArray(Hz(e.events))&&(null===(t=e.events)||void 0===t||t.forEach((e=>{"disabled"in e||(e.disabled=!1),("MouseDown"===e.type||"MouseUp"===e.type||"MousePress"===e.type)&&(e.mode=e.mode||"Object")})))}(t)})),e.schema=111)}}function _L(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=null!==e[0].index,r=new Set(Object.keys(e[0].attributes)),i=new Set(Object.keys(e[0].morphAttributes)),a={},s={},o=e[0].morphTargetsRelative,l=new pO,c=0;for(let d=0;d<e.length;++d){let h=e[d],u=0;if(n!==(null!==h.index))return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index "+d+". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."),null;for(let e in h.attributes){if(!r.has(e))return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index "+d+'. All geometries must have compatible attributes; make sure "'+e+'" attribute exists among all geometries, or in none of them.'),null;void 0===a[e]&&(a[e]=[]),a[e].push(h.attributes[e]),u++}if(u!==r.size)return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index "+d+". Make sure all geometries have the same number of attributes."),null;if(o!==h.morphTargetsRelative)return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index "+d+". .morphTargetsRelative must be consistent throughout all geometries."),null;for(let e in h.morphAttributes){if(!i.has(e))return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index "+d+".  .morphAttributes must be consistent throughout all geometries."),null;void 0===s[e]&&(s[e]=[]),s[e].push(h.morphAttributes[e])}if(t){let e;if(n)e=h.index.count;else{if(void 0===h.attributes.position)return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed with geometry at index "+d+". The geometry must have either an index or a position attribute"),null;e=h.attributes.position.count}l.addGroup(c,e,d),c+=e}}if(n){let t=0,n=[];for(let r=0;r<e.length;++r){let i=e[r].index;for(let e=0;e<i.count;++e)n.push(i.getX(e)+t);t+=e[r].attributes.position.count}l.setIndex(n)}for(let d in a){let e=$L(a[d]);if(!e)return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed while trying to merge the "+d+" attribute."),null;l.setAttribute(d,e)}for(let d in s){let e=s[d][0].length;if(0===e)break;l.morphAttributes=l.morphAttributes||{},l.morphAttributes[d]=[];for(let t=0;t<e;++t){let e=[];for(let r=0;r<s[d].length;++r)e.push(s[d][r][t]);let n=$L(e);if(!n)return console.error("THREE.BufferGeometryUtils: .mergeBufferGeometries() failed while trying to merge the "+d+" morphAttribute."),null;l.morphAttributes[d].push(n)}}return l}function $L(e){let t,n,r,i=0;for(let o=0;o<e.length;++o){let a=e[o];if(a.isInterleavedBufferAttribute)return console.error("THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. InterleavedBufferAttributes are not supported."),null;if(void 0===t&&(t=a.array.constructor),t!==a.array.constructor)return console.error("THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."),null;if(void 0===n&&(n=a.itemSize),n!==a.itemSize)return console.error("THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."),null;if(void 0===r&&(r=a.normalized),r!==a.normalized)return console.error("THREE.BufferGeometryUtils: .mergeBufferAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."),null;i+=a.array.length}let a=new t(i),s=0;for(let o=0;o<e.length;++o)a.set(e[o].array,s),s+=e[o].array.length;return new nO(a,n,r)}(e=>{e.defaultData={schema:ZL,scene:tL.defaultData,frames:(new XW).add("72fc2993-2da3-4b6b-96ac-2879db3a28bd",nL.defaultData),shared:{...cL.emptyData(),colors:cL.defaultColors()}},e.emptyDataForImports=function(e){let t=tL.emptyDataWithPage(e);return{schema:ZL,scene:t,frames:(new XW).add("72fc2993-2da3-4b6b-96ac-2879db3a28bd",nL.defaultData),shared:{...cL.emptyData(),colors:cL.defaultColors(),images:cL.defaultImages(e)}}},e.emptyData=function(){return{schema:ZL,scene:tL.emptyDataWithPage(),frames:(new XW).add("72fc2993-2da3-4b6b-96ac-2879db3a28bd",nL.defaultData),shared:cL.emptyData()}},e.clipboard2dData=function(){return{schema:ZL,scene:tL.emptyData(),frames:new XW,shared:cL.emptyData()}},e.collabHelper={...uz,updateSchema(e){var t,n;return(null!==(t=e.schema)&&void 0!==t?t:0)<ZL?qz(e,XL):(null!==(n=e.schema)&&void 0!==n?n:0)-ZL}},e.updateSchemaDirectly=function(t){let n=e.collabHelper.updateSchema(t);return"number"==typeof n?0===n?t:null:n.data},e.withoutLib=function(e){return{...e,shared:{...e.shared,lib:lL.defaultData()}}},e.getComponentData=function(e,t){let n=e.scene.objects.get(t);if(n&&"Component"===n.data.type)return n;{let n=e.shared.lib.components[t];if(n)return n.asset}}})(IL||(IL={})),(e=>{e.is=function(e){return!0}})(CL||(CL={})),(e=>{e.defaultData={position:[0,0],scale:[1,1],rotation:0,shear:[0,0]},e.merge=function(e,t){var n,r,i,a;return{position:null!==(n=null===t||void 0===t?void 0:t.position)&&void 0!==n?n:e.position,rotation:null!==(r=null===t||void 0===t?void 0:t.rotation)&&void 0!==r?r:e.rotation,scale:null!==(i=null===t||void 0===t?void 0:t.scale)&&void 0!==i?i:e.scale,shear:null!==(a=null===t||void 0===t?void 0:t.shear)&&void 0!==a?a:e.shear}},e.diff=function(e,t){return bW({position:CU.isEqual(e.position,t.position)?void 0:t.position,rotation:e.rotation===t.rotation?void 0:t.rotation,scale:CU.isEqual(e.scale,t.scale)?void 0:t.scale,shear:e.shear&&t.shear&&CU.isEqual(e.shear,t.shear)?void 0:t.shear})}})(EL||(EL={})),(e=>{e.defaultData={horizontalConstraint:0,verticalConstraint:0}})(VL||(VL={})),(e=>{e.defaultData={opacity:1,fill:{color:BU.fromHexAndA(FU,1),enabled:!0},stroke:{color:BU.from0to1([0,0,0,1]),thickness:1,enabled:!1,mode:"inside"},layerBlur:{radius:2,enabled:!1},backgroundBlur:{radius:2,enabled:!1},dropShadow:{offset:[10,10],blurRadius:10,color:BU.from0to1([0,0,0,1]),enabled:!1,spread:0},innerShadow:{offset:[10,10],blurRadius:10,color:BU.from0to1([0,0,0,1]),enabled:!1,spread:0}}})(RL||(RL={})),(e=>{e.newEmpty=function(e,t){return{name:t}},e.patch=function(e,t){if(void 0===t)return e;let n={...e};return Object.assign(n,EL.merge(n,t)),n=function(e,t){if(void 0===t)return e;let n={...e},r=["width","height","cornerRadius"];for(let i of r)i in n&&i in t&&void 0!==t[i]&&Object.assign(n,{[i]:t[i]});return n}(n,t),n=function(e,t){if(void 0===t)return e;let n={...e};return"fill"in n&&"fill"in t&&void 0!==t.fill&&Object.assign(n,{fill:{...n.fill,...t.fill}}),"stroke"in n&&"stroke"in t&&void 0!==t.stroke&&Object.assign(n,{stroke:{...n.stroke,...t.stroke}}),"layerBlur"in n&&"layerBlur"in t&&void 0!==t.layerBlur&&Object.assign(n,{layerBlur:{...n.layerBlur,...t.layerBlur}}),"backgroundBlur"in n&&"backgroundBlur"in t&&void 0!==t.backgroundBlur&&Object.assign(n,{backgroundBlur:{...n.backgroundBlur,...t.backgroundBlur}}),"dropShadow"in n&&"dropShadow"in t&&void 0!==t.dropShadow&&Object.assign(n,{dropShadow:{...n.dropShadow,...t.dropShadow}}),"innerShadow"in n&&"innerShadow"in t&&void 0!==t.innerShadow&&Object.assign(n,{innerShadow:{...n.innerShadow,...t.innerShadow}}),n}(n,t),n},e.toOps=function(e,t){let n,r=[];for(let[i,a]of Object.entries(t))"name"!==i&&(void 0===n&&(n={path:[],props:{},type:0},r.push(n)),n.props[i]=a);return r}})(DL||(DL={})),(e=>{e.defaultData={...EL.defaultData,...VL.defaultData,states:new oz,events:new oz,visible:!0,raycastLock:!1}})(BL||(BL={})),(e=>{e.defaultData={...BL.defaultData,...RL.defaultData}})(GL||(GL={})),(e=>{e.defaultData={cornerRadius:[0,0,0,0]}})(qL||(qL={})),(e=>{e.defaultData={...GL.defaultData,type:"ellipse2d",width:100,height:100,name:"Ellipse"}})(HL||(HL={})),(e=>{e.defaultData={...GL.defaultData,...qL.defaultData,type:"rectangle2d",width:100,height:100,name:"Rectangle"}})(WL||(WL={})),(e=>{e.defaultData={...GL.defaultData,type:"text2d",width:100,height:100,fontSize:12,lineHeight:1.2,letterSpacing:0,text:{textValue:"Hello world"},horizontalAlign:1,verticalAlign:1,textTransform:1,font:"Roboto_regular",name:"Text"}})(zL||(zL={})),(e=>{e.defaultData={...GL.defaultData,type:"path2d",path:"",name:"Path"}})(JL||(JL={})),(e=>{e.is=function(e){return"ellipse2d"===e.type||"rectangle2d"===e.type||"text2d"===e.type||"vector2d"===e.type||"path2d"===e.type}})(UL||(UL={})),(e=>{e.defaultData={...BL.defaultData,name:"Group",type:"group2d"}})(NL||(NL={})),(e=>{e.defaultData={...BL.defaultData,...qL.defaultData,...RL.defaultData,name:"Frame",type:"frame2d",clipped:!0,width:200,height:200,fill:{color:BU.fromHexAndA(4737101,1),enabled:!0},stroke:{color:BU.fromHexAndA(0,1),thickness:1,enabled:!1,mode:"inside"},backgroundBlur:{radius:2,enabled:!1},layerBlur:{radius:2,enabled:!1}}})(LL||(LL={})),(e=>{e.defaultData=function(e){switch(e){case"rectangle2d":case"vector2d":return{...WL.defaultData};case"ellipse2d":return{...HL.defaultData};case"text2d":return{...zL.defaultData};case"path2d":return{...JL.defaultData};case"frame2d":return{...LL.defaultData};case"group2d":return{...NL.defaultData}}},e.getPivot=function(e){return"width"in e&&"height"in e?["number"==typeof e.width?.5*e.width:0,"number"==typeof e.height?.5*e.height:0]:[0,0]},e.isResizeable=function(e){return"rectangle2d"===e.type||"ellipse2d"===e.type||"text2d"===e.type||"frame2d"===e.type},e.hasCorners=function(e){return"rectangle2d"===e.type||"frame2d"===e.type}})(YL||(YL={})),(e=>{e.defaultData={name:"UI",type:"scene2d",objects:new sz},e.emptyData=function(){return{type:"scene2d",objects:new sz}}})(FL||(FL={}));var eY=Math.pow(2,-24),tY=class{constructor(){}};function nY(e,t,n){return n.min.x=t[e],n.min.y=t[e+1],n.min.z=t[e+2],n.max.x=t[e+3],n.max.y=t[e+4],n.max.z=t[e+5],n}function rY(e){let t=-1,n=-1/0;for(let r=0;r<3;r++){let i=e[r+3]-e[r];i>n&&(n=i,t=r)}return t}function iY(e,t){t.set(e)}function aY(e,t,n){let r,i;for(let a=0;a<3;a++){let s=a+3;r=e[a],i=t[a],n[a]=r<i?r:i,r=e[s],i=t[s],n[s]=r>i?r:i}}function sY(e,t,n){for(let r=0;r<3;r++){let i=t[e+2*r],a=t[e+2*r+1],s=i-a,o=i+a;s<n[r]&&(n[r]=s),o>n[r+3]&&(n[r+3]=o)}}function oY(e){let t=e[3]-e[0],n=e[4]-e[1],r=e[5]-e[2];return 2*(t*n+n*r+r*t)}function lY(e,t,n,r){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,a=1/0,s=1/0,o=1/0,l=-1/0,c=-1/0,d=-1/0,h=1/0,u=1/0,p=1/0,f=-1/0,m=-1/0,g=-1/0,y=null!==i;for(let v=6*t,x=6*(t+n);v<x;v+=6){let t=e[v+0],n=e[v+1],r=t-n,i=t+n;r<a&&(a=r),i>l&&(l=i),y&&t<h&&(h=t),y&&t>f&&(f=t);let x=e[v+2],S=e[v+3],A=x-S,b=x+S;A<s&&(s=A),b>c&&(c=b),y&&x<u&&(u=x),y&&x>m&&(m=x);let k=e[v+4],w=e[v+5],j=k-w,M=k+w;j<o&&(o=j),M>d&&(d=M),y&&k<p&&(p=k),y&&k>g&&(g=k)}r[0]=a,r[1]=s,r[2]=o,r[3]=l,r[4]=c,r[5]=d,y&&(i[0]=h,i[1]=u,i[2]=p,i[3]=f,i[4]=m,i[5]=g)}var cY=32,dY=(e,t)=>e.candidate-t.candidate,hY=new Array(cY).fill().map((()=>({count:0,bounds:new Float32Array(6),rightCacheBounds:new Float32Array(6),leftCacheBounds:new Float32Array(6),candidate:0}))),uY=new Float32Array(6);function pY(e,t){function n(e){u&&u(e/p)}function r(t,i,u){let p=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,m=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(!f&&m>=l&&(f=!0,c&&(console.warn("MeshBVH: Max depth of ".concat(l," reached when generating BVH. Consider increasing maxDepth.")),console.warn(e))),u<=d||m>=l)return n(i+u),t.offset=i,t.count=u,t;let g=function(e,t,n,r,i,a){let s=-1,o=0;if(0===a)s=rY(t),-1!==s&&(o=(t[s]+t[s+3])/2);else if(1===a)s=rY(e),-1!==s&&(o=function(e,t,n,r){let i=0;for(let a=t,s=t+n;a<s;a++)i+=e[6*a+2*r];return i/n}(n,r,i,s));else if(2===a){let a=oY(e),l=1.25*i,c=6*r,d=6*(r+i);for(let e=0;e<3;e++){let r=t[e],h=(t[e+3]-r)/cY;if(i<cY/4){let t=[...hY];t.length=i;let r=0;for(let i=c;i<d;i+=6,r++){let a=t[r];a.candidate=n[i+2*e],a.count=0;let{bounds:s,leftCacheBounds:o,rightCacheBounds:l}=a;for(let e=0;e<3;e++)l[e]=1/0,l[e+3]=-1/0,o[e]=1/0,o[e+3]=-1/0,s[e]=1/0,s[e+3]=-1/0;sY(i,n,s)}t.sort(dY);let h=i;for(let e=0;e<h;e++){let n=t[e];for(;e+1<h&&t[e+1].candidate===n.candidate;)t.splice(e+1,1),h--}for(let i=c;i<d;i+=6){let r=n[i+2*e];for(let e=0;e<h;e++){let a=t[e];r>=a.candidate?sY(i,n,a.rightCacheBounds):(sY(i,n,a.leftCacheBounds),a.count++)}}for(let n=0;n<h;n++){let r=t[n],c=r.count,d=i-r.count,h=r.leftCacheBounds,u=r.rightCacheBounds,p=0;0!==c&&(p=oY(h)/a);let f=0;0!==d&&(f=oY(u)/a);let m=1+1.25*(p*c+f*d);m<l&&(s=e,l=m,o=r.candidate)}}else{for(let e=0;e<cY;e++){let t=hY[e];t.count=0,t.candidate=r+h+e*h;let n=t.bounds;for(let e=0;e<3;e++)n[e]=1/0,n[e+3]=-1/0}for(let i=c;i<d;i+=6){let t=~~((n[i+2*e]-r)/h);t>=cY&&(t=cY-1);let a=hY[t];a.count++,sY(i,n,a.bounds)}let t=hY[cY-1];iY(t.bounds,t.rightCacheBounds);for(let e=cY-2;e>=0;e--){let t=hY[e],n=hY[e+1];aY(t.bounds,n.rightCacheBounds,t.rightCacheBounds)}let u=0;for(let n=0;n<cY-1;n++){let t=hY[n],r=t.count,c=t.bounds,d=hY[n+1].rightCacheBounds;0!==r&&(0===u?iY(c,uY):aY(c,uY,uY)),u+=r;let h=0,p=0;0!==u&&(h=oY(uY)/a);let f=i-u;0!==f&&(p=oY(d)/a);let m=1+1.25*(h*u+p*f);m<l&&(s=e,l=m,o=t.candidate)}}}}else console.warn("MeshBVH: Invalid build strategy value ".concat(a," used."));return{axis:s,pos:o}}(t.boundingData,p,s,i,u,h);if(-1===g.axis)return n(i+u),t.offset=i,t.count=u,t;let y=function(e,t,n,r,i){let a=n,s=n+r-1,o=i.pos,l=2*i.axis;for(;;){for(;a<=s&&t[6*a+l]<o;)a++;for(;a<=s&&t[6*s+l]>=o;)s--;if(!(a<s))return a;for(let n=0;n<3;n++){let r=e[3*a+n];e[3*a+n]=e[3*s+n],e[3*s+n]=r;let i=t[6*a+2*n+0];t[6*a+2*n+0]=t[6*s+2*n+0],t[6*s+2*n+0]=i;let o=t[6*a+2*n+1];t[6*a+2*n+1]=t[6*s+2*n+1],t[6*s+2*n+1]=o}a++,s--}}(o,s,i,u,g);if(y===i||y===i+u)n(i+u),t.offset=i,t.count=u;else{t.splitAxis=g.axis;let e=new tY,n=i,o=y-i;t.left=e,e.boundingData=new Float32Array(6),lY(s,n,o,e.boundingData,a),r(e,n,o,a,m+1);let l=new tY,c=y,d=u-o;t.right=l,l.boundingData=new Float32Array(6),lY(s,c,d,l.boundingData,a),r(l,c,d,a,m+1)}return t}!function(e,t){if(!e.index){let n,r=e.attributes.position.count,i=t.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer;n=r>65535?new Uint32Array(new i(4*r)):new Uint16Array(new i(2*r)),e.setIndex(new nO(n,1));for(let e=0;e<r;e++)n[e]=e}}(e,t);let i=new Float32Array(6),a=new Float32Array(6),s=function(e,t){let n=e.attributes.position,r=e.index.array,i=r.length/3,a=new Float32Array(6*i),s=n.normalized,o=n.array,l=n.offset||0,c=3;n.isInterleavedBufferAttribute&&(c=n.data.stride);let d=["getX","getY","getZ"];for(let h=0;h<i;h++){let e,i,u,p=3*h,f=6*h;s?(e=r[p+0],i=r[p+1],u=r[p+2]):(e=r[p+0]*c+l,i=r[p+1]*c+l,u=r[p+2]*c+l);for(let r=0;r<3;r++){let l,c,h;s?(l=n[d[r]](e),c=n[d[r]](i),h=n[d[r]](u)):(l=o[e+r],c=o[i+r],h=o[u+r]);let p=l;c<p&&(p=c),h<p&&(p=h);let m=l;c>m&&(m=c),h>m&&(m=h);let g=(m-p)/2,y=2*r;a[f+y+0]=p+g,a[f+y+1]=g+(Math.abs(p)+g)*eY,p<t[r]&&(t[r]=p),m>t[r+3]&&(t[r+3]=m)}}return a}(e,i),o=e.index.array,l=t.maxDepth,c=t.verbose,d=t.maxLeafTris,h=t.strategy,u=t.onProgress,p=e.index.count/3,f=!1,m=[],g=function(e){if(!e.groups||!e.groups.length)return[{offset:0,count:e.index.count/3}];let t=[],n=new Set;for(let i of e.groups)n.add(i.start),n.add(i.start+i.count);let r=Array.from(n.values()).sort(((e,t)=>e-t));for(let i=0;i<r.length-1;i++){let e=r[i],n=r[i+1];t.push({offset:e/3,count:(n-e)/3})}return t}(e);if(1===g.length){let e=g[0],t=new tY;t.boundingData=i,function(e,t,n,r){let i=1/0,a=1/0,s=1/0,o=-1/0,l=-1/0,c=-1/0;for(let d=6*t,h=6*(t+n);d<h;d+=6){let t=e[d+0];t<i&&(i=t),t>o&&(o=t);let n=e[d+2];n<a&&(a=n),n>l&&(l=n);let r=e[d+4];r<s&&(s=r),r>c&&(c=r)}r[0]=i,r[1]=a,r[2]=s,r[3]=o,r[4]=l,r[5]=c}(s,e.offset,e.count,a),r(t,e.offset,e.count,a),m.push(t)}else for(let y of g){let e=new tY;e.boundingData=new Float32Array(6),lY(s,y.offset,y.count,e.boundingData,a),r(e,y.offset,y.count,a),m.push(e)}return m}var fY=class{constructor(){this.min=1/0,this.max=-1/0}setFromPointsField(e,t){let n=1/0,r=-1/0;for(let i=0,a=e.length;i<a;i++){let a=e[i][t];n=a<n?a:n,r=a>r?a:r}this.min=n,this.max=r}setFromPoints(e,t){let n=1/0,r=-1/0;for(let i=0,a=t.length;i<a;i++){let a=t[i],s=e.dot(a);n=s<n?s:n,r=s>r?s:r}this.min=n,this.max=r}isSeparated(e){return this.min>e.max||e.min>this.max}};fY.prototype.setFromBox=function(){let e=new qM;return function(t,n){let r=n.min,i=n.max,a=1/0,s=-1/0;for(let o=0;o<=1;o++)for(let n=0;n<=1;n++)for(let l=0;l<=1;l++){e.x=r.x*o+i.x*(1-o),e.y=r.y*n+i.y*(1-n),e.z=r.z*l+i.z*(1-l);let c=t.dot(e);a=Math.min(c,a),s=Math.max(c,s)}this.min=a,this.max=s}}();!function(){let e=new fY}();var mY=function(){let e=new qM,t=new qM,n=new qM;return function(r,i,a){let s=r.start,o=e,l=i.start,c=t;n.subVectors(s,l),e.subVectors(r.end,r.start),t.subVectors(i.end,i.start);let d,h,u=n.dot(c),p=c.dot(o),f=c.dot(c),m=n.dot(o),g=o.dot(o)*f-p*p;d=0!==g?(u*p-m*f)/g:0,h=(u+d*p)/f,a.x=d,a.y=h}}(),gY=function(){let e=new cM,t=new qM,n=new qM;return function(r,i,a,s){mY(r,i,e);let o=e.x,l=e.y;if(o>=0&&o<=1&&l>=0&&l<=1)return r.at(o,a),void i.at(l,s);if(o>=0&&o<=1)return l<0?i.at(0,s):i.at(1,s),void r.closestPointToPoint(s,!0,a);if(l>=0&&l<=1)return o<0?r.at(0,a):r.at(1,a),void i.closestPointToPoint(a,!0,s);{let e,c;e=o<0?r.start:r.end,c=l<0?i.start:i.end;let d=t,h=n;return r.closestPointToPoint(c,!0,t),i.closestPointToPoint(e,!0,n),d.distanceToSquared(c)<=h.distanceToSquared(e)?(a.copy(d),void s.copy(c)):(a.copy(e),void s.copy(h))}}}(),yY=function(){let e=new qM,t=new qM,n=new NO,r=new wR;return function(i,a){let{radius:s,center:o}=i,{a:l,b:c,c:d}=a;if(r.start=l,r.end=c,r.closestPointToPoint(o,!0,e).distanceTo(o)<=s||(r.start=l,r.end=d,r.closestPointToPoint(o,!0,e).distanceTo(o)<=s)||(r.start=c,r.end=d,r.closestPointToPoint(o,!0,e).distanceTo(o)<=s))return!0;let h=a.getPlane(n);if(Math.abs(h.distanceToPoint(o))<=s){let e=h.projectPoint(o,t);if(a.containsPoint(e))return!0}return!1}}();function vY(e){return Math.abs(e)<1e-15}var xY=class extends QP{constructor(){super(...arguments),this.isExtendedTriangle=!0,this.satAxes=new Array(4).fill().map((()=>new qM)),this.satBounds=new Array(4).fill().map((()=>new fY)),this.points=[this.a,this.b,this.c],this.sphere=new aP,this.plane=new NO,this.needsUpdate=!0}intersectsSphere(e){return yY(e,this)}update(){let e=this.a,t=this.b,n=this.c,r=this.points,i=this.satAxes,a=this.satBounds,s=i[0],o=a[0];this.getNormal(s),o.setFromPoints(s,r);let l=i[1],c=a[1];l.subVectors(e,t),c.setFromPoints(l,r);let d=i[2],h=a[2];d.subVectors(t,n),h.setFromPoints(d,r);let u=i[3],p=a[3];u.subVectors(n,e),p.setFromPoints(u,r),this.sphere.setFromPoints(this.points),this.plane.setFromNormalAndCoplanarPoint(s,e),this.needsUpdate=!1}};xY.prototype.closestPointToSegment=function(){let e=new qM,t=new qM,n=new wR;return function(r){let i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,{start:o,end:l}=r,c=this.points,d=1/0;for(let h=0;h<3;h++){let o=(h+1)%3;n.start.copy(c[h]),n.end.copy(c[o]),gY(n,r,e,t),i=e.distanceToSquared(t),i<d&&(d=i,a&&a.copy(e),s&&s.copy(t))}return this.closestPointToPoint(o,e),i=o.distanceToSquared(e),i<d&&(d=i,a&&a.copy(e),s&&s.copy(o)),this.closestPointToPoint(l,e),i=l.distanceToSquared(e),i<d&&(d=i,a&&a.copy(e),s&&s.copy(l)),Math.sqrt(d)}}(),xY.prototype.intersectsTriangle=function(){let e=new xY,t=new Array(3),n=new Array(3),r=new fY,i=new fY,a=new qM,s=new qM,o=new qM,l=new qM,c=new wR,d=new wR,h=new wR;return function(u){let p=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,f=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.needsUpdate&&this.update(),u.isExtendedTriangle?u.needsUpdate&&u.update():(e.copy(u),e.update(),u=e);let m=this.plane,g=u.plane;if(Math.abs(m.normal.dot(g.normal))>1-1e-10){let e=this.satBounds,s=this.satAxes;n[0]=u.a,n[1]=u.b,n[2]=u.c;for(let t=0;t<4;t++){let i=e[t],a=s[t];if(r.setFromPoints(a,n),i.isSeparated(r))return!1}let o=u.satBounds,l=u.satAxes;t[0]=this.a,t[1]=this.b,t[2]=this.c;for(let n=0;n<4;n++){let e=o[n],i=l[n];if(r.setFromPoints(i,t),e.isSeparated(r))return!1}for(let c=0;c<4;c++){let e=s[c];for(let s=0;s<4;s++){let o=l[s];if(a.crossVectors(e,o),r.setFromPoints(a,t),i.setFromPoints(a,n),r.isSeparated(i))return!1}}return p&&(f||console.warn("ExtendedTriangle.intersectsTriangle: Triangles are coplanar which does not support an output edge. Setting edge to 0, 0, 0."),p.start.set(0,0,0),p.end.set(0,0,0)),!0}{let e=this.points,t=!1,n=0;for(let o=0;o<3;o++){let r=e[o],i=e[(o+1)%3];c.start.copy(r),c.end.copy(i),c.delta(s);let a=t?d.start:d.end,l=vY(g.distanceToPoint(r));if(vY(g.normal.dot(s))&&l){d.copy(c),n=2;break}if((g.intersectLine(c,a)||l)&&!vY(a.distanceTo(i))){if(n++,t)break;t=!0}}if(1===n&&u.containsPoint(d.end))return p&&(p.start.copy(d.end),p.end.copy(d.end)),!0;if(2!==n)return!1;let r=u.points,i=!1,a=0;for(let s=0;s<3;s++){let e=r[s],t=r[(s+1)%3];c.start.copy(e),c.end.copy(t),c.delta(o);let n=i?h.start:h.end,l=vY(m.distanceToPoint(e));if(vY(m.normal.dot(o))&&l){h.copy(c),a=2;break}if((m.intersectLine(c,n)||l)&&!vY(n.distanceTo(t))){if(a++,i)break;i=!0}}if(1===a&&this.containsPoint(h.end))return p&&(p.start.copy(h.end),p.end.copy(h.end)),!0;if(2!==a)return!1;if(d.delta(s),h.delta(o),s.dot(o)<0){let e=h.start;h.start=h.end,h.end=e}let f=d.start.dot(s),y=d.end.dot(s),v=h.start.dot(s),x=h.end.dot(s);return(f===x||v===y||y<v!==f<x)&&(p&&(l.subVectors(d.start,h.start),l.dot(s)>0?p.start.copy(d.start):p.start.copy(h.start),l.subVectors(d.end,h.end),l.dot(s)<0?p.end.copy(d.end):p.end.copy(h.end)),!0)}}}(),xY.prototype.distanceToPoint=function(){let e=new qM;return function(t){return this.closestPointToPoint(t,e),t.distanceTo(e)}}(),xY.prototype.distanceToTriangle=function(){let e=new qM,t=new qM,n=["a","b","c"],r=new wR,i=new wR;return function(a){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,l=s||o?r:null;if(this.intersectsTriangle(a,l))return(s||o)&&(s&&l.getCenter(s),o&&l.getCenter(o)),0;let c=1/0;for(let t=0;t<3;t++){let r,i=n[t],l=a[i];this.closestPointToPoint(l,e),r=l.distanceToSquared(e),r<c&&(c=r,s&&s.copy(e),o&&o.copy(l));let d=this[i];a.closestPointToPoint(d,e),r=d.distanceToSquared(e),r<c&&(c=r,s&&s.copy(d),o&&o.copy(e))}for(let d=0;d<3;d++){let l=n[d],h=n[(d+1)%3];r.set(this[l],this[h]);for(let d=0;d<3;d++){let l=n[d],h=n[(d+1)%3];i.set(a[l],a[h]),gY(r,i,e,t);let u=e.distanceToSquared(t);u<c&&(c=u,s&&s.copy(e),o&&o.copy(t))}}return Math.sqrt(c)}}();var SY=class{constructor(e,t,n){this.isOrientedBox=!0,this.min=new qM,this.max=new qM,this.matrix=new fP,this.invMatrix=new fP,this.points=new Array(8).fill().map((()=>new qM)),this.satAxes=new Array(3).fill().map((()=>new qM)),this.satBounds=new Array(3).fill().map((()=>new fY)),this.alignedSatBounds=new Array(3).fill().map((()=>new fY)),this.needsUpdate=!1,e&&this.min.copy(e),t&&this.max.copy(t),n&&this.matrix.copy(n)}set(e,t,n){this.min.copy(e),this.max.copy(t),this.matrix.copy(n),this.needsUpdate=!0}copy(e){this.min.copy(e.min),this.max.copy(e.max),this.matrix.copy(e.matrix),this.needsUpdate=!0}};SY.prototype.update=function(){let e=this.matrix,t=this.min,n=this.max,r=this.points;for(let l=0;l<=1;l++)for(let i=0;i<=1;i++)for(let a=0;a<=1;a++){let s=r[1*l|2*i|4*a];s.x=l?n.x:t.x,s.y=i?n.y:t.y,s.z=a?n.z:t.z,s.applyMatrix4(e)}let i=this.satBounds,a=this.satAxes,s=r[0];for(let l=0;l<3;l++){let e=a[l],t=i[l],n=r[1<<l];e.subVectors(s,n),t.setFromPoints(e,r)}let o=this.alignedSatBounds;o[0].setFromPointsField(r,"x"),o[1].setFromPointsField(r,"y"),o[2].setFromPointsField(r,"z"),this.invMatrix.copy(this.matrix).invert(),this.needsUpdate=!1},SY.prototype.intersectsBox=function(){let e=new fY;return function(t){this.needsUpdate&&this.update();let n=t.min,r=t.max,i=this.satBounds,a=this.satAxes,s=this.alignedSatBounds;if(e.min=n.x,e.max=r.x,s[0].isSeparated(e)||(e.min=n.y,e.max=r.y,s[1].isSeparated(e))||(e.min=n.z,e.max=r.z,s[2].isSeparated(e)))return!1;for(let o=0;o<3;o++){let n=a[o],r=i[o];if(e.setFromBox(n,t),r.isSeparated(e))return!1}return!0}}(),SY.prototype.intersectsTriangle=function(){let e=new xY,t=new Array(3),n=new fY,r=new fY,i=new qM;return function(a){this.needsUpdate&&this.update(),a.isExtendedTriangle?a.needsUpdate&&a.update():(e.copy(a),e.update(),a=e);let s=this.satBounds,o=this.satAxes;t[0]=a.a,t[1]=a.b,t[2]=a.c;for(let e=0;e<3;e++){let r=s[e],i=o[e];if(n.setFromPoints(i,t),r.isSeparated(n))return!1}let l=a.satBounds,c=a.satAxes,d=this.points;for(let e=0;e<3;e++){let t=l[e],r=c[e];if(n.setFromPoints(r,d),t.isSeparated(n))return!1}for(let e=0;e<3;e++){let a=o[e];for(let e=0;e<4;e++){let s=c[e];if(i.crossVectors(a,s),n.setFromPoints(i,t),r.setFromPoints(i,d),n.isSeparated(r))return!1}}return!0}}(),SY.prototype.closestPointToPoint=function(e,t){return this.needsUpdate&&this.update(),t.copy(e).applyMatrix4(this.invMatrix).clamp(this.min,this.max).applyMatrix4(this.matrix),t},SY.prototype.distanceToPoint=function(){let e=new qM;return function(t){return this.closestPointToPoint(t,e),t.distanceTo(e)}}(),SY.prototype.distanceToBox=function(){let e=["x","y","z"],t=new Array(12).fill().map((()=>new wR)),n=new Array(12).fill().map((()=>new wR)),r=new qM,i=new qM;return function(a){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;if(this.needsUpdate&&this.update(),this.intersectsBox(a))return(o||l)&&(a.getCenter(i),this.closestPointToPoint(i,r),a.closestPointToPoint(r,i),o&&o.copy(r),l&&l.copy(i)),0;let c=s*s,d=a.min,h=a.max,u=this.points,p=1/0;for(let e=0;e<8;e++){let t=u[e];i.copy(t).clamp(d,h);let n=t.distanceToSquared(i);if(n<p&&(p=n,o&&o.copy(t),l&&l.copy(i),n<c))return Math.sqrt(n)}let f=0;for(let r=0;r<3;r++)for(let i=0;i<=1;i++)for(let a=0;a<=1;a++){let s=(r+1)%3,o=(r+2)%3,l=1<<r|i<<s|a<<o,c=u[i<<s|a<<o],p=u[l];t[f].set(c,p);let m=e[r],g=e[s],y=e[o],v=n[f],x=v.start,S=v.end;x[m]=d[m],x[g]=i?d[g]:h[g],x[y]=a?d[y]:h[g],S[m]=h[m],S[g]=i?d[g]:h[g],S[y]=a?d[y]:h[g],f++}for(let e=0;e<=1;e++)for(let t=0;t<=1;t++)for(let n=0;n<=1;n++){i.x=e?h.x:d.x,i.y=t?h.y:d.y,i.z=n?h.z:d.z,this.closestPointToPoint(i,r);let a=i.distanceToSquared(r);if(a<p&&(p=a,o&&o.copy(r),l&&l.copy(i),a<c))return Math.sqrt(a)}for(let e=0;e<12;e++){let a=t[e];for(let e=0;e<12;e++){let t=n[e];gY(a,t,r,i);let s=r.distanceToSquared(i);if(s<p&&(p=s,o&&o.copy(r),l&&l.copy(i),s<c))return Math.sqrt(s)}}return Math.sqrt(p)}}();var AY=new qM,bY=new qM,kY=new qM,wY=new cM,jY=new cM,MY=new cM,PY=new qM,OY=new qM,TY=new qM,IY=new qM;function CY(e,t,n,r,i,a,s,o,l){AY.fromBufferAttribute(t,a),bY.fromBufferAttribute(t,s),kY.fromBufferAttribute(t,o);let c=function(e,t,n,r,i,a){let s;return s=a===Tk?e.intersectTriangle(r,n,t,!0,i):e.intersectTriangle(t,n,r,a!==Ik,i),null===s?null:{distance:e.origin.distanceTo(i),point:i.clone()}}(e,AY,bY,kY,IY,l);if(c){r&&(wY.fromBufferAttribute(r,a),jY.fromBufferAttribute(r,s),MY.fromBufferAttribute(r,o),c.uv=QP.getInterpolation(IY,AY,bY,kY,wY,jY,MY,new cM)),i&&(wY.fromBufferAttribute(i,a),jY.fromBufferAttribute(i,s),MY.fromBufferAttribute(i,o),c.uv1=QP.getInterpolation(IY,AY,bY,kY,wY,jY,MY,new cM)),n&&(PY.fromBufferAttribute(n,a),OY.fromBufferAttribute(n,s),TY.fromBufferAttribute(n,o),c.normal=QP.getInterpolation(IY,AY,bY,kY,PY,OY,TY,new qM),c.normal.dot(e.direction)>0&&c.normal.multiplyScalar(-1));let t={a:a,b:s,c:o,normal:new qM,materialIndex:0};QP.getNormal(AY,bY,kY,t.normal),c.face=t,c.faceIndex=a}return c}function EY(e,t,n,r,i){let a=3*r,s=e.index.getX(a),o=e.index.getX(a+1),l=e.index.getX(a+2),{position:c,normal:d,uv:h,uv1:u}=e.attributes,p=CY(n,c,d,h,u,s,o,l,t);return p?(p.faceIndex=r,i&&i.push(p),p):null}function VY(e,t,n,r){let i=e.a,a=e.b,s=e.c,o=t,l=t+1,c=t+2;n&&(o=n.getX(t),l=n.getX(t+1),c=n.getX(t+2)),i.x=r.getX(o),i.y=r.getY(o),i.z=r.getZ(o),a.x=r.getX(l),a.y=r.getY(l),a.z=r.getZ(l),s.x=r.getX(c),s.y=r.getY(c),s.z=r.getZ(c)}function RY(e,t,n,r,i,a,s){let o=n.index,l=n.attributes.position;for(let c=e,d=t+e;c<d;c++)if(VY(s,3*c,o,l),s.needsUpdate=!0,r(s,c,i,a))return!0;return!1}var DY=class{constructor(e){this._getNewPrimitive=e,this._primitives=[]}getPrimitive(){let e=this._primitives;return 0===e.length?this._getNewPrimitive():e.pop()}releasePrimitive(e){this._primitives.push(e)}};function BY(e,t){return 65535===t[e+15]}function GY(e,t){return t[e+6]}function qY(e,t){return t[e+14]}function HY(e){return e+8}function WY(e,t){return t[e+6]}var zY=new zM,JY=new qM,UY=["x","y","z"];function NY(e,t,n,r,i){let a=2*e,s=QY,o=XY,l=_Y;if(BY(a,o)){!function(e,t,n,r,i,a){for(let s=r,o=r+i;s<o;s++)EY(e,t,n,s,a)}(t,n,r,GY(e,l),qY(a,o),i)}else{let a=HY(e);ZY(a,s,r,JY)&&NY(a,t,n,r,i);let o=WY(e,l);ZY(o,s,r,JY)&&NY(o,t,n,r,i)}}function LY(e,t,n,r){let i=2*e,a=QY,s=XY,o=_Y;if(BY(i,s)){return function(e,t,n,r,i){let a=1/0,s=null;for(let o=r,l=r+i;o<l;o++){let r=EY(e,t,n,o);r&&r.distance<a&&(s=r,a=r.distance)}return s}(t,n,r,GY(e,o),qY(i,s))}{let i,s,l=function(e,t){return t[e+7]}(e,o),c=UY[l],d=r.direction[c]>=0;d?(i=HY(e),s=WY(e,o)):(i=WY(e,o),s=HY(e));let h=ZY(i,a,r,JY)?LY(i,t,n,r):null;if(h){let e=h.point[c];if(d?e<=a[s+l]:e>=a[s+l+3])return h}let u=ZY(s,a,r,JY)?LY(s,t,n,r):null;return h&&u?h.distance<=u.distance?h:u:h||u||null}}var YY=function(){let e,t,n=[],r=new DY((()=>new zM));return function(){e=r.getPrimitive(),t=r.getPrimitive(),n.push(e,t);let a=i(...arguments);r.releasePrimitive(e),r.releasePrimitive(t),n.pop(),n.pop();let s=n.length;return s>0&&(t=n[s-1],e=n[s-2]),a};function i(n,r,a,s){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,c=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0;function d(e){let t=2*e,n=XY,r=_Y;for(;!BY(t,n);)t=2*(e=HY(e));return GY(e,r)}function h(e){let t=2*e,n=XY,r=_Y;for(;!BY(t,n);)t=2*(e=WY(e,r));return GY(e,r)+qY(t,n)}let u=2*n,p=QY,f=XY,m=_Y;if(BY(u,f)){let t=GY(n,m),r=qY(u,f);return nY(n,p,e),s(t,r,!1,c,l+n,e)}{let u,g,y,v,x=HY(n),S=WY(n,m),A=x,b=S;if(o&&(y=e,v=t,nY(A,p,y),nY(b,p,v),u=o(y),g=o(v),g<u)){A=S,b=x;let e=u;u=g,g=e,y=v}y||(y=e,nY(A,p,y));let k,w=a(y,BY(2*A,f),u,c+1,l+A);if(2===w){let e=d(A);k=s(e,h(A)-e,!0,c+1,l+A,y)}else k=w&&i(A,r,a,s,o,l,c+1);if(k)return!0;v=t,nY(b,p,v);let j,M=a(v,BY(2*b,f),g,c+1,l+b);if(2===M){let e=d(b);j=s(e,h(b)-e,!0,c+1,l+b,v)}else j=M&&i(b,r,a,s,o,l,c+1);return!!j}}}(),FY=function(){let e=new xY,t=new xY,n=new fP,r=new SY,i=new SY;return function a(s,o,l,c){let d=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,h=2*s,u=QY,p=XY,f=_Y;if(null===d&&(l.boundingBox||l.computeBoundingBox(),r.set(l.boundingBox.min,l.boundingBox.max,c),d=r),!BY(h,p)){let e=s+8,t=f[s+6];return nY(e,u,zY),!!(d.intersectsBox(zY)&&a(e,o,l,c,d)||(nY(t,u,zY),d.intersectsBox(zY)&&a(t,o,l,c,d)))}{let r=o,a=r.index,d=r.attributes.position,m=l.index,g=l.attributes.position,y=GY(s,f),v=qY(h,p);if(n.copy(c).invert(),l.boundsTree)return nY(s,u,i),i.matrix.copy(n),i.needsUpdate=!0,l.boundsTree.shapecast({intersectsBounds:e=>i.intersectsBox(e),intersectsTriangle:e=>{e.a.applyMatrix4(c),e.b.applyMatrix4(c),e.c.applyMatrix4(c),e.needsUpdate=!0;for(let n=3*y,r=3*(v+y);n<r;n+=3)if(VY(t,n,a,d),t.needsUpdate=!0,e.intersectsTriangle(t))return!0;return!1}});for(let i=3*y,s=v+3*y;i<s;i+=3){VY(e,i,a,d),e.a.applyMatrix4(n),e.b.applyMatrix4(n),e.c.applyMatrix4(n),e.needsUpdate=!0;for(let n=0,r=m.count;n<r;n+=3)if(VY(t,n,m,g),t.needsUpdate=!0,e.intersectsTriangle(t))return!0}}}}();function ZY(e,t,n,r){return nY(e,t,zY),n.intersectBox(zY,r)}var KY,QY,XY,_Y,$Y=[];function eF(e){KY&&$Y.push(KY),KY=e,QY=new Float32Array(e),XY=new Uint16Array(e),_Y=new Uint32Array(e)}function tF(){KY=null,QY=null,XY=null,_Y=null,$Y.length&&eF($Y.pop())}var nF=Symbol("skip tree generation"),rF=new zM,iF=new zM,aF=new fP,sF=new SY,oF=new SY,lF=new qM,cF=new qM,dF=new qM,hF=new qM,uF=new qM,pF=new zM,fF=new DY((()=>new xY)),mF=class{static serialize(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.isBufferGeometry)return console.warn("MeshBVH.serialize: The arguments for the function have changed. See documentation for new signature."),mF.serialize(arguments[0],{cloneBuffers:void 0===arguments[2]||arguments[2]});t={cloneBuffers:!0,...t};let n,r=e.geometry,i=e._roots,a=r.getIndex();return n=t.cloneBuffers?{roots:i.map((e=>e.slice())),index:a.array.slice()}:{roots:i,index:a.array},n}static deserialize(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("boolean"==typeof n)return console.warn("MeshBVH.deserialize: The arguments for the function have changed. See documentation for new signature."),mF.deserialize(arguments[0],arguments[1],{setIndex:void 0===arguments[2]||arguments[2]});n={setIndex:!0,...n};let{index:r,roots:i}=e,a=new mF(t,{...n,[nF]:!0});if(a._roots=i,n.setIndex){let n=t.getIndex();if(null===n){let n=new nO(e.index,1,!1);t.setIndex(n)}else n.array!==r&&(n.array.set(r),n.needsUpdate=!0)}return a}constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e.isBufferGeometry)throw new Error("MeshBVH: Only BufferGeometries are supported.");if(e.index&&e.index.isInterleavedBufferAttribute)throw new Error("MeshBVH: InterleavedBufferAttribute is not supported for the index attribute.");if(t=Object.assign({strategy:0,maxDepth:40,maxLeafTris:10,verbose:!0,useSharedArrayBuffer:!1,setBoundingBox:!0,onProgress:null,[nF]:!1},t),t.useSharedArrayBuffer&&typeof SharedArrayBuffer>"u")throw new Error("MeshBVH: SharedArrayBuffer is not available.");this._roots=null,t[nF]||(this._roots=function(e,t){let n,r,i,a=pY(e,t),s=[],o=t.useSharedArrayBuffer?SharedArrayBuffer:ArrayBuffer;for(let d=0;d<a.length;d++){let e=a[d],t=new o(32*l(e));n=new Float32Array(t),r=new Uint32Array(t),i=new Uint16Array(t),c(0,e),s.push(t)}return s;function l(e){return e.count?1:1+l(e.left)+l(e.right)}function c(e,t){let a=e/4,s=e/2,o=!!t.count,l=t.boundingData;for(let r=0;r<6;r++)n[a+r]=l[r];if(o){let n=t.offset,o=t.count;return r[a+6]=n,i[s+14]=o,i[s+15]=65535,e+32}{let n,i=t.left,s=t.right,o=t.splitAxis;if(n=c(e+32,i),n/4>Math.pow(2,32))throw new Error("MeshBVH: Cannot store child pointer greater than 32 bits.");return r[a+6]=n/4,n=c(n,s),r[a+7]=o,n}}}(e,t),!e.boundingBox&&t.setBoundingBox&&(e.boundingBox=this.getBoundingBox(new zM))),this.geometry=e}refit(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;e&&Array.isArray(e)&&(e=new Set(e));let t,n,r,i,a=this.geometry,s=a.index.array,o=a.attributes.position,l=0,c=this._roots;for(let h=0,u=c.length;h<u;h++)t=c[h],n=new Uint32Array(t),r=new Uint16Array(t),i=new Float32Array(t),d(0,l),l+=t.byteLength;function d(t,a){let l=arguments.length>2&&void 0!==arguments[2]&&arguments[2],c=2*t;if(65535===r[c+15]){let e=n[t+6],a=1/0,l=1/0,d=1/0,h=-1/0,u=-1/0,p=-1/0;for(let t=3*e,n=3*(e+r[c+14]);t<n;t++){let e=s[t],n=o.getX(e),r=o.getY(e),i=o.getZ(e);n<a&&(a=n),n>h&&(h=n),r<l&&(l=r),r>u&&(u=r),i<d&&(d=i),i>p&&(p=i)}return(i[t+0]!==a||i[t+1]!==l||i[t+2]!==d||i[t+3]!==h||i[t+4]!==u||i[t+5]!==p)&&(i[t+0]=a,i[t+1]=l,i[t+2]=d,i[t+3]=h,i[t+4]=u,i[t+5]=p,!0)}{let r=t+8,s=n[t+6],o=r+a,c=s+a,h=l,u=!1,p=!1;e?h||(u=e.has(o),p=e.has(c),h=!u&&!p):(u=!0,p=!0);let f=h||p,m=!1;(h||u)&&(m=d(r,a,h));let g=!1;f&&(g=d(s,a,h));let y=m||g;if(y)for(let e=0;e<3;e++){let n=r+e,a=s+e,o=i[n],l=i[n+3],c=i[a],d=i[a+3];i[t+e]=o<c?o:c,i[t+e+3]=l>d?l:d}return y}}}traverse(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=this._roots[t],r=new Uint32Array(n),i=new Uint16Array(n);!function t(a){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=2*a,l=65535===i[o+15];if(l){let t=r[a+6],c=i[o+14];e(s,l,new Float32Array(n,4*a,6),t,c)}else{let i=a+8,o=r[a+6],c=r[a+7];e(s,l,new Float32Array(n,4*a,6),c)||(t(i,s+1),t(o,s+1))}}(0)}raycast(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ok,n=this._roots,r=this.geometry,i=[],a=t.isMaterial,s=Array.isArray(t),o=r.groups,l=a?t.side:t;for(let c=0,d=n.length;c<d;c++){let a=s?t[o[c].materialIndex].side:l,d=i.length;if(eF(n[c]),NY(0,r,a,e,i),tF(),s){let e=o[c].materialIndex;for(let t=d,n=i.length;t<n;t++)i[t].face.materialIndex=e}}return i}raycastFirst(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ok,n=this._roots,r=this.geometry,i=t.isMaterial,a=Array.isArray(t),s=null,o=r.groups,l=i?t.side:t;for(let c=0,d=n.length;c<d;c++){let i=a?t[o[c].materialIndex].side:l;eF(n[c]);let d=LY(0,r,i,e);tF(),null!=d&&(null==s||d.distance<s.distance)&&(s=d,a&&(d.face.materialIndex=o[c].materialIndex))}return s}intersectsGeometry(e,t){let n=this.geometry,r=!1;for(let i of this._roots)if(eF(i),r=FY(0,n,e,t),tF(),r)break;return r}shapecast(e,t,n){let r=this.geometry;if(e instanceof Function){if(t){let e=t;t=(t,n,r,i)=>{let a=3*n;return e(t,a,a+1,a+2,r,i)}}e={boundsTraverseOrder:n,intersectsBounds:e,intersectsTriangle:t,intersectsRange:null},console.warn("MeshBVH: Shapecast function signature has changed and now takes an object of callbacks as a second argument. See docs for new signature.")}let i=fF.getPrimitive(),{boundsTraverseOrder:a,intersectsBounds:s,intersectsRange:o,intersectsTriangle:l}=e;if(o&&l){let e=o;o=(t,n,a,s,o)=>!!e(t,n,a,s,o)||RY(t,n,r,l,a,s,i)}else o||(o=l?(e,t,n,a)=>RY(e,t,r,l,n,a,i):(e,t,n)=>n);let c=!1,d=0;for(let h of this._roots){if(eF(h),c=YY(0,r,s,o,a,d),tF(),c)break;d+=h.byteLength}return fF.releasePrimitive(i),c}bvhcast(e,t,n){let{intersectsRanges:r,intersectsTriangles:i}=n,a=this.geometry.index,s=this.geometry.attributes.position,o=e.geometry.index,l=e.geometry.attributes.position;aF.copy(t).invert();let c=fF.getPrimitive(),d=fF.getPrimitive();if(i){let e=function(e,n,r,h,u,p,f,m){for(let g=r,y=r+h;g<y;g++){VY(d,3*g,o,l),d.a.applyMatrix4(t),d.b.applyMatrix4(t),d.c.applyMatrix4(t),d.needsUpdate=!0;for(let t=e,r=e+n;t<r;t++)if(VY(c,3*t,a,s),c.needsUpdate=!0,i(c,d,t,g,u,p,f,m))return!0}return!1};if(r){let t=r;r=function(n,r,i,a,s,o,l,c){return!!t(n,r,i,a,s,o,l,c)||e(n,r,i,a,s,o,l,c)}}else r=e}e.getBoundingBox(iF),iF.applyMatrix4(t);let h=this.shapecast({intersectsBounds:e=>iF.intersectsBox(e),intersectsRange:(t,n,i,a,s,o)=>(rF.copy(o),rF.applyMatrix4(aF),e.shapecast({intersectsBounds:e=>rF.intersectsBox(e),intersectsRange:(e,i,o,l,c)=>r(t,n,e,i,a,s,l,c)}))});return fF.releasePrimitive(c),fF.releasePrimitive(d),h}intersectsBox(e,t){return sF.set(e.min,e.max,t),sF.needsUpdate=!0,this.shapecast({intersectsBounds:e=>sF.intersectsBox(e),intersectsTriangle:e=>sF.intersectsTriangle(e)})}intersectsSphere(e){return this.shapecast({intersectsBounds:t=>e.intersectsBox(t),intersectsTriangle:t=>t.intersectsSphere(e)})}closestPointToGeometry(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1/0;e.boundingBox||e.computeBoundingBox(),sF.set(e.boundingBox.min,e.boundingBox.max,t),sF.needsUpdate=!0;let s=this.geometry,o=s.attributes.position,l=s.index,c=e.attributes.position,d=e.index,h=fF.getPrimitive(),u=fF.getPrimitive(),p=cF,f=dF,m=null,g=null;r&&(m=hF,g=uF);let y=1/0,v=null,x=null;return aF.copy(t).invert(),oF.matrix.copy(aF),this.shapecast({boundsTraverseOrder:e=>sF.distanceToBox(e),intersectsBounds:(e,t,n)=>n<y&&n<a&&(t&&(oF.min.copy(e.min),oF.max.copy(e.max),oF.needsUpdate=!0),!0),intersectsRange:(n,r)=>{if(e.boundsTree)return e.boundsTree.shapecast({boundsTraverseOrder:e=>oF.distanceToBox(e),intersectsBounds:(e,t,n)=>n<y&&n<a,intersectsRange:(e,a)=>{for(let s=3*e,S=3*(e+a);s<S;s+=3){VY(u,s,d,c),u.a.applyMatrix4(t),u.b.applyMatrix4(t),u.c.applyMatrix4(t),u.needsUpdate=!0;for(let e=3*n,t=3*(n+r);e<t;e+=3){VY(h,e,l,o),h.needsUpdate=!0;let t=h.distanceToTriangle(u,p,m);if(t<y&&(f.copy(p),g&&g.copy(m),y=t,v=e/3,x=s/3),t<i)return!0}}}});for(let e=0,a=d?d.count:c.count;e<a;e+=3){VY(u,e,d,c),u.a.applyMatrix4(t),u.b.applyMatrix4(t),u.c.applyMatrix4(t),u.needsUpdate=!0;for(let t=3*n,a=3*(n+r);t<a;t+=3){VY(h,t,l,o),h.needsUpdate=!0;let n=h.distanceToTriangle(u,p,m);if(n<y&&(f.copy(p),g&&g.copy(m),y=n,v=t/3,x=e/3),n<i)return!0}}}}),fF.releasePrimitive(h),fF.releasePrimitive(u),y===1/0?null:(n.point?n.point.copy(f):n.point=f.clone(),n.distance=y,n.faceIndex=v,r&&(r.point?r.point.copy(g):r.point=g.clone(),r.point.applyMatrix4(aF),f.applyMatrix4(aF),r.distance=f.sub(r.point).length(),r.faceIndex=x),n)}closestPointToPoint(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1/0,i=n*n,a=r*r,s=1/0,o=null;if(this.shapecast({boundsTraverseOrder:t=>(lF.copy(e).clamp(t.min,t.max),lF.distanceToSquared(e)),intersectsBounds:(e,t,n)=>n<s&&n<a,intersectsTriangle:(t,n)=>{t.closestPointToPoint(e,lF);let r=e.distanceToSquared(lF);return r<s&&(cF.copy(lF),s=r,o=n),r<i}}),s===1/0)return null;let l=Math.sqrt(s);return t.point?t.point.copy(cF):t.point=cF.clone(),t.distance=l,t.faceIndex=o,t}getBoundingBox(e){return e.makeEmpty(),this._roots.forEach((t=>{nY(0,new Float32Array(t),pF),e.union(pF)})),e}},gF=Xb($b()),yF=.5*(Math.sqrt(3)-1),vF=(3-Math.sqrt(3))/6,xF=1/6,SF=(Math.sqrt(5),Math.sqrt(5),e=>0|Math.floor(e)),AF=new Float64Array([1,1,-1,1,1,-1,-1,-1,1,0,-1,0,1,0,-1,0,0,1,0,-1,0,1,0,-1]),bF=new Float64Array([1,1,0,-1,1,0,1,-1,0,-1,-1,0,1,0,1,-1,0,1,1,0,-1,-1,0,-1,0,1,1,0,-1,1,0,1,-1,0,-1,-1]);function kF(){let e=wF(arguments.length>0&&void 0!==arguments[0]?arguments[0]:Math.random),t=new Float64Array(e).map((e=>AF[e%12*2])),n=new Float64Array(e).map((e=>AF[e%12*2+1]));return function(r,i){let a,s,o=0,l=0,c=0,d=(r+i)*yF,h=SF(r+d),u=SF(i+d),p=(h+u)*vF,f=r-(h-p),m=i-(u-p);f>m?(a=1,s=0):(a=0,s=1);let g=f-a+vF,y=m-s+vF,v=f-1+2*vF,x=m-1+2*vF,S=255&h,A=255&u,b=.5-f*f-m*m;if(b>=0){let r=S+e[A];b*=b,o=b*b*(t[r]*f+n[r]*m)}let k=.5-g*g-y*y;if(k>=0){let r=S+a+e[A+s];k*=k,l=k*k*(t[r]*g+n[r]*y)}let w=.5-v*v-x*x;if(w>=0){let r=S+1+e[A+1];w*=w,c=w*w*(t[r]*v+n[r]*x)}return 70*(o+l+c)}}function wF(e){let t=new Uint8Array(512);for(let n=0;n<256;n++)t[n]=n;for(let n=0;n<255;n++){let r=n+~~(e()*(256-n)),i=t[n];t[n]=t[r],t[r]=i}for(let n=256;n<512;n++)t[n]=t[n-256];return t}var jF,MF=new QP,PF=class{constructor(e){this.weightAttribute=null;let t=e.geometry;if(!t.isBufferGeometry||3!==t.attributes.position.itemSize)throw new Error("THREE.MeshSurfaceSampler: Requires BufferGeometry triangle mesh.");t.index&&(t=t.toNonIndexed()),this.geometry=t,this.randomFunction=Math.random,this.positionAttribute=this.geometry.getAttribute("position"),this.distribution=null}build(){let e=this.positionAttribute,t=new Float32Array(e.count/3);for(let r=0;r<e.count;r+=3){let n=1;MF.a.fromBufferAttribute(e,r),MF.b.fromBufferAttribute(e,r+1),MF.c.fromBufferAttribute(e,r+2),n*=MF.getArea(),t[r/3]=n}this.distribution=new Float32Array(e.count/3);let n=0;for(let r=0;r<t.length;r++)n+=t[r],this.distribution[r]=n;return this}setRandomGenerator(e){return this.randomFunction=e,this}sample(e,t){if(this.distribution){let n=this.distribution[this.distribution.length-1],r=this.binarySearch(this.randomFunction()*n);return this.sampleFace(r,e,t)}}binarySearch(e){if(!this.distribution)return 0;let t=this.distribution,n=0,r=t.length-1,i=-1;for(;n<=r;){let a=Math.ceil((n+r)/2);if(0===a||t[a-1]<=e&&t[a]>e){i=a;break}e<t[a]?r=a-1:n=a+1}return i}sampleFace(e,t,n){let r=this.randomFunction(),i=this.randomFunction();return r+i>1&&(r=1-r,i=1-i),MF.a.fromBufferAttribute(this.positionAttribute,3*e),MF.b.fromBufferAttribute(this.positionAttribute,3*e+1),MF.c.fromBufferAttribute(this.positionAttribute,3*e+2),t.set(0,0,0).addScaledVector(MF.a,r).addScaledVector(MF.b,i).addScaledVector(MF.c,1-(r+i)),MF.getNormal(n),this}},OF=Xb(ek()),TF=new fP,IF=new fP,CF=new fP;(e=>{e.is=function(e){return e&&e.__isSPEObject}})(jF||(jF={}));var EF,VF=e=>class extends e{constructor(){super(...arguments),this.previousModelViewMatrix=new fP,this.copyPreviousMatrix=!0,this.hiddenMatrix=new fP,this.matrixWorldRigid=new fP,this.shearScale=new fP,this.shearScaleInv=new fP}get __isSPEObject(){return!0}isDescendantOf(e){e instanceof HP&&(e=e.uuid);let t=this;for(;t.parent;){if(t.parent.uuid===e)return!0;t=t.parent}return!1}updateMatrixWorld(e){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||e)&&(null===this.parent?this.matrixWorld.multiplyMatrices(this.hiddenMatrix,this.matrix):(this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.hiddenMatrix),this.matrixWorld.multiplyMatrices(this.matrixWorld,this.matrix)),this.matrixWorldNeedsUpdate=!1,e=!0);for(let t of this.children)t.updateMatrixWorld(e)}updateWorldMatrix(e,t){let n=this.parent;if(e&&null!==n&&n.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),null===this.parent?this.matrixWorld.multiplyMatrices(this.hiddenMatrix,this.matrix):(this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.hiddenMatrix),this.matrixWorld.multiplyMatrices(this.matrixWorld,this.matrix)),t)for(let r of this.children)r.updateWorldMatrix(!1,!0)}traverseChildren(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;for(let n of this.children)jF.is(n)&&n.traverseObject(e,t+1)}traverseObject(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(!0!==e(this,t))for(let n of this.children)jF.is(n)&&n.traverseObject(e,t+1)}updateMatrixWorldSVD(){let e=this.matrixWorld.elements,t=[[e[0],e[4],e[8]],[e[1],e[5],e[9]],[e[2],e[6],e[10]]],{u:n,v:r,q:i}=(0,OF.SVD)(t),a=TF.set(n[0][0],n[0][1],n[0][2],0,n[1][0],n[1][1],n[1][2],0,n[2][0],n[2][1],n[2][2],0,0,0,0,1),s=IF.set(r[0][0],r[0][1],r[0][2],0,r[1][0],r[1][1],r[1][2],0,r[2][0],r[2][1],r[2][2],0,0,0,0,1),o=CF.copy(s).transpose();this.shearScale.makeScale(i[0],i[1],i[2]).multiply(o).premultiply(s),this.shearScaleInv.copy(this.shearScale).invert(),this.matrixWorldRigid.multiplyMatrices(a,o).copyPosition(this.matrixWorld),i.every((e=>Math.abs(i[0]-e)<.01))?this.hasNonUniformScale=!1:this.hasNonUniformScale=!0}attach(e,t){this.updateWorldMatrix(!0,!1);let n=(new fP).copy(this.matrixWorld).invert();return null!==e.parent&&(e.parent.updateWorldMatrix(!0,!1),n.multiply(e.parent.matrixWorld)),"hiddenMatrix"in e&&e.hiddenMatrix instanceof fP?e.hiddenMatrix.premultiply(n):e.applyMatrix4(n),e.updateWorldMatrix(!1,!1),this.add(e),void 0!==t&&(this.children.pop(),this.children.splice(t,0,e)),this}copy(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return super.copy(e,t),this.hasNonUniformScale=e.hasNonUniformScale,this}onAfterRender(e,t,n,r,i,a){this.copyPreviousMatrix&&this.previousModelViewMatrix.copy(this.modelViewMatrix)}},RF=class extends(VF(HP)){},DF=class extends RF{constructor(e){super(),this.object=e,this.matrixAutoUpdate=!1,this.hasNonUniformScale=e.hasNonUniformScale}raycast(e,t){}expand(){let e=0,t=this.object.entityChildren(e);for(;t;){var n;let r=this.children[e];(null===(n=r)||void 0===n?void 0:n.object)!==t&&(r&&this.remove(r),r=new DF(t),this.add(r),this.children.splice(e,0,this.children.pop()),r.matrixWorldNeedsUpdate=!0,r.matrixAutoUpdate=!1,r.matrix=t.matrix,r.hiddenMatrix=t.hiddenMatrix),r.expand(),e+=1,t=this.object.entityChildren(e)}for(;this.children.length>e;)this.remove(this.children[e])}get visible(){var e;return void 0!==this.playModeVisible?this.playModeVisible:this.object.visible||this.object.dataPatched.visible&&!0===(null===(e=this.object.dataPatched.cloner)||void 0===e?void 0:e.hideBase)}set visible(e){}get castShadow(){return this.object.castShadow}set castShadow(e){}get receiveShadow(){return this.object.receiveShadow}set receiveShadow(e){}get isMesh(){return(e=>"Mesh"===e.type)(this.object)}get isLight(){return this.object.isLight}get layers(){return this.object.layers}set layers(e){}get isCamera(){return!1}get geometry(){if(this.object.geometry)return this.object.geometry}get material(){if(this.object.material)return this.object.material}},BF=new qM,GF=new qM,qF=new fP,HF=[new qM(-1,1,1),new qM(-1,-1,1),new qM(1,-1,1),new qM(1,1,1),new qM(-1,1,-1),new qM(-1,-1,-1),new qM(1,-1,-1),new qM(1,1,-1)],WF=[[0,3],[1,2],[5,6],[4,7],[0,1],[3,2],[7,6],[4,5],[0,4],[1,5],[2,6],[3,7]],zF=[[0,2],[7,5],[4,1],[3,6],[4,3],[1,6]],JF=(e,t,n)=>{e.updateEntityBoxSize(BF,GF),qF.copy(t).multiply(e.matrixWorld),0===GF.x&&0===GF.y&&0===GF.z?n.push(new qM(BF.x,BF.y,BF.z).applyMatrix4(qF)):HF.forEach((e=>{n.push(e.clone().multiply(GF).add(BF).applyMatrix4(qF))}))},UF=class extends zM{constructor(){super(...arguments),this.matrix=new fP,this.vertices=[],this.faces=[],this.edges=[],this.centerEdges=[]}copy(e){return super.copy(e),this.matrix.copy(e.matrix),this.vertices=e.vertices.map((e=>e.clone())),this.faces=e.faces.map((e=>e.clone())),this.edges=e.edges.map((e=>e.clone())),this.centerEdges=e.centerEdges.map((e=>e.clone())),this}setFromObjectSize(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e.updateWorldMatrix(!1,t),this.makeEmpty(),this.matrix.copy(e.matrixWorld);let n=(new fP).copy(e.matrixWorld).invert();return this.expandByObjectSize(e,n,t)}expandByObjectSize(e,t){let n=[];return!0===(arguments.length>2&&void 0!==arguments[2]&&arguments[2])?e.traverseEntity((e=>{if(e.visible||e.cloner&&e.data.visible){if(!("geometry"in e))return void n.push(new qM);JF(e,t,n)}})):JF(e,t,n),this.setFromPoints(n)}getCenter(e){return(e=super.getCenter(e)).applyMatrix4(this.matrix),e}getPositionToCenter(e){return(e=super.getCenter(e)).applyMatrix4(qF.copy(this.matrix).setPosition(0,0,0)),e}computeVertices(){this.getSize(GF).multiplyScalar(.5),this.getCenter(BF),qF.copy(this.matrix).setPosition(BF),this.vertices=HF.map((e=>e.clone().multiply(GF).applyMatrix4(qF)))}computeEdges(){this.vertices.length>0&&this.computeVertices(),this.edges=WF.map((e=>{let[t,n]=e;return new wR(this.vertices[t],this.vertices[n])})),this.centerEdges=this.edges.map((e=>e.getCenter(new qM)))}computeFaces(){this.vertices.length>0&&this.computeVertices(),this.faces=zF.map((e=>{let[t,n]=e;return this.vertices[t].clone().add(this.vertices[n]).multiplyScalar(.5)}))}},NF={Cloner:()=>{},changeEntityProptotype:()=>{},createEntity:()=>{}},LF=class extends SE{constructor(){super()}getPoints(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:12,n=[],r=this.getCurveLengths(),i=r[r.length-1]/r.length;for(let a=0,s=this.curves;a<s.length;a++){let o=s[a],l=0===a?r[a]:r[a]-r[a-1],c=Math.ceil(t*l/i),d=o.getPoints(c);for(let t=0;t<d.length;t++){let r=d[t];e&&e.equals(r)||(n.push(r),e=r)}}return this.autoClose&&n.length>1&&!n[n.length-1].equals(n[0])&&n.push(n[0]),n}},YF=.001;function FF(e,t,n){return t.clone().sub(e).cross(t.clone().sub(n)).length()<=YF}function ZF(e,t){let n=new qM(...e.position),r=new qM(...e.controlNext.position),i=new qM(...t.controlPrevious.position),a=new qM(...t.position);return FF(n,r,a)&&FF(n,i,a)}function KF(e){let t=e.points.map((e=>new qM(...e.data.position))),n=[e.points[0]],r=new qM(...n[0].data.position);for(let d=0;d<e.points.length-1;d++)FF(r,t[d],t[d+1])||(n.push(e.points[d]),r=t[d]);n.push(e.points[e.points.length-1]);let i=e.isClosed,a=n.length-(i?0:1),s=n.length,o=[];for(let d=0;d<s;d++){let t=n[d].data,r=new qM(...t.position),a=new qM(...t.controlPrevious.position),l=new qM(...t.controlNext.position),c={position:r,baseRoundness:t.roundness,controlPrevious:a,controlNext:l};if(0===t.roundness||!e.isClosed&&(0===d||d===s-1)){o[d]={...c,removedLength:0};continue}let h=i&&d==s-1?0:d+1,u=n[i&&0==d?s-1:d-1].data,p=n[h].data,f=new qM(...u.position),m=new qM(...p.position),g=f.clone().sub(r).normalize(),y=m.clone().sub(r).normalize();Object.assign(c,{prevDir:g,nextDir:y});let v=ZF(u,t),x=ZF(t,p);if(v&&x){let e=g.clone().add(y).normalize(),n=e.clone().cross(g).length()/g.dot(e);o[d]={...c,tan:n,removedLength:t.roundness/n}}else o[d]={...c,removedLength:0}}for(let d=0;d<a;d++){let e=i&&d===s-1?0:d+1,t=o[d],n=o[e];if(0!==t.removedLength||0!==n.removedLength){let e=t.position.distanceTo(n.position);t.removedLength=Math.min(t.removedLength,e/2),n.removedLength=Math.min(n.removedLength,e/2)}}let l=[];for(let d=0;d<a;d++){let e=d,t=i&&d===s-1?0:d+1,r=o[e],a=o[t],c=null;if(ZF(n[e].data,n[t].data)){let e=r.position.clone(),t=a.position.clone();(0!==r.removedLength||0!==a.removedLength)&&(r.nextDir&&e.add(r.nextDir.clone().setLength(r.removedLength)),a.prevDir&&t.add(a.prevDir.clone().setLength(a.removedLength))),e.distanceTo(t)>YF&&(c=new fE(e,e.clone().lerp(t,.3),t.clone().lerp(e,.3),t))}else r.position.distanceTo(a.position)>YF&&(c=new fE(r.position,r.controlNext,a.controlPrevious,a.position));l[2*d+1]=c}for(let d=0;d<s;d++){let e=o[d];if(0===e.removedLength){l[2*d]=null;continue}let t=e.position,n=e.prevDir.clone().multiplyScalar(e.removedLength).add(t),r=e.nextDir.clone().multiplyScalar(e.removedLength).add(t),i=e.tan*e.removedLength,a=e.prevDir.clone().add(e.nextDir).normalize(),s=n.clone().lerp(r,.5),c=n.distanceTo(r)/2,h=a.clone().multiplyScalar(Math.sqrt(Math.pow(i,2)-Math.pow(c,2))).add(s),u=a.clone().multiplyScalar(-i).add(h),p=t.distanceTo(u)/t.distanceTo(s),f=e.prevDir.clone().multiplyScalar(p*t.distanceTo(n)).add(t),m=f.clone().lerp(u,2),g=n.clone().lerp(f,4/3),y=r.clone().lerp(m,4/3);l[2*d]=new fE(n,g,y,r)}let c=new LF;return l.forEach((e=>{e&&c.add(e)})),c}(e=>{e.is=function(e){return e&&e.__isEntity}})(EF||(EF={}));var QF=e=>EF.is(e),XF={type:"completeState",isfromEntity:!0},_F=["x","y","z"],$F=new qM,eZ=(new qM).set(0,1,0),tZ=e=>class extends(VF(e)){constructor(){super(...arguments),this.raycastLock=!1,this.scaleLock=!1,this.disposed=!1,this.stateSelection=null,this.destroyedInAction=!1,this.instances=[],this.prevState=null,this.currentState=null,this.reversibleToState=null,this.currentTransitionEvent=null,this.previousAction=null,this._singleBBox=new UF,this._recursiveBBox=new UF,this.singleBBoxNeedsUpdate=!0,this.recursiveBBoxNeedsUpdate=!0,this._needApplyPathSnapping=!0,this.attachedPaths=new Set}get __isEntity(){return!0}entityChildren(e){let t=this.children[e];if(EF.is(t))return t}entityChildrenCount(){let e=this.children.length;for(;e--;)if(EF.is(this.children[e]))return e+1;return 0}get isConcreteEntity(){return"string"==typeof this.identity}get isVirtualEntity(){return"string"!=typeof this.identity}get isInstanceRoot(){return this.isConcreteEntity&&"Instance"===this.data.type}nearestInstanceSelfOrParent(){let e=this;for(;"Instance"!==e.data.type;){let t=e.parent;if(!EF.is(t))return;e=t}return e}forInstancesRec(e){this.instances.forEach((t=>{t.disposed||e(t),t.forInstancesRec(e)}))}super_Entity(e,t){"string"==typeof e&&(this.uuid=e),this.identity=e,this.data=t,this.matrixAutoUpdate=!1,this.dataPatched=this.data}changeSelectedState(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(0!==this.data.states.length||n){for(let e of this.data.states)ZN.toOps(this.data,e.data).forEach((e=>{let n=dz.replaceProps(e,this.data);this.dataPatched=this.data,this.updateByPatchedOp(n,this.data,t)}));if(null!==e){let n=this.data.states.data(e);n&&(this.dataPatched=ZN.patch(this.data,n),ZN.toOps(this.data,n).forEach((e=>{this.updateByPatchedOp(e,this.dataPatched,t)})))}n&&this.updateTransformState(this.dataPatched,t),this.stateSelection=e,this.updatePathSnapping(this.dataPatched.pathSnapping)}}get singleBBox(){return this.singleBBoxNeedsUpdate&&(this.singleBBoxNeedsUpdate=!1,this._singleBBox.setFromObjectSize(this,!1),this._singleBBox.computeVertices(),this._singleBBox.computeEdges(),this._singleBBox.computeFaces()),this._singleBBox}get recursiveBBox(){return this.recursiveBBoxNeedsUpdate&&(this.recursiveBBoxNeedsUpdate=!1,this._recursiveBBox.setFromObjectSize(this,!0),this._recursiveBBox.computeVertices(),this._recursiveBBox.computeEdges(),this._recursiveBBox.computeFaces()),this._recursiveBBox}updateEntityBoxSize(e,t){e.setScalar(0),t.setScalar(0)}resetBBoxNeedsUpdateSelf(){this.singleBBoxNeedsUpdate=!0,this.recursiveBBoxNeedsUpdate=!0}resetBBoxNeedsUpdate(){this.resetBBoxNeedsUpdateSelf(),this.traverseAncestors((e=>{QF(e)&&e.resetBBoxNeedsUpdateSelf()})),this.traverseEntity((e=>{e.resetBBoxNeedsUpdateSelf()}))}find(e){let t;return this.traverseEntity((n=>{n.uuid===e&&(t=n)})),t}traverseSortNextHelper(){let e=this.parent;if(e){let t=e.children,n=t.indexOf(this)+1;if(EF.is(t[n]))return t[n];if(EF.is(e))return e.traverseSortNextHelper()}}sortNext(){let e=this.children;return this.children.length>0&&EF.is(this.children[0])?e[0]:this.traverseSortNextHelper()}goUp(e){let t=this;for(;e>0&&null!==t;)t=t.parent,e-=1;return t}hasAnccestorOrSelf(e){return this===e||this.hasAnccestor(e)}hasAnccestor(e){let t=this.parent;for(;t;){if(e===t)return!0;t=t.parent}return!1}countToAccestor(e){let t=0,n=this;for(;n!==e;){if(null===n)return-1;n=n.parent,t+=1}return t}forEachEntity(e){for(let t of this.children)QF(t)&&e(t)}traverseEntityAncestors(e){this.traverseAncestors((t=>{EF.is(t)&&e(t)}))}traverseConcreteEntity(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(!0!==e(this,t))for(let n of this.children)QF(n)&&n.isConcreteEntity&&n.traverseEntity(e,t+1)}traverseEntity(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(!0!==e(this,t))for(let n of this.children)QF(n)&&n.traverseEntity(e,t+1)}traverseVisibleEntity(e){e(this);for(let t of this.children)QF(t)&&t.visible&&t.traverseVisibleEntity(e)}updateMatrix(){super.updateMatrix(),this.cloner&&this.cloner.onObjUpdateMatrix(),this.dispatchEvent({type:"updateMatrix"})}updateMatrixWorld(e){super.updateMatrixWorld(e),this.dispatchEvent({type:"updateMatrixWorld"})}copy(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return super.copy(e,t),this.dataPatched=e.dataPatched,this.raycastLock=e.raycastLock,this.scaleLock=e.scaleLock,this.hiddenMatrix.copy(e.hiddenMatrix),this}hasEntityChild(){return this.children.some((e=>QF(e)))}isAncestorOf(e){if(this.uuid===e)return!1;let t=!1;return this.traverseEntity((n=>{n.uuid===e&&(t=!0)})),t}toObjectTransformState(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.updateWorldMatrix(!0,!1);let t={position:this.position.toArray(),rotation:[this.rotation.x*lM.RAD2DEG,this.rotation.y*lM.RAD2DEG,this.rotation.z*lM.RAD2DEG],scale:this.scale.toArray(),hiddenMatrix:this.hiddenMatrix.toArray()};return mW(t,e)}getTransformValues(e,t,n){return t[e].map(((t,r)=>{var i;return null!==(i=null===n||void 0===n?void 0:n.shared.getVariable(t,[this.uuid,e,_F[r]]))&&void 0!==i?i:t}))}updateTransformState(e,t){var n;let r=!1;return e.position&&(this.position.fromArray(this.getTransformValues("position",e,t)),r=!0),e.rotation&&($F.fromArray(this.getTransformValues("rotation",e,t)).multiplyScalar(lM.DEG2RAD),this.rotation.setFromVector3($F),r=!0),e.scale&&(this.scale.fromArray(this.getTransformValues("scale",e,t)),r=!0),void 0!==e.hiddenMatrix&&(r=!0,this.hiddenMatrix.fromArray(null!==(n=e.hiddenMatrix)&&void 0!==n?n:RU.identity)),r&&(this.updateMatrix(),this.resetBBoxNeedsUpdate(),this.invalidateClonerTransform(this),this.traverseEntityAncestors((e=>{e.invalidateClonerTransform(this)}))),e.position&&e.rotation&&e.scale&&void 0!==e.hiddenMatrix&&this.updateWorldMatrix(!1,!0),r}onVariableUpdate(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]?this.resetBBoxNeedsUpdate():(this.updateMatrix(),this.resetBBoxNeedsUpdate(),this.invalidateClonerTransform(this),this.traverseEntityAncestors((e=>{e.invalidateClonerTransform(this)})))}dispose(){this.disposed=!0,this.cloner&&(this.cloner.removeFromParent(),this.cloner=void 0)}disposeChildrenRecursively(){for(let e of this.children)EF.is(e)&&e.disposeRecursively()}disposeRecursively(){this.dispose(),this.children.forEach((e=>{EF.is(e)&&e.disposeRecursively()}))}toState(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t={name:this.name,visible:this.visible,raycastLock:this.raycastLock,...this.toObjectTransformState(e)};return mW(t,e)}updateByObjUpdateOp(e,t){void 0!==e&&this.updateByOp({type:0,props:e,path:[]},{...this.data,...e},t,!1)}updateByOp(e,t,n,r){let i=this.data;this.data=t;let a=e,s=Wz(e.path,["states","*"]);if(null!==s){if(0===e.type){let[t]=s;if((null===this||void 0===this?void 0:this.stateSelection)===t){let t={...e.props};if(delete t.name,Object.values(e.props).some((e=>void 0===e))){let n=this.data;if(void 0!==n){let r=Rz.zoom(n,e.path.slice(2));if(r)for(let n in e.props)void 0===e.props[n]&&n in r&&(t[n]=r[n])}}a={...e,props:t,path:e.path.slice(2)}}}}else if(0===e.type){let t=this.stateSelection?this.data.states.data(this.stateSelection):void 0;if(void 0!==t){if(void 0!==e.props.name&&t.name){let{name:e,...n}=t;t=n}if(void 0!==e.props.material&&"material"in t){let{material:e,...n}=t;t=n}let n=Rz.removeOverridden(e.path,e.props,t);a={...e,props:n}}}if(this.updateByPatchedOpBase(a,ZN.patch(this.data,this.stateSelection?this.data.states.data(this.stateSelection):void 0),n),Wz(e.path,["overrides"])){let r=[],i=[...e.path];for(r.push(i[1]),i.splice(0,2);i.length>0&&"descendants"===i[0];)r.push(i[1]),i.splice(0,2);if(void 0===r[r.length-1]){if(0===e.type)for(let t of Object.keys(e.props)){r[r.length-1]=t;let i=n.scene.findInstance([this.uuid,...r]);i&&(i.overrideData=e.props[t],i.updateState(cz.apply(i.component.data,i.overrideData),n))}}else{let a=n.scene.findInstance([this.uuid,...r]);if(a){let s=Rz.zoom(a.component.data,i);if(0===(e={...e,path:i}).type){let t=e.props;if(s)for(let[n,r]of Object.entries(e.props))void 0===r&&(t===e.props&&(t={...e.props}),t[n]=s[n]);e={...e,props:t}}a.overrideData=NN.resolve(t.overrides,r),a.updateByOp(e,hz.applySimple(a.data,e),n,!1)}}}else if(this.instances.length>0){let r;if(0===e.path.length&&0===e.type){let t;for(let n of LN.rootOverrideProps)n in e.props&&(void 0===t&&(t={}),t[n]=e.props[n]);t&&(r={...e,props:t})}else for(let t of LN.rootOverrideProps)if(Wz(e.path,[t])){r=e;break}void 0!==r&&this.instances.forEach((e=>{if(e.isInstanceRoot){let t=cz.filterOp(e.overrideData,r);t&&e.updateByOp(t,hz.applySimple(e.data,t),n,!0)}})),this.instances.forEach((r=>{if(!r.isInstanceRoot){let a=cz.filterOp(r.overrideData,e);if(a){let s;s=i===r.data&&e===a?t:hz.applySimple(r.data,a),r.updateByOp(a,s,n,!0)}}}))}}updateByPatchedOpBase(e,t,n){if(this.dataPatched=t,0===e.path.length&&0===e.type)void 0!==e.props.type&&!zU.is(e.props.type)&&NF.changeEntityProptotype(this,t,n);else if(1===e.path.length&&"geometry"===e.path[0]&&0===e.type&&"type"in e.props){NF.changeEntityProptotype(this,t,n);for(let e of this.children)EF.is(e)&&e.updateVisible(n.scene)}this.updateByPatchedOp(e,t,n)}updateByPatchedOp(e,t,n){if(0===e.path.length&&0===e.type&&this.updateState(e.props,n),null!==Wz(e.path,["pathSnapping"])&&this.updatePathSnapping(t.pathSnapping),null!==Wz(e.path,["cloner"])){let r=hz.drop(e,1);0===r.path.length&&0===r.type&&!0===r.props.disabled?this.setFromClonerState(null,n):this.cloner?this.cloner.updateState(t.cloner,n.scene):(this.setFromClonerState(t.cloner,n),this.expandCloner(n.scene)),this.updateVisible(n.scene)}}updatePathSnapping(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.dataPatched.pathSnapping;this._updatedPathSnapping=e,this._needApplyPathSnapping=!0}get updatedPathSnapping(){return this._updatedPathSnapping}applyPathSnapping(e){var t,n,r,i,a,s,o,l,c,d,h;let u=null!==(t=null===(n=this._updatedPathSnapping)||void 0===n?void 0:n.pathId)&&void 0!==t?t:this.dataPatched.pathSnapping.pathId,p=null!==(r=null!==(i=null===(a=this._updatedPathSnapping)||void 0===a?void 0:a.slide)&&void 0!==i?i:this.dataPatched.pathSnapping.slide)&&void 0!==r?r:0,f=null!==(s=null!==(o=null===(l=this._updatedPathSnapping)||void 0===l?void 0:l.offset)&&void 0!==o?o:this.dataPatched.pathSnapping.offset)&&void 0!==s?s:0,m=null!==(c=null===(d=this._updatedPathSnapping)||void 0===d?void 0:d.orientation)&&void 0!==c?c:this.dataPatched.pathSnapping.orientation;if(null===u)return;let g=e.find(u);if(!g||!1===this._needApplyPathSnapping)return;this._needApplyPathSnapping=!1;let y=g.data;if(y.geometry.path.points.length<=1)return;let v=KF(y.geometry.path),x=(p+f)%1;p+f===1&&0===x&&(x=1);let S=v.getPointAt(x);if(null===S)return;let A=this.parent?null===(h=this.parent)||void 0===h?void 0:h.matrixWorld:new fP;g.updateMatrixWorld();let b=(new fP).multiplyMatrices(A.clone().invert(),g.matrixWorld);S.applyMatrix4(b);let k={position:S.toArray(),rotation:y.rotation};if("tangential"===m){let e=(new fP).extractRotation(g.matrixWorld),t=v.getTangentAt(x).applyMatrix4(e).add(S),n=(new fP).lookAt(S,t,eZ),r=$F.setFromEuler((new wP).setFromRotationMatrix(n)).multiplyScalar(lM.RAD2DEG);k={...k,rotation:r.toArray()}}this.updateTransformState(k),this.traverseEntity((e=>{e._cameraType&&e.dispatchEvent(XF)}))}updateVisible(e){var t,n;if(this.visible=this.dataPatched.visible&&(!this.dataPatched.cloner||null!==(t=this.dataPatched.cloner.disabled)&&void 0!==t&&t||!0!==(null===(n=this.dataPatched.cloner)||void 0===n?void 0:n.hideBase)),!e)return;let r=!1;this.traverseEntity((e=>{if("Splat"===e.data.type)return r=!0,!0})),r&&e.reloadSplats()}updateState_Entity(e,t){void 0!==e.name&&(this.name=e.name),void 0!==e.raycastLock&&(this.raycastLock=e.raycastLock),void 0!==e.visible&&(this.updateVisible(null===t||void 0===t?void 0:t.scene),this.resetBBoxNeedsUpdate()),t&&"cloner"in e&&void 0!==e.cloner&&(this.setFromClonerState(e.cloner,t),this.updateVisible(t.scene)),this.updateTransformState(e,t)}get attachedSurfaceCloners(){return this.children.filter((e=>e instanceof NF.Cloner&&"toObject"===e.parameters.type))}setFromClonerState(e,t){this.disposed||(null===e||e.disabled?(this.cloner&&this.cloner.removeFromParent(),this.cloner=void 0):void 0===this.cloner?(this.cloner=new NF.Cloner(this,e),t.scene.addPendingExpandCloner(this)):this.cloner.updateState(e,t.scene))}expandCloner(e){!this.disposed&&this.cloner&&this.cloner.expandClones(e)}invalidateClonerTransform(e){this.cloner&&this.cloner.invalidateTransform(e)}requestRender(){this.dispatchEvent({type:"requestRender"})}},nZ=class{static create(e){return this.build(this.normalizeInputs(e))}static normalizeInputs(e,t){var n,r,i,a,s;let o=Object.assign({},null!==(n=null===t||void 0===t?void 0:t.parameters)&&void 0!==n?n:{width:100,radialSegments:64,heightSegments:1,openEnded:!1,thetaStart:0,thetaLength:360,cornerRadius:8,cornerSegments:8,hollow:0},e.parameters);o.thetaLength=lM.clamp(o.thetaLength,0,360);let l=o.width/2,c=null!==(r=o.radiusTop)&&void 0!==r?r:l,d=null!==(i=o.radiusBottom)&&void 0!==i?i:l;return c===d?(c=l,d=l):c>d?(c=l,d=d*l/c):(c=c*l/d,d=l),{parameters:Object.assign(o,{width:Math.abs(o.width),height:Math.abs(null!==(a=o.height)&&void 0!==a?a:o.width),depth:Math.abs(null!==(s=o.depth)&&void 0!==s?s:o.width),radiusTop:c,radiusBottom:d})}}static build(e){let t,{width:n,depth:r,height:i,radialSegments:a,heightSegments:s,openEnded:o,thetaStart:l,thetaLength:c,radiusTop:d,radiusBottom:h,cornerRadius:u,cornerSegments:p,hollow:f}=e.parameters;return 0===c?(t=new pO,t.setAttribute("position",new aO([],3))):t=u||f?new aZ(d,h,i,a,s,o,l,c*Math.PI/180,u,u,p,f):new kE(d,h,i,a,s,o,l,c*Math.PI/180),t.scale(1,1,r/n),Object.assign(t,{userData:{...e,type:"CylinderGeometry"}})}};function rZ(e,t,n){n.x=e.x*t.x,n.y=e.y,n.z=e.x*t.y}function iZ(e){return new cM(e.y,-e.x)}var aZ=class extends pO{constructor(e,t,n,r,i,a,s,o,l,c,d,h){let u=arguments.length>12&&void 0!==arguments[12]&&arguments[12];super(),this.type="RoundedCylinderBufferGeometry",e=void 0!==e?e:1,t=void 0!==t?t:1,n=n||1,r=Math.floor(r)||8,i=Math.floor(i)||1,a=void 0!==a&&a,s=void 0!==s?s:0,o=void 0!==o?o:2*Math.PI,a&&(l=0,c=0);let p=[],f=[],m=[],g=[],y=0,v=n/2,x=new qM,S=new qM;u&&0==e&&(e=l),u&&0==t&&(t=c);let A=new cM(e,v),b=new cM(t,-v),k=null,w=null,j=null,M=null,P=A.clone().sub(b),O=0,T=0,I=0;h>0&&(O=Math.min(e,t)*(1-h),T=e-O,I=t-O);let C=A.clone();C.x-=O;let E=Math.PI-P.angle(),V=P.angle(),R=Math.tan(V/2),D=Math.tan(E/2),B=R+D,G=h?B:D,q=h?B:R;if(l=Math.min(l,(e-T)/G,P.length()/B),c=Math.min(c,(t-I)/q,P.length()/B),l>0){let e=l/R;k=A.clone().sub(new cM(e,l)),h&&(j=k.clone(),j.x-=O-B*l),A.sub(P.clone().setLength(e))}if(c>0){let e=c/D;w=b.clone().sub(new cM(e,-c)),b.add(P.clone().setLength(e)),h&&(M=w.clone(),M.x-=O-B*c,C.sub(P.clone().setLength(e)))}P=A.clone().sub(b);let H=P.length()<.5,W=[];for(let N=0;N<=r;N++){let d=[],u=N/r,p=u*o+s,v=new cM(Math.sin(p),Math.cos(p));if(M&&w?(z(d,u,v,E,c,M,-1,!0),z(d,u,v,V,c,w,-1,!1)):w?(J(d,v,w.x,0,-1),z(d,u,v,V,c,w,-1,!1)):a||J(d,v,t,I,-1),rZ(iZ(P).normalize(),v,x),!H)for(let e=0;e<=i;e++){let t=e/i;rZ(P.clone().multiplyScalar(t).add(b),v,S),f.push(S.x,S.y,S.z),m.push(x.x,x.y,x.z),g.push(u,.5+S.y/n),d.push(y++)}if(j&&k?(z(d,u,v,E,l,k,1,!1),z(d,u,v,V,l,j,1,!0)):k?(z(d,u,v,E,l,k,1,!1),J(d,v,k.x,0,1)):a||J(d,v,e,T,1),h&&!H){rZ(iZ(P).multiplyScalar(-1).normalize(),v,x);for(let e=0;e<=i;e++){let t=e/i;rZ(P.clone().multiplyScalar(-t).add(C),v,S),f.push(S.x,S.y,S.z),m.push(x.x,x.y,x.z),g.push(u,.5+S.y/n),d.push(y++)}}h&&!a&&d.push(d[0]),W.push(d)}for(let N=0;N<W.length-1;N++)for(let e=0;e<W[0].length-1;e++){if(a&&h&&e==i)continue;let t=W[N][e],n=W[N+1][e],r=W[N+1][e+1],s=W[N][e+1],o=f[3*r+0],l=f[3*r+2];p.push(t,n,s),(0!=o||0!=l)&&p.push(n,r,s)}function z(e,t,r,i,a,s,o,l){for(let c=0;c<d+1;c++){let h=c/d,u=o<0?h:1-h;l&&(u-=1),u*=i;let p=new cM(Math.sin(u),Math.cos(u)*o);rZ(p.clone().multiplyScalar(a).add(s),r,S),f.push(S.x,S.y,S.z),rZ(p,r,x),m.push(x.x,x.y,x.z),g.push(t,.5+S.y/n),e.push(y++)}}function J(e,t,n,r,i){let a=new qM,s=new cM,o=[n,r];i<0&&o.reverse();for(let l of o)s.set(l,v*i),rZ(s,t,a),f.push(a.x,a.y,a.z),m.push(0,i,0),g.push(.5,.5),e.push(y++)}function U(n,r,i){let a=new cM(Math.sin(i),Math.cos(i)),s=new cM(-Math.cos(i),Math.sin(i)),o=new qM,l=n<0?(e,t,n)=>p.push(e,t,n):(e,t,n)=>p.push(e,n,t);rZ(new cM((e+t+T+I)/4,0),a,o),f.push(o.x,o.y,o.z),m.push(s.x,0,s.y),g.push(.5,.5);let c=y++;for(let e of r){let t=f.slice(3*e,3*e+3);f.push(...t),m.push(s.x,0,s.y);let n=g.slice(2*e,2*e+2);g.push(...n),y++}for(let e=c+1;e<y-1;e++)l(c,e,e+1);l(c,y-1,c+1)}o<2*Math.PI&&(U(-1,W[0],s),U(1,W[W.length-1],s+o)),this.setIndex(p),this.setAttribute("position",new aO(f,3)),this.setAttribute("normal",new aO(m,3)),this.setAttribute("uv",new aO(g,2))}},sZ=Math.PI/2,oZ=class extends pO{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:4;super(),this.type="BoxGeometry";let l=this;r=Math.floor(r),i=Math.floor(i),a=Math.floor(a),o=Math.floor(o),s=Math.min(s,e/2,t/2,n/2);let c=[],d=[],h=[],u=[],p=0,f=0;function m(e,t,n,r,i,a,o,m,g,y,v){let x=(a-2*s)/g,S=(o-2*s)/y,A=a/2-s,b=o/2-s,k=m/2,w=g+1,j=y+1,M=0,P=0,O=new qM;for(let s=0;s<j;s++){let a=s*S-b;for(let o=0;o<w;o++){let l=o*x-A;O[e]=l*r,O[t]=a*i,O[n]=k,d.push(O.x,O.y,O.z),O[e]=0,O[t]=0,O[n]=m>0?1:-1,h.push(O.x,O.y,O.z),u.push(o/g),u.push(1-s/y),M+=1}}for(let s=0;s<y;s++)for(let e=0;e<g;e++){let t=p+e+w*s,n=p+e+w*(s+1),r=p+(e+1)+w*(s+1),i=p+(e+1)+w*s;c.push(t,n,i),c.push(n,r,i),P+=6}l.addGroup(f,P,v),f+=P,p+=M}function g(e,t,n,r,i,a,m,g,y,v,x){let S=(m-2*s)/v,A=m/2-s,b=g/2-s,k=y/2,w=v+1,j=0,M=0,P=new qM,O=new qM;for(let l=0;l<o+1;l++){let c=l/o*sZ,p=Math.sin(c)*s,f=(1-Math.cos(c))*s,m=Math.sin(c),g=Math.cos(c);P[t]=(b+p)*i,P[n]=(k-f)*a,O[e]=0,O[t]=m*Math.sign(P[t]),O[n]=g*Math.sign(P[n]);for(let t=0;t<w;t++){let n=t*S-A;P[e]=n*r,d.push(P.x,P.y,P.z),h.push(O.x,O.y,O.z),u.push(t/v),u.push(0),j+=1}}for(let s=0;s<o;s++)for(let e=0;e<v;e++){let t=p+e+w*s,n=p+e+w*(s+1),r=p+(e+1)+w*(s+1),i=p+(e+1)+w*s;c.push(t,n,i),c.push(n,r,i),M+=6}l.addGroup(f,M,x),f+=M,p+=j}function y(r,i,a){let l=new qM,f=new qM(e/2,t/2,n/2);f.subScalar(s);let m=[],g=r*i*a>0?(e,t,n)=>c.push(e,t,n):(e,t,n)=>c.push(e,n,t);for(let e=0;e<=o;e++){let t=[],n=sZ*(1-e/o),c=Math.cos(n),g=Math.sin(n),y=0;for(let o=0;o<=e;o++){let n=Math.cos(y),o=Math.sin(y);l.x=c*n,l.y=g,l.z=c*o;let m=f.clone().addScaledVector(l,s);d.push(r*m.x,i*m.y,a*m.z),h.push(r*l.x,i*l.y,a*l.z),u.push(0,0),t.push(p++),y+=sZ/e}m.push(t)}let y=m.length-1;for(let e=0;e<y;e++){let t=m[e],n=m[e+1],r=t.length-1;g(t[0],n[1],n[0]);for(let e=1;e<=r;e++)g(t[e-1],t[e],n[e]),g(t[e],n[e+1],n[e])}}m("z","y","x",-1,-1,n,t,e,a,i,0),m("z","y","x",1,-1,n,t,-e,a,i,1),m("x","z","y",1,1,e,n,t,r,a,2),m("x","z","y",1,-1,e,n,-t,r,a,3),m("x","y","z",1,-1,e,t,n,r,i,4),m("x","y","z",-1,-1,e,t,-n,r,i,5),s>0&&(g("z","y","x",-1,-1,1,n,t,e,a,0),g("z","y","x",1,-1,-1,n,t,e,a,1),g("z","y","x",-1,1,-1,n,t,e,a,1),g("z","y","x",1,1,1,n,t,e,a,0),g("x","y","z",-1,-1,-1,e,t,n,r,0),g("x","y","z",1,-1,1,e,t,n,r,1),g("x","y","z",-1,1,1,e,t,n,r,0),g("x","y","z",1,1,-1,e,t,n,r,1),g("y","x","z",-1,-1,1,t,e,n,i,0),g("y","x","z",1,-1,-1,t,e,n,i,1),g("y","x","z",1,1,1,t,e,n,i,1),g("y","x","z",-1,1,-1,t,e,n,i,0),y(1,1,1),y(-1,1,1),y(1,-1,1),y(-1,-1,1),y(1,1,-1),y(-1,1,-1),y(1,-1,-1),y(-1,-1,-1)),this.setIndex(c),this.setAttribute("position",new aO(d,3)),this.setAttribute("normal",new aO(h,3)),this.setAttribute("uv",new aO(u,2))}},lZ=class extends pO{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:.2,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:4;super(),this.type="PolyhedronGeometryRound";let s=[],o=[],l=[];return function(){i=Math.min(.99999,i),0==i&&(a=0);let o={IcosahedronGeometry:5,DodecahedronGeometry:3,HexahedronGeometry:3,OctahedronGeometry:4,TetrahedronGeometry:3}[n],c=new qM,d=c.clone(),h=new QP,u=i*r,p=r-u,f=a+1,m=new qM,g=(e,t)=>m.subVectors(e,t).normalize(),y=(e,t)=>Array(e).fill(void 0).map(t),v=y(e.length/3,((t,n)=>(new qM).fromArray(e,3*n).setLength(r))),x=[],S=1e6;for(let e=0;e<v.length;e++){let n,r,i,a=v[e],s=[],o=1e10,l=-1;for(;-1!=(l=t.indexOf(e,l+1));){let e=l-l%3;n=t[e+(l+1)%3],r=t[e+(l+2)%3],i=a.distanceToSquared(v[n]),o=Math.min(o,i),s.push([n,r,i])}o+=1e-6;let c=[],d=0,h=s.length;for(let t=0;t<h;t++){var A;[n,r,i]=s[d];let t=1==(null===(A=x[n])||void 0===A?void 0:A.includes(e));i<=o&&c.push(n+ +t*S),d=s.findIndex((e=>e[0]==r))}x.push(c)}let b=[];{let e,t,n=0,r=0,i=3==o;for(let s=0;s<=a;s++){e=s*(s+1)/2,t=(s+1)*(s+2)/2;for(let o=0;o<a-s;o++)[n,r]=[e+o+s+2,t+o+s+3],b.push(e,t,...i?[r,e]:[n,t],r,n),[e,t]=[n,r];b.push(e,t,e+a+2)}}let k=c.clone(),w=c.clone(),j=c.clone(),M=c.clone(),P=c.clone(),O=[],T=y(v.length,(()=>y(o,(()=>c.clone()))));for(let e=0;e<v.length;e++){c.copy(v[e]).normalize(),k.copy(c).multiplyScalar(p);let t=x[e];for(let a=0;a<t.length;a++){let n=t[a],r=t[(a+1)%o];h.setFromPointsAndIndices(v,e,n%S,r%S),h.b.sub(h.a).setLength(1e10).add(h.a),h.c.sub(h.a).setLength(1e10).add(h.a),h.closestPointToPoint(k,T[e][a])}let n=[],r=[],i=[],y=new qM;0==a&&[...T[e]].reduce(((e,t)=>e.add(t)),y).multiplyScalar(1/o);for(let s=0;s<o;s++){let t=[],l=(s-1+o)%o,h=T[e][l],v=T[e][s];c.copy(h).sub(k),d.copy(v).sub(k);let x=k.angleTo(c),S=c.angleTo(d),A=Math.cos(x)*u;0==a?w.copy(y):w.copy(k).setLength(p+A),r.push(A);let b=[w,h,v];for(let e=0;e<2;e++){let r=b[e],i=b[e+1];M.subVectors(r,k),P.subVectors(i,k),j.crossVectors(M,P).normalize();for(let a=0;a<f;a++){let i=[x,S][e]*a/f;c.copy(M).applyAxisAngle(j,i).add(k),n.push(c.clone()),e&&(g(c,k),t.push([0==a?r:c.clone(),m.clone()]))}e&&(g(i,k),t.push([i,m.clone()]))}i.push(t)}O.push(i);let A=2*f,I=2;for(let e=0;e<o;e++){let t=A*e,i=A*((e+1)%o),a=[n[t]];for(let s=1;s<f;s++){M=n[t+s],P=n[i+s],a.push(M);for(let t=1,n=s-I+1;t<=n;t++)c.lerpVectors(M,P,t/(n+1)),c.sub(k).setLength(r[e]).add(k),a.push(c.clone());a.push(P)}for(let e=0;e<f;e++)a.push(n[e+f+t]);a.push(n[i+f]);let d=b.map((e=>a[e]));s.push(...d.map((e=>[e.x,e.y,e.z])).flat()),l.push(...d.map((e=>(g(e,k),[m.x,m.y,m.z]))).flat())}}let I=[];for(let e=0;e<x.length;e++)for(let t=0;t<o;t++){let n=x[e][t];if(n<S){let r=x[n].findIndex((t=>t%S==e)),i=O[e][t],a=O[n][r];for(let e=0;e<f;e++){let t=i[e],n=a[f-e],r=i[e+1];[t,n,r,r,n,a[f-(e+1)]].forEach((e=>{s.push(e[0].x,e[0].y,e[0].z),l.push(e[1].x,e[1].y,e[1].z)}))}I.push(i[0][0],a[f][0],i[f][0],a[0][0])}}for(;I.length;){let e,t,n,r;[e,t]=I.splice(0,2);let i=[e];for(;e!=t;)i.push(t),n=I.indexOf(t),r=n%2,t=I.splice(n-r,2)[1-r];m.subVectors(i[0],i[1]).cross(c.subVectors(i[0],i[2])).normalize();let a=m.dot(i[0])<0;a&&m.negate();for(let o=1;o<=i.length-2;o++)[i[o+ +a],i[o+1-+a],i[0]].forEach((e=>{s.push(e.x,e.y,e.z),l.push(m.x,m.y,m.z)}))}}(),function(){let e=new qM;for(let p=0;p<s.length;p+=3){e.x=s[p+0],e.y=s[p+1],e.z=s[p+2];let t=h(e)/2/Math.PI+.5,n=u(e)/Math.PI+.5;o.push(t,1-n)}let t=new qM,n=new qM,r=new qM,i=new qM,a=new cM,l=new cM,c=new cM,d=(e,t,n,r)=>{r<0&&1===e.x&&(o[t]=e.x-1),0===n.x&&0===n.z&&(o[t]=r/2/Math.PI+.5)};for(let p=0,f=0;p<s.length;p+=9,f+=6){t.set(s[p+0],s[p+1],s[p+2]),n.set(s[p+3],s[p+4],s[p+5]),r.set(s[p+6],s[p+7],s[p+8]),a.set(o[f+0],o[f+1]),l.set(o[f+2],o[f+3]),c.set(o[f+4],o[f+5]),i.copy(t).add(n).add(r).divideScalar(3);let e=h(i);d(a,f+0,t,e),d(l,f+2,n,e),d(c,f+4,r,e)}for(let s=0;s<o.length;s+=6){let e=o[s+0],t=o[s+2],n=o[s+4],r=Math.max(e,t,n),i=Math.min(e,t,n);r>.9&&i<.1&&(e<.2&&(o[s+0]+=1),t<.2&&(o[s+2]+=1),n<.2&&(o[s+4]+=1))}function h(e){return Math.atan2(e.z,-e.x)}function u(e){return Math.atan2(-e.y,Math.sqrt(e.x*e.x+e.z*e.z))}}(),this.setAttribute("position",new aO(s,3)),this.setAttribute("normal",new aO(l,3)),void this.setAttribute("uv",new aO(o,2))}static fromJSON(e){return new lZ(e.vertices,e.indices,e.radius,e.corner,e.cornerSides)}},cZ=class extends lZ{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.2,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:4,r=(1+Math.sqrt(5))/2,i=1/r,a="DodecahedronGeometry";super([-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-i,-r,0,-i,r,0,i,-r,0,i,r,-i,-r,0,-i,r,0,i,-r,0,i,r,0,-r,0,-i,r,0,-i,-r,0,i,r,0,i],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],a,e,t,n),this.type=a}static fromJSON(e){return new cZ(e.radius,e.corner,e.cornerSides)}},dZ=1e-12,hZ=class{constructor(e){this.position=new cM,this.startPosition=new cM,this.uuid=lM.generateUUID(),this.position=e.clone()}start(){this.reset()}reset(){this.startPosition.copy(this.position)}applyOffset(e){this.position.copy(this.startPosition).add(e)}copy(e){return this.position.copy(e.position),this.startPosition.copy(e.startPosition),this}clone(){return new hZ(this.position).copy(this)}toJSON(){return[this.position.x,this.position.y]}},uZ=class extends hZ{constructor(e){super(e.position),this.parent=e}copy(e){return super.copy(e),this}clone(){return new uZ(this.parent).copy(this)}},pZ=class extends hZ{constructor(e,t){super(t),this.controls=[],this.roundness=0,this.areControlsDirectionsMirrored=!0,this.uuid=e,this.controls.push(new uZ(this),new uZ(this))}static create(e,t){let n=new pZ(e,new cM(...t.position));return n.controls[0].position.set(...t.controlPrevious.position),n.controls[1].position.set(...t.controlNext.position),n.roundness=t.roundness,n.areControlsDirectionsMirrored=t.areControlsDirectionsMirrored,n}getOppositeControl(e){let t=this.controls.indexOf(e);return 0===t?this.controls[1]:1===t?this.controls[0]:null}applyOffsetToControls(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;for(let n=0,r=this.controls.length;n<r;n++){let r=this.controls[n];this.position.distanceTo(r.position)<=t?r.position.copy(this.position):r.applyOffset(e)}}controlsMoved(){return!(this.position.equals(this.controls[0].position)&&this.position.equals(this.controls[1].position))}copy(e){return super.copy(e),this.controls[0].copy(e.controls[0]),this.controls[1].copy(e.controls[1]),this.roundness=e.roundness,this.uuid=e.uuid,this}clone(){return new pZ(this.uuid,this.position).copy(this)}toJSON(){return super.toJSON().concat(this.controls[0].toJSON(),this.controls[1].toJSON(),[this.roundness])}computeTangents(){var e,t;return[null===(e=this.curveBefore)||void 0===e?void 0:e.getTangentAt(1),null===(t=this.curveAfter)||void 0===t?void 0:t.getTangentAt(0)]}computeNormals(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new cM,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new cM,[n,r]=this.computeTangents();return n&&r&&(fZ(n,e),fZ(r,t)),[e,t]}computeTangent(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new cM,[t,n]=this.computeTangents();return t&&n&&e.copy(t).add(n).normalize(),e}computeNormal(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new cM,[t,n]=this.computeNormals();return e.copy(t).add(n).normalize(),e}};function fZ(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new cM,n=e.length();return t.set(-e.y/n,e.x/n)}var mZ=new cM,gZ=new cM,yZ=new cM,vZ=new cM,xZ=new cM,SZ=new cM,AZ=new qM,bZ=new qM;function kZ(e){let t=new cM;t.addVectors(e.v0,mZ.subVectors(e.v1,e.v0).multiplyScalar(2/3));let n=new cM;return n.addVectors(e.v2,gZ.subVectors(e.v1,e.v2).multiplyScalar(2/3)),new pE(e.v0,t,n,e.v2)}function wZ(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Number.EPSILON;return Math.abs(e-t)<n}function jZ(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Number.EPSILON;return e.distanceTo(t)<n}function MZ(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Number.EPSILON;return e.distanceTo(t)<n}function PZ(e,t,n){let r=Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)),i=Math.sqrt(Math.pow(t.x-n.x,2)+Math.pow(t.y-n.y,2)),a=Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));return Math.acos((i*i+r*r-a*a)/(2*i*r))}function OZ(e,t,n){return RZ(e,t)&&RZ(t,n)&&TZ(e.position,t.position,n.position)}function TZ(e,t,n){return 0===mZ.copy(t).sub(e).cross(gZ.copy(n).sub(e))}function IZ(e,t,n,r,i){let a=Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)),s=(e.y+t.y)/2,o=(e.x+t.x)/2,l=Math.sqrt(Math.pow(n,2)-Math.pow(a/2,2))*(e.y-t.y)/a,c=Math.sqrt(Math.pow(n,2)-Math.pow(a/2,2))*(t.x-e.x)/a;return r.set(o+l,s+c),i.set(o-l,s-c),[r,i]}function CZ(e,t,n){return e.distanceTo(n)<t.distanceTo(n)?t:e}function EZ(e,t,n,r,i,a){let s,o=t.x-e.x,l=t.y-e.y,c=n.x-e.x,d=n.y-e.y,h=Math.sqrt((o+c)*(o+c)+(l+d)*(l+d));return PZ(t,e,n)>Math.PI&&(h*=-1),s=wZ(d,l)?(l+d)*(r/h-.5)*8/3/(o-c):(o+c)*(r/h-.5)*8/3/(d-l),i.set(t.x-s*l,t.y+s*o),a.set(n.x+s*d,n.y-s*c),[i,a]}function VZ(e,t){return e.position.equals(e.controls[1].position)&&t.position.equals(t.controls[0].position)}function RZ(e,t){return TZ(e.position,e.controls[1].position,t.position)&&TZ(e.position,t.controls[0].position,t.position)}function DZ(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:12,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=[];for(let i=0,a=e.length;i<a;i++){let a=e[i],s=0;if(n&&void 0!==a.roundedCurveCorner){let e=.5*BZ(a.roundedCurveCorner,t);i>0&&(r[i-1]+=e),s+=e}void 0!==a.curveAfter&&(s+=BZ(a.curveAfter,t)),r.push(s)}return e.length>0&&n&&void 0!==e[0].roundedCurveCorner&&(r[e.length-1]+=.5*BZ(e[0].roundedCurveCorner,t)),r}function BZ(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:12;return e&&e instanceof iE?2*t:e&&(e instanceof mE||e instanceof gE)?1:e&&e instanceof vE?t*e.points.length:t}var GZ,qZ,HZ=new cM,WZ=new cM,zZ=new cM,JZ=new cM,UZ=new cM,NZ=new cM,LZ=class extends PE{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;super(),this.points=[],this.shapeHoles=[],this.plane=new NO(new qM(0,0,-1)),this.subdivision=0,this.controlSnapDistance=4,this.pointIDs=0,this.isMesh2D=!1,this.isText=!1,this._roundness=0,this.isClosed=!1,this.useCubicForRoundedCorners=!0,this.uuid=lM.generateUUID(),this.needsUpdate=!1,this.roundedCurves=[],this._width=e,this._height=t}static createFromState(e,t,n){let r=new LZ;return r.isClosed=e.isClosed,r.points=e.points.map((e=>pZ.create(e.id,e.data))),"number"==typeof e.roundness&&(r.roundness=e.roundness),r.shapeHoles=e.shapeHoles.map((e=>LZ.createFromState(e))),void 0!==t&&void 0!==n&&r.applySize(t,n),r.update(),r}get width(){return this._width}get height(){return this._height}get roundness(){return this._roundness}set roundness(e){if(this._roundness!==e){this._roundness=e;for(let t=0,n=this.points.length;t<n;t++)this.points[t].roundness=e;this.needsUpdate=!0}}getPointsIndexesByIds(e){return e.map((e=>this.getPointIndexById(e))).filter((e=>e>=0))}getPointIndexById(e){let t=this.points.length,n=this.points.findIndex((t=>t.uuid===e));if(n<0){let n=t;for(let t=0,r=this.shapeHoles.length;t<r;t++){let r=this.shapeHoles[t],i=r.points.length,a=r.getPointIndexById(e);if(!(a<0))return a+n;n+=i}}return n}getLineIndexById(e){return this.getPointIndexById(e)}getBezierPoint(e){if(e<=this.points.length-1)return this.points[e];if(this.shapeHoles.length>0){let t=this.points.length;for(let n=0,r=this.shapeHoles.length;n<r;n++){let r=this.shapeHoles[n],i=e-t;if(i<=r.points.length-1)return r.points[i];t+=r.points.length}}throw new Error("This shape does not have a point for this index: "+e)}getBezierPointIndex(e){let t=this.points.indexOf(e);if(t>=0)return t;if(t=this.points.length,this.shapeHoles.length>0)for(let n=0,r=this.shapeHoles.length;n<r;n++){let r=this.shapeHoles[n],i=r.points.indexOf(e);if(i>=0)return t+i;t+=r.points.length}return-1}getAllPoints(){let e=[].concat(...this.shapeHoles.map((e=>e.points)));return[...this.points,...e]}applySize(e,t){0===e&&(e=.001),0===t&&(t=.001),this._width=e,this._height=t}applyScale(e,t){let n=HZ.set(e,t);for(let r=0,i=this.points.length;r<i;r++){let e=this.points[r];e.position.multiply(n),e.controls[0].position.multiply(n),e.controls[1].position.multiply(n)}for(let r=0,i=this.shapeHoles.length;r<i;r++)this.shapeHoles[r].applyScale(e,t);this._update()}createPoint(e){let t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:lM.generateUUID();t=e instanceof cM?e:new cM(e,n);let i=new pZ(r,t);return i.roundness=this.roundness,i}addPoint(e){this.points.push(e),this.needsUpdate=!0}addPointAt(e,t){this.points.splice(t,0,e),this.needsUpdate=!0}getPointByUuid(e){for(let t=0,n=this.points.length;t<n;t++){let n=this.points[t];if(n.uuid===e)return n}for(let t=0,n=this.shapeHoles.length;t<n;t++){let n=this.shapeHoles[t].getPointByUuid(e);if(n)return n}}getFirstPoint(){return this.points[0]}getLastPoint(){return this.points[this.points.length-1]}removePoint(e){let t=this.points.indexOf(e);t>=0&&this.points.splice(t,1),this.needsUpdate=!0}removePointById(e){let t=this.points.find((t=>t.uuid===e));t&&this.removePoint(t)}update(){for(let e=0,t=this.shapeHoles.length;e<t;e++)this.shapeHoles[e].update();this._update()}extractShapePointsToBuffer(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:12,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.subdivision=t,void 0===this.curveDivisions&&this.computeCurveDivisions(t);let r=n?this.roundedCurveDivisions:this.curveDivisions;return function(e,t){let n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:12,i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=bZ.set(0,0,0),s=0,o=[];for(let l=0;l<t.length;l++){let i=t[l],c=mZ,d=BZ(i,r);o.push(d);for(let t=0;t<=d;t++)if(i instanceof pE||i instanceof yE||i instanceof mE){if(i.getPoint(t/d,c),a.set(c.x,c.y,0),void 0!==n&&MZ(n,a))continue;void 0===n&&(n=AZ),n.copy(a),e.setXYZ(s,a.x,a.y,a.z),s++}}i&&s>1&&!(e.getX(s-1)===e.getX(0)&&e.getY(s-1)===e.getY(0)&&e.getZ(s-1)===e.getZ(0))&&(e.setXYZ(s,e.getX(0),e.getY(0),e.getZ(0)),s++)}(e,n?this.roundedCurves:this.curves,t,this.autoClose),r.reduce(((e,t)=>e+t),0)+1}computeCurveDivisions(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:12;return this.curveDivisions=DZ(this.points,e,!1),this.roundedCurveDivisions=DZ(this.points,e,!0),this.curveDivisions}extractFilteredShapePointsToBuffer(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:12;return 2*function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:12,i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=bZ.set(0,0,0),s=0,o=[];for(let c=0;c<t.length;c++){if(!1===n[c])continue;let i,d=t[c],h=mZ,u=BZ(d,r);o.push(u);for(let t=0;t<=u;t++)if(d instanceof pE||d instanceof yE||d instanceof mE){var l;if(d.getPoint(t/u,h),a.set(h.x,h.y,0),null!==(l=i)&&void 0!==l&&l.equals(a))continue;void 0===i?i=AZ:(e.setXYZ(s,i.x,i.y,i.z),s++,e.setXYZ(s,a.x,a.y,a.z),s++),i.copy(a)}}return i&&s>1&&!(e.getX(s-1)===e.getX(0)&&e.getY(s-1)===e.getY(0)&&e.getZ(s-1)===e.getZ(0))&&(e.setXYZ(s,e.getX(0),e.getY(0),e.getZ(0)),s++),o}(e,this.curves,t,n,this.autoClose).reduce(((e,t)=>e+t),0)}extractShapePointsToFlatArray(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:12;return this.subdivision=t,void 0===this.curveDivisions&&this.computeCurveDivisions(t),function(e,t){let n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:12,i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=0;for(let s=0;s<t.length;s++){let i=t[s],o=BZ(i,r),l=mZ;for(let t=0;t<=o;t++)if(i instanceof pE||i instanceof yE||i instanceof mE){if(i.getPoint(t/o,l),void 0!==n&&jZ(n,l,dZ))continue;void 0===n&&(n=gZ),n.copy(l),e.push(l.x,l.y),a++}}return wZ(e[0],e[e.length-2],dZ)&&wZ(e[1],e[e.length-1],dZ)&&(e.pop(),e.pop()),i&&a>1&&!(wZ(e[a-1],e[1],dZ)&&wZ(e[a-2],e[0],dZ))&&(e.push(e[0],e[1]),a++),e}(e,this.roundedCurves,t,this.autoClose)}getCurveIndexFromVertexId(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=0;void 0===this.curveDivisions&&this.computeCurveDivisions(this.subdivision);let r=t?this.roundedCurveDivisions:this.curveDivisions,i=0;t&&void 0!==this.points[0].roundedCurveCorner&&(i=.5*BZ(this.points[0].roundedCurveCorner,this.subdivision));let a=e-i;a<0&&(a+=r.reduce(((e,t)=>e+t),0));for(let s=0,o=r.length;s<o;s++){let e=r[s];if(a<n+e)return[s,(a-n+1)/e];n+=e}return[0,1]}getCurveT(e,t,n){let r=this.points[e],i=this.points[e>=this.points.length-1?0:e+1],a=this.curveDivisions,s=a[e];if(VZ(r,i)){let e=r.position.distanceTo(i.position);return r.position.distanceTo(HZ.set(n.x,n.y))/e}let o=0;for(let l=0;l<e;l++)o+=a[l];return(t-o)/s}dispose(){}_applyCurveForPoint(e,t){VZ(t,e)?this.lineTo(e.position.x,e.position.y):this.bezierCurveTo(t.controls[1].position.x,t.controls[1].position.y,e.controls[0].position.x,e.controls[0].position.y,e.position.x,e.position.y);let n=this.curves[this.curves.length-1];e.curveBefore=n,t.curveAfter=n;let r=n.clone();e.roundedCurveBefore=r,t.roundedCurveAfter=r,e.roundedCurveCorner=void 0,this.roundedCurves.push(r)}_update(){if(this.curves=[],this.roundedCurves=[],!this.points.length)return;for(let r=0,i=this.points.length;r<i;r++){let e=this.points[r];if(0===r)this.moveTo(e.position.x,e.position.y);else{let t=this.points[r-1];this._applyCurveForPoint(e,t)}}let e=this.getLastPoint();if(null!==e&&void 0!==e&&e.curveAfter&&(e.curveAfter=void 0),this.isClosed){let e=this.points[0],t=this.points[this.points.length-1];this._applyCurveForPoint(e,t)}if(this.points.length>2){let e=0;for(let r=0,i=this.points.length;r<i;r++){var t,n;let i=this.points[r],a=null!==(t=this.points[r-1])&&void 0!==t?t:this.points[this.points.length-1],s=null!==(n=this.points[r+1])&&void 0!==n?n:this.points[0],o=i.roundness,l=a&&s&&OZ(a,i,s);if(!i.controlsMoved()&&o>0&&!l){let t=i.curveBefore,n=i.curveAfter;if(void 0===t||void 0===n)continue;let a,s=i.roundedCurveBefore,l=i.roundedCurveAfter,c=t.getLength(),d=n.getLength(),h=Math.min(o,.499*c),u=Math.min(o,.499*d),p=Math.min(h,u),f=1-p/c,m=p/d,g=t.getPointAt(f,HZ),y=n.getPointAt(m,WZ);if(this._subSplitCurve(t,s,f,g,void 0),this._subSplitCurve(n,l,m,void 0,y),this.useCubicForRoundedCorners){let e=PZ(g,i.position,y)/2,t=Math.tan(e)*g.distanceTo(i.position),[n,r]=IZ(g,y,t,zZ,JZ),s=CZ(n,r,i.position),[o,l]=EZ(s,g,y,t,UZ,NZ);a=new pE(g.clone(),o.clone(),l.clone(),y.clone())}else a=new yE(g.clone(),i.position.clone(),y.clone());i.roundedCurveCorner=a,this.roundedCurves.splice(r+e,0,a),e++}}}}_subSplitCurve(e,t,n,r,i){if(!(e instanceof mE)){let a=e,s=t,o=a.getUtoTmapping(n,0),l=function(e,t,n,r){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:.5,a=mZ.subVectors(t,e).multiplyScalar(i).add(e),s=gZ.subVectors(n,t).multiplyScalar(i).add(t),o=yZ.subVectors(r,n).multiplyScalar(i).add(n),l=a,c=vZ.subVectors(s,a).multiplyScalar(i).add(a),d=xZ.subVectors(o,s).multiplyScalar(i).add(s),h=o,u=SZ.subVectors(d,c).multiplyScalar(i).add(c);return[e.x,e.y,l.x,l.y,c.x,c.y,u.x,u.y,d.x,d.y,h.x,h.y,r.x,r.y]}(a.v0,a.v1,a.v2,a.v3,o);return void 0!==r&&(s.v0.set(l[0],l[1]),s.v1.set(l[2],l[3]),s.v2.set(l[4],l[5]),s.v3.set(l[6],l[7])),void 0!==i&&(s.v0.set(l[6],l[7]),s.v1.set(l[8],l[9]),s.v2.set(l[10],l[11]),s.v3.set(l[12],l[13])),s}return void 0!==r&&t.v2.copy(r),void 0!==i&&t.v1.copy(i),t}clone(){let e=new LZ(this._width,this._height);return e.points=this.points.map((e=>e.clone())),e.isClosed=this.isClosed,e.roundness=this.roundness,e.isMesh2D=this.isMesh2D,e.shapeHoles=this.shapeHoles.map((e=>e.clone())),e}toJSON(){return{points:this.points.reduce(((e,t)=>e.concat(t.toJSON())),[]),shapeHoles:this.shapeHoles.map((e=>e.toJSON())),isClosed:this.isClosed,roundness:this.roundness}}fromJSON(e){var t;this.points=[],this.pointIDs=0;let n=e.points.length/7;for(let r=0;r<n;r++){let t=7*r,n=e.points[t+0],i=e.points[t+1],a=e.points[t+2],s=e.points[t+3],o=e.points[t+4],l=e.points[t+5],c=e.points[t+6],d=new pZ(lM.generateUUID(),new cM(n,i));d.controls[0].position.set(a,s),d.controls[1].position.set(o,l),d.roundness=c,this.points.push(d)}return this.shapeHoles=null!==(t=e.shapeHoles)&&void 0!==t&&t.length?e.shapeHoles.map((e=>{let t=new LZ;return t.fromJSON(e),t})):[],this.isClosed=e.isClosed,this._roundness=e.roundness,this._update(),this}fromShape(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.isText=t;let n=(e,t)=>{t instanceof pE&&t.v3.equals(e.position)&&e.controls[0].position.copy(t.v2)};return this.points=(e=>{let t,r,i=[];for(t=0,r=e.length;t<r;t++)e[t]instanceof yE&&(e[t]=kZ(e[t]));for(t=0,r=e.length;t<r;t++){let r,a=e[t],s=t>0?e[t-1]:null;a instanceof pE?(r=this.createPoint(a.v0),r.controls[1].position.copy(a.v1)):a instanceof mE&&(r=this.createPoint(a.v1)),void 0!==r&&(null!==s&&n(r,s),i.push(r))}let a=e[e.length-1],s=!1;return a instanceof pE?a.v3.equals(i[0].position)&&(i[0].controls[0].position.copy(a.v2),s=!0):a instanceof mE&&a.v2.equals(i[0].position)&&(s=!0),this.isClosed=s,i})(e.curves),e instanceof PE&&(this.shapeHoles=e.holes.map((e=>{let t=new LZ;return t.fromShape(e),t}))),this.update(),this}updatePoint(e,t){let n=this.getPointByUuid(e);n&&(void 0!==t.position&&n.position.fromArray(t.position),void 0!==t.roundness&&(n.roundness=t.roundness),void 0!==t.areControlsDirectionsMirrored&&(n.areControlsDirectionsMirrored=t.areControlsDirectionsMirrored),this.needsUpdate=!0)}updatePreviousControl(e,t){var n;let r=null===(n=this.getPointByUuid(e))||void 0===n?void 0:n.controls[0];r&&(t.position&&r.position.fromArray(t.position),this.needsUpdate=!0)}updateNextControl(e,t){var n;let r=null===(n=this.getPointByUuid(e))||void 0===n?void 0:n.controls[1];r&&(t.position&&r.position.fromArray(t.position),this.needsUpdate=!0)}},YZ=2*Math.PI;function FZ(e,t,n,r,i){let{x:a,y:s}=e;return{x:a*t+r,y:s*n+i}}function ZZ(e,t){let n=1.5707963267948966===t?.551915024494:-1.5707963267948966===t?-.551915024494:1.3333333333333333*Math.tan(t/4),r=Math.cos(e),i=Math.sin(e),a=Math.cos(e+t),s=Math.sin(e+t);return[{x:r-i*n,y:i+r*n},{x:a+s*n,y:s-a*n},{x:a,y:s}]}function KZ(e,t,n,r){let i=e*r-t*n<0?-1:1,a=Math.min(1,Math.max(-1,e*n+t*r));return i*Math.acos(a)}function QZ(e){let{px:t,py:n,cx:r,cy:i,rx:a,ry:s,largeArcFlag:o,sweepFlag:l}=e,c=[];if(0===a||0===s)return[];let d=(t-r)/2,h=(n-i)/2;if(0===d&&0===h)return[];a=Math.abs(a),s=Math.abs(s);let u=Math.pow(d,2)/Math.pow(a,2)+Math.pow(h,2)/Math.pow(s,2);u>1&&(a*=Math.sqrt(u),s*=Math.sqrt(u));let p=function(e,t,n,r,i,a,s,o,l,c){let d=Math.pow(i,2),h=Math.pow(a,2),u=Math.pow(s,2),p=Math.pow(o,2),f=d*h-d*p-h*u;f<0&&(f=0),f/=d*p+h*u,f=Math.sqrt(f)*(l===c?-1:1);let m=f*i/a*o,g=f*-a/i*s,y=m+(e+n)/2,v=g+(t+r)/2,x=(s-m)/i,S=(o-g)/a,A=(-s-m)/i,b=(-o-g)/a,k=KZ(1,0,x,S),w=KZ(x,S,A,b);return!c&&w>0&&(w-=YZ),c&&w<0&&(w+=YZ),{centerx:y,centery:v,ang1:k,ang2:w}}(t,n,r,i,a,s,d,h,o,l),{ang1:f,ang2:m}=p,{centerx:g,centery:y}=p,v=Math.abs(m)/(YZ/4);Math.abs(1-v)<1e-7&&(v=1);let x=Math.max(Math.ceil(v),1);m/=x;for(let S=0;S<x;S++)c.push(ZZ(f,m)),f+=m;return c.map((e=>{let{x:t,y:n}=FZ(e[0],a,s,g,y),{x:r,y:i}=FZ(e[1],a,s,g,y),{x:o,y:l}=FZ(e[2],a,s,g,y);return{x1:t,y1:n,x2:r,y2:i,x:o,y:l}}))}function XZ(e,t){if(!e)throw t||"Assertion Failed!"}!function(e){e[e.ODD=0]="ODD",e[e.NONZERO=1]="NONZERO",e[e.POSITIVE=2]="POSITIVE",e[e.NEGATIVE=3]="NEGATIVE",e[e.ABS_GEQ_TWO=4]="ABS_GEQ_TWO"}(GZ||(GZ={})),function(e){e[e.POLYGONS=0]="POLYGONS",e[e.CONNECTED_POLYGONS=1]="CONNECTED_POLYGONS",e[e.BOUNDARY_CONTOURS=2]="BOUNDARY_CONTOURS"}(qZ||(qZ={}));var _Z=function(){function e(){}return e.vertEq=function(e,t){return e.s===t.s&&e.t===t.t},e.vertLeq=function(e,t){return e.s<t.s||e.s===t.s&&e.t<=t.t},e.transLeq=function(e,t){return e.t<t.t||e.t===t.t&&e.s<=t.s},e.edgeGoesLeft=function(t){return e.vertLeq(t.Dst,t.Org)},e.edgeGoesRight=function(t){return e.vertLeq(t.Org,t.Dst)},e.vertL1dist=function(e,t){return Math.abs(e.s-t.s)+Math.abs(e.t-t.t)},e.edgeEval=function(t,n,r){XZ(e.vertLeq(t,n)&&e.vertLeq(n,r));var i=n.s-t.s,a=r.s-n.s;return i+a>0?i<a?n.t-t.t+(t.t-r.t)*(i/(i+a)):n.t-r.t+(r.t-t.t)*(a/(i+a)):0},e.edgeSign=function(t,n,r){XZ(e.vertLeq(t,n)&&e.vertLeq(n,r));var i=n.s-t.s,a=r.s-n.s;return i+a>0?(n.t-r.t)*i+(n.t-t.t)*a:0},e.transEval=function(t,n,r){XZ(e.transLeq(t,n)&&e.transLeq(n,r));var i=n.t-t.t,a=r.t-n.t;return i+a>0?i<a?n.s-t.s+(t.s-r.s)*(i/(i+a)):n.s-r.s+(r.s-t.s)*(a/(i+a)):0},e.transSign=function(t,n,r){XZ(e.transLeq(t,n)&&e.transLeq(n,r));var i=n.t-t.t,a=r.t-n.t;return i+a>0?(n.s-r.s)*i+(n.s-t.s)*a:0},e.vertCCW=function(e,t,n){return e.s*(t.t-n.t)+t.s*(n.t-e.t)+n.s*(e.t-t.t)>=0},e.interpolate=function(e,t,n,r){return(e=e<0?0:e)<=(n=n<0?0:n)?0===n?(t+r)/2:t+e/(e+n)*(r-t):r+n/(e+n)*(t-r)},e.intersect=function(t,n,r,i,a){var s,o,l;e.vertLeq(t,n)||(l=t,t=n,n=l),e.vertLeq(r,i)||(l=r,r=i,i=l),e.vertLeq(t,r)||(l=t,t=r,r=l,l=n,n=i,i=l),e.vertLeq(r,n)?e.vertLeq(n,i)?((s=e.edgeEval(t,r,n))+(o=e.edgeEval(r,n,i))<0&&(s=-s,o=-o),a.s=e.interpolate(s,r.s,o,n.s)):((s=e.edgeSign(t,r,n))+(o=-e.edgeSign(t,i,n))<0&&(s=-s,o=-o),a.s=e.interpolate(s,r.s,o,i.s)):a.s=(r.s+n.s)/2,e.transLeq(t,n)||(l=t,t=n,n=l),e.transLeq(r,i)||(l=r,r=i,i=l),e.transLeq(t,r)||(l=t,t=r,r=l,l=n,n=i,i=l),e.transLeq(r,n)?e.transLeq(n,i)?((s=e.transEval(t,r,n))+(o=e.transEval(r,n,i))<0&&(s=-s,o=-o),a.t=e.interpolate(s,r.t,o,n.t)):((s=e.transSign(t,r,n))+(o=-e.transSign(t,i,n))<0&&(s=-s,o=-o),a.t=e.interpolate(s,r.t,o,i.t)):a.t=(r.t+n.t)/2},e}(),$Z=function(){this.next=null,this.prev=null,this.anEdge=null,this.trail=null,this.n=0,this.marked=!1,this.inside=!1},eK=function(){function e(e){this.side=e,this.next=null,this.Org=null,this.Sym=null,this.Onext=null,this.Lnext=null,this.Lface=null,this.activeRegion=null,this.winding=0}return Object.defineProperty(e.prototype,"Rface",{get:function(){return this.Sym.Lface},set:function(e){this.Sym.Lface=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"Dst",{get:function(){return this.Sym.Org},set:function(e){this.Sym.Org=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"Oprev",{get:function(){return this.Sym.Lnext},set:function(e){this.Sym.Lnext=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"Lprev",{get:function(){return this.Onext.Sym},set:function(e){this.Onext.Sym=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"Dprev",{get:function(){return this.Lnext.Sym},set:function(e){this.Lnext.Sym=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"Rprev",{get:function(){return this.Sym.Onext},set:function(e){this.Sym.Onext=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"Dnext",{get:function(){return this.Sym.Onext.Sym},set:function(e){this.Sym.Onext.Sym=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"Rnext",{get:function(){return this.Sym.Lnext.Sym},set:function(e){this.Sym.Lnext.Sym=e},enumerable:!0,configurable:!0}),e}(),tK=function(){this.next=null,this.prev=null,this.anEdge=null,this.coords=[0,0,0],this.s=0,this.t=0,this.pqHandle=0,this.n=0,this.idx=0},nK=function(){function e(){var e=new tK,t=new $Z,n=new eK(0),r=new eK(1);e.next=e.prev=e,e.anEdge=null,t.next=t.prev=t,n.next=n,n.Sym=r,r.next=r,r.Sym=n,this.vHead=e,this.fHead=t,this.eHead=n,this.eHeadSym=r}return e.prototype.makeEdge_=function(e){var t=new eK(0),n=new eK(1);e.Sym.side<e.side&&(e=e.Sym);var r=e.Sym.next;return n.next=r,r.Sym.next=t,t.next=e,e.Sym.next=n,t.Sym=n,t.Onext=t,t.Lnext=n,t.Org=null,t.Lface=null,t.winding=0,t.activeRegion=null,n.Sym=t,n.Onext=n,n.Lnext=t,n.Org=null,n.Lface=null,n.winding=0,n.activeRegion=null,t},e.prototype.splice_=function(e,t){var n=e.Onext,r=t.Onext;n.Sym.Lnext=t,r.Sym.Lnext=e,e.Onext=r,t.Onext=n},e.prototype.makeVertex_=function(e,t,n){var r=e;XZ(r,"Vertex can't be null!");var i=n.prev;r.prev=i,i.next=r,r.next=n,n.prev=r,r.anEdge=t;var a=t;do{a.Org=r,a=a.Onext}while(a!==t)},e.prototype.makeFace_=function(e,t,n){var r=e;XZ(r,"Face can't be null");var i=n.prev;r.prev=i,i.next=r,r.next=n,n.prev=r,r.anEdge=t,r.trail=null,r.marked=!1,r.inside=n.inside;var a=t;do{a.Lface=r,a=a.Lnext}while(a!==t)},e.prototype.killEdge_=function(e){e.Sym.side<e.side&&(e=e.Sym);var t=e.next,n=e.Sym.next;t.Sym.next=n,n.Sym.next=t},e.prototype.killVertex_=function(e,t){var n=e.anEdge,r=n;do{r.Org=t,r=r.Onext}while(r!==n);var i=e.prev,a=e.next;a.prev=i,i.next=a},e.prototype.killFace_=function(e,t){var n=e.anEdge,r=n;do{r.Lface=t,r=r.Lnext}while(r!==n);var i=e.prev,a=e.next;a.prev=i,i.next=a},e.prototype.makeEdge=function(){var e=new tK,t=new tK,n=new $Z,r=this.makeEdge_(this.eHead);return this.makeVertex_(e,r,this.vHead),this.makeVertex_(t,r.Sym,this.vHead),this.makeFace_(n,r,this.fHead),r},e.prototype.splice=function(e,t){var n=!1,r=!1;if(e!==t){if(t.Org!==e.Org&&(r=!0,this.killVertex_(t.Org,e.Org)),t.Lface!==e.Lface&&(n=!0,this.killFace_(t.Lface,e.Lface)),this.splice_(t,e),!r){var i=new tK;this.makeVertex_(i,t,e.Org),e.Org.anEdge=e}if(!n){var a=new $Z;this.makeFace_(a,t,e.Lface),e.Lface.anEdge=e}}},e.prototype.delete=function(e){var t=e.Sym,n=!1;if(e.Lface!==e.Rface&&(n=!0,this.killFace_(e.Lface,e.Rface)),e.Onext===e)this.killVertex_(e.Org,null);else if(e.Rface.anEdge=e.Oprev,e.Org.anEdge=e.Onext,this.splice_(e,e.Oprev),!n){var r=new $Z;this.makeFace_(r,e,e.Lface)}t.Onext===t?(this.killVertex_(t.Org,null),this.killFace_(t.Lface,null)):(e.Lface.anEdge=t.Oprev,t.Org.anEdge=t.Onext,this.splice_(t,t.Oprev)),this.killEdge_(e)},e.prototype.addEdgeVertex=function(e){var t=this.makeEdge_(e),n=t.Sym;this.splice_(t,e.Lnext),t.Org=e.Dst;var r=new tK;return this.makeVertex_(r,n,t.Org),t.Lface=n.Lface=e.Lface,t},e.prototype.splitEdge=function(e){var t=this.addEdgeVertex(e).Sym;return this.splice_(e.Sym,e.Sym.Oprev),this.splice_(e.Sym,t),e.Dst=t.Org,t.Dst.anEdge=t.Sym,t.Rface=e.Rface,t.winding=e.winding,t.Sym.winding=e.Sym.winding,t.idx=e.idx,t.Sym.idx=e.Sym.idx,t},e.prototype.connect=function(e,t){var n=!1,r=this.makeEdge_(e),i=r.Sym;if(t.Lface!==e.Lface&&(n=!0,this.killFace_(t.Lface,e.Lface)),this.splice_(r,e.Lnext),this.splice_(i,t),r.Org=e.Dst,i.Org=t.Org,r.Lface=i.Lface=e.Lface,e.Lface.anEdge=i,!n){var a=new $Z;this.makeFace_(a,r,e.Lface)}return r},e.prototype.zapFace=function(e){var t,n,r,i,a,s=e.anEdge;n=s.Lnext;do{n=(t=n).Lnext,t.Lface=null,null===t.Rface&&(t.Onext===t?this.killVertex_(t.Org,null):(t.Org.anEdge=t.Onext,this.splice_(t,t.Oprev)),(r=t.Sym).Onext===r?this.killVertex_(r.Org,null):(r.Org.anEdge=r.Onext,this.splice_(r,r.Oprev)),this.killEdge_(t))}while(t!=s);i=e.prev,(a=e.next).prev=i,i.next=a},e.prototype.countFaceVerts_=function(e){var t=e.anEdge,n=0;do{n++,t=t.Lnext}while(t!==e.anEdge);return n},e.prototype.mergeConvexFaces=function(e){var t,n,r,i,a;for(t=this.fHead.next;t!==this.fHead;t=t.next)if(t.inside)for(a=(n=t.anEdge).Org;r=n.Lnext,(i=n.Sym)&&i.Lface&&i.Lface.inside&&(this.countFaceVerts_(t)+this.countFaceVerts_(i.Lface)-2<=e&&_Z.vertCCW(n.Lprev.Org,n.Org,i.Lnext.Lnext.Org)&&_Z.vertCCW(i.Lprev.Org,i.Org,n.Lnext.Lnext.Org)&&(r=i.Lnext,this.delete(i),n=null,i=null)),!n||n.Lnext.Org!==a;)n=r;return!0},e.prototype.check=function(){var e,t,n,r,i,a,s=this.fHead,o=this.vHead,l=this.eHead;for(t=s,t=s;(e=t.next)!==s;t=e){XZ(e.prev===t),i=e.anEdge;do{XZ(i.Sym!==i),XZ(i.Sym.Sym===i),XZ(i.Lnext.Onext.Sym===i),XZ(i.Onext.Sym.Lnext===i),XZ(i.Lface===e),i=i.Lnext}while(i!==e.anEdge)}for(XZ(e.prev===t&&null===e.anEdge),r=o,r=o;(n=r.next)!==o;r=n){XZ(n.prev===r),i=n.anEdge;do{XZ(i.Sym!==i),XZ(i.Sym.Sym===i),XZ(i.Lnext.Onext.Sym===i),XZ(i.Onext.Sym.Lnext===i),XZ(i.Org===n),i=i.Onext}while(i!==n.anEdge)}for(XZ(n.prev===r&&null===n.anEdge),a=l,a=l;(i=a.next)!==l;a=i)XZ(i.Sym.next===a.Sym),XZ(i.Sym!==i),XZ(i.Sym.Sym===i),XZ(null!==i.Org),XZ(null!==i.Dst),XZ(i.Lnext.Onext.Sym===i),XZ(i.Onext.Sym.Lnext===i);XZ(i.Sym.next===a.Sym&&i.Sym===this.eHeadSym&&i.Sym.Sym===i&&null===i.Org&&null===i.Dst&&null===i.Lface&&null===i.Rface)},e}(),rK=function(){this.handle=null},iK=function(){this.key=null,this.node=0},aK=function(){function e(e,t){this.leq=t,this.max=0,this.nodes=[],this.handles=[],this.initialized=!1,this.freeList=0,this.size=0,this.max=e,this.nodes=[],this.handles=[];for(var n=0;n<e+1;n++)this.nodes[n]=new rK,this.handles[n]=new iK;this.initialized=!1,this.nodes[1].handle=1,this.handles[1].key=null}return e.prototype.floatDown_=function(e){var t,n,r,i=this.nodes,a=this.handles;for(t=i[e].handle;;){if((r=e<<1)<this.size&&this.leq(a[i[r+1].handle].key,a[i[r].handle].key)&&++r,XZ(r<=this.max),n=i[r].handle,r>this.size||this.leq(a[t].key,a[n].key)){i[e].handle=t,a[t].node=e;break}i[e].handle=n,a[n].node=e,e=r}},e.prototype.floatUp_=function(e){var t,n,r,i=this.nodes,a=this.handles;for(t=i[e].handle;;){if(n=i[r=e>>1].handle,0===r||this.leq(a[n].key,a[t].key)){i[e].handle=t,a[t].node=e;break}i[e].handle=n,a[n].node=e,e=r}},e.prototype.init=function(){for(var e=this.size;e>=1;--e)this.floatDown_(e);this.initialized=!0},e.prototype.min=function(){return this.handles[this.nodes[1].handle].key},e.prototype.insert=function(e){var t,n;if(2*(t=++this.size)>this.max){var r,i;for(this.max*=2,i=this.nodes.length,this.nodes.length=this.max+1,r=i;r<this.nodes.length;r++)this.nodes[r]=new rK;for(i=this.handles.length,this.handles.length=this.max+1,r=i;r<this.handles.length;r++)this.handles[r]=new iK}return 0===this.freeList?n=t:(n=this.freeList,this.freeList=this.handles[n].node),this.nodes[t].handle=n,this.handles[n].node=t,this.handles[n].key=e,this.initialized&&this.floatUp_(t),n},e.prototype.extractMin=function(){var e=this.nodes,t=this.handles,n=e[1].handle,r=t[n].key;return this.size>0&&(e[1].handle=e[this.size].handle,t[e[1].handle].node=1,t[n].key=null,t[n].node=this.freeList,this.freeList=n,--this.size,this.size>0&&this.floatDown_(1)),r},e.prototype.delete=function(e){var t,n=this.nodes,r=this.handles;XZ(e>=1&&e<=this.max&&null!==r[e].key),n[t=r[e].node].handle=n[this.size].handle,r[n[t].handle].node=t,--this.size,t<=this.size&&(t<=1||this.leq(r[n[t>>1].handle].key,r[n[t].handle].key)?this.floatDown_(t):this.floatUp_(t)),r[e].key=null,r[e].node=this.freeList,this.freeList=e},e}(),sK=function(){this.eUp=null,this.nodeUp=null,this.windingNumber=0,this.inside=!1,this.sentinel=!1,this.dirty=!1,this.fixUpperEdge=!1},oK=function(){this.key=null,this.next=null,this.prev=null},lK=function(){function e(e,t){this.frame=e,this.leq=t,this.head=new oK,this.head.next=this.head,this.head.prev=this.head}return e.prototype.min=function(){return this.head.next},e.prototype.max=function(){return this.head.prev},e.prototype.insert=function(e){return this.insertBefore(this.head,e)},e.prototype.search=function(e){var t=this.head;do{t=t.next}while(null!==t.key&&!this.leq(this.frame,e,t.key));return t},e.prototype.insertBefore=function(e,t){do{e=e.prev}while(null!==e.key&&!this.leq(this.frame,e.key,t));var n=new oK;return n.key=t,n.next=e.next,e.next.prev=n,n.prev=e,e.next=n,n},e.prototype.delete=function(e){e.next.prev=e.prev,e.prev.next=e.next},e}(),cK=function(){function e(){}return e.regionBelow=function(e){return e.nodeUp.prev.key},e.regionAbove=function(e){return e.nodeUp.next.key},e.debugEvent=function(e){},e.addWinding=function(e,t){e.winding+=t.winding,e.Sym.winding+=t.Sym.winding},e.edgeLeq=function(e,t,n){var r=e.event,i=t.eUp,a=n.eUp;return i.Dst===r?a.Dst===r?_Z.vertLeq(i.Org,a.Org)?_Z.edgeSign(a.Dst,i.Org,a.Org)<=0:_Z.edgeSign(i.Dst,a.Org,i.Org)>=0:_Z.edgeSign(a.Dst,r,a.Org)<=0:a.Dst===r?_Z.edgeSign(i.Dst,r,i.Org)>=0:_Z.edgeEval(i.Dst,r,i.Org)>=_Z.edgeEval(a.Dst,r,a.Org)},e.deleteRegion=function(e,t){t.fixUpperEdge&&XZ(0===t.eUp.winding),t.eUp.activeRegion=null,e.dict.delete(t.nodeUp)},e.fixUpperEdge=function(e,t,n){XZ(t.fixUpperEdge),e.mesh.delete(t.eUp),t.fixUpperEdge=!1,t.eUp=n,n.activeRegion=t},e.topLeftRegion=function(t,n){var r,i=n.eUp.Org;do{n=e.regionAbove(n)}while(n.eUp.Org===i);if(n.fixUpperEdge){if(null===(r=t.mesh.connect(e.regionBelow(n).eUp.Sym,n.eUp.Lnext)))return null;e.fixUpperEdge(t,n,r),n=e.regionAbove(n)}return n},e.topRightRegion=function(t){var n=t.eUp.Dst;do{t=e.regionAbove(t)}while(t.eUp.Dst===n);return t},e.addRegionBelow=function(e,t,n){var r=new sK;return r.eUp=n,r.nodeUp=e.dict.insertBefore(t.nodeUp,r),r.fixUpperEdge=!1,r.sentinel=!1,r.dirty=!1,n.activeRegion=r,r},e.isWindingInside=function(e,t){switch(e.windingRule){case GZ.ODD:return 0!==(1&t);case GZ.NONZERO:return 0!==t;case GZ.POSITIVE:return t>0;case GZ.NEGATIVE:return t<0;case GZ.ABS_GEQ_TWO:return t>=2||t<=-2}throw new Error("Invalid winding rulle")},e.computeWinding=function(t,n){n.windingNumber=e.regionAbove(n).windingNumber+n.eUp.winding,n.inside=e.isWindingInside(t,n.windingNumber)},e.finishRegion=function(t,n){var r=n.eUp,i=r.Lface;i.inside=n.inside,i.anEdge=r,e.deleteRegion(t,n)},e.finishLeftRegions=function(t,n,r){for(var i,a=null,s=n,o=n.eUp;s!==r;){if(s.fixUpperEdge=!1,(i=(a=e.regionBelow(s)).eUp).Org!=o.Org){if(!a.fixUpperEdge){e.finishRegion(t,s);break}i=t.mesh.connect(o.Lprev,i.Sym),e.fixUpperEdge(t,a,i)}o.Onext!==i&&(t.mesh.splice(i.Oprev,i),t.mesh.splice(o,i)),e.finishRegion(t,s),o=a.eUp,s=a}return o},e.addRightEdges=function(t,n,r,i,a,s){var o,l,c,d,h=!0;c=r;do{XZ(_Z.vertLeq(c.Org,c.Dst)),e.addRegionBelow(t,n,c.Sym),c=c.Onext}while(c!==i);for(null===a&&(a=e.regionBelow(n).eUp.Rprev),l=n,d=a;(c=(o=e.regionBelow(l)).eUp.Sym).Org===d.Org;)c.Onext!==d&&(t.mesh.splice(c.Oprev,c),t.mesh.splice(d.Oprev,c)),o.windingNumber=l.windingNumber-c.winding,o.inside=e.isWindingInside(t,o.windingNumber),l.dirty=!0,!h&&e.checkForRightSplice(t,l)&&(e.addWinding(c,d),e.deleteRegion(t,l),t.mesh.delete(d)),h=!1,l=o,d=c;l.dirty=!0,XZ(l.windingNumber-c.winding===o.windingNumber),s&&e.walkDirtyRegions(t,l)},e.spliceMergeVertices=function(e,t,n){e.mesh.splice(t,n)},e.vertexWeights=function(e,t,n){var r=_Z.vertL1dist(t,e),i=_Z.vertL1dist(n,e),a=.5*i/(r+i),s=.5*r/(r+i);e.coords[0]+=a*t.coords[0]+s*n.coords[0],e.coords[1]+=a*t.coords[1]+s*n.coords[1],e.coords[2]+=a*t.coords[2]+s*n.coords[2]},e.getIntersectData=function(t,n,r,i,a,s){n.coords[0]=n.coords[1]=n.coords[2]=0,n.idx=-1,e.vertexWeights(n,r,i),e.vertexWeights(n,a,s)},e.checkForRightSplice=function(t,n){var r=e.regionBelow(n),i=n.eUp,a=r.eUp;if(_Z.vertLeq(i.Org,a.Org)){if(_Z.edgeSign(a.Dst,i.Org,a.Org)>0)return!1;_Z.vertEq(i.Org,a.Org)?i.Org!==a.Org&&(t.pq.delete(i.Org.pqHandle),e.spliceMergeVertices(t,a.Oprev,i)):(t.mesh.splitEdge(a.Sym),t.mesh.splice(i,a.Oprev),n.dirty=r.dirty=!0)}else{if(_Z.edgeSign(i.Dst,a.Org,i.Org)<0)return!1;e.regionAbove(n).dirty=n.dirty=!0,t.mesh.splitEdge(i.Sym),t.mesh.splice(a.Oprev,i)}return!0},e.checkForLeftSplice=function(t,n){var r,i=e.regionBelow(n),a=n.eUp,s=i.eUp;if(XZ(!_Z.vertEq(a.Dst,s.Dst)),_Z.vertLeq(a.Dst,s.Dst)){if(_Z.edgeSign(a.Dst,s.Dst,a.Org)<0)return!1;e.regionAbove(n).dirty=n.dirty=!0,r=t.mesh.splitEdge(a),t.mesh.splice(s.Sym,r),r.Lface.inside=n.inside}else{if(_Z.edgeSign(s.Dst,a.Dst,s.Org)>0)return!1;n.dirty=i.dirty=!0,r=t.mesh.splitEdge(s),t.mesh.splice(a.Lnext,s.Sym),r.Rface.inside=n.inside}return!0},e.checkForIntersect=function(t,n){var r,i,a=e.regionBelow(n),s=n.eUp,o=a.eUp,l=s.Org,c=o.Org,d=s.Dst,h=o.Dst,u=new tK;if(XZ(!_Z.vertEq(h,d)),XZ(_Z.edgeSign(d,t.event,l)<=0),XZ(_Z.edgeSign(h,t.event,c)>=0),XZ(l!==t.event&&c!==t.event),XZ(!n.fixUpperEdge&&!a.fixUpperEdge),l===c||Math.min(l.t,d.t)>Math.max(c.t,h.t))return!1;if(_Z.vertLeq(l,c)){if(_Z.edgeSign(h,l,c)>0)return!1}else if(_Z.edgeSign(d,c,l)<0)return!1;return e.debugEvent(t),_Z.intersect(d,l,h,c,u),XZ(Math.min(l.t,d.t)<=u.t),XZ(u.t<=Math.max(c.t,h.t)),XZ(Math.min(h.s,d.s)<=u.s),XZ(u.s<=Math.max(c.s,l.s)),_Z.vertLeq(u,t.event)&&(u.s=t.event.s,u.t=t.event.t),r=_Z.vertLeq(l,c)?l:c,_Z.vertLeq(r,u)&&(u.s=r.s,u.t=r.t),_Z.vertEq(u,l)||_Z.vertEq(u,c)?(e.checkForRightSplice(t,n),!1):!_Z.vertEq(d,t.event)&&_Z.edgeSign(d,t.event,u)>=0||!_Z.vertEq(h,t.event)&&_Z.edgeSign(h,t.event,u)<=0?h===t.event?(t.mesh.splitEdge(s.Sym),t.mesh.splice(o.Sym,s),n=e.topLeftRegion(t,n),s=e.regionBelow(n).eUp,e.finishLeftRegions(t,e.regionBelow(n),a),e.addRightEdges(t,n,s.Oprev,s,s,!0),!0):d===t.event?(t.mesh.splitEdge(o.Sym),t.mesh.splice(s.Lnext,o.Oprev),a=n,n=e.topRightRegion(n),i=e.regionBelow(n).eUp.Rprev,a.eUp=o.Oprev,o=e.finishLeftRegions(t,a,null),e.addRightEdges(t,n,o.Onext,s.Rprev,i,!0),!0):(_Z.edgeSign(d,t.event,u)>=0&&(e.regionAbove(n).dirty=n.dirty=!0,t.mesh.splitEdge(s.Sym),s.Org.s=t.event.s,s.Org.t=t.event.t),_Z.edgeSign(h,t.event,u)<=0&&(n.dirty=a.dirty=!0,t.mesh.splitEdge(o.Sym),o.Org.s=t.event.s,o.Org.t=t.event.t),!1):(t.mesh.splitEdge(s.Sym),t.mesh.splitEdge(o.Sym),t.mesh.splice(o.Oprev,s),s.Org.s=u.s,s.Org.t=u.t,s.Org.pqHandle=t.pq.insert(s.Org),e.getIntersectData(t,s.Org,l,d,c,h),e.regionAbove(n).dirty=n.dirty=a.dirty=!0,!1)},e.walkDirtyRegions=function(t,n){for(var r,i,a=e.regionBelow(n);;){for(;a.dirty;)n=a,a=e.regionBelow(a);if(!n.dirty&&(a=n,null===(n=e.regionAbove(n))||!n.dirty))return;if(n.dirty=!1,r=n.eUp,i=a.eUp,r.Dst!==i.Dst&&e.checkForLeftSplice(t,n)&&(a.fixUpperEdge?(e.deleteRegion(t,a),t.mesh.delete(i),i=(a=e.regionBelow(n)).eUp):n.fixUpperEdge&&(e.deleteRegion(t,n),t.mesh.delete(r),r=(n=e.regionAbove(a)).eUp)),r.Org!==i.Org)if(r.Dst===i.Dst||n.fixUpperEdge||a.fixUpperEdge||r.Dst!==t.event&&i.Dst!==t.event)e.checkForRightSplice(t,n);else if(e.checkForIntersect(t,n))return;r.Org===i.Org&&r.Dst===i.Dst&&(e.addWinding(i,r),e.deleteRegion(t,n),t.mesh.delete(r),n=e.regionAbove(a))}},e.connectRightVertex=function(t,n,r){var i,a=r.Onext,s=e.regionBelow(n),o=n.eUp,l=s.eUp,c=!1;o.Dst!==l.Dst&&e.checkForIntersect(t,n),_Z.vertEq(o.Org,t.event)&&(t.mesh.splice(a.Oprev,o),n=e.topLeftRegion(t,n),a=e.regionBelow(n).eUp,e.finishLeftRegions(t,e.regionBelow(n),s),c=!0),_Z.vertEq(l.Org,t.event)&&(t.mesh.splice(r,l.Oprev),r=e.finishLeftRegions(t,s,null),c=!0),c?e.addRightEdges(t,n,r.Onext,a,a,!0):(i=_Z.vertLeq(l.Org,o.Org)?l.Oprev:o,i=t.mesh.connect(r.Lprev,i),e.addRightEdges(t,n,i,i.Onext,i.Onext,!1),i.Sym.activeRegion.fixUpperEdge=!0,e.walkDirtyRegions(t,n))},e.connectLeftDegenerate=function(t,n,r){var i,a,s,o,l;return i=n.eUp,_Z.vertEq(i.Org,r)?(XZ(!1),void e.spliceMergeVertices(t,i,r.anEdge)):_Z.vertEq(i.Dst,r)?(XZ(!1),n=e.topRightRegion(n),a=o=(s=(l=e.regionBelow(n)).eUp.Sym).Onext,l.fixUpperEdge&&(XZ(a!==s),e.deleteRegion(t,l),t.mesh.delete(s),s=a.Oprev),t.mesh.splice(r.anEdge,s),_Z.edgeGoesLeft(a)||(a=null),void e.addRightEdges(t,n,s.Onext,o,a,!0)):(t.mesh.splitEdge(i.Sym),n.fixUpperEdge&&(t.mesh.delete(i.Onext),n.fixUpperEdge=!1),t.mesh.splice(r.anEdge,i),void e.sweepEvent(t,r))},e.connectLeftVertex=function(t,n){var r,i,a,s,o,l,c=new sK;if(c.eUp=n.anEdge.Sym,r=t.dict.search(c).key,i=e.regionBelow(r)){if(s=r.eUp,o=i.eUp,0===_Z.edgeSign(s.Dst,n,s.Org))return void e.connectLeftDegenerate(t,r,n);if(a=_Z.vertLeq(o.Dst,s.Dst)?r:i,r.inside||a.fixUpperEdge){if(a===r)l=t.mesh.connect(n.anEdge.Sym,s.Lnext);else l=t.mesh.connect(o.Dnext,n.anEdge).Sym;a.fixUpperEdge?e.fixUpperEdge(t,a,l):e.computeWinding(t,e.addRegionBelow(t,r,l)),e.sweepEvent(t,n)}else e.addRightEdges(t,r,n.anEdge,n.anEdge,null,!0)}},e.sweepEvent=function(t,n){t.event=n,e.debugEvent(t);for(var r=n.anEdge;null===r.activeRegion;)if((r=r.Onext)===n.anEdge)return void e.connectLeftVertex(t,n);var i=e.topLeftRegion(t,r.activeRegion);XZ(null!==i);var a=e.regionBelow(i),s=a.eUp,o=e.finishLeftRegions(t,a,null);o.Onext===s?e.connectRightVertex(t,i,o):e.addRightEdges(t,i,o.Onext,s,s,!0)},e.addSentinel=function(e,t,n,r){var i=new sK,a=e.mesh.makeEdge();a.Org.s=n,a.Org.t=r,a.Dst.s=t,a.Dst.t=r,e.event=a.Dst,i.eUp=a,i.windingNumber=0,i.inside=!1,i.fixUpperEdge=!1,i.sentinel=!0,i.dirty=!1,i.nodeUp=e.dict.insert(i)},e.initEdgeDict=function(t){t.dict=new lK(t,e.edgeLeq);var n=t.bmax[0]-t.bmin[0],r=t.bmax[1]-t.bmin[1],i=t.bmin[0]-n,a=t.bmax[0]+n,s=t.bmin[1]-r,o=t.bmax[1]+r;e.addSentinel(t,i,a,s),e.addSentinel(t,i,a,o)},e.doneEdgeDict=function(t){for(var n,r=0;null!==(n=t.dict.min().key);)n.sentinel||(XZ(n.fixUpperEdge),XZ(1===++r)),XZ(0===n.windingNumber),e.deleteRegion(t,n)},e.removeDegenerateEdges=function(t){var n,r,i,a=t.mesh.eHead;for(n=a.next;n!==a;n=r)r=n.next,i=n.Lnext,_Z.vertEq(n.Org,n.Dst)&&n.Lnext.Lnext!==n&&(e.spliceMergeVertices(t,i,n),t.mesh.delete(n),i=(n=i).Lnext),i.Lnext===n&&(i!==n&&((i===r||i===r.Sym)&&(r=r.next),t.mesh.delete(i)),(n===r||n===r.Sym)&&(r=r.next),t.mesh.delete(n))},e.initPriorityQ=function(e){var t,n,r,i=0;for(n=(r=e.mesh.vHead).next;n!==r;n=n.next)i++;for(i+=8,t=e.pq=new aK(i,_Z.vertLeq),n=(r=e.mesh.vHead).next;n!==r;n=n.next)n.pqHandle=t.insert(n);return n===r&&(t.init(),!0)},e.donePriorityQ=function(e){e.pq=null},e.removeDegenerateFaces=function(t,n){var r,i,a;for(r=n.fHead.next;r!==n.fHead;r=i)i=r.next,XZ((a=r.anEdge).Lnext!==a),a.Lnext.Lnext===a&&(e.addWinding(a.Onext,a),t.mesh.delete(a));return!0},e.computeInterior=function(t,n){var r,i;if(void 0===n&&(n=!0),e.removeDegenerateEdges(t),!e.initPriorityQ(t))return!1;for(e.initEdgeDict(t);null!==(r=t.pq.extractMin());){for(;null!==(i=t.pq.min())&&_Z.vertEq(i,r);)i=t.pq.extractMin(),e.spliceMergeVertices(t,r.anEdge,i.anEdge);e.sweepEvent(t,r)}return t.event=t.dict.min().key.eUp.Org,e.debugEvent(t),e.doneEdgeDict(t),e.donePriorityQ(t),!!e.removeDegenerateFaces(t,t.mesh)&&(n&&t.mesh.check(),!0)},e}(),dK=function(){function e(){this.mesh=new nK,this.normal=[0,0,0],this.sUnit=[0,0,0],this.tUnit=[0,0,0],this.bmin=[0,0],this.bmax=[0,0],this.windingRule=GZ.ODD,this.dict=null,this.pq=null,this.event=null,this.vertexIndexCounter=0,this.vertices=[],this.vertexIndices=[],this.vertexCount=0,this.elements=[],this.elementCount=0}return e.prototype.dot_=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]},e.prototype.normalize_=function(e){var t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2];if(!t)throw"Zero-size vector!";t=Math.sqrt(t),e[0]/=t,e[1]/=t,e[2]/=t},e.prototype.longAxis_=function(e){var t=0;return Math.abs(e[1])>Math.abs(e[0])&&(t=1),Math.abs(e[2])>Math.abs(e[t])&&(t=2),t},e.prototype.computeNormal_=function(e){var t,n,r,i,a,s,o=[0,0,0],l=[0,0,0],c=[0,0,0],d=[0,0,0],h=[0,0,0],u=[null,null,null],p=[null,null,null],f=this.mesh.vHead;t=f.next;for(var m=0;m<3;++m)i=t.coords[m],l[m]=i,p[m]=t,o[m]=i,u[m]=t;for(t=f.next;t!==f;t=t.next)for(var g=0;g<3;++g)(i=t.coords[g])<l[g]&&(l[g]=i,p[g]=t),i>o[g]&&(o[g]=i,u[g]=t);var y=0;if(o[1]-l[1]>o[0]-l[0]&&(y=1),o[2]-l[2]>o[y]-l[y]&&(y=2),l[y]>=o[y])return e[0]=0,e[1]=0,void(e[2]=1);for(s=0,n=p[y],r=u[y],c[0]=n.coords[0]-r.coords[0],c[1]=n.coords[1]-r.coords[1],c[2]=n.coords[2]-r.coords[2],t=f.next;t!==f;t=t.next)d[0]=t.coords[0]-r.coords[0],d[1]=t.coords[1]-r.coords[1],d[2]=t.coords[2]-r.coords[2],h[0]=c[1]*d[2]-c[2]*d[1],h[1]=c[2]*d[0]-c[0]*d[2],h[2]=c[0]*d[1]-c[1]*d[0],(a=h[0]*h[0]+h[1]*h[1]+h[2]*h[2])>s&&(s=a,e[0]=h[0],e[1]=h[1],e[2]=h[2]);s<=0&&(e[0]=e[1]=e[2]=0,e[this.longAxis_(c)]=1)},e.prototype.checkOrientation_=function(){for(var e,t,n=this.mesh.fHead,r=this.mesh.vHead,i=0,a=n.next;a!==n;a=a.next)if(!((t=a.anEdge).winding<=0))do{i+=(t.Org.s-t.Dst.s)*(t.Org.t+t.Dst.t),t=t.Lnext}while(t!==a.anEdge);if(i<0){for(e=r.next;e!==r;e=e.next)e.t=-e.t;this.tUnit[0]=-this.tUnit[0],this.tUnit[1]=-this.tUnit[1],this.tUnit[2]=-this.tUnit[2]}},e.prototype.projectPolygon_=function(){var e,t,n=this.mesh.vHead,r=[0,0,0],i=!1;r[0]=this.normal[0],r[1]=this.normal[1],r[2]=this.normal[2],!r[0]&&!r[1]&&!r[2]&&(this.computeNormal_(r),i=!0),e=this.sUnit,t=this.tUnit;var a=this.longAxis_(r);e[a]=0,e[(a+1)%3]=1,e[(a+2)%3]=0,t[a]=0,t[(a+1)%3]=0,t[(a+2)%3]=r[a]>0?1:-1;for(var s=n.next;s!==n;s=s.next)s.s=this.dot_(s.coords,e),s.t=this.dot_(s.coords,t);i&&this.checkOrientation_();for(var o=!0,l=n.next;l!==n;l=l.next)o?(this.bmin[0]=this.bmax[0]=l.s,this.bmin[1]=this.bmax[1]=l.t,o=!1):(l.s<this.bmin[0]&&(this.bmin[0]=l.s),l.s>this.bmax[0]&&(this.bmax[0]=l.s),l.t<this.bmin[1]&&(this.bmin[1]=l.t),l.t>this.bmax[1]&&(this.bmax[1]=l.t))},e.prototype.addWinding_=function(e,t){e.winding+=t.winding,e.Sym.winding+=t.Sym.winding},e.prototype.tessellateMonoRegion_=function(e,t){var n,r;if((n=t.anEdge).Lnext===n||n.Lnext.Lnext===n)throw"Mono region invalid";for(;_Z.vertLeq(n.Dst,n.Org);n=n.Lprev);for(;_Z.vertLeq(n.Org,n.Dst);n=n.Lnext);r=n.Lprev;for(;n.Lnext!==r;)if(_Z.vertLeq(n.Dst,r.Org)){for(;r.Lnext!==n&&(_Z.edgeGoesLeft(r.Lnext)||_Z.edgeSign(r.Org,r.Dst,r.Lnext.Dst)<=0);)r=e.connect(r.Lnext,r).Sym;r=r.Lprev}else{for(;r.Lnext!==n&&(_Z.edgeGoesRight(n.Lprev)||_Z.edgeSign(n.Dst,n.Org,n.Lprev.Org)>=0);)n=e.connect(n,n.Lprev).Sym;n=n.Lnext}if(r.Lnext===n)throw"Mono region invalid";for(;r.Lnext.Lnext!==n;)r=e.connect(r.Lnext,r).Sym;return!0},e.prototype.tessellateInterior_=function(e){for(var t,n=e.fHead.next;n!==e.fHead;n=t)if(t=n.next,n.inside&&!this.tessellateMonoRegion_(e,n))return!1;return!0},e.prototype.discardExterior_=function(e){for(var t,n=e.fHead.next;n!==e.fHead;n=t)t=n.next,n.inside||e.zapFace(n)},e.prototype.setWindingNumber_=function(e,t,n){for(var r,i=e.eHead.next;i!==e.eHead;i=r)r=i.next,i.Rface.inside!==i.Lface.inside?i.winding=i.Lface.inside?t:-t:n?e.delete(i):i.winding=0},e.prototype.getNeighbourFace_=function(e){return e.Rface&&e.Rface.inside?e.Rface.n:-1},e.prototype.outputPolymesh_=function(e,t,n,r){var i,a,s=0,o=0;n>3&&e.mergeConvexFaces(n);for(var l=e.vHead.next;l!==e.vHead;l=l.next)l.n=-1;for(var c=e.fHead.next;c!==e.fHead;c=c.next)if(c.n=-1,c.inside){i=c.anEdge,a=0;do{-1===(l=i.Org).n&&(l.n=o,o++),a++,i=i.Lnext}while(i!==c.anEdge);if(a>n)throw"Face vertex greater that support polygon";c.n=s,++s}this.elementCount=s,t===qZ.CONNECTED_POLYGONS&&(s*=2),this.elements=[],this.elements.length=s*n,this.vertexCount=o,this.vertices=[],this.vertices.length=o*r,this.vertexIndices=[],this.vertexIndices.length=o;for(l=e.vHead.next;l!==e.vHead;l=l.next)if(-1!==l.n){var d=l.n*r;this.vertices[d+0]=l.coords[0],this.vertices[d+1]=l.coords[1],r>2&&(this.vertices[d+2]=l.coords[2]),this.vertexIndices[l.n]=l.idx}var h=0;for(c=e.fHead.next;c!==e.fHead;c=c.next)if(c.inside){i=c.anEdge,a=0;do{l=i.Org;this.elements[h++]=l.n,a++,i=i.Lnext}while(i!==c.anEdge);for(var u=a;u<n;++u)this.elements[h++]=-1;if(t===qZ.CONNECTED_POLYGONS){i=c.anEdge;do{this.elements[h++]=this.getNeighbourFace_(i),i=i.Lnext}while(i!==c.anEdge);for(var p=a;p<n;++p)this.elements[h++]=-1}}},e.prototype.outputContours_=function(e,t){var n,r,i=0,a=0;this.vertexCount=0,this.elementCount=0;for(var s=e.fHead.next;s!==e.fHead;s=s.next)if(s.inside){r=n=s.anEdge;do{this.vertexCount++,n=n.Lnext}while(n!==r);this.elementCount++}this.elements=[],this.elements.length=2*this.elementCount,this.vertices=[],this.vertices.length=this.vertexCount*t,this.vertexIndices=[],this.vertexIndices.length=this.vertexCount;var o=0,l=0,c=0;i=0;for(s=e.fHead.next;s!==e.fHead;s=s.next)if(s.inside){a=0,r=n=s.anEdge;do{this.vertices[o++]=n.Org.coords[0],this.vertices[o++]=n.Org.coords[1],t>2&&(this.vertices[o++]=n.Org.coords[2]),this.vertexIndices[l++]=this.vertexIdCallback?this.vertexIdCallback(n):n.Org.idx,a++,n=n.Lnext}while(n!==r);this.elements[c++]=i,this.elements[c++]=a,i+=a}},e.prototype.addContour=function(e,t){null===this.mesh&&(this.mesh=new nK),e<2&&(e=2),e>3&&(e=3);for(var n=null,r=0;r<t.length;r+=e)null===n?(n=this.mesh.makeEdge(),this.mesh.splice(n,n.Sym)):(this.mesh.splitEdge(n),n=n.Lnext),n.Org.coords[0]=t[r+0],n.Org.coords[1]=t[r+1],n.Org.coords[2]=e>2?t[r+2]:0,n.Org.idx=this.vertexIndexCounter++,this.edgeCreateCallback&&this.edgeCreateCallback(n),n.winding=1,n.Sym.winding=-1},e.prototype.tesselate=function(e,t,n,r,i,a){if(void 0===e&&(e=GZ.ODD),void 0===t&&(t=qZ.POLYGONS),void 0===a&&(a=!0),this.vertices=[],this.elements=[],this.vertexIndices=[],this.vertexIndexCounter=0,i&&(this.normal[0]=i[0],this.normal[1]=i[1],this.normal[2]=i[2]),this.windingRule=e,r<2&&(r=2),r>3&&(r=3),!this.mesh)return!1;this.projectPolygon_(),cK.computeInterior(this,a);var s=this.mesh;return t===qZ.BOUNDARY_CONTOURS?this.setWindingNumber_(s,1,!0):this.tessellateInterior_(s),a&&s.check(),t===qZ.BOUNDARY_CONTOURS?this.outputContours_(s,r):this.outputPolymesh_(s,t,n,r),!0},e}();function hK(e){var t=e.windingRule,n=void 0===t?GZ.ODD:t,r=e.elementType,i=void 0===r?qZ.POLYGONS:r,a=e.polySize,s=void 0===a?3:a,o=e.vertexSize,l=void 0===o?2:o,c=e.normal,d=void 0===c?[0,0,1]:c,h=e.contours,u=void 0===h?[]:h,p=e.strict,f=void 0===p||p,m=e.debug,g=void 0!==m&&m;if(!u&&f)throw new Error("Contours can't be empty");if(u){var y=new dK;e.edgeCreateCallback&&(y.edgeCreateCallback=e.edgeCreateCallback),e.vertexIdCallback&&(y.vertexIdCallback=e.vertexIdCallback);for(var v=0;v<u.length;v++)y.addContour(l||2,u[v]);return y.tesselate(n,i,s,l,d,f),{vertices:y.vertices,vertexIndices:y.vertexIndices,vertexCount:y.vertexCount,elements:y.elements,elementCount:y.elementCount,mesh:g?y.mesh:void 0}}}GZ.ODD,GZ.NONZERO,GZ.POSITIVE,GZ.NEGATIVE,GZ.ABS_GEQ_TWO,qZ.POLYGONS,qZ.CONNECTED_POLYGONS,qZ.BOUNDARY_CONTOURS;var uK=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:256,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.capacity=e,this.size=0,this.debug=t,this.debug&&console.log("allocating with cap ".concat(e));let n=e*uK.eSize;this.buffer=new ArrayBuffer(n);let r=Float32Array.BYTES_PER_ELEMENT,i=0;this.positions=new Float32Array(this.buffer,i*r,3*e),i+=3*e,this.normals=new Float32Array(this.buffer,i*r,3*e),i+=3*e,this.uvs=new Float32Array(this.buffer,i*r,2*e)}realloc(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e<this.size)throw Error("cannot shrink buffer");if(e<=this.capacity&&!t)return;this.debug&&console.log("resizing from ".concat(this.capacity," \u2192 ").concat(e));let n=e*uK.eSize,r=new ArrayBuffer(n),i=Float32Array.BYTES_PER_ELEMENT,a=0,s=new Float32Array(r,a*i,3*e);a+=3*e;let o=new Float32Array(r,a*i,3*e);a+=3*e;let l=new Float32Array(r,a*i,2*e);t?(s.set(this.positions.subarray(0,3*this.size)),o.set(this.normals.subarray(0,3*this.size)),l.set(this.uvs.subarray(0,2*this.size))):(s.set(this.positions),o.set(this.normals),l.set(this.uvs)),this.buffer=r,this.positions=s,this.normals=o,this.uvs=l,this.capacity=e}get(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=this.size+e;if(t>this.capacity){let e=this.capacity;for(;t>e;)e*=2;this.realloc(e)}let n=this.size;return this.size=t,n}reserve(e){let t=this.size+e;t>this.capacity&&this.realloc(t)}shrink(){this.debug&&console.log("shrinking ".concat(this.capacity," \u2192 ").concat(this.size)),this.realloc(this.size,!0)}},pK=uK;pK.eSize=8*Float32Array.BYTES_PER_ELEMENT;var fK=Xb(nk()),mK={vertices:[160,160,-160,160,-160,-160,160,-160],vertexIndices:[1,0,3,2],vertexCount:4,elements:[0,4],elementCount:1,mesh:void 0},gK={vertices:[],vertexIndices:[],vertexCount:0,elements:[],elementCount:0,mesh:void 0},yK={vertices:[-160,160,160,-160,160,160,-160,-160],vertexIndices:[1,3,0,2],vertexCount:4,elements:[0,1,2,1,0,3],elementCount:2,mesh:void 0},vK=(e,t)=>n=>{let[r,i]=n;return i<r&&(i+=t),(e>=r?e:e+t)<=i},xK=class extends pO{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:12,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:3,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:GZ.ODD,s=arguments.length>6&&void 0!==arguments[6]&&arguments[6];super(),this.forPathBevel=s,this.type="ShapeGeometry",this.vertexCache={},this._shape=e,this._depth=t,this._curveSegments=r,this._bevelSegmentsInput=i;let o,l,c,d=this._shape.extractShapePointsToFlatArray([],r),h=this._shape.shapeHoles.map((e=>{let t=e.extractShapePointsToFlatArray([],r),n=[];for(let r=t.length-1;r>=1;r-=2){let e=t[r-1],i=t[r-0];n.push(e,i)}return n})),u=[],p=[];for(let j=0;j<d.length;j+=2)p.push([d[j],d[j+1]]);u.push(p);for(let j=0;j<h.length;j++){let e=h[j],t=[];for(let n=0;n<e.length;n+=2)t.push([e[n],e[n+1]]);u.push(t)}o=e.isText?.1*(new AR).setFromPoints(e.points.map((e=>e.position))).getSize(new cM).length():0===u[0].length?n:(0,fK.default)(u).distance,n<=0?(this._bevel=0,this._bevelSegments=0):(this._bevel=Math.min(n,o,t/2),this._bevelSegments=Math.floor(i));try{l=hK({windingRule:a,elementType:qZ.BOUNDARY_CONTOURS,vertexSize:2,strict:!0,contours:[d]})}catch{l=mK}try{c=hK({windingRule:GZ.ODD,elementType:qZ.BOUNDARY_CONTOURS,vertexSize:2,strict:!0,contours:[...h]})}catch{c=gK}if(!l)throw new Error("error generating geometry");let f=l.elementCount;if(c){l.elementCount+=c.elementCount;for(let e=0;e<c.elements.length;e++){let t=c.elements[e],n=e%2===0?l.vertexCount:0;l.elements.push(t+n)}for(let e=0;e<c.vertexIndices.length;e++){let t=c.vertexIndices[e],n=l.vertexCount;l.vertexIndices.push(t+n)}for(let e=0;e<c.vertices.length;e++){let t=c.vertices[e];l.vertices.push(t)}}let m=1/0,g=-1/0,y=1/0,v=-1/0;for(let j=0,M=l.vertexCount;j<M;j++){let e=2*j,t=l.vertices[e+0],n=l.vertices[e+1];t<m&&(m=t),t>g&&(g=t),n<y&&(y=n),n>v&&(v=n)}this._minX=m,this._minY=y,this._width=g-m,this._height=v-y,this._buffer=new pK(this._computeBufferEstimatedSize(l));let x=[],S=[];for(let j=l.elementCount-1;j>=0;j--){let e=j>=f,t=2*j,n=l.elements[t+0],i=l.elements[t+1],a=n+i,c={start:n,count:i,normals:[],continuous:[],concave:[]},d=n,u=a-1,p=n+1,m=this._shape.roundedCurves.length;do{let t=d-n,r=l.vertices[2*u+0],s=l.vertices[2*u+1],o=l.vertices[2*d+0],h=l.vertices[2*d+1],f=l.vertices[2*p+0],g=l.vertices[2*p+1],y=o-r,v=h-s,x=Math.sqrt(y*y+v*v);y/=x,v/=x;let S=o-f,A=h-g,b=Math.sqrt(S*S+A*A);S/=b,A/=b,c.normals[2*t+0]=-A,c.normals[2*t+1]=S,c.concave[t]=y*A-v*S>0;let k=l.vertexIndices[d];if(Array.isArray(k))c.continuous[t]=!1;else{let[e,n]=this._shape.getCurveIndexFromVertexId(k-1,!0);if(n>0&&n<1)c.continuous[t]=!0;else{let r=1===n?e+1:e-1;r=(r+m)%m;let i=1===n?0:1,a=this._shape.roundedCurves[e].getTangent(n),s=this._shape.roundedCurves[r].getTangent(i);c.continuous[t]=a.dot(s)>.95}}e&&(c.normals[2*t+0]*=-1,c.normals[2*t+1]*=-1),[u,d,p]=[d,p,p+1],p>=a&&(p-=i)}while(p!==n+1);let g=[];g.push({bevelI:0,angle:0,size:0,boundary:{vertices:l.vertices.slice(2*n,2*a),vertexCount:i,vertexIndices:new Array(i).fill(!0).map(((e,t)=>[t,t])),elements:[0,i],elementCount:1,mesh:null},reverseMap:[],insetPoints:l.vertices.slice(2*n,2*a)});let y=0;for(let s=1;s<=this._bevelSegments;s++){let t=s/this._bevelSegments*Math.PI/2,n=(1-Math.cos(t))*this._bevel,a=[],o=[],d=[],h=[],u=0;for(let s=0;s<i;s++){let t=2*s,p=(s-1+i)%i*2,f=l.vertices[2*c.start+t+0],m=l.vertices[2*c.start+t+1],g=-c.normals[p+0]*n,y=-c.normals[p+1]*n,v=-c.normals[t+0]*n,x=-c.normals[t+1]*n;if(c.concave[s]||!c.concave[s]&&e){let t=Math.atan2(y,g),i=Math.atan2(x,v);i>t&&(i-=2*Math.PI);let o=i-t;if(c.continuous[s]||e){let r=t+o/2,i=Math.cos(r)*n,l=Math.sin(r)*n;a[2*u+0]=f+i*(e?-1:1),a[2*u+1]=m+l*(e?-1:1),h[u]=s,u++}else{let e=Math.max(1,Math.floor(r/4*Math.abs(o)/Math.PI));for(let r=0;r<=e;r++){let i=t+o*(r/e),l=Math.cos(i)*n,c=Math.sin(i)*n;a[2*u+0]=f+l,a[2*u+1]=m+c,h[u]=s,u++}}}else a[2*u+0]=f+g,a[2*u+1]=m+y,h[u]=s,o[s]=u,u++,a[2*u+0]=f,a[2*u+1]=m,h[u]=s,u++,a[2*u+0]=f+v,a[2*u+1]=m+x,h[u]=s,d[s]=u,u++}let p=hK({windingRule:GZ.POSITIVE,elementType:qZ.BOUNDARY_CONTOURS,vertexSize:2,strict:!0,contours:[a],edgeCreateCallback:e=>{let t=e.Org.idx,n=h[t],r=h[(t+1)%h.length];e.idx=[n,r],e.Sym.idx=[r,n]},vertexIdCallback:e=>{let t=e.Lprev.idx;return[t?t[1]:0,e.idx?e.idx[0]:0]}});if(!p)throw console.log("Error"),new Error("error generating bevel geometry for ".concat(s,"'th loop"));if(!p.vertexCount){let e=(s-1)/this._bevelSegments*Math.PI/2;y=(1-Math.sin(e))*this._bevel;break}for(let e=0;e<p.vertexIndices.length;e++){let[t,n]=p.vertexIndices[e];if(t===n)continue;let r=n;n<t&&(r+=i);for(let a=t;a<r;a++){let r=a%i,s=(a+1)%i;if(!c.continuous[r]||!c.continuous[s]){p.vertexIndices[e]=[t,r],p.vertexIndices.splice(e+1,0,[s,n]),p.vertices.splice(2*(e+1),0,p.vertices[2*e],p.vertices[2*e+1]);break}}}g.push({bevelI:s,angle:t,size:n,boundary:p,reverseMap:h,insetPoints:a})}let v=(e,t,n)=>{let r=0,i=e.boundary.vertexIndices.length;for(;r<i&&n(e.boundary.vertexIndices[t]);)t=(t+1)%i,r++;return r},A=x.length;for(let r=1;r<g.length;r++){let e=g[r-1],t=g[r],n=e.boundary.vertexIndices.length,a=t.boundary.vertexIndices.length;if(!n||!a)break;let o=c.concave.length,l=0,d=vK(l,i);for(;!e.boundary.vertexIndices.filter(d).length||!t.boundary.vertexIndices.filter(d).length;)l++,d=vK(l,i);let h=e.boundary.vertexIndices.findIndex(d),u=t.boundary.vertexIndices.findIndex(d);do{h=(h+1)%n}while(d(e.boundary.vertexIndices[h]));do{u=(u+1)%a}while(d(t.boundary.vertexIndices[u]));l=(l+1)%i;let p,f,m=l,y=0,S=this._buildBevelVert(c,e,(h-1+n)%n,void 0,y),A=this._buildBevelVert(c,t,(u-1+a)%a,void 0,y),b=!1;do{y=(l||o)/o,d=vK(l,i);let r=v(e,h,d),m=v(t,u,d),g=b;if(b=!1,r&&!m){for(let t=0;t<r;t++)p=this._buildBevelVert(c,e,(h+t)%n,t/(r-1),y),x.push(S.topN,p.topP,A.topN),!1===s&&x.push(p.bottomP,S.bottomN,A.bottomN),S=p;b=!0}else if(!r&&m)for(let e=0;e<m;e++)f=this._buildBevelVert(c,t,(u+e)%a,e/(m-1),y),x.push(A.topN,S.topP,f.topP),!1===s&&x.push(S.bottomP,A.bottomN,f.bottomP),A=f;else if(r&&m)if(p=this._buildBevelVert(c,e,h,0,y),f=this._buildBevelVert(c,t,u,0,y),g?(x.push(S.topN,f.topP,A.topN),x.push(S.topN,p.topP,f.topP),!1===s&&(x.push(f.bottomP,S.bottomN,A.bottomN),x.push(f.bottomP,p.bottomP,S.bottomN))):(x.push(A.topN,S.topN,p.topP),x.push(A.topN,p.topP,f.topP),!1===s&&(x.push(p.bottomP,S.bottomN,A.bottomN),x.push(p.bottomP,A.bottomN,f.bottomP))),S=p,A=f,r===m)for(let i=1;i<r;i++)p=this._buildBevelVert(c,e,(h+i)%n,i/(r-1),y),f=this._buildBevelVert(c,t,(u+i)%a,i/(m-1),y),x.push(S.topN,p.topP,A.topN),x.push(A.topN,p.topP,f.topP),!1===s&&(x.push(p.bottomP,S.bottomN,A.bottomN),x.push(p.bottomP,A.bottomN,f.bottomP)),S=p,A=f;else if(r>m){let i=r/m,o=0;for(let l=1;l<r;l++)p=this._buildBevelVert(c,e,(h+l)%n,l/(r-1),y),x.push(S.topN,p.topP,A.topN),!1===s&&x.push(p.bottomP,S.bottomN,A.bottomN),S=p,l>(o+1)*i&&(o++,f=this._buildBevelVert(c,t,(u+o)%a,o/(m-1),y),x.push(A.topN,p.topP,f.topP),!1===s&&x.push(p.bottomP,A.bottomN,f.bottomP),A=f)}else{let i=m/r,o=0;for(let l=1;l<m;l++)f=this._buildBevelVert(c,t,(u+l)%a,l/(m-1),y),x.push(A.topN,p.topP,f.topP),!1===s&&x.push(p.bottomP,A.bottomN,f.bottomP),A=f,l>(o+1)*i&&(o++,p=this._buildBevelVert(c,e,(h+o)%n,o/(r-1),y),x.push(S.topN,p.topP,A.topN),!1===s&&x.push(p.bottomP,S.bottomN,A.bottomN),S=p)}h=(h+r)%n,u=(u+m)%a,l=(l+1)%o}while(l!==m)}if(!1===s&&this._depth>2*this._bevel&&this._buildWall(g,c,x),e){let e=[];for(let t=x.length-1;t>=A+2;t-=3){let n=x[t-2],r=x[t-1],i=x[t-0];e.push(i,r,n)}x.splice(A,x.length-A,...e)}if(e){let e=[];for(let t=g[g.length-1].boundary.vertices.length-1;t>=1;t-=2){let n=g[g.length-1].boundary.vertices[t-1],r=g[g.length-1].boundary.vertices[t-0];e.push(n,r)}S.push(e)}if(!e){let e,t=g[g.length-1];try{e=hK({windingRule:g.length>1?GZ.POSITIVE:GZ.ODD,elementType:qZ.POLYGONS,vertexSize:2,strict:!0,contours:[t.insetPoints,...S]})}catch{e=yK}if(!e)throw new Error("Error generating geometry for surface");0===h.length&&this._bevel<o&&Object.assign(this,{useNgonForTopBottomFaceDuringBake:!0});for(let n=0;n<3*e.elementCount;n+=3){let t=this._buildSurfaceVert(e,e.elements[n+0],y),r=this._buildSurfaceVert(e,e.elements[n+1],y),i=this._buildSurfaceVert(e,e.elements[n+2],y);x.push(t.top,r.top,i.top),!1===s&&x.push(i.bottom,r.bottom,t.bottom)}}this.vertexCache={}}this._buffer.shrink();let A=new nO(Uint32Array.from(x),1),b=new nO(this._buffer.positions,3),k=new nO(this._buffer.normals,3),w=new nO(this._buffer.uvs,2);b.needsUpdate=!0,k.needsUpdate=!0,w.needsUpdate=!0,A.needsUpdate=!0,this.setAttribute("position",b),this.setAttribute("normal",k),this.setAttribute("uv",w),this.setIndex(A)}_computeBufferEstimatedSize(e){return 2*e.vertexCount*(2+this._bevelSegments)}_buildWall(e,t,n){let r=e[0];for(let i=0,a=r.boundary.vertexCount;i<a;i++){let e=this._buildBevelVert(t,r,i),s=this._buildBevelVert(t,r,(i+1)%a);n.push(s.topP,e.topN,e.bottomN),n.push(s.topP,e.bottomN,s.bottomP)}}_buildSurfaceVert(e,t,n){let r=t.toString();if(r in this.vertexCache)return this.vertexCache[r];let i=e.vertices[2*t+0],a=e.vertices[2*t+1],s=(i-this._minX)/this._width,o=(a-this._minY)/this._height;this.forPathBevel&&(o=1);let l=this._buffer.get(this.forPathBevel?1:2),c=3*l,d=2*l,h={top:l+0,bottom:l+1};return this._buffer.positions[c+0]=i,this._buffer.positions[c+1]=a,this._buffer.positions[c+2]=this.forPathBevel?this._bevel:this._depth-n,this._buffer.normals[c+0]=0,this._buffer.normals[c+1]=0,this._buffer.normals[c+2]=1,this._buffer.uvs[d+0]=s,this._buffer.uvs[d+1]=o,!1===this.forPathBevel&&(this._buffer.positions[c+3]=i,this._buffer.positions[c+4]=a,this._buffer.positions[c+5]=n,this._buffer.normals[c+3]=0,this._buffer.normals[c+4]=0,this._buffer.normals[c+5]=-1,this._buffer.uvs[d+2]=s,this._buffer.uvs[d+3]=o),this.vertexCache[r]=h,h}_buildBevelVert(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,i=arguments.length>4?arguments[4]:void 0,a="".concat(t.bevelI,":").concat(n);if(a in this.vertexCache&&0!==i&&1!==i&&(!i||i===this.vertexCache[a].pathBevelUCoord))return this.vertexCache[a];let s,o,l,c,[d,h]=t.boundary.vertexIndices[n];d!==h?(o=d,s=h,c=!1,l=e.continuous[o]&&e.continuous[s]):(s=d,o=(s-1+e.count)%e.count,c=e.concave[s]&&t.bevelI>0,l=e.continuous[s]||c);let u=Math.cos(t.angle),p=Math.sin(t.angle),f=2*n,m=2*s,g=2*o,y=t.boundary.vertices[f+0],v=t.boundary.vertices[f+1],x=(1-p)*this._bevel,S=(y-this._minX)/this._width,A=(v-this._minY)/this._height;this.forPathBevel&&(void 0!==i&&(S=i),A=1);let b=e.normals[m+0],k=e.normals[m+1],w=e.normals[g+0],j=e.normals[g+1];if(c){b+=(w-b)*(1-r),k+=(j-k)*(1-r);let e=Math.sqrt(b*b+k*k);b/=e,k/=e}let M=this.forPathBevel?this._buffer.get(l?1:2):this._buffer.get(l?2:4),P=3*M,O=2*M,T={i:n,fi:s,topP:M+0,topN:M+0,bottomP:M+1,bottomN:M+1,pathBevelUCoord:i};return this._buffer.positions[P+0]=y,this._buffer.positions[P+1]=v,this._buffer.positions[P+2]=(this.forPathBevel?this._bevel:this._depth)-x,this._buffer.normals[P+0]=b*u,this._buffer.normals[P+1]=k*u,this._buffer.normals[P+2]=p,this._buffer.uvs[O+0]=S,this._buffer.uvs[O+1]=A,!1===this.forPathBevel&&(this._buffer.positions[P+3]=y,this._buffer.positions[P+4]=v,this._buffer.positions[P+5]=x,this._buffer.normals[P+3]=b*u,this._buffer.normals[P+4]=k*u,this._buffer.normals[P+5]=-p,this._buffer.uvs[O+2]=A,this._buffer.uvs[O+3]=S),l||(this.forPathBevel?(M+=1,P+=3,O+=2):(M+=2,P+=6,O+=4),T.topP=M+0,T.bottomP=M+1,this._buffer.positions[P+0]=y,this._buffer.positions[P+1]=v,this._buffer.positions[P+2]=(this.forPathBevel?this._bevel:this._depth)-x,this._buffer.normals[P+0]=w*u,this._buffer.normals[P+1]=j*u,this._buffer.normals[P+2]=p,this._buffer.uvs[O+0]=S,this._buffer.uvs[O+1]=A,!1===this.forPathBevel&&(this._buffer.positions[P+3]=y,this._buffer.positions[P+4]=v,this._buffer.positions[P+5]=x,this._buffer.normals[P+3]=w*u,this._buffer.normals[P+4]=j*u,this._buffer.normals[P+5]=-p,this._buffer.uvs[O+2]=A,this._buffer.uvs[O+3]=S)),this.vertexCache[a]=T,T}clone(){let e=new xK(this._shape,this._depth,this._bevel,this._curveSegments,this._bevelSegmentsInput);return e.userData=DH(this.userData),e}},SK=class extends pO{constructor(e){var t,n,r,i,a,s;let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:12,l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};super(),this.type="ShapeGeometry",this.windingRule=GZ.ODD,this.elementType=qZ.POLYGONS,this.polySize=3,this.vertexSize=2,this.strict=!0,this._shape=e,this._curveSegments=o,this._triangulationOptions=Object.assign({windingRule:GZ.ODD,elementType:qZ.POLYGONS,polySize:3,vertexSize:2,strict:!0},l);let c,d,h,u=this._shape.extractShapePointsToFlatArray([],this._curveSegments),p=this._shape.shapeHoles.map((e=>e.extractShapePointsToFlatArray([],this._curveSegments))),f=!0,m=!0;for(let v=0,x=u.length/2;v<x;v++){let e=2*v,t=u[e+0],n=u[e+1];if(void 0!==d&&t!==d&&(f=!1),void 0!==h&&n!==h&&(m=!1),d=t,h=n,!f&&!m)break}if(!f&&!m)try{c=hK({contours:[u,...p],windingRule:this._triangulationOptions.windingRule,elementType:this._triangulationOptions.elementType,polySize:this._triangulationOptions.polySize,vertexSize:this._triangulationOptions.vertexSize,strict:this._triangulationOptions.strict})}catch{c=mK}let g=null!==(t=null===(n=c)||void 0===n?void 0:n.vertexCount)&&void 0!==t?t:1,y=null!==(r=null===(i=c)||void 0===i?void 0:i.elementCount)&&void 0!==r?r:1;if(this._positionAttribute=new nO(new Float32Array(3*g),3),this._normalAttribute=new nO(new Float32Array(3*g),3),this._uvAttribute=new nO(new Float32Array(2*g),2),this._indexAttribute=new nO(new Uint32Array(3*y),1),c){let e=1/0,t=-1/0,n=1/0,r=-1/0;for(let s=0,o=g;s<o;s++){let i=2*s,a=c.vertices[i+0],o=c.vertices[i+1];a<e&&(e=a),a>t&&(t=a),o<n&&(n=o),o>r&&(r=o)}let i=t-e,a=r-n;for(let s=0,o=g;s<o;s++){let t=2*s,r=c.vertices[t+0],o=c.vertices[t+1],l=(r-e)/i,d=(o-n)/a;this._positionAttribute.setXYZ(s,r,o,0),this._normalAttribute.setXYZ(s,0,0,1),this._uvAttribute.setXY(s,l,d)}for(let s=0,o=y;s<o;s++){let e=3*s,t=c.elements[e+0],n=c.elements[e+1],r=c.elements[e+2];this._indexAttribute.setX(e+0,t),this._indexAttribute.setX(e+1,n),this._indexAttribute.setX(e+2,r)}}this.setAttribute("position",this._positionAttribute),this.setAttribute("normal",this._normalAttribute),this.setAttribute("uv",this._uvAttribute),this.setIndex(this._indexAttribute),this.setDrawRange(0,3*(null!==(a=null===(s=c)||void 0===s?void 0:s.elementCount)&&void 0!==a?a:1))}clone(){let e=new SK(this._shape,this._curveSegments);return e.userData=DH(this.userData),e}},AK=class extends xK{constructor(e,t){super(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,arguments.length>3&&void 0!==arguments[3]?arguments[3]:12,arguments.length>4&&void 0!==arguments[4]?arguments[4]:3,arguments.length>5&&void 0!==arguments[5]?arguments[5]:GZ.ODD),this.type="ShapeGeometry"}_computeBufferEstimatedSize(e){return 2*e.vertexCount*(2+this._bevelSegments)}_buildWall(e,t,n){let r=e[0];for(let i=0,a=r.boundary.vertexCount;i<a;i++){let e=this._buildBevelVert(t,r,i),s=this._buildBevelVert(t,r,(i+1)%a);n.push(s.topP,e.topN,e.bottomN),n.push(s.topP,e.bottomN,s.bottomP)}}clone(){let e=new AK(this._shape,this._depth,this._bevel,this._curveSegments,this._bevelSegmentsInput);return e.userData=DH(this.userData),e}},bK=class{static create(e){return this.build(this.normalizeInputs(e))}static normalizeInputs(e,t){var n,r,i,a,s,o,l,c,d;let h=Object.assign({},null!==(n=null===t||void 0===t?void 0:t.parameters)&&void 0!==n?n:{width:100,subdivisions:40,roundness:0,extrudeBevelSize:0,extrudeBevelSegments:3,windingRule:GZ.ODD},e.parameters),u=Math.abs(h.width),p=Math.abs(null!==(r=h.height)&&void 0!==r?r:h.width),f=Math.abs(null!==(i=h.depth)&&void 0!==i?i:0),m=null!==(a=e.shape)&&void 0!==a?a:null===t||void 0===t?void 0:t.shape,g=null!==(s=null===(o=m)||void 0===o?void 0:o.roundness)&&void 0!==s?s:h.roundness;void 0!==m&&(m instanceof LZ?(m.width!==u||m.height!==p)&&m.applySize(u,p):m=new LZ(u,p).fromJSON(m),void 0!==(null===(l=e.parameters)||void 0===l?void 0:l.roundness)&&(null===(c=e.parameters)||void 0===c?void 0:c.roundness)>0&&m.update());let y=null!==(d=m)&&void 0!==d?d:new LZ(u,p);return{parameters:Object.assign(h,{width:u,height:p,depth:f,roundness:g}),shape:y}}static build(e){let t,{depth:n,extrudeBevelSize:r,extrudeBevelSegments:i,subdivisions:a,roundness:s,windingRule:o}=e.parameters;return e.shape.roundness=s,t=n<=0?new SK(e.shape,a,{windingRule:o}):new AK(e.shape,n,r,a,i,o),Object.assign(t,{userData:{...e,type:"VectorGeometry"}})}},kK=2*Math.PI,wK=class{static create(e){return this.build(this.normalizeInputs(e))}static normalizeInputs(e,t){var n,r,i;let a=Object.assign({},null!==(n=null===t||void 0===t?void 0:t.parameters)&&void 0!==n?n:{width:100,depth:0,spikes:64,angle:360,innerRadius:0,extrudeBevelSize:0,extrudeBevelSegments:1},e.parameters);return a.angle=lM.clamp(a.angle,0,360),{shape:e.shape&&e.shape instanceof LZ?e.shape:new LZ,parameters:Object.assign(a,{width:Math.abs(a.width),height:Math.abs(null!==(r=a.height)&&void 0!==r?r:a.width),depth:Math.abs(null!==(i=a.depth)&&void 0!==i?i:0)})}}static build(e){let t,{width:n,height:r,spikes:i,angle:a,innerRadius:s,depth:o,extrudeBevelSize:l,extrudeBevelSegments:c}=e.parameters,d=e.shape,h=function(e,t,n,r,i,a){if(r>=kK)return i>30||i%4===0?(function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,s=.5522847498,o=t*s,l=n*s;e.addPoint(PK(i-t,a,i-t,a-l,i-t,a+l)),e.addPoint(PK(i,a+n,i-o,a+n,i+o,a+n)),e.addPoint(PK(i+t,a,i+t,a+l,i+t,a-l)),e.addPoint(PK(i,a-n,i+o,a-n,i-o,a-n)),r>0&&TK(e,t,n,r)}(e,t,n,a),Math.round(i/4)):jK(e,r,i,t,n,a);r=Math.max(r,.001);let s={x:0,y:n},o=r+.5*Math.PI,l={x:Math.cos(o)*t,y:Math.sin(o)*n},c=QZ({px:s.x,py:s.y,cx:l.x,cy:l.y,rx:t,ry:n,largeArcFlag:r>Math.PI,sweepFlag:!0});return i>30||i%c.length===0?function(e,t,n,r,i,a,s,o){let l=Math.round(i/r.length);e.addPoint(MK(t,n));for(let c=0,d=r.length;c<d;c++){let t=r[c],n=e.points[c],i=MK(t.x,t.y);n.controls[1].position.set(t.x1,t.y1),i.controls[0].position.set(t.x2,t.y2),e.addPoint(i)}return o>0?OK(e,a,s,o):e.addPoint(MK(0,0)),l}(e,s.x,s.y,c,i,t,n,a):jK(e,r,i,t,n,a)}(d,.5*n,.5*r,a*Math.PI/180,i,s);return d.isClosed=!0,d.update(),0===a?(t=new pO,t.setAttribute("position",new aO([],3))):t=bK.create({shape:d,parameters:{subdivisions:h,depth:o,extrudeBevelSize:l,extrudeBevelSegments:c}}),Object.assign(t,{userData:{...e,type:"EllipseGeometry"}})}};function jK(e,t,n,r,i,a){let s=-t/n;for(let o=0;o<=n;o++){let t=s*o,n=Math.sin(t)*r,a=Math.cos(t)*i;e.addPoint(MK(n,a))}return t<kK?a>0?OK(e,r,i,a):e.addPoint(MK(0,0)):(e.removePoint(e.points[e.points.length-1]),a>0&&TK(e,r,i,a)),1}function MK(e,t){return new pZ(lM.generateUUID(),new cM(e,t))}function PK(e,t,n,r,i,a){let s=MK(e,t);return s.controls[0].position.set(n,r),s.controls[1].position.set(i,a),s}function OK(e,t,n,r){IK(e,t,n,r).forEach((t=>e.addPoint(t)))}function TK(e,t,n,r){let i=IK(e,t,n,r),a=new LZ;i.forEach((e=>a.addPoint(e))),a.isClosed=!0,e.shapeHoles.push(a)}function IK(e,t,n,r){let i=r*t/100,a=i*(Math.abs(n)/Math.abs(t)),s=new cM(i/t,a/n),o=e.points.map((e=>{let t=e.clone();return t.uuid=lM.generateUUID(),t})).reverse();return o.forEach((e=>{e.position.multiply(s);let t=e.controls[0].position.clone().multiply(s),n=e.controls[1].position.clone().multiply(s);e.controls[0].position.copy(n),e.controls[1].position.copy(t)})),o}var CK=new iO([0,0,0],1),EK=class extends pO{constructor(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1,i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,a=arguments.length>7&&void 0!==arguments[7]?arguments[7]:1,s=arguments.length>9&&void 0!==arguments[9]?arguments[9]:1,o=arguments.length>10&&void 0!==arguments[10]?arguments[10]:1,l=arguments.length>11&&void 0!==arguments[11]?arguments[11]:1;if(super(),0===r)return;let c=e&&1===r;c&&(l=0),o>100&&(o=100),0===o&&(l=0);let d,h,u,p,f,m,g,y,v=()=>new qM,x=new qM,S=v(),A=v(),b=v(),k=v(),w=v(),j=v(),M=v(),P=v(),O=v(),T=v(),I=v(),C=t-2*a+.001,E=C/r,V=Math.ceil(i*r),R=V+1,D=C/V,B=-C/2,G=s+1,q=2*Math.PI/s,H=Math.PI/2/l,W=Math.min((1-o/100)*a,a-.01),z=a-W,J=0,U=2*l+2,N=G*U/2,L=N+G*R,Y=Math.max(0,G*(R+U)),[F,Z,K]=[3,3,2].map((e=>Array(Y*e).fill(0))),Q=[],X=n-a;function _(t,n){let r=Math.PI/2;m=n*D,y=2*Math.PI*(m%E)/E+r,m+=B,g=Math.sin(y)*X,f=Math.cos(y)*X,e?t.set(f,g,m):t.set(f,m,g)}_(x,-1e-10),_(S,0),k.copy(x),_(x,1);let $=x.distanceTo(S),ee=c?0:z+W,te=$*V+2*ee,ne=W,re=te-ee;for(let oe=0;oe<=V;oe++){_(A,oe),I.subVectors(A,k).normalize(),k.copy(A),O.copy(A).setComponent(+e+1,0).normalize(),T.crossVectors(I,O).normalize();let t=0===oe,n=oe===V,r=t?3*Math.PI/2:H,i=t?ne:re,o=t?G:L,d=t?0:Y-G,h=I.clone().multiplyScalar(t?-z:z).add(A),u=I.clone().multiplyScalar(t?-1:1).normalize();for(let e=0;e<G;e++){let p=e*q;if(w.addVectors(x.copy(O).multiplyScalar(a*Math.cos(p)),S.copy(T).multiplyScalar(a*Math.sin(p))),j.copy(w).normalize(),t||n){c||(J=d+e,[0,1,2].forEach((e=>{F[3*J+e]=h.getComponent(e),Z[3*J+e]=u.getComponent(e)})),K[2*J]=+n,K[2*J+1]=e/s),S.copy(j).multiplyScalar(W),b.addVectors(A,S);for(let n=0;n<l;n++){let a=n*H+r;M.addVectors(x.copy(I).multiplyScalar(z*Math.sin(a)),S.copy(j).multiplyScalar(z*Math.cos(a))),P.copy(M).normalize(),S.addVectors(b,M),M.normalize(),J=o+n*G+e,[0,1,2].forEach((e=>{F[3*J+e]=S.getComponent(e),Z[3*J+e]=P.getComponent(e)}));let l=+t+Math.sin(a);K[2*J]=(i+z*l)/te,K[2*J+1]=e/s}}S.addVectors(A,w),J=N+oe*G+e,[0,1,2].forEach((e=>{F[3*J+e]=S.getComponent(e),Z[3*J+e]=j.getComponent(e)})),K[2*J]=(ee+oe*$)/te,K[2*J+1]=e/s}}let ie=R+2*l+2,[ae,se]=[+c,ie-1];for(let oe=ae;oe<=se-1;oe++){let e=c&&oe===se-1;for(let t=0;t<G-1;t++)d=oe*G+t,h=d+1,u=(e?t:d)+G,p=(e?t+1:h)+G,0===oe?Q.push(h,p,u):oe===ie-2?Q.push(d,h,u):Q.push(d,h,u,h,p,u)}this.setIndex(Q),this.setAttribute("position",new aO(F,3)),this.setAttribute("normal",new aO(Z,3)),this.setAttribute("uv",new aO(K,2))}getClosedTorusIndicesForBooleanOrSubdiv(){let e,t,n,r,i=this.userData.parameters,a=Math.ceil(i.tubularSegments),s=i.radialSegments+1,o=Array.from(this.getIndex().array),l=6*(a-1)*i.radialSegments,c=a,d=c===a;for(let h=0;h<i.radialSegments;h++)e=c*s+h,t=e+1,n=(d?h:e)+s,r=(d?h+1:t)+s,o[l++]=e,o[l++]=t,o[l++]=n,o[l++]=t,o[l++]=r,o[l++]=n;return o.length=l,CK.array=o,CK.count=o.length,CK}},VK=class extends lZ{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.2,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:4,r=(1+Math.sqrt(5))/2,i="IcosahedronGeometry";super([-1,r,0,1,r,0,-1,-r,0,1,-r,0,0,-1,r,0,1,r,0,-1,-r,0,1,-r,r,0,-1,r,0,1,-r,0,-1,-r,0,1],[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1],i,e,t,n),this.type=i}static fromJSON(e){return new VK(e.radius,e.corner,e.cornerSides)}},RK=new fP,DK=new HP,BK=new qM,GK=class extends Zj{constructor(){super(),this.uuid=lM.generateUUID(),this.name="",this.type="Geometry",this.vertices=[],this.colors=[],this.faces=[],this.faceVertexUvs=[[]],this.morphTargets=[],this.morphNormals=[],this.skinWeights=[],this.skinIndices=[],this.lineDistances=[],this.boundingBox=null,this.boundingSphere=null,this.elementsNeedUpdate=!1,this.verticesNeedUpdate=!1,this.uvsNeedUpdate=!1,this.normalsNeedUpdate=!1,this.colorsNeedUpdate=!1,this.lineDistancesNeedUpdate=!1,this.groupsNeedUpdate=!1}applyMatrix4(e){let t=(new dM).getNormalMatrix(e);for(let n=0,r=this.vertices.length;n<r;n++)this.vertices[n].applyMatrix4(e);for(let n=0,r=this.faces.length;n<r;n++){let e=this.faces[n];e.normal.applyMatrix3(t).normalize();for(let n=0,r=e.vertexNormals.length;n<r;n++)e.vertexNormals[n].applyMatrix3(t).normalize()}return null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this.verticesNeedUpdate=!0,this.normalsNeedUpdate=!0,this}rotateX(e){return RK.makeRotationX(e),this.applyMatrix4(RK),this}rotateY(e){return RK.makeRotationY(e),this.applyMatrix4(RK),this}rotateZ(e){return RK.makeRotationZ(e),this.applyMatrix4(RK),this}translate(e,t,n){return RK.makeTranslation(e,t,n),this.applyMatrix4(RK),this}scale(e,t,n){return RK.makeScale(e,t,n),this.applyMatrix4(RK),this}lookAt(e){return DK.lookAt(e),DK.updateMatrix(),this.applyMatrix4(DK.matrix),this}fromBufferGeometry(e){let t=this,n=null!==e.index?e.index:void 0,r=e.attributes;if(void 0===r.position)return console.error("THREE.Geometry.fromBufferGeometry(): Position attribute required for conversion."),this;let i=r.position,a=r.normal,s=r.color,o=r.uv,l=r.uv2;void 0!==l&&(this.faceVertexUvs[1]=[]);for(let h=0;h<i.count;h++)t.vertices.push((new qM).fromBufferAttribute(i,h)),void 0!==s&&t.colors.push((new MM).fromBufferAttribute(s,h));function c(e,n,r,i){let c=void 0===s?[]:[t.colors[e].clone(),t.colors[n].clone(),t.colors[r].clone()],d=void 0===a?[]:[(new qM).fromBufferAttribute(a,e),(new qM).fromBufferAttribute(a,n),(new qM).fromBufferAttribute(a,r)],h=new HK(e,n,r,d,c,i);t.faces.push(h),void 0!==o&&t.faceVertexUvs[0].push([(new cM).fromBufferAttribute(o,e),(new cM).fromBufferAttribute(o,n),(new cM).fromBufferAttribute(o,r)]),void 0!==l&&t.faceVertexUvs[1].push([(new cM).fromBufferAttribute(l,e),(new cM).fromBufferAttribute(l,n),(new cM).fromBufferAttribute(l,r)])}let d=e.groups;if(d.length>0)for(let h=0;h<d.length;h++){let e=d[h],t=e.start;for(let r=t,i=t+e.count;r<i;r+=3)void 0!==n?c(n.getX(r),n.getX(r+1),n.getX(r+2),e.materialIndex):c(r,r+1,r+2,e.materialIndex)}else if(void 0!==n)for(let h=0;h<n.count;h+=3)c(n.getX(h),n.getX(h+1),n.getX(h+2));else for(let h=0;h<i.count;h+=3)c(h,h+1,h+2);return this.computeFaceNormals(),null!==e.boundingBox&&(this.boundingBox=e.boundingBox.clone()),null!==e.boundingSphere&&(this.boundingSphere=e.boundingSphere.clone()),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(BK).negate(),this.translate(BK.x,BK.y,BK.z),this}normalize(){this.computeBoundingSphere();let e=this.boundingSphere.center,t=this.boundingSphere.radius,n=0===t?1:1/t,r=new fP;return r.set(n,0,0,-n*e.x,0,n,0,-n*e.y,0,0,n,-n*e.z,0,0,0,1),this.applyMatrix4(r),this}computeFaceNormals(){let e=new qM,t=new qM;for(let n=0,r=this.faces.length;n<r;n++){let r=this.faces[n],i=this.vertices[r.a],a=this.vertices[r.b],s=this.vertices[r.c];e.subVectors(s,a),t.subVectors(i,a),e.cross(t),e.normalize(),r.normal.copy(e)}}computeVertexNormals(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=new Array(this.vertices.length);for(let n=0,r=this.vertices.length;n<r;n++)t[n]=new qM;if(e){let e=new qM,n=new qM;for(let r=0,i=this.faces.length;r<i;r++){let i=this.faces[r],a=this.vertices[i.a],s=this.vertices[i.b],o=this.vertices[i.c];e.subVectors(o,s),n.subVectors(a,s),e.cross(n),t[i.a].add(e),t[i.b].add(e),t[i.c].add(e)}}else{this.computeFaceNormals();for(let e=0,n=this.faces.length;e<n;e++){let n=this.faces[e];t[n.a].add(n.normal),t[n.b].add(n.normal),t[n.c].add(n.normal)}}for(let n=0,r=this.vertices.length;n<r;n++)t[n].normalize();for(let n=0,r=this.faces.length;n<r;n++){let e=this.faces[n],r=e.vertexNormals;3===r.length?(r[0].copy(t[e.a]),r[1].copy(t[e.b]),r[2].copy(t[e.c])):(r[0]=t[e.a].clone(),r[1]=t[e.b].clone(),r[2]=t[e.c].clone())}this.faces.length>0&&(this.normalsNeedUpdate=!0)}computeFlatVertexNormals(){this.computeFaceNormals();for(let e=0,t=this.faces.length;e<t;e++){let t=this.faces[e],n=t.vertexNormals;3===n.length?(n[0].copy(t.normal),n[1].copy(t.normal),n[2].copy(t.normal)):(n[0]=t.normal.clone(),n[1]=t.normal.clone(),n[2]=t.normal.clone())}this.faces.length>0&&(this.normalsNeedUpdate=!0)}computeMorphNormals(){for(let t=0,n=this.faces.length;t<n;t++){let e=this.faces[t];e.__originalFaceNormal?e.__originalFaceNormal.copy(e.normal):e.__originalFaceNormal=e.normal.clone(),e.__originalVertexNormals||(e.__originalVertexNormals=[]);for(let t=0,n=e.vertexNormals.length;t<n;t++)e.__originalVertexNormals[t]?e.__originalVertexNormals[t].copy(e.vertexNormals[t]):e.__originalVertexNormals[t]=e.vertexNormals[t].clone()}let e=new GK;e.faces=this.faces;for(let t=0,n=this.morphTargets.length;t<n;t++){if(!this.morphNormals[t]){this.morphNormals[t]={},this.morphNormals[t].faceNormals=[],this.morphNormals[t].vertexNormals=[];let e=this.morphNormals[t].faceNormals,n=this.morphNormals[t].vertexNormals;for(let t=0,r=this.faces.length;t<r;t++){let t=new qM,r={a:new qM,b:new qM,c:new qM};e.push(t),n.push(r)}}let n=this.morphNormals[t];e.vertices=this.morphTargets[t].vertices,e.computeFaceNormals(),e.computeVertexNormals();for(let e=0,t=this.faces.length;e<t;e++){let t=this.faces[e],r=n.faceNormals[e],i=n.vertexNormals[e];r.copy(t.normal),i.a.copy(t.vertexNormals[0]),i.b.copy(t.vertexNormals[1]),i.c.copy(t.vertexNormals[2])}}for(let t=0,n=this.faces.length;t<n;t++){let e=this.faces[t];e.normal=e.__originalFaceNormal,e.vertexNormals=e.__originalVertexNormals}}computeBoundingBox(){null===this.boundingBox&&(this.boundingBox=new zM),this.boundingBox.setFromPoints(this.vertices)}computeBoundingSphere(){null===this.boundingSphere&&(this.boundingSphere=new aP),this.boundingSphere.setFromPoints(this.vertices)}merge(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(!e||!e.isGeometry)return void console.error("THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.",e);let r,i=this.vertices.length,a=this.vertices,s=e.vertices,o=this.faces,l=e.faces,c=this.colors,d=e.colors;void 0!==t&&(r=(new dM).getNormalMatrix(t));for(let h=0,u=s.length;h<u;h++){let e=s[h].clone();void 0!==t&&e.applyMatrix4(t),a.push(e)}for(let h=0,u=d.length;h<u;h++)c.push(d[h].clone());for(let h=0,u=l.length;h<u;h++){let e,t,a=l[h],s=a.vertexNormals,c=a.vertexColors,d=new HK(a.a+i,a.b+i,a.c+i);d.normal.copy(a.normal),void 0!==r&&d.normal.applyMatrix3(r).normalize();for(let n=0,i=s.length;n<i;n++)e=s[n].clone(),void 0!==r&&e.applyMatrix3(r).normalize(),d.vertexNormals.push(e);d.color.copy(a.color);for(let n=0,r=c.length;n<r;n++)t=c[n],d.vertexColors.push(t.clone());d.materialIndex=a.materialIndex+n,o.push(d)}for(let h=0,u=e.faceVertexUvs.length;h<u;h++){let t=e.faceVertexUvs[h];void 0===this.faceVertexUvs[h]&&(this.faceVertexUvs[h]=[]);for(let e=0,n=t.length;e<n;e++){let n=t[e],r=[];for(let e=0,t=n.length;e<t;e++)r.push(n[e].clone());this.faceVertexUvs[h].push(r)}}}mergeMesh(e){e&&e.isMesh?(e.matrixAutoUpdate&&e.updateMatrix(),this.merge(e.geometry,e.matrix)):console.error("THREE.Geometry.mergeMesh(): mesh not an instance of THREE.Mesh.",e)}mergeVertices(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:4,t={},n=[],r=[],i=Math.pow(10,e);for(let o=0,l=this.vertices.length;o<l;o++){let e=this.vertices[o],a=Math.round(e.x*i)+"_"+Math.round(e.y*i)+"_"+Math.round(e.z*i);void 0===t[a]?(t[a]=o,n.push(this.vertices[o]),r[o]=n.length-1):r[o]=r[t[a]]}let a=[];for(let o=0,l=this.faces.length;o<l;o++){let e=this.faces[o];e.a=r[e.a],e.b=r[e.b],e.c=r[e.c];let t=[e.a,e.b,e.c];for(let n=0;n<3;n++)if(t[n]===t[(n+1)%3]){a.push(o);break}}for(let o=a.length-1;o>=0;o--){let e=a[o];this.faces.splice(e,1);for(let t=0,n=this.faceVertexUvs.length;t<n;t++)this.faceVertexUvs[t].splice(e,1)}let s=this.vertices.length-n.length;return this.vertices=n,s}setFromPoints(e){this.vertices=[];for(let t=0,n=e.length;t<n;t++){let n=e[t];this.vertices.push(new qM(n.x,n.y,n.z||0))}return this}sortFacesByMaterialIndex(){let e=this.faces,t=e.length;for(let s=0;s<t;s++)e[s]._id=s;e.sort((function(e,t){return e.materialIndex-t.materialIndex}));let n,r,i=this.faceVertexUvs[0],a=this.faceVertexUvs[1];i&&i.length===t&&(n=[]),a&&a.length===t&&(r=[]);for(let s=0;s<t;s++){let t=e[s]._id;n&&n.push(i[t]),r&&r.push(a[t])}n&&(this.faceVertexUvs[0]=n),r&&(this.faceVertexUvs[1]=r)}toJSON(){let e={metadata:{version:4.5,type:"Geometry",generator:"Geometry.toJSON"}};if(e.uuid=this.uuid,e.type=this.type,""!==this.name&&(e.name=this.name),void 0!==this.parameters){let t=this.parameters;for(let n in t)void 0!==t[n]&&(e[n]=t[n]);return e}let t=[];for(let p=0;p<this.vertices.length;p++){let e=this.vertices[p];t.push(e.x,e.y,e.z)}let n=[],r=[],i={},a=[],s={},o=[],l={};for(let p=0;p<this.faces.length;p++){let e=this.faces[p],t=!0,r=!1,i=void 0!==this.faceVertexUvs[0][p],a=e.normal.length()>0,s=e.vertexNormals.length>0,o=1!==e.color.r||1!==e.color.g||1!==e.color.b,l=e.vertexColors.length>0,f=0;if(f=c(f,0,0),f=c(f,1,t),f=c(f,2,r),f=c(f,3,i),f=c(f,4,a),f=c(f,5,s),f=c(f,6,o),f=c(f,7,l),n.push(f),n.push(e.a,e.b,e.c),n.push(e.materialIndex),i){let e=this.faceVertexUvs[0][p];n.push(u(e[0]),u(e[1]),u(e[2]))}if(a&&n.push(d(e.normal)),s){let t=e.vertexNormals;n.push(d(t[0]),d(t[1]),d(t[2]))}if(o&&n.push(h(e.color)),l){let t=e.vertexColors;n.push(h(t[0]),h(t[1]),h(t[2]))}}function c(e,t,n){return n?e|1<<t:e&~(1<<t)}function d(e){let t=e.x.toString()+e.y.toString()+e.z.toString();return void 0!==i[t]||(i[t]=r.length/3,r.push(e.x,e.y,e.z)),i[t]}function h(e){let t=e.r.toString()+e.g.toString()+e.b.toString();return void 0!==s[t]||(s[t]=a.length,a.push(e.getHex())),s[t]}function u(e){let t=e.x.toString()+e.y.toString();return void 0!==l[t]||(l[t]=o.length/2,o.push(e.x,e.y)),l[t]}return e.data={},e.data.vertices=t,e.data.normals=r,a.length>0&&(e.data.colors=a),o.length>0&&(e.data.uvs=[o]),e.data.faces=n,e}clone(){return(new GK).copy(this)}copy(e){this.vertices=[],this.colors=[],this.faces=[],this.faceVertexUvs=[[]],this.morphTargets=[],this.morphNormals=[],this.skinWeights=[],this.skinIndices=[],this.lineDistances=[],this.boundingBox=null,this.boundingSphere=null,this.name=e.name;let t=e.vertices;for(let h=0,u=t.length;h<u;h++)this.vertices.push(t[h].clone());let n=e.colors;for(let h=0,u=n.length;h<u;h++)this.colors.push(n[h].clone());let r=e.faces;for(let h=0,u=r.length;h<u;h++)this.faces.push(r[h].clone());for(let h=0,u=e.faceVertexUvs.length;h<u;h++){let t=e.faceVertexUvs[h];void 0===this.faceVertexUvs[h]&&(this.faceVertexUvs[h]=[]);for(let e=0,n=t.length;e<n;e++){let n=t[e],r=[];for(let e=0,t=n.length;e<t;e++){let t=n[e];r.push(t.clone())}this.faceVertexUvs[h].push(r)}}let i=e.morphTargets;for(let h=0,u=i.length;h<u;h++){let e={};if(e.name=i[h].name,void 0!==i[h].vertices){e.vertices=[];for(let t=0,n=i[h].vertices.length;t<n;t++)e.vertices.push(i[h].vertices[t].clone())}if(void 0!==i[h].normals){e.normals=[];for(let t=0,n=i[h].normals.length;t<n;t++)e.normals.push(i[h].normals[t].clone())}this.morphTargets.push(e)}let a=e.morphNormals;for(let h=0,u=a.length;h<u;h++){let e={};if(void 0!==a[h].vertexNormals){e.vertexNormals=[];for(let t=0,n=a[h].vertexNormals.length;t<n;t++){let n=a[h].vertexNormals[t],r={};r.a=n.a.clone(),r.b=n.b.clone(),r.c=n.c.clone(),e.vertexNormals.push(r)}}if(void 0!==a[h].faceNormals){e.faceNormals=[];for(let t=0,n=a[h].faceNormals.length;t<n;t++)e.faceNormals.push(a[h].faceNormals[t].clone())}this.morphNormals.push(e)}let s=e.skinWeights;for(let h=0,u=s.length;h<u;h++)this.skinWeights.push(s[h].clone());let o=e.skinIndices;for(let h=0,u=o.length;h<u;h++)this.skinIndices.push(o[h].clone());let l=e.lineDistances;for(let h=0,u=l.length;h<u;h++)this.lineDistances.push(l[h]);let c=e.boundingBox;null!==c&&(this.boundingBox=c.clone());let d=e.boundingSphere;return null!==d&&(this.boundingSphere=d.clone()),this.elementsNeedUpdate=e.elementsNeedUpdate,this.verticesNeedUpdate=e.verticesNeedUpdate,this.uvsNeedUpdate=e.uvsNeedUpdate,this.normalsNeedUpdate=e.normalsNeedUpdate,this.colorsNeedUpdate=e.colorsNeedUpdate,this.lineDistancesNeedUpdate=e.lineDistancesNeedUpdate,this.groupsNeedUpdate=e.groupsNeedUpdate,this}toBufferGeometry(){let e=(new qK).fromGeometry(this),t=new pO,n=new Float32Array(3*e.vertices.length);if(t.setAttribute("position",UK.call(new nO(n,3),e.vertices)),e.normals.length>0){let n=new Float32Array(3*e.normals.length);t.setAttribute("normal",UK.call(new nO(n,3),e.normals))}if(e.colors.length>0){let n=new Float32Array(3*e.colors.length);t.setAttribute("color",zK.call(new nO(n,3),e.colors))}if(e.uvs.length>0){let n=new Float32Array(2*e.uvs.length);t.setAttribute("uv",JK.call(new nO(n,2),e.uvs))}if(e.uvs2.length>0){let n=new Float32Array(2*e.uvs2.length);t.setAttribute("uv2",JK.call(new nO(n,2),e.uvs2))}t.groups=e.groups;for(let r in e.morphTargets){let n=[],i=e.morphTargets[r];for(let e=0,t=i.length;e<t;e++){let t=i[e],r=new aO(3*t.data.length,3);r.name=t.name,n.push(UK.call(r,t.data))}t.morphAttributes[r]=n}if(e.skinIndices.length>0){let n=new aO(4*e.skinIndices.length,4);t.setAttribute("skinIndex",NK.call(n,e.skinIndices))}if(e.skinWeights.length>0){let n=new aO(4*e.skinWeights.length,4);t.setAttribute("skinWeight",NK.call(n,e.skinWeights))}return null!==e.boundingSphere&&(t.boundingSphere=e.boundingSphere.clone()),null!==e.boundingBox&&(t.boundingBox=e.boundingBox.clone()),t}computeTangents(){console.error("THREE.Geometry: .computeTangents() has been removed.")}computeLineDistances(){console.error("THREE.Geometry: .computeLineDistances() has been removed. Use THREE.Line.computeLineDistances() instead.")}applyMatrix(e){return console.warn("THREE.Geometry: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(e)}dispose(){this.dispatchEvent({type:"dispose"})}static createBufferGeometryFromObject(e){let t=new pO,n=e.geometry;if(e.isPoints||e.isLine){let e=new aO(3*n.vertices.length,3),r=new aO(3*n.colors.length,3);if(t.setAttribute("position",UK.call(e,n.vertices)),t.setAttribute("color",zK.call(r,n.colors)),n.lineDistances&&n.lineDistances.length===n.vertices.length){let e=new aO(n.lineDistances.length,1);t.setAttribute("lineDistance",WK.call(e,n.lineDistances))}null!==n.boundingSphere&&(t.boundingSphere=n.boundingSphere.clone()),null!==n.boundingBox&&(t.boundingBox=n.boundingBox.clone())}else e.isMesh&&(t=n.toBufferGeometry());return t}};GK.prototype.isGeometry=!0;var qK=class{constructor(){this.vertices=[],this.normals=[],this.colors=[],this.uvs=[],this.uvs2=[],this.groups=[],this.morphTargets={},this.skinWeights=[],this.skinIndices=[],this.boundingBox=null,this.boundingSphere=null,this.verticesNeedUpdate=!1,this.normalsNeedUpdate=!1,this.colorsNeedUpdate=!1,this.uvsNeedUpdate=!1,this.groupsNeedUpdate=!1}computeGroups(e){let t,n,r,i=[],a=e.faces;for(n=0;n<a.length;n++){let e=a[n];e.materialIndex!==r&&(r=e.materialIndex,void 0!==t&&(t.count=3*n-t.start,i.push(t)),t={start:3*n,materialIndex:r})}void 0!==t&&(t.count=3*n-t.start,i.push(t)),this.groups=i}fromGeometry(e){let t,n=e.faces,r=e.vertices,i=e.faceVertexUvs,a=i[0]&&i[0].length>0,s=i[1]&&i[1].length>0,o=e.morphTargets,l=o.length;if(l>0){t=[];for(let e=0;e<l;e++)t[e]={name:o[e].name,data:[]};this.morphTargets.position=t}let c,d=e.morphNormals,h=d.length;if(h>0){c=[];for(let e=0;e<h;e++)c[e]={name:d[e].name,data:[]};this.morphTargets.normal=c}let u=e.skinIndices,p=e.skinWeights,f=u.length===r.length,m=p.length===r.length;r.length>0&&0===n.length&&console.error("THREE.DirectGeometry: Faceless geometries are not supported.");for(let g=0;g<n.length;g++){let e=n[g];this.vertices.push(r[e.a],r[e.b],r[e.c]);let y=e.vertexNormals;if(3===y.length)this.normals.push(y[0],y[1],y[2]);else{let t=e.normal;this.normals.push(t,t,t)}let v=e.vertexColors;if(3===v.length)this.colors.push(v[0],v[1],v[2]);else{let t=e.color;this.colors.push(t,t,t)}if(!0===a){let e=i[0][g];void 0!==e?this.uvs.push(e[0],e[1],e[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ",g),this.uvs.push(new cM,new cM,new cM))}if(!0===s){let e=i[1][g];void 0!==e?this.uvs2.push(e[0],e[1],e[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ",g),this.uvs2.push(new cM,new cM,new cM))}for(let n=0;n<l;n++){let r=o[n].vertices;t[n].data.push(r[e.a],r[e.b],r[e.c])}for(let t=0;t<h;t++){let e=d[t].vertexNormals[g];c[t].data.push(e.a,e.b,e.c)}f&&this.skinIndices.push(u[e.a],u[e.b],u[e.c]),m&&this.skinWeights.push(p[e.a],p[e.b],p[e.c])}return this.computeGroups(e),this.verticesNeedUpdate=e.verticesNeedUpdate,this.normalsNeedUpdate=e.normalsNeedUpdate,this.colorsNeedUpdate=e.colorsNeedUpdate,this.uvsNeedUpdate=e.uvsNeedUpdate,this.groupsNeedUpdate=e.groupsNeedUpdate,null!==e.boundingSphere&&(this.boundingSphere=e.boundingSphere.clone()),null!==e.boundingBox&&(this.boundingBox=e.boundingBox.clone()),this}},HK=class{constructor(e,t,n,r,i){let a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;this.a=e,this.b=t,this.c=n,this.normal=r&&r.isVector3?r:new qM,this.vertexNormals=Array.isArray(r)?r:[],this.color=i&&i.isColor?i:new MM,this.vertexColors=Array.isArray(i)?i:[],this.materialIndex=a}clone(){return(new this.constructor).copy(this)}copy(e){this.a=e.a,this.b=e.b,this.c=e.c,this.normal.copy(e.normal),this.color.copy(e.color),this.materialIndex=e.materialIndex;for(let t=0,n=e.vertexNormals.length;t<n;t++)this.vertexNormals[t]=e.vertexNormals[t].clone();for(let t=0,n=e.vertexColors.length;t<n;t++)this.vertexColors[t]=e.vertexColors[t].clone();return this}};function WK(e){return this.array.set(e),this}function zK(e){let t=this.array,n=0;for(let r=0,i=e.length;r<i;r++){let i=e[r];void 0===i&&(console.warn("THREE.BufferAttribute.copyColorsArray(): color is undefined",r),i=new MM),t[n++]=i.r,t[n++]=i.g,t[n++]=i.b}return this}function JK(e){let t=this.array,n=0;for(let r=0,i=e.length;r<i;r++){let i=e[r];void 0===i&&(console.warn("THREE.BufferAttribute.copyVector2sArray(): vector is undefined",r),i=new cM),t[n++]=i.x,t[n++]=i.y}return this}function UK(e){let t=this.array,n=0;for(let r=0,i=e.length;r<i;r++){let i=e[r];void 0===i&&(console.warn("THREE.BufferAttribute.copyVector3sArray(): vector is undefined",r),i=new qM),t[n++]=i.x,t[n++]=i.y,t[n++]=i.z}return this}function NK(e){let t=this.array,n=0;for(let r=0,i=e.length;r<i;r++){let i=e[r];void 0===i&&(console.warn("THREE.BufferAttribute.copyVector4sArray(): vector is undefined",r),i=new VM),t[n++]=i.x,t[n++]=i.y,t[n++]=i.z,t[n++]=i.w}return this}var LK=["a","b","c"];function YK(e,t){switch(t){case"c":return e.c;case"b":return e.b;default:return e.a}}function FK(e,t,n){let r=Math.min(e,t)+"_"+Math.max(e,t);return n.get(r)}function ZK(e,t,n,r,i,a){let s,o=Math.min(e,t),l=Math.max(e,t),c=o+"_"+l;if(r.has(c))s=r.get(c);else{s={a:n[o],b:n[l],newEdge:null,faces:[]},r.set(c,s)}s.faces.push(i),a[e].edges.push(s),a[t].edges.push(s)}function KK(e,t,n,r,i){e.push(new HK(t,n,r,void 0,void 0,i))}function QK(e,t){return Math.abs(t-e)/2+Math.min(e,t)}function XK(e,t,n,r){e.push([t.clone(),n.clone(),r.clone()])}var _K=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.subdivisions=e}modify(e){(e=e instanceof pO?(new GK).fromBufferGeometry(e):e.clone()).mergeVertices();let t=this.subdivisions;for(;t-- >0;)this._smooth(e);return e.computeFaceNormals(),e.computeVertexNormals(),e}_smooth(e){let t,n,r,i,a,s=new qM,o=e.vertices,l=e.faces,c=e.faceVertexUvs[0],d=void 0!==c&&c.length>0,h=[],u=new Map;!function(e,t,n,r){let i,a,s;for(i=0,a=e.length;i<a;i++)n[i]={edges:[]};for(i=0,a=t.length;i<a;i++)s=t[i],ZK(s.a,s.b,e,r,s,n),ZK(s.b,s.c,e,r,s,n),ZK(s.c,s.a,e,r,s,n)}(o,l,h,u);let p,f,m,g,y,v,x,S=[];for(let U of Array.from(u.keys())){for(f=u.get(U),m=new qM,y=3/8,v=1/8,x=f.faces.length,2!=x&&(y=.5,v=0),m.addVectors(f.a,f.b).multiplyScalar(y),s.set(0,0,0),i=0;i<x;i++){for(g=f.faces[i],a=0;a<3&&(p=o[YK(g,LK[a])],p===f.a||p===f.b);a++);p&&s.add(p)}s.multiplyScalar(v),m.add(s),f.newEdge=S.length,S.push(m)}let A,b,k,w,j,M,P,O=[];for(n=0,r=o.length;n<r;n++){for(M=o[n],j=h[n].edges,t=j.length,3==t?A=3/16:t>3&&(A=3/(8*t)),b=1-t*Number(A),k=A,t<=2&&(2==t&&(b=3/4,k=1/8)),P=M.clone().multiplyScalar(b),s.set(0,0,0),i=0;i<t;i++)w=j[i],p=w.a!==M?w.a:w.b,s.add(p);s.multiplyScalar(Number(k)),P.add(s),O.push(P)}let T,I,C,E,V,R,D,B=O.concat(S),G=O.length,q=[],H=[],W=new cM,z=new cM,J=new cM;for(n=0,r=l.length;n<r;n++)g=l[n],T=Number(FK(g.a,g.b,u).newEdge)+G,I=Number(FK(g.b,g.c,u).newEdge)+G,C=Number(FK(g.c,g.a,u).newEdge)+G,KK(q,T,I,C,g.materialIndex),KK(q,g.a,T,C,g.materialIndex),KK(q,g.b,I,T,g.materialIndex),KK(q,g.c,C,I,g.materialIndex),d&&(E=c[n],V=E[0],R=E[1],D=E[2],W.set(QK(V.x,R.x),QK(V.y,R.y)),z.set(QK(R.x,D.x),QK(R.y,D.y)),J.set(QK(V.x,D.x),QK(V.y,D.y)),XK(H,W,z,J),XK(H,V,W,J),XK(H,R,z,W),XK(H,D,J,z));e.vertices=B,e.faces=q,d&&(e.faceVertexUvs[0]=H)}},$K=new qM,eQ=class{static create(e){return this.build(this.normalizeInputs(e))}static normalizeInputs(e,t){var n,r,i;let a=Object.assign({},null!==(n=null===t||void 0===t?void 0:t.parameters)&&void 0!==n?n:{width:100,depth:0,spikes:5,cornerRadius:0,extrudeBevelSize:0,extrudeBevelSegments:3},e.parameters);return{shape:e.shape&&e.shape instanceof LZ?e.shape:new LZ,parameters:Object.assign(a,{width:Math.abs(a.width),height:Math.abs(null!==(r=a.height)&&void 0!==r?r:a.width),depth:Math.abs(null!==(i=a.depth)&&void 0!==i?i:0)})}}static build(e){let{width:t,height:n,spikes:r,cornerRadius:i,depth:a,extrudeBevelSize:s,extrudeBevelSegments:o}=e.parameters,l=e.shape,c=.5*t,d=.5*n,h=2*Math.PI/r;for(let p=0;p<r;p++){let e=h*p,t=0+Math.sin(e)*c,n=0+Math.cos(e)*d;l.addPoint(l.createPoint(t,n))}l.isClosed=!0;for(let p=0,f=l.points.length;p<f;p++)l.points[p].roundness=i;l.roundness=i,l.update();let u=bK.create({shape:l,parameters:{roundness:i,depth:a,extrudeBevelSize:s,extrudeBevelSegments:o}});return Object.assign(u,{userData:{...e,type:"PolygonGeometry"}})}};function tQ(e,t,n){n.x=e.x*t.x,n.y=e.y,n.z=e.x*t.y}function nQ(e,t,n,r,i,a){let s=t.clone().sub(e),o=n.clone().sub(e),l=s.angleTo(o);if(s.normalize(),o.normalize(),r===i){let t=s.add(o).normalize();a.copy(e).addScaledVector(t,r/Math.sin(l/2))}else{let t=s.angleTo(o);a.copy(e),a.addScaledVector(s,i/Math.sin(t)),a.addScaledVector(o,r/Math.sin(t))}}function rQ(e,t,n){let r=e.clone().sub(t),i=n.clone().sub(t);return r.projectOnVector(i),r.add(t)}var iQ=class extends pO{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.5,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:4,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:4;super(),n=Math.floor(Math.max(3,n)),r=Math.floor(r),s=Math.floor(s);let o,l=[],c=[],d=[],h=[],u=0,p=t/2,f=Math.PI/n,m=e*Math.cos(Math.PI/n),g=2*Math.PI/n,y=(n-2)*Math.PI/n,v=Math.PI-y,x=new qM(0,-p,0),S=new qM(0,p,0),A=new cM(e,-p),b=new cM(m,-p),k=new cM(0,S.y).sub(b),w=new cM(0,S.y).sub(A),j=new cM(k.y,-k.x).normalize(),M=new cM(w.y,-w.x).normalize(),P=e*Math.cos(Math.PI/n)*Math.tan((Math.PI-k.angle())/2)-1e-8;a=Math.min(a,P);{let e=new qM(j.x,j.y,0),t=new qM(Math.cos(g)*e.x,e.y,Math.sin(g)*e.x);o=e.angleTo(t)}let O=a/Math.tan((Math.PI-k.angle())/2),T=a/Math.tan((Math.PI-o)/2),I=new qM;if(!i){c.push(x.x,x.y,x.z),d.push(0,-1,0),h.push(0,0);let e=u++,t=[],r=A.clone(),i=O/Math.cos(Math.PI/n);r.x-=i;for(let a=0;a<n;a++){let e=a/n*Math.PI*2+f;tQ(r,new cM(Math.sin(e),Math.cos(e)),I),c.push(I.x,I.y,I.z),d.push(0,-1,0),h.push(0,0),t.push(u++)}for(let n=0;n<t.length;n++)l.push(t[n],e,t[(n+1)%t.length])}let C=[];{let e=new qM,t=new qM,r=new qM,i=new qM,p=new qM,m=new qM;for(let g=0;g<n;g++){let y=g/n*Math.PI*2+f,v=(g+.5)/n*Math.PI*2+f,b=(g+1)/n*Math.PI*2+f,w=new cM(Math.sin(y),Math.cos(y)),P=new cM(Math.sin(v),Math.cos(v)),I=new cM(Math.sin(b),Math.cos(b));tQ(A,w,t),tQ(A,I,r),tQ(j,P,e),nQ(S,t,r,T,T,i),c.push(i.x,i.y,i.z),nQ(t,S,r,T,O,p),c.push(p.x,p.y,p.z),nQ(r,t,S,O,T,m),c.push(m.x,m.y,m.z),d.push(e.x,e.y,e.z),d.push(e.x,e.y,e.z),d.push(e.x,e.y,e.z),h.push(0,0),h.push(0,0),h.push(0,0);let R=u++,D=u++,B=u++;if(l.push(R,D,B),a>0){{let e=t.clone().add(r).multiplyScalar(.5),n=S.clone().sub(e).normalize(),i=x.clone().sub(e).normalize().add(n).normalize().multiplyScalar(-1);E(e,m.clone().sub(p),i,k.angle())}let f,g;{let e=new qM;tQ(M,I,e);let t=m.clone().add(i).multiplyScalar(.5);t=rQ(t,r,S);let n=m.clone().sub(i);[f,g]=E(t,n,e,o,i.y)}{let e=f,t=e.clone().setY(0).normalize(),n=new qM(0,-1,0),r=t.clone().cross(n);V(e,t,n,r)}C.concat(g);{let t=k.angle(),r=Math.PI-t,i=S.clone();i.y-=a/Math.sin(t-Math.PI/2);let o=new qM,p=[];for(let l=0;l<s;l++){let t=[],f=Math.PI/2-r*l/s,m=Math.cos(f),g=Math.sin(f),y=v;for(let r=0;r<=l;r++){let r=Math.cos(y),s=Math.sin(y);e.x=m*s,e.y=g,e.z=m*r,o.copy(i).addScaledVector(e,a),c.push(o.x,o.y,o.z),d.push(e.x,e.y,e.z),h.push(0,0),t.push(u++),y+=2*Math.PI/l/n}p.push(t)}g.reverse(),p.push(g);let f=p.length-1;for(let e=0;e<f;e++){let t=p[e],n=p[e+1],r=t.length-1;l.push(n[1],t[0],n[0]);for(let e=1;e<=r;e++)l.push(t[e],t[e-1],n[e]),l.push(n[e+1],t[e],n[e])}}}}}function E(e,t,n,r,i){let o=-r/2,p=(Math.PI-r)/2,f=t.clone().normalize().cross(n);e.addScaledVector(n,-a/Math.sin(p));let m=new qM,g=new qM,y=u,v=[];for(let l=0;l<=s;l++){let p=o+l/s*r;g.set(0,0,0),g.addScaledVector(f,Math.sin(p)),g.addScaledVector(n,Math.cos(p));for(let n=0;n<=1;n++){let r=n/1-.5;if(m.copy(e),m.addScaledVector(t,r),m.addScaledVector(g,a),null!=i){let e=Math.max(0,m.y-i);m.addScaledVector(t,-e/t.y)}c.push(m.x,m.y,m.z),d.push(g.x,g.y,g.z),h.push(0,0),0===n&&v.push(u),u++}}for(let a=0;a<s;a++)for(let e=0;e<1;e++){let t=y+e+2*a,n=t+2,r=n+1,i=t+1;l.push(t,n,i),l.push(n,r,i)}return[e.clone().addScaledVector(t,.5),v]}function V(e,t,n,r){let i=Math.PI/2,o=w.angle()-i,p=[],f=new qM,m=new qM;for(let l=0;l<=s;l++){let g=[],y=l/s;for(let s=0;s<=l;s++){let p=((l?s/l:0)-.5)*v,x=Math.cos(p),S=Math.sin(p),A=(i+Math.atan(Math.tan(o)*x))*y,b=Math.cos(A),k=Math.sin(A);f.set(0,0,0),f.addScaledVector(t,k*x),f.addScaledVector(n,b),f.addScaledVector(r,k*S),m.copy(e).addScaledVector(f,a),c.push(m.x,m.y,m.z),d.push(f.x,f.y,f.z),h.push(0,0),g.push(u++)}p.push(g)}let g=p.length-1;for(let a=0;a<g;a++){let e=p[a],t=p[a+1],n=e.length-1;l.push(e[0],t[1],t[0]);for(let r=1;r<=n;r++)l.push(e[r-1],e[r],t[r]),l.push(e[r],t[r+1],t[r])}}this.setIndex(l),this.setAttribute("position",new aO(c,3)),this.setAttribute("normal",new aO(d,3)),this.setAttribute("uv",new aO(h,2))}},aQ=class{static create(e){return this.build(this.normalizeInputs(e))}static normalizeInputs(e,t){var n,r,i,a;let s=Object.assign({},null!==(n=null===t||void 0===t?void 0:t.parameters)&&void 0!==n?n:{width:100,depth:0,cornerRadius:[0,0,0,0],cornerType:1,extrudeBevelSize:0,extrudeBevelSegments:1},e.parameters),o=Object.assign(null!==(r=null===t||void 0===t?void 0:t.ui)&&void 0!==r?r:{enabledIndieCorners:!1},e.ui);return{shape:e.shape&&e.shape instanceof LZ?e.shape:new LZ,parameters:Object.assign(s,{width:Math.abs(s.width),height:Math.abs(null!==(i=s.height)&&void 0!==i?i:s.width),depth:Math.abs(null!==(a=s.depth)&&void 0!==a?a:0)}),ui:o}}static build(e){let t=e.shape,{width:n,height:r,cornerRadius:i,cornerType:a,depth:s,extrudeBevelSize:o,extrudeBevelSegments:l}=e.parameters,c={x:.5*n,y:.5*r},d={x:-c.x,y:-c.y},h={x:c.x,y:c.y};function u(e,t,i){return t>n&&i>r?Math.min(e*n/t,e*r/i):t>n?e*n/t:i>r?e*r/i:e}let p=[];p[0]=0===i[0]?0:u(i[0],i[0]+i[3],i[0]+i[1]),p[1]=0===i[1]?0:u(i[1],i[1]+i[2],i[1]+i[0]),p[2]=0===i[2]?0:u(i[2],i[2]+i[1],i[2]+i[3]),p[3]=0===i[3]?0:u(i[3],i[3]+i[0],i[3]+i[2]);let f=d.x,m=h.x,g=h.y,y=d.y;t.addPoint(t.createPoint(f,g)),t.addPoint(t.createPoint(m,g)),t.addPoint(t.createPoint(m,y)),t.addPoint(t.createPoint(f,y)),t.isClosed=!0;let v=!0;for(let S=0,A=t.points.length;S<A;S++)t.points[S].roundness=p[S],S>0&&p[S]!==p[S-1]&&(v=!1);v&&(t.roundness=p[0]),t.useCubicForRoundedCorners=1!==a,t.update();let x=bK.create({shape:t,parameters:{depth:s,extrudeBevelSize:o,extrudeBevelSegments:l}});return Object.assign(x,{userData:{...e,type:"RectangleGeometry"}})}},sQ=class extends pO{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:90,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:10,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:24;super(),this.type="BackdropGeometry";let s=[],o=[],l=[],c=.001;0==i&&(a=1),a=Math.max(1,Math.floor(a)),i=Math.min(i,100),r=Math.min(180-c,r),r*=Math.PI/180;let d=[],h=Math.PI/2,u=function(){return new qM(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,arguments.length>2&&void 0!==arguments[2]?arguments[2]:0)},p=u(),f=u(),[m,g,y]=[t/2,e/2,n/2],v=-g,x=+g,[S,A,b]=[u(v,-m,+y),u(v,-m,-y),u(v,+m,-y)],k=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return Math.sin(e-Math.PI/(+t+1))},w=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return Math.cos(e-Math.PI/(+t+1))};b.y=Math.sin(r)*t-m;let j=Math.cos(r)*t-y,M=S.z-c;r<=h?(b.z=Math.min(j,M),b.z==M&&(b.y-=(j-M)/Math.tan(h-r))):A.z=Math.min(A.z-j-y,S.z-c),p.subVectors(S,A),f.subVectors(b,A);let P=Math.min(p.length(),f.length())*i/100,O=P*Math.tan(r/2),T=P/Math.cos(r/2),I=p.clone().normalize().add(f.normalize()).setLength(T).add(A);p.set(0,k(r,!0),w(r,!0)),d.push([b,p.clone()]);let C=(Math.PI-r)/a;for(let J=0;J<=a;J++){let e=h+r+J*C;p.set(0,Math.sin(e)*O,Math.cos(e)*O),p.add(I),f.set(0,k(e),w(e)),d.push([p.clone(),f.clone()])}d.push([S,u(0,1,0)]);let E=Math.sin(C/2)*O*2,V=d.length-1,R=d[0][0].distanceTo(d[1][0]),D=R+E*a+d[V-1][0].distanceTo(d[V][0]);d[0].push(1);for(let J=0;J<=a;J++)d[J+1].push(1-(R+J*E)/D);d[V].push(0);let B,G,q,[H,W,z]=d[0];for(let J=1;J<d.length;J++)[B,G,q]=d[J],s.push(v,H.y,H.z,v,B.y,B.z,x,H.y,H.z,x,H.y,H.z,v,B.y,B.z,x,B.y,B.z),o.push(0,W.y,W.z,0,G.y,G.z,0,W.y,W.z,0,W.y,W.z,0,G.y,G.z,0,G.y,G.z),l.push(0,z,0,q,1,z,1,z,0,q,1,q),[H,W,z]=[B,G,q];this.setAttribute("position",new aO(s,3)),this.setAttribute("normal",new aO(o,3)),this.setAttribute("uv",new aO(l,2))}},oQ=class{static create(e){return this.build(this.normalizeInputs(e))}static normalizeInputs(e,t){var n,r,i;let a=Object.assign({},null!==(n=null===t||void 0===t?void 0:t.parameters)&&void 0!==n?n:{width:100,depth:0,innerRadiusPercent:38.19,spikes:5,cornerRadius:0,angle:360,extrudeBevelSize:0,extrudeBevelSegments:1},e.parameters);return{shape:e.shape&&e.shape instanceof LZ?e.shape:new LZ,parameters:Object.assign(a,{width:Math.abs(a.width),height:Math.abs(null!==(r=a.height)&&void 0!==r?r:a.width),depth:Math.abs(null!==(i=a.depth)&&void 0!==i?i:0)})}}static build(e){let{width:t,height:n,innerRadiusPercent:r,spikes:i,cornerRadius:a,angle:s,depth:o,extrudeBevelSize:l,extrudeBevelSegments:c}=e.parameters,d=e.shape,h=.5*t,u=.5*n,p=s*Math.PI/360/i,f=Math.PI/2*3*-1,m=h*r/100,g=u*r/100;if(3===i&&50===r){p=2*Math.PI/i;for(let e=0;e<i;e++){let t=p*e,n=0+Math.sin(t)*h,r=0+Math.cos(t)*u;d.addPoint(d.createPoint(n,r))}}else for(let v=0;v<i;v++){let e=0+Math.cos(f)*h,t=0+Math.sin(f)*u;d.addPoint(d.createPoint(e,t)),f+=p,e=0+Math.cos(f)*m,t=0+Math.sin(f)*g,d.addPoint(d.createPoint(e,t)),f+=p}d.isClosed=!0;for(let v=0,x=d.points.length;v<x;v++)d.points[v].roundness=a;d.roundness=a,d.update();let y=bK.create({shape:d,parameters:{roundness:a,depth:o,extrudeBevelSize:l,extrudeBevelSegments:c}});return Object.assign(y,{userData:{...e,type:"StarGeometry"}})}};var lQ=class{static get version(){return"1.3.8"}static toString(){return"JavaScript Expression Parser (JSEP) v"+lQ.version}static addUnaryOp(e){return lQ.max_unop_len=Math.max(e.length,lQ.max_unop_len),lQ.unary_ops[e]=1,lQ}static addBinaryOp(e,t,n){return lQ.max_binop_len=Math.max(e.length,lQ.max_binop_len),lQ.binary_ops[e]=t,n?lQ.right_associative.add(e):lQ.right_associative.delete(e),lQ}static addIdentifierChar(e){return lQ.additional_identifier_chars.add(e),lQ}static addLiteral(e,t){return lQ.literals[e]=t,lQ}static removeUnaryOp(e){return delete lQ.unary_ops[e],e.length===lQ.max_unop_len&&(lQ.max_unop_len=lQ.getMaxKeyLen(lQ.unary_ops)),lQ}static removeAllUnaryOps(){return lQ.unary_ops={},lQ.max_unop_len=0,lQ}static removeIdentifierChar(e){return lQ.additional_identifier_chars.delete(e),lQ}static removeBinaryOp(e){return delete lQ.binary_ops[e],e.length===lQ.max_binop_len&&(lQ.max_binop_len=lQ.getMaxKeyLen(lQ.binary_ops)),lQ.right_associative.delete(e),lQ}static removeAllBinaryOps(){return lQ.binary_ops={},lQ.max_binop_len=0,lQ}static removeLiteral(e){return delete lQ.literals[e],lQ}static removeAllLiterals(){return lQ.literals={},lQ}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(e){this.expr=e,this.index=0}static parse(e){return new lQ(e).parse()}static getMaxKeyLen(e){return Math.max(0,...Object.keys(e).map((e=>e.length)))}static isDecimalDigit(e){return e>=48&&e<=57}static binaryPrecedence(e){return lQ.binary_ops[e]||0}static isIdentifierStart(e){return e>=65&&e<=90||e>=97&&e<=122||e>=128&&!lQ.binary_ops[String.fromCharCode(e)]||lQ.additional_identifier_chars.has(String.fromCharCode(e))}static isIdentifierPart(e){return lQ.isIdentifierStart(e)||lQ.isDecimalDigit(e)}throwError(e){let t=new Error(e+" at character "+this.index);throw t.index=this.index,t.description=e,t}runHook(e,t){if(lQ.hooks[e]){let n={context:this,node:t};return lQ.hooks.run(e,n),n.node}return t}searchHook(e){if(lQ.hooks[e]){let t={context:this};return lQ.hooks[e].find((function(e){return e.call(t.context,t),t.node})),t.node}}gobbleSpaces(){let e=this.code;for(;e===lQ.SPACE_CODE||e===lQ.TAB_CODE||e===lQ.LF_CODE||e===lQ.CR_CODE;)e=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");let e=this.gobbleExpressions(),t=1===e.length?e[0]:{type:lQ.COMPOUND,body:e};return this.runHook("after-all",t)}gobbleExpressions(e){let t,n,r=[];for(;this.index<this.expr.length;)if(t=this.code,t===lQ.SEMCOL_CODE||t===lQ.COMMA_CODE)this.index++;else if(n=this.gobbleExpression())r.push(n);else if(this.index<this.expr.length){if(t===e)break;this.throwError('Unexpected "'+this.char+'"')}return r}gobbleExpression(){let e=this.searchHook("gobble-expression")||this.gobbleBinaryExpression();return this.gobbleSpaces(),this.runHook("after-expression",e)}gobbleBinaryOp(){this.gobbleSpaces();let e=this.expr.substr(this.index,lQ.max_binop_len),t=e.length;for(;t>0;){if(lQ.binary_ops.hasOwnProperty(e)&&(!lQ.isIdentifierStart(this.code)||this.index+e.length<this.expr.length&&!lQ.isIdentifierPart(this.expr.charCodeAt(this.index+e.length))))return this.index+=t,e;e=e.substr(0,--t)}return!1}gobbleBinaryExpression(){let e,t,n,r,i,a,s,o,l;if(a=this.gobbleToken(),!a||(t=this.gobbleBinaryOp(),!t))return a;for(i={value:t,prec:lQ.binaryPrecedence(t),right_a:lQ.right_associative.has(t)},s=this.gobbleToken(),s||this.throwError("Expected expression after "+t),r=[a,i,s];t=this.gobbleBinaryOp();){if(n=lQ.binaryPrecedence(t),0===n){this.index-=t.length;break}i={value:t,prec:n,right_a:lQ.right_associative.has(t)},l=t;let o=e=>i.right_a&&e.right_a?n>e.prec:n<=e.prec;for(;r.length>2&&o(r[r.length-2]);)s=r.pop(),t=r.pop().value,a=r.pop(),e={type:lQ.BINARY_EXP,operator:t,left:a,right:s},r.push(e);e=this.gobbleToken(),e||this.throwError("Expected expression after "+l),r.push(i,e)}for(o=r.length-1,e=r[o];o>1;)e={type:lQ.BINARY_EXP,operator:r[o-1].value,left:r[o-2],right:e},o-=2;return e}gobbleToken(){let e,t,n,r;if(this.gobbleSpaces(),r=this.searchHook("gobble-token"),r)return this.runHook("after-token",r);if(e=this.code,lQ.isDecimalDigit(e)||e===lQ.PERIOD_CODE)return this.gobbleNumericLiteral();if(e===lQ.SQUOTE_CODE||e===lQ.DQUOTE_CODE)r=this.gobbleStringLiteral();else if(e===lQ.OBRACK_CODE)r=this.gobbleArray();else{for(t=this.expr.substr(this.index,lQ.max_unop_len),n=t.length;n>0;){if(lQ.unary_ops.hasOwnProperty(t)&&(!lQ.isIdentifierStart(this.code)||this.index+t.length<this.expr.length&&!lQ.isIdentifierPart(this.expr.charCodeAt(this.index+t.length)))){this.index+=n;let e=this.gobbleToken();return e||this.throwError("missing unaryOp argument"),this.runHook("after-token",{type:lQ.UNARY_EXP,operator:t,argument:e,prefix:!0})}t=t.substr(0,--n)}lQ.isIdentifierStart(e)?(r=this.gobbleIdentifier(),lQ.literals.hasOwnProperty(r.name)?r={type:lQ.LITERAL,value:lQ.literals[r.name],raw:r.name}:r.name===lQ.this_str&&(r={type:lQ.THIS_EXP})):e===lQ.OPAREN_CODE&&(r=this.gobbleGroup())}return r?(r=this.gobbleTokenProperty(r),this.runHook("after-token",r)):this.runHook("after-token",!1)}gobbleTokenProperty(e){this.gobbleSpaces();let t=this.code;for(;t===lQ.PERIOD_CODE||t===lQ.OBRACK_CODE||t===lQ.OPAREN_CODE||t===lQ.QUMARK_CODE;){let n;if(t===lQ.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==lQ.PERIOD_CODE)break;n=!0,this.index+=2,this.gobbleSpaces(),t=this.code}this.index++,t===lQ.OBRACK_CODE?(e={type:lQ.MEMBER_EXP,computed:!0,object:e,property:this.gobbleExpression()},this.gobbleSpaces(),t=this.code,t!==lQ.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):t===lQ.OPAREN_CODE?e={type:lQ.CALL_EXP,arguments:this.gobbleArguments(lQ.CPAREN_CODE),callee:e}:(t===lQ.PERIOD_CODE||n)&&(n&&this.index--,this.gobbleSpaces(),e={type:lQ.MEMBER_EXP,computed:!1,object:e,property:this.gobbleIdentifier()}),n&&(e.optional=!0),this.gobbleSpaces(),t=this.code}return e}gobbleNumericLiteral(){let e,t,n="";for(;lQ.isDecimalDigit(this.code);)n+=this.expr.charAt(this.index++);if(this.code===lQ.PERIOD_CODE)for(n+=this.expr.charAt(this.index++);lQ.isDecimalDigit(this.code);)n+=this.expr.charAt(this.index++);if(e=this.char,"e"===e||"E"===e){for(n+=this.expr.charAt(this.index++),e=this.char,("+"===e||"-"===e)&&(n+=this.expr.charAt(this.index++));lQ.isDecimalDigit(this.code);)n+=this.expr.charAt(this.index++);lQ.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+n+this.char+")")}return t=this.code,lQ.isIdentifierStart(t)?this.throwError("Variable names cannot start with a number ("+n+this.char+")"):(t===lQ.PERIOD_CODE||1===n.length&&n.charCodeAt(0)===lQ.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:lQ.LITERAL,value:parseFloat(n),raw:n}}gobbleStringLiteral(){let e="",t=this.index,n=this.expr.charAt(this.index++),r=!1;for(;this.index<this.expr.length;){let t=this.expr.charAt(this.index++);if(t===n){r=!0;break}if("\\"===t)switch(t=this.expr.charAt(this.index++),t){case"n":e+="\n";break;case"r":e+="\r";break;case"t":e+="\t";break;case"b":e+="\b";break;case"f":e+="\f";break;case"v":e+="\v";break;default:e+=t}else e+=t}return r||this.throwError('Unclosed quote after "'+e+'"'),{type:lQ.LITERAL,value:e,raw:this.expr.substring(t,this.index)}}gobbleIdentifier(){let e=this.code,t=this.index;for(lQ.isIdentifierStart(e)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length&&(e=this.code,lQ.isIdentifierPart(e));)this.index++;return{type:lQ.IDENTIFIER,name:this.expr.slice(t,this.index)}}gobbleArguments(e){let t=[],n=!1,r=0;for(;this.index<this.expr.length;){this.gobbleSpaces();let i=this.code;if(i===e){n=!0,this.index++,e===lQ.CPAREN_CODE&&r&&r>=t.length&&this.throwError("Unexpected token "+String.fromCharCode(e));break}if(i===lQ.COMMA_CODE){if(this.index++,r++,r!==t.length)if(e===lQ.CPAREN_CODE)this.throwError("Unexpected token ,");else if(e===lQ.CBRACK_CODE)for(let e=t.length;e<r;e++)t.push(null)}else if(t.length!==r&&0!==r)this.throwError("Expected comma");else{let e=this.gobbleExpression();(!e||e.type===lQ.COMPOUND)&&this.throwError("Expected comma"),t.push(e)}}return n||this.throwError("Expected "+String.fromCharCode(e)),t}gobbleGroup(){this.index++;let e=this.gobbleExpressions(lQ.CPAREN_CODE);if(this.code===lQ.CPAREN_CODE)return this.index++,1===e.length?e[0]:!!e.length&&{type:lQ.SEQUENCE_EXP,expressions:e};this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:lQ.ARRAY_EXP,elements:this.gobbleArguments(lQ.CBRACK_CODE)}}},cQ=new class{add(e,t,n){if("string"!=typeof arguments[0])for(let r in arguments[0])this.add(r,arguments[0][r],arguments[1]);else(Array.isArray(e)?e:[e]).forEach((function(e){this[e]=this[e]||[],t&&this[e][n?"unshift":"push"](t)}),this)}run(e,t){this[e]=this[e]||[],this[e].forEach((function(e){e.call(t&&t.context?t.context:t,t)}))}};Object.assign(lQ,{hooks:cQ,plugins:new class{constructor(e){this.jsep=e,this.registered={}}register(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.forEach((e=>{if("object"!=typeof e||!e.name||!e.init)throw new Error("Invalid JSEP plugin format");this.registered[e.name]||(e.init(this.jsep),this.registered[e.name]=e)}))}}(lQ),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10},right_associative:new Set,additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"}),lQ.max_unop_len=lQ.getMaxKeyLen(lQ.unary_ops),lQ.max_binop_len=lQ.getMaxKeyLen(lQ.binary_ops);var dQ=e=>new lQ(e).parse();Object.getOwnPropertyNames(lQ).forEach((e=>{void 0===dQ[e]&&"prototype"!==e&&(dQ[e]=lQ[e])})),dQ.Jsep=lQ;var hQ={name:"ternary",init(e){e.hooks.add("after-expression",(function(t){if(t.node&&this.code===e.QUMARK_CODE){this.index++;let n=t.node,r=this.gobbleExpression();if(r||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;let i=this.gobbleExpression();if(i||this.throwError("Expected expression"),t.node={type:"ConditionalExpression",test:n,consequent:r,alternate:i},n.operator&&e.binary_ops[n.operator]<=.9){let r=n;for(;r.right.operator&&e.binary_ops[r.right.operator]<=.9;)r=r.right;t.node.test=r.right,r.right=t.node,t.node=n}}else this.throwError("Expected :")}}))}};dQ.plugins.register(hQ);var uQ=["+","-","*","/","(",")","==","!=",">","<",">=","<=","and","or","!","%","^",","],pQ=["0","1","2","3","4","5","6","7","8","9","."],fQ=["sin","cos","tan","asin","acos","atan","atan2","sqrt","abs","log","exp","floor","ceil","round","min","max","random"];function mQ(e){return"string"==typeof e&&(!isNaN(e)&&!isNaN(parseFloat(e)))}function gQ(e,t){let n,r,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"number",a="";for(let s=0;s<e.length;s++){let n=e[s];if("id"in n){let r=e[s-1];if(s>0&&"id"in r)return void console.error("Two variables in a row",e);let o=t.getVariable(n.id),l=iL.getDisplayedValue(o);"number"===i&&iL.isTextValue(o)&&Array.isArray(o.textValue)&&1===o.textValue.length?l=parseFloat(l).toString():"boolean"===i&&iL.isBoolean(o)?l=o?"true":"false":"boolean"===i&&iL.isTextValue(o)&&!Array.isArray(o.textValue)&&(l='"'+l+'"'),a+=l}else"string"!==i?"and"!==n.name?"or"!==n.name?"True"!==n.name?"False"!==n.name?"boolean"!==i||mQ(n.name)||pQ.includes(n.name)||uQ.includes(n.name)||fQ.includes(n.name.replace(/\($/g,""))?a+=n.name:a+='"'+n.name+'"':a+="false":a+="true":a+="||":a+="&&":('"'!==n.name&&"+"!==n.name&&(a+=n.name),"+"===n.name&&"\\"===a[a.length-1]&&(a=a.slice(0,-1)+n.name))}if("string"===i)return a;if(0===e.length){if("number"===i)return 0;if("boolean"===i)return!1}try{n=dQ(a)}catch(l){return void console.error(a,l)}try{r=yQ(n)}catch(l){console.error(a,n,l)}return r}function yQ(e){switch(e.type){case"BinaryExpression":switch(e.operator){case"==":return Number(yQ(e.left)===yQ(e.right));case"!=":return Number(yQ(e.left)!==yQ(e.right));case">":return Number(yQ(e.left)>yQ(e.right));case">=":return Number(yQ(e.left)>=yQ(e.right));case"<":return Number(yQ(e.left)<yQ(e.right));case"<=":return Number(yQ(e.left)<=yQ(e.right));case"+":return yQ(e.left)+yQ(e.right);case"-":return yQ(e.left)-yQ(e.right);case"*":return yQ(e.left)*yQ(e.right);case"/":return yQ(e.left)/yQ(e.right);case"%":return yQ(e.left)%yQ(e.right);case"&&":return yQ(e.left)&&yQ(e.right);case"||":return yQ(e.left)||yQ(e.right);case"^":return Math.pow(yQ(e.left),yQ(e.right));default:throw new Error("Unknown operator: "+e.operator)}case"UnaryExpression":switch(e.operator){case"-":return-yQ(e.argument);case"!":return Number(!yQ(e.argument));default:throw new Error("Unknown operator: "+e.operator)}case"Identifier":throw new Error("Unknown identifier: "+e.name);case"Literal":return e.value;case"CallExpression":if("Identifier"===e.callee.type){if("random"===e.callee.name){let t=0,n=1;if(e.arguments.length>=1)try{t=yQ(e.arguments[0])}catch(a){console.warn(a)}if(e.arguments.length>=2)try{n=yQ(e.arguments[1])}catch(a){console.warn(a)}return t=Math.min(n,t),n=Math.max(n,t),t+Math.random()*(n-t)}return Math[e.callee.name].apply(null,e.arguments.map(yQ))}throw new Error("Unknown node");default:throw new Error("Unknown node type: "+e.type)}}dQ.addBinaryOp("^",11,!0);var vQ=new fP,xQ=new fP;var SQ=class extends pO{constructor(e){super(),this.type="PathExtrusionGeometry",this.inputs=e,this.build()}_isGeometryClosed(){return this.inputs.path.isClosed&&1===this.inputs.parameters.extrusion.depth}_isOpenEnded(){let e=this.inputs.parameters.extrusion;return!(this.inputs.path.isClosed&&1===e.depth)||!function(e,t){let n=2*Math.PI;return(e%n+n)%n===(t%n+n)%n}(e.twist,0)||e.startScale!==e.endScale}build(){let e=this._extractPathPoints();if(e.length<2)return;let t=this._computeBasisMatrices(e),{depth:n,offset:r}=this.inputs.parameters.extrusion;n=Math.max(0,Math.min(n,1)),r=Math.max(0,Math.min(r,1));let i=this.inputs.path.isClosed?e.length:e.length-1,a=Math.floor(r*i),s=this.inputs.path.isClosed?Math.ceil((n+r)*i):Math.ceil(Math.min(1,n+r)*i),o=Math.min(Math.max(2,s-a+1),i+2),l=[],c=[];for(let V=0;V<o;V++){let n=this.inputs.path.isClosed?(V+a)%e.length:Math.min(V+a,e.length-1);l.push(e[n].clone()),c.push(t[n].clone())}let d=(e,t,n)=>{l[e]=l[e].clone().lerp(l[t],n),c[e]=function(e,t,n){let r=[new qM,new qM,new qM],i=[new qM,new qM,new qM];return e.extractBasis(r[0],r[1],r[2]),t.extractBasis(i[0],i[1],i[2]),r.forEach(((e,t)=>{let r=i[t],a=lM.lerp(e.length(),r.length(),n);e.lerp(r,n).setLength(a)})),(new fP).makeBasis(r[0],r[1],r[2])}(c[e],c[t],n)},h=0,u=r*i%1;(!this.inputs.path.isClosed||n<=1)&&(u||0===r)&&(h=u,d(0,1,h));let p=0,f=(r+n)*i%1;if((this.inputs.path.isClosed&&n<=1||!this.inputs.path.isClosed&&r+n<1)&&f&&(p=f,d(l.length-1,l.length-2,1-p)),0===n){let e=l.length-1;l[e].copy(l[0]),c[e].copy(c[0])}this._applyPathModifiers(c,h,p);let{bevel:m,bevelSides:g}=this.inputs.parameters.extrusion,y=m>0?this.inputs.parameters.extrusion.capType:"flat",v=5;"Custom"===this.inputs.parameters.extrusion.shape.type&&(v="low"===this.inputs.parameters.extrusion.shape.shapeQuality?5:12);let x,{regions:S,infos:A,vertices:b}=this._computeShapePoints(v),k=0;"round"===y&&(x=new xK(this.inputs.shapeData,2*m,m,v,g,void 0,!0),k=x.getAttribute("position").count);let w=0,j=0;A.sort(((e,t)=>e.start-t.start)),A.forEach((e=>{e.verticesStart=w,e.verticesCount=e.continuous.reduce(((e,t,n)=>e+(0!==n&&t?1:2)),0),j+=e.verticesCount,w=j}));let M,P=j*o,O=0;if(this._isOpenEnded()&&"flat"===y){try{M=hK({windingRule:GZ.ODD,elementType:qZ.POLYGONS,polySize:3,vertexSize:2,strict:!0,contours:S})}catch{M=yK}O=M.vertexCount}let T=P+2*O+2*k,I=P+2*O,C={positions:new Float32Array(3*T),normals:new Float32Array(3*T),uvs:new Float32Array(2*T)},E=[];if(A.forEach((e=>{this._extrudeRegion(e,b,c,l,C,E,this._isGeometryClosed()&&!this._isOpenEnded())})),M&&(this._closeEnd(M,P,E,C,c[0],l[0],!1),this._closeEnd(M,P+O,E,C,c[c.length-1],l[l.length-1],!0)),x){C.positions.set(x.getAttribute("position").array,3*I),C.normals.set(x.getAttribute("normal").array,3*I),C.uvs.set(x.getAttribute("uv").array,2*I);let e=E.length;E.push(...x.getIndex().array.map((e=>e+I))),I+=k,C.positions.set(x.getAttribute("position").array,3*I),C.normals.set(x.getAttribute("normal").array,3*I),C.uvs.set(x.getAttribute("uv").array,2*I);let t=E.length;E.push(...x.getIndex().array.map((e=>e+I))),this.setAttribute("position",new nO(C.positions,3)),this.setAttribute("normal",new nO(C.normals,3)),this.setAttribute("uv",new nO(C.uvs,2)),this.setIndex(E);let n=vQ;n.copy(c[c.length-1]).setPosition(l[l.length-1]),this.applyMatrix4OnRange(n,I,T),n.copy(c[0]).setPosition(l[0]).multiply(xQ.makeScale(1,1,-1)),this.applyMatrix4OnRange(n,I-k,I),this.reverseIndicesOnRange(e,t)}else this.setAttribute("position",new nO(C.positions,3)),this.setAttribute("normal",new nO(C.normals,3)),this.setAttribute("uv",new nO(C.uvs,2)),this.setIndex(E)}_extractPathPoints(){let e=KF(this.inputs.path).getPoints(this.inputs.path.subdivisions);if(e.length<2)return[];let t=[e[0]];return e.forEach((e=>{t[t.length-1].distanceToSquared(e)>.001&&t.push(e)})),this.inputs.path.isClosed&&t[t.length-1].distanceTo(t[0])<.001&&t.pop(),t}_computeBasisMatrices(e){let t=[],n=e.length,r=this.inputs.path.isClosed,i=new qM,a=new qM,s=new qM,o=new qM,l=new qM(0,1,0);for(let f=0;f<n;f++){let c,d,h=e[f];c=0===f?r?e[e.length-2]:h.clone().multiplyScalar(2).sub(e[1]):e[f-1],d=f===n-1?r?e[1]:h.clone().multiplyScalar(2).sub(e[f-1]):e[f+1];let u=h.clone().sub(c).normalize(),p=d.clone().sub(h).normalize(),m=u.clone().add(p).normalize();s.copy(m),0===f&&(m.equals(l)||m.clone().negate().equals(l))&&l.set(0,0,1);let g=l.clone().cross(m).normalize(),y=m.clone().cross(g).normalize();l.copy(y),o.copy(g),0===f&&(i.copy(y),a.copy(m));let v=(new fP).makeBasis(g,y,m);t.push(v)}let c=r?a:s,d=r?i:new qM(0,1,0),h=c.clone().cross(o).normalize(),u=Math.acos(d.dot(h));if(isNaN(u))return t;let p=d.clone().cross(h);c.dot(p)>0&&(u*=-1);for(let f=1;f<t.length;f++){let e=(new fP).makeRotationZ(u*f/t.length);t[f].multiply(e)}return t}_applyPathModifiers(e,t,n){let r=e.length,{angle:i,twist:a,startScale:s,endScale:o}=this.inputs.parameters.extrusion,l=new fP,c=new fP;return e.forEach(((e,d)=>{let h=0===d?0:d===r-1?1:(d-t)/(r-(0===n?0:1)-(t+(1-n)));l.makeRotationZ(lM.lerp(i,i+a,h)*lM.DEG2RAD);let u=lM.lerp(s,o,h);c.makeScale(u,u,u),e.multiply(l).multiply(c)})),e}_computeShapePoints(){let e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:12,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:GZ.ODD,i=this.inputs.shapeData,a=i.extractShapePointsToFlatArray([],n),s=i.shapeHoles.map((e=>{let t=e.extractShapePointsToFlatArray([],n),r=[];for(let n=t.length-1;n>=1;n-=2){let e=t[n-1],i=t[n-0];r.push(e,i)}return r}));try{e=hK({windingRule:r,elementType:qZ.BOUNDARY_CONTOURS,vertexSize:2,strict:!0,contours:[a]})}catch{e=mK}try{t=hK({windingRule:GZ.ODD,elementType:qZ.BOUNDARY_CONTOURS,vertexSize:2,strict:!0,contours:[...s]})}catch{t=gK}if(!e)throw new Error("error generating geometry");let o=e.elementCount;if(t){e.elementCount+=t.elementCount;for(let n=0;n<t.elements.length;n++){let r=t.elements[n],i=n%2===0?e.vertexCount:0;e.elements.push(r+i)}for(let n=0;n<t.vertexIndices.length;n++){let r=t.vertexIndices[n],i=e.vertexCount;e.vertexIndices.push(r+i)}for(let n=0;n<t.vertices.length;n++){let r=t.vertices[n];e.vertices.push(r)}}let l=1/0,c=-1/0,d=1/0,h=-1/0;for(let p=0,f=e.vertexCount;p<f;p++){let t=2*p,n=e.vertices[t+0],r=e.vertices[t+1];n<l&&(l=n),n>c&&(c=n),r<d&&(d=r),r>h&&(h=r)}let u=[];for(let p=e.elementCount-1;p>=0;p--){let t=p>=o,n=2*p,r=e.elements[n+0],a=e.elements[n+1],s=r+a,l={start:r,count:a,normals:[],isHole:t,continuous:[],verticesStart:0,verticesCount:0};u.push(l);let c=r,d=s-1,h=r+1,f=i.roundedCurves.length;do{let n=c-r,o=e.vertices[2*d+0],u=e.vertices[2*d+1],p=e.vertices[2*c+0],m=e.vertices[2*c+1],g=e.vertices[2*h+0],y=e.vertices[2*h+1],v=p-o,x=m-u,S=Math.sqrt(v*v+x*x);v/=S,x/=S;let A=p-g,b=m-y,k=Math.sqrt(A*A+b*b);A/=k,b/=k,l.normals[2*n+0]=-b,l.normals[2*n+1]=A;let w=e.vertexIndices[c];if(Array.isArray(w))l.continuous[n]=!1;else{let[e,t]=i.getCurveIndexFromVertexId(w-1,!0);if(t>0&&t<1)l.continuous[n]=!0;else{let r=1===t?e+1:e-1;r=(r+f)%f;let a=1===t?0:1,s=i.roundedCurves[e].getTangent(t),o=i.roundedCurves[r].getTangent(a);l.continuous[n]=s.dot(o)>.95}}t&&(l.normals[2*n+0]*=-1,l.normals[2*n+1]*=-1),[d,c,h]=[c,h,h+1],h>=s&&(h-=a)}while(h!==r+1)}return{regions:[a,...s],infos:u,vertices:e.vertices}}_insertVertex(e,t,n,r,i){let a=2*t,s=3*t;e.positions[s+0]=n.x,e.positions[s+1]=n.y,e.positions[s+2]=n.z,e.normals[s+0]=r.x,e.normals[s+1]=r.y,e.normals[s+2]=r.z,e.uvs[a+0]=i.x,e.uvs[a+1]=i.y}_extrudeRegion(e,t,n,r,i,a,s){let o=new qM,l=new qM,c=new qM,d=new qM,h=new cM;n.forEach(((a,s)=>{let u=r[s],p=e.verticesStart*n.length+e.verticesCount*s;for(let r=0;r<e.count;r++){let f=2*(e.start+r);if(o.set(t[f+0],t[f+1],0),c.copy(o).applyMatrix4(a).add(u),e.continuous[r])d.set(e.normals[2*r+0],e.normals[2*r+1],0);else{let n=0===r?2*(e.start+e.count-1):f-2;l.set(t[n+0],t[n+1],0),d.copy(o).sub(l),d.set(-d.y,d.x,0),e.isHole||d.negate()}if(d.applyMatrix4(a).normalize(),h.set(0===r?1:r/e.count,s/(n.length-1)),this._insertVertex(i,p,c,d,h),p++,!e.continuous[r]||0===r){if(0===r)d.set(e.normals[2*r+0],e.normals[2*r+1],0),h.set(0,s/(n.length-1));else{let n=r===e.count-1?2*e.start:f+2;l.set(t[n+0],t[n+1],0),d.copy(l).sub(o),d.set(-d.y,d.x,0),e.isHole||d.negate()}d.applyMatrix4(a).normalize(),this._insertVertex(i,p,c,d,h),p++}}}));let u=n.length-1;for(let p=0;p<u;p++){let t=e.verticesStart*n.length+e.verticesCount*p,r=e.verticesStart*n.length+e.verticesCount*(p+1),i=0;for(let n=0;n<e.count;n++){(!e.continuous[n]||0===n)&&i++;let s=n===e.count-1?0:i+1,o=t+i,l=t+s,c=r+s,d=r+i;e.isHole?a.push(o,c,l,o,d,c):a.push(o,l,c,o,c,d),i++}}}_closeEnd(e,t,n,r,i,a,s){let o=e.vertexCount,l=new qM(0,0,s?-1:1).applyMatrix4(i),c=new qM,d=new cM;for(let u=0;u<o;u++){let n=2*u;c.set(e.vertices[n+0],e.vertices[n+1],0).applyMatrix4(i).add(a),this._insertVertex(r,t+u,c,l,d)}let h=e.elements;for(let u=0;u<e.elementCount;u++){let e=3*u,r=h[e+0]+t,i=h[e+(s?1:2)]+t,a=h[e+(s?2:1)]+t;n.push(r,i,a)}}applyMatrix4OnRange(e,t,n){let r,i,a,s,o=e.elements,l=(new dM).getNormalMatrix(e).elements,c=this.attributes.position,d=this.attributes.normal;if(!c||!d)return;let h=c.array,u=d.array,p=c.itemSize;for(let f=t*p,m=n*p;f<m;f+=p)r=h[f+0],i=h[f+1],a=h[f+2],s=1/(o[3]*r+o[7]*i+o[11]*a+o[15]),h[f+0]=(o[0]*r+o[4]*i+o[8]*a+o[12])*s,h[f+1]=(o[1]*r+o[5]*i+o[9]*a+o[13])*s,h[f+2]=(o[2]*r+o[6]*i+o[10]*a+o[14])*s,r=u[f+0],i=u[f+1],a=u[f+2],u[f+0]=l[0]*r+l[3]*i+l[6]*a,u[f+1]=l[1]*r+l[4]*i+l[7]*a,u[f+2]=l[2]*r+l[5]*i+l[8]*a;c.needsUpdate=!0,d.needsUpdate=!0}reverseIndicesOnRange(e,t){let n=this.index;if(n){for(let r=e;r<t;r+=3){let e=n.getX(r),t=n.getX(r+1),i=n.getX(r+2);n.setXYZ(r,i,t,e)}n.needsUpdate=!0}}};function AQ(){let e=new pO;return e.setAttribute("position",new nO(new Float32Array([]),3)),e.setIndex(new nO(new Uint16Array([]),1)),e}var bQ=AQ().attributes,kQ=class extends pO{constructor(e,t){super(),this.charWidths=[],this.charCoords=[],this.wrappedText=[],this.isLowResolution=!1,this.vectorShapes=[],Object.assign(this.attributes,bQ),this.userData={parameters:e,type:"TextGeometry"};let n=t.getFont(e.font);null!==n&&void 0!==n&&n.isLoaded?(this.font=n,this.update(e)):this.updateFont(e.font,t).then((()=>{this.update(e),null===t||void 0===t||t.requestRender()}))}async updateFont(e,t){let n=t.getFont(e);n&&(this.font=n,await n.loadingPromise)}update(e){let t=this.font;if(this.userData={parameters:e,type:"TextGeometry"},null===t||void 0===t||!t.isLoaded)return void console.warn("Cannot update text because its font is not loaded");let{width:n,height:r,depth:i,extrudeBevelSize:a,extrudeBevelSegments:s,text:o,textTransform:l}=e,c=iL.getDisplayedValue(o),d=function(e,t,n){let r=[""],i="";for(let a of n)i+=a," "===a||"\n"===a?(r[r.length-1]+=i,i="","\n"===a&&r.push("")):t.getTextWidth(r[r.length-1]+i,e)>e.width&&(r[r.length-1].length&&r.push(""),t.getTextWidth(r[r.length-1]+i,e)>e.width&&(1===i.length?(r[r.length-1]+=i,i=""):(r[r.length-1]+=i.slice(0,-1),i=i[i.length-1],r.push(""))));return r[r.length-1]+=i,r}(e,t,2===l?c.toUpperCase():3===l?c.toLowerCase():c),{shapes:h,charWidths:u,charCoords:p}=t.generateShapes(d,e),f=.5*("number"==typeof n?n:1),m=.5*("number"==typeof r?r:1),g=h.map((e=>(new LZ).fromShape(e,!0)));this.vectorShapes=g;let y=g.map((e=>bK.create({shape:e,parameters:{depth:i,extrudeBevelSegments:s,extrudeBevelSize:a,windingRule:i<=0?GZ.NONZERO:GZ.ODD,subdivisions:this.isLowResolution&&i>0?1:12}}))),v=y.length?_L(y):AQ();v.translate(-f,m,0),this.dispose(),this.wrappedText=d,this.charCoords=p,this.charWidths=u,this.deleteAttribute("extrudeNormal"),Object.entries(v.attributes).forEach((e=>{let[t,n]=e;this.setAttribute(t,n)})),this.setIndex(v.index),this.computeBoundingSphere()}clone(){let e=kW(new pO,kQ.prototype);return e.copy(this),console.log("CloneGeometry",this,e),e}copy(e){return Object.entries(e.attributes).forEach((e=>{let[t,n]=e;this.setAttribute(t,n)})),this.setIndex(e.index),this.userData={parameters:{...e.userData.parameters},type:"TextGeometry"},this}async setText(e){this.font&&await this.font.loadingPromise,await this.update({...this.userData.parameters,text:e})}get text(){var e;return null!==(e=this.userData.parameters.text)&&void 0!==e?e:""}};var wQ,jQ,MQ=new Promise((e=>{wQ=e})),PQ=!1;function OQ(){if(!PQ)return jQ||(jQ=async function(){let e=__webpack_require__.e(917).then(__webpack_require__.bind(__webpack_require__,917)),[t,n]=await Promise.all([e,fetch("".concat("https://unpkg.com/@splinetool/modelling-wasm@1.0.53/build","/process.wasm")).then((e=>e.arrayBuffer()))]),r=t.default,i=await r({wasmBinary:n});wQ(i),PQ=!0}(),jQ)}var TQ=["font"];function IQ(e,t,n,r){var i;let a,s,o;"PathGeometry"===e.type?(s=JSON.parse(JSON.stringify(e)),o=[[],["extrusion"]]):(s={...e},o=[[]]);for(let c of o){let e=s;for(let t of c)e=e[t];for(a in e){let n=e[a];ZU(n)&&!TQ.includes(a)&&(e[a]=t.getVariable(n,[r.uuid,"geometry",...c,a]),ZU(e[a])&&(e[a]=1))}}let l,d={parameters:s,type:s.type};if("PathGeometry"===s.type)d.path=s.path;else if("VectorGeometry"===s.type){let e=LZ.createFromState(s.shape,s.width,s.height);d.shape=e}else if("NonParametricGeometry"===s.type)s.data.groups&&null!==(i=s.data.groups)&&void 0!==i&&i.forEach((e=>{var t;return e.materialIndex=Math.max(null!==(t=e.materialIndex)&&void 0!==t?t:0,0)})),d.geometry=(new XV).parse(s);else{if("SubdivGeometry"===s.type){let t=new HQ(s,n);return t.data=e,t}if("TextGeometry"===s.type)return new kQ(s,t);if("UIGeometry"===s.type)return aQ.create({parameters:{width:s.width,height:s.height,cornerRadius:s.cornerRadius,cornerType:s.cornerType}})}try{l=cX(d)}catch(c){console.error(c)}if(!l){let e=LZ.createFromState(fN.defaultData(),100,100);d.shape=e,l=cX(d)}return l}var CQ=new fP;function EQ(e,t,n,r){let i,a,s,o=e.position.array,l=e.normal.array,c=CQ.makeScale(t,n,r).invert().elements;for(var d=0,h=o.length;d<h;d+=3)o[d]*=t,o[d+1]*=n,o[d+2]*=r,i=l[d],a=l[d+1],s=l[d+2],l[d]=c[0]*i+c[4]*a+c[8]*s,l[d+1]=c[1]*i+c[5]*a+c[9]*s,l[d+2]=c[2]*i+c[6]*a+c[10]*s;e.position.needsUpdate=!0,e.normal.needsUpdate=!0}var VQ,RQ=new zM,DQ=new qM;MQ.then((e=>{VQ=e}));var BQ=new Float32Array([10,10,0,-10,10,0,-10,-10,0,10,-10,0]),GQ=new Uint32Array([0,1,2,3]),qQ=new Uint8Array([4]),HQ=class extends pO{constructor(e,t){super(),this.data=e,this.flatShading=t,this.subdivPointer=0,this.rebuild(),this.freeSubdivPointer()}mutateDirectlyScaleBaked(e,t){this.freeSubdivPointer();let n=this.data.scaleBaked,r=EU.div(t,n);this.subdividedGeometry&&EQ(this.subdividedGeometry.attributes,...r),this.originalGeometry&&EQ(this.originalGeometry.attributes,...r),this.data=e;let i=this.userData.parameters;this.userData.parameters={width:i.width*r[0],height:i.height*r[1],depth:i.depth*r[2]},this.originalGeometry.boundingSphere.center.multiply(DQ.fromArray(r));let a=DQ.set(i.width,i.height,i.depth).length();this.originalGeometry.boundingSphere.radius=a/2}ensureSubdivPointer(){return 0===this.subdivPointer&&this.rebuild(),this.subdivPointer}rebuild(){var e,t;let n,r,i;try{({originalGeometry:n,subdividedGeometry:r,subdivPointer:i}=HQ.build(this.data,void 0,!this.flatShading,void 0))}catch{n=new TO(100,100,100),i=0}this.subdivPointer=i,this.originalGeometry=n,this.subdividedGeometry=null!==(e=r)&&void 0!==e?e:void 0;let a=null!==(t=this.subdividedGeometry)&&void 0!==t?t:this.originalGeometry;Object.assign(this,a),this.calcBoundingBox()}freeSubdivPointer(){this.subdivPointer&&(HQ.freeSubdivPointer(this.subdivPointer),this.subdivPointer=0)}dispose(){super.dispose(),this.freeSubdivPointer()}calcBoundingBox(){let e=this.originalGeometry;null===e.boundingSphere&&(e.boundingSphere=new aP,this.subdividedGeometry&&(this.subdividedGeometry.boundingSphere=e.boundingSphere));let t=e.attributes.position,n=e.boundingSphere.center;RQ.setFromBufferAttribute(t),RQ.getCenter(n),e.boundingSphere.radius=n.distanceTo(RQ.max),isNaN(e.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',this),RQ.getSize(DQ);let r={width:DQ.x,height:DQ.y,depth:DQ.z};return this.userData.parameters=r,r}static build(e,t,n,r){var i;let a,s,o,l=null!==(i=null===e||void 0===e?void 0:e.phongAngle)&&void 0!==i?i:35;!1===n&&(l=-1),t&&(VQ.free_bvh(t),VQ.free_subdivision_surface(t));try{a=HQ.allocate(e,r)}catch(u){console.error(u,e),a=HQ.allocate({positionWASM:BQ,indexWASM:GQ,verticesPerFaceWASM:qQ},r)}if(VQ.set_destination_refinement_level(a,0),s=HQ.buildLevel(a,!0,l),e.subdivisions>0)try{VQ.set_destination_refinement_level(a,e.subdivisions),o=HQ.buildLevel(a,!1,l)}catch{try{VQ.set_destination_refinement_level(a,e.subdivisions-1),o=HQ.buildLevel(a,!1,l)}catch{o=null}}else o=null;return{subdivPointer:a,originalGeometry:s,subdividedGeometry:o}}static primitiveToQuads(e,t,n){e.widthSegments>16&&(e.widthSegments=16),e.heightSegments>16&&(e.heightSegments=16),e.depthSegments>16&&(e.depthSegments=16),e.radialSegments>16&&(e.radialSegments=16),"DodecahedronGeometry"===e.type&&(e.detail=0);let r,i,a,s,o,l,c=void 0!==e.shape||void 0!==e.path?t.geometry:IQ(e,n,!1);if(r="TorusGeometry"===e.type&&e.arc===2*Math.PI?c.getClosedTorusIndicesForBooleanOrSubdiv():c.getIndex(),({positions:i,triIndices:o}=zQ(c.getAttribute("position"),r)),"CylinderGeometry"===e.type&&0===e.cornerRadius&&0===e.hollow&&!1===e.openEnded){let t=e.radialSegments*e.heightSegments*3*2;l=[t,t+3*e.radialSegments]}return({indices:a,verticesPerFace:s}=YQ(i,o,c,l)),{positions:i,indices:a,verticesPerFace:s}}static allocate(e,t){var n;let r,i,a,s=[],o=[];e.positionWASM&&e.positionWASM.length>0?(r=e.positionWASM,i=e.indexWASM,a=e.verticesPerFaceWASM):(r=BQ,i=GQ,a=qQ);let l,c=r.length,d=i.length,h=a.length,u=r.length+s.length+o.length,p=i.length+a.length,f=u*Float32Array.BYTES_PER_ELEMENT+p*Uint32Array.BYTES_PER_ELEMENT,m=u*Float32Array.BYTES_PER_ELEMENT,g=(Uint32Array.BYTES_PER_ELEMENT,VQ._malloc(f)),y=new Float32Array(VQ.HEAPF32.buffer,g,u),v=new Uint32Array(VQ.HEAPU32.buffer,g+m,p);y.set(r,0),y.set(s,r.length),y.set(o,r.length+s.length),v.set(i,0),v.set(a,i.length),null!==e&&void 0!==e&&null!==(n=e.scaleBaked)&&void 0!==n&&n.some((e=>1!==e))&&(l=(new fP).makeScale(...e.scaleBaked)),t&&(l?l.premultiply(t):l=t);let x=l?VQ.alloc_subdivision_surface2(g,c,g+m,d,g+m+i.length*Uint32Array.BYTES_PER_ELEMENT,h,l.elements):VQ.alloc_subdivision_surface(g,c,g+m,d,g+m+i.length*Uint32Array.BYTES_PER_ELEMENT,h);return VQ._free(g),x}static buildLevel(e,t,n,r,i){let a=i?VQ.get_mesh_data2(e,t?VQ.Level.CONTROL:VQ.Level.REFINED,n,i.elements):VQ.get_mesh_data(e,t?VQ.Level.CONTROL:VQ.Level.REFINED,n),s=VQ.HEAPU32.subarray(a>>2,8+(a>>2)),o=s.subarray(4,8),l=0,c=VQ.HEAPU32[s[l]>>2],d=VQ.HEAPF32.subarray(c>>2,(c>>2)+o[l]);l++;let h=VQ.HEAPU32[s[l]>>2],u=VQ.HEAPF32.subarray(h>>2,(h>>2)+o[l]);l++;let p=VQ.HEAPU32[s[l]>>2],f=VQ.HEAPU32.subarray(p>>2,(p>>2)+o[l]);l++;let m=VQ.HEAPU32[s[l]>>2],g=VQ.HEAPU32.subarray(m>>2,(m>>2)+o[l]);if(l++,void 0===r){let e=new pO;if(e.setIndex(new iO(g,1)),e.setAttribute("position",new aO(d,3)),e.setAttribute("normal",new aO(u,3)),t){e.setAttribute("faceMap",new iO(f,1));let t=new Float32Array(u.length/3*4).fill(0);e.setAttribute("color",new nO(t,4))}return VQ.free_mesh_data(a),e.userData.type="SubdivGeometry",e}r.getAttribute("position").copyArray(d),r.getAttribute("normal").copyArray(u),r.attributes.position.needsUpdate=!0,r.attributes.normal.needsUpdate=!0,VQ.free_mesh_data(a)}static freeSubdivPointer(e){VQ.free_bvh(e),VQ.free_subdivision_surface(e)}static buildControlCageWireframe(e,t,n){let r=VQ.get_wireframe_data_for_base_level(e),i=VQ.HEAPU32.subarray(r>>2,4+(r>>2)),a=i.subarray(2,4),s=0,o=VQ.HEAPU32[i[s]>>2],l=VQ.HEAPF32.subarray(o>>2,(o>>2)+a[s]);s++;let c=VQ.HEAPU32[i[s]>>2],d=VQ.HEAPU32.subarray(c>>2,(c>>2)+a[s]);if(void 0===t){let e=new pO;e.setAttribute("position",new aO(l,3));let t=new Float32Array(l.length);for(let r=0,i=l.length;r<i;)t[r++]=n.r,t[r++]=n.g,t[r++]=n.b;return e.setAttribute("color",new nO(t,3)),e.setIndex(new iO(d,1)),VQ.free_wireframe_data_for_base_level(r),e}t.getAttribute("position").copyArray(l),t.attributes.position.needsUpdate=!0,VQ.free_wireframe_data_for_base_level(r)}static updateCollabMesh(e,t,n){let r=0===t;r||VQ.set_destination_refinement_level(e,t);let i=n?VQ.get_topological_data2(e,r?VQ.Level.CONTROL:VQ.Level.REFINED,n.elements):VQ.get_topological_data(e,r?VQ.Level.CONTROL:VQ.Level.REFINED),a=VQ.HEAPU32.subarray(i>>2,6+(i>>2)),s=a.subarray(3,6),o=0,l=VQ.HEAPU32[a[o]>>2],c=new Float32Array(VQ.HEAPF32.subarray(l>>2,(l>>2)+s[o]));o++;let d=VQ.HEAPU32[a[o]>>2],h=new Uint32Array(VQ.HEAPU32.subarray(d>>2,(d>>2)+s[o]));o++;let u=VQ.HEAPU32[a[o]>>2],p=new Uint8Array(VQ.HEAPU32.subarray(u>>2,(u>>2)+s[o]));return VQ.free_topological_data(i),{positions:c,indices:h,verticesPerFace:p}}},WQ=["getX","getY","getZ"];function zQ(e,t){let n={},r=t?t.count:e.count,i=0,a=[],s=[];for(let l=0;l<r;l++){let r=t?t.getX(l):l,o="";for(let t=0;t<3;t++)o+="".concat(~~(1e4*e[WQ[t]](r)),",");if(o in n)a.push(n[o]);else{for(let t=0;t<3;t++)s.push(e[WQ[t]](r));n[o]=i,a.push(i),i++}}let o=[];for(let l=0;l<a.length;l+=3)a[l]===a[l+1]||a[l]===a[l+2]||a[l+1]===a[l+2]||o.push(a[l],a[l+1],a[l+2]);return{positions:s,triIndices:o}}var JQ=new qM,UQ=new qM,NQ=new qM,LQ=new qM;function YQ(e,t,n,r){let i=[],a=[];if(void 0!==n.userData.shape&&0===n.userData.parameters.depth&&0===n.userData.shape.shapeHoles.length){let t=n.userData.shape.extractShapePointsToFlatArray([]),r=n.userData.parameters.spikes;if("EllipseGeometry"===n.userData.type&&r<=24&&r%4===0&&n.userData.parameters.angle>=360){let e=t.length/2/r;t=t.filter(((t,n)=>Math.floor(n/2)%e===0))}let s=0;for(let e=0;e<t.length;e+=2)s+=(t[e]-t[(0===e?t.length:e)-2])*(t[e+1]+t[(0===e?t.length:e)-1]);e.length=0;let o=0;if(s<0)for(let n=0;n<t.length;n+=2)e.push(t[n],t[n+1],0),i.push(o++);else for(let n=t.length-2;n>=0;n-=2)e.push(t[n],t[n+1],0),i.push(o++);return a.push(o),{indices:i,verticesPerFace:a}}let s=new Float32Array([n.userData.parameters.depth])[0],o=0;for(;o<t.length;){if(n.useNgonForTopBottomFaceDuringBake){let n=0;if((e[3*t[o]+2]===s||0===e[3*t[o]+2])&&n++,(e[3*t[o+1]+2]===s||0===e[3*t[o+1]+2])&&n++,(e[3*t[o+2]+2]===s||0===e[3*t[o+2]+2])&&n++,3===n)break}if(t[o+1]===t[o+3]&&t[o+2]===t[o+5]||t[o+0]===t[o+3]&&t[o+2]===t[o+4]){JQ.set(e[3*t[o]],e[3*t[o]+1],e[3*t[o]+2]),UQ.set(e[3*t[o+1]],e[3*t[o+1]+1],e[3*t[o+1]+2]),NQ.set(e[3*t[o+4]],e[3*t[o+4]+1],e[3*t[o+4]+2]),LQ.set(e[3*t[o+5]],e[3*t[o+5]+1],e[3*t[o+5]+2]),UQ.sub(JQ).normalize(),NQ.sub(JQ).normalize(),LQ.sub(JQ).normalize();let n=UQ.cross(NQ).dot(LQ);Math.abs(n)>.005||r&&r.some(((e,t)=>t%2!==1&&(o>=r[t]&&o<r[t+1])))?(i.push(t[o],t[o+1],t[o+2]),a.push(3),o+=3):(i.push(t[o],t[o+1],t[o+4],t[o+5]),a.push(4),o+=6)}else i.push(t[o],t[o+1],t[o+2]),a.push(3),o+=3}if(n.useNgonForTopBottomFaceDuringBake){let t=[],r=[],o=0;for(let n=0,i=0;n<e.length;n+=3,i++)0===e[n+2]&&(t.push(i),o++),e[n+2]===s&&r.push(i);if(0===n.userData.parameters.extrudeBevelSize){let e=r[0];r[0]=r[1],r[1]=e}t.reverse(),i.push(...t,...r),a.push(o,o)}return{indices:i,verticesPerFace:a}}var FQ={};((e,t)=>{for(var n in t)Lb(e,n,{get:t[n],enumerable:!0})})(FQ,{calcBoolean:()=>rX,calcBooleanTopological:()=>nX,freeMeshSet:()=>oX,getMeshSet:()=>iX,hasOpenEdges:()=>aX,transformMeshSet:()=>sX});var ZQ,KQ,QQ,XQ,_Q=new Promise((e=>{ZQ=e}));function $Q(){if(KQ)return KQ;return KQ=async function(){let e=__webpack_require__.e(516).then(__webpack_require__.bind(__webpack_require__,516)),[t,n]=await Promise.all([e,fetch("".concat("https://unpkg.com/@splinetool/boolean-wasm@1.0.53/build","/boolean.wasm")).then((e=>e.arrayBuffer()))]),r=t.default,i=await r({wasmBinary:n});ZQ(i)}(),KQ}function eX(e){let t=e.length,n=t*Uint32Array.BYTES_PER_ELEMENT,r=t*Float32Array.BYTES_PER_ELEMENT,i=Number.isInteger(e[0])?n:r,a=QQ._malloc(i);return(Number.isInteger(e[0])?new Uint32Array(QQ.HEAPU32.buffer,a,t):new Float32Array(QQ.HEAPF32.buffer,a,t)).set(e,0),a}function tX(e){switch(e){case 0:return QQ.OP.UNION;case 1:return QQ.OP.INTERSECTION;case 2:return QQ.OP.A_MINUS_B;case 3:return QQ.OP.B_MINUS_A;case 4:return QQ.OP.SYMMETRIC_DIFFERENCE;case 5:return QQ.OP.ALL;default:throw new Error("Unknown boolean operation "+e)}}function nX(e,t){void 0===XQ&&(XQ=QQ.init_csg());let n=eX(e),r=QQ.csg_calc_topological(XQ,n,e.length,tX(t));QQ._free(n);let i=QQ.HEAPU32.subarray(r>>2,6+(r>>2)),a=i.subarray(3,6),s=0,o=QQ.HEAPU32[i[s]>>2],l=new Float32Array(QQ.HEAPF32.subarray(o>>2,(o>>2)+a[s]));s++;let c=QQ.HEAPU32[i[s]>>2],d=new Uint32Array(QQ.HEAPU32.subarray(c>>2,(c>>2)+a[s]));s++;let h=QQ.HEAPU32[i[s]>>2],u=new Uint8Array(QQ.HEAPU32.subarray(h>>2,(h>>2)+a[s]));return QQ.free_mesh_data(r),{positions:l,indices:d,verticesPerFace:u}}function rX(e,t,n,r){void 0===XQ&&(XQ=QQ.init_csg());let i=eX(e),a=QQ.csg_calc(XQ,i,e.length,r,tX(t));QQ._free(i);let s=QQ.HEAPU32.subarray(a>>2,5+(a>>2)),o=s.subarray(2,5),l=0,c=QQ.HEAPU32[s[l]>>2],d=QQ.HEAPF32.subarray(c>>2,(c>>2)+o[l]);l++;let h=QQ.HEAPU32[s[l]>>2],u=QQ.HEAPF32.subarray(h>>2,(h>>2)+o[l]);l++;let p=o[l];n.setAttribute("position",new aO(d,3)),n.setAttribute("normal",new aO(u,3));let f=QQ.HEAPF32.subarray(5+(a>>2),5+(a>>2)+6);return null===n.boundingSphere&&(n.boundingSphere=new aP),n.boundingSphere.center.set(f[0],f[1],f[2]),n.boundingSphere.radius=(f[3]**2+f[4]**2+f[5]**2)**.5,n.userData.parameters={width:2*f[3],height:2*f[4],depth:2*f[5]},QQ.free_mesh_data(a),p}function iX(e,t,n){if(void 0===QQ)return-1;let r,i,a;if(t&&void 0!==e.userData.positions){let t=e.userData;a=t.verticesPerFace.length,r=t.positions,i=Array(t.verticesPerFace.reduce(((e,t)=>e+t),0)+a);for(let e=0,n=0,r=0;e<t.verticesPerFace.length;e++){i[r++]=t.verticesPerFace[e];for(let a=0;a<t.verticesPerFace[e];a++)i[r++]=t.indices[n++]}}else({positions:r,faceIndices:i,nFaces:a}=function(e,t,n){let r,i;i="TorusGeometry"===e.userData.parameters.type&&e.userData.parameters.arc===2*Math.PI?e.getClosedTorusIndicesForBooleanOrSubdiv():e.getIndex();let a,{positions:s,triIndices:o}=zQ(e.getAttribute("position"),i);if(t&&n){let{indices:t,verticesPerFace:n}=YQ(s,o,e);a=n.length,r=[];for(let e=0,i=0;e<a;e++){r.push(n[e]);for(let a=0;a<n[e];a++)r.push(t[i++])}}else{let e=o.length;r=Array(e+e/3),a=0;for(let t=0,n=0;n<r.length;)r[n++]=3,a++,r[n++]=o[t++],r[n++]=o[t++],r[n++]=o[t++]}return{positions:s,faceIndices:r,nFaces:a}}(e,t,n));let s=r.length,o=i.length,l=r.length,c=i.length,d=l*Float32Array.BYTES_PER_ELEMENT+c*Uint32Array.BYTES_PER_ELEMENT,h=l*Float32Array.BYTES_PER_ELEMENT,u=(Uint32Array.BYTES_PER_ELEMENT,QQ._malloc(d)),p=new Float32Array(QQ.HEAPF32.buffer,u,l),f=new Uint32Array(QQ.HEAPU32.buffer,u+h,c);p.set(r,0),f.set(i,0);let m=QQ.get_csg_mesh(u,s,u+h,o,a);return QQ._free(u),m}function aX(e){return QQ.has_open_edges(e)}function sX(e,t){QQ.transform_csg_mesh(e,t.elements)}function oX(e){QQ.free_csg_mesh(e)}_Q.then((e=>QQ=e));var lX={ConeGeometry:class{static create(e){return this.build(this.normalizeInputs(e))}static normalizeInputs(e,t){var n,r,i;let a=Object.assign({},null!==(n=null===t||void 0===t?void 0:t.parameters)&&void 0!==n?n:{width:100,radialSegments:32,heightSegments:8,openEnded:!1,thetaStart:0,thetaLength:360,cornerRadiusTop:8,cornerRadiusBottom:8,cornerSegments:8},e.parameters);return a.thetaLength=lM.clamp(a.thetaLength,0,360),{parameters:Object.assign(a,{width:Math.abs(a.width),height:Math.abs(null!==(r=a.height)&&void 0!==r?r:a.width),depth:Math.abs(null!==(i=a.depth)&&void 0!==i?i:a.width)})}}static build(e){let t,{width:n,depth:r,height:i,radialSegments:a,heightSegments:s,openEnded:o,thetaStart:l,thetaLength:c,cornerRadiusTop:d,cornerRadiusBottom:h,cornerSegments:u}=e.parameters;return 0===c?(t=new pO,t.setAttribute("position",new aO([],3))):t=d>0||h>0||c<360?new aZ(0,n/2,i,a,s,o,l,c*Math.PI/180,d,h,u,0,!0):new wE(n/2,i,a,s,o),t.scale(1,1,r/n),Object.assign(t,{userData:{...e,type:"ConeGeometry"}})}},CubeGeometry:class{static create(e){return this.build(this.normalizeInputs(e))}static normalizeInputs(e,t){var n,r,i;let a=Object.assign({},null!==(n=null===t||void 0===t?void 0:t.parameters)&&void 0!==n?n:{width:100,widthSegments:1,heightSegments:1,depthSegments:1,cornerRadius:8,cornerSegments:8},e.parameters);return{parameters:Object.assign(a,{width:Math.abs(a.width),height:Math.abs(null!==(r=a.height)&&void 0!==r?r:a.width),depth:Math.abs(null!==(i=a.depth)&&void 0!==i?i:a.width)})}}static build(e){let t,{width:n,height:r,depth:i,widthSegments:a,heightSegments:s,depthSegments:o,cornerRadius:l,cornerSegments:c}=e.parameters;return t=0==l?new TO(n,r,i,a,s,o):new oZ(n,r,i,a,s,o,l,c),Object.assign(t,{userData:{...e,type:"CubeGeometry"}})}},CylinderGeometry:nZ,DodecahedronGeometry:class{static create(e){return this.build(this.normalizeInputs(e))}static normalizeInputs(e,t){var n,r,i;let a=Object.assign({},null!==(n=null===t||void 0===t?void 0:t.parameters)&&void 0!==n?n:{width:100,detail:0,corner:0,cornerSides:4},e.parameters);return{parameters:Object.assign(a,{width:Math.abs(a.width),height:Math.abs(null!==(r=a.height)&&void 0!==r?r:a.width),depth:Math.abs(null!==(i=a.depth)&&void 0!==i?i:a.width)})}}static build(e){let{width:t,height:n,depth:r,detail:i,corner:a,cornerSides:s}=e.parameters,o=0===i&&0!==a?new cZ(.5*t,a,s):new ME(.5*t,i);return o.scale(1,n/t,r/t),Object.assign(o,{userData:{...e,type:"DodecahedronGeometry"}})}},EllipseGeometry:wK,HelixGeometry:class{static create(e){return this.build(this.normalizeInputs(e))}static normalizeInputs(e,t){var n,r,i;let a=Object.assign({},null!==(n=null===t||void 0===t?void 0:t.parameters)&&void 0!==n?n:{width:100,revolutions:2,segments:40,pathRadius:10,pathType:0,pathSegments:30,cornerRadius:30,cornerSegments:4},e.parameters),s=Math.abs(a.width),o=Math.abs(null!==(r=a.height)&&void 0!==r?r:s),l=Math.abs(null!==(i=a.depth)&&void 0!==i?i:s),c=Math.abs(Math.min(s,l))/2;return{parameters:Object.assign(a,{width:s,height:o,depth:l,radius:c,segments:Math.round(a.segments),pathSegments:Math.round(a.pathSegments),cornerSegments:Math.round(a.cornerSegments)})}}static build(e){let{width:t,height:n,depth:r,radius:i,revolutions:a,segments:s,pathRadius:o,pathType:l,pathSegments:c,cornerRadius:d,cornerSegments:h}=e.parameters,u=new EK(!1,t,n,r,i,a,s,o,l,c,d,h);return Object.assign(u,{userData:{...e,type:"HelixGeometry"}})}},IcosahedronGeometry:class{static create(e){return this.build(this.normalizeInputs(e))}static normalizeInputs(e,t){var n,r,i;let a=Object.assign({},null!==(n=null===t||void 0===t?void 0:t.parameters)&&void 0!==n?n:{width:100,detail:0,corner:0,cornerSides:4},e.parameters);return{parameters:Object.assign(a,{width:Math.abs(a.width),height:Math.abs(null!==(r=a.height)&&void 0!==r?r:a.width),depth:Math.abs(null!==(i=a.depth)&&void 0!==i?i:a.width)})}}static build(e){let{width:t,height:n,depth:r,detail:i,corner:a,cornerSides:s}=e.parameters,o=0===i&&0!==a?new VK(.5*t,a,s):new nV(.5*t,i);return o.scale(1,n/t,r/t),Object.assign(o,{userData:{...e,type:"IcosahedronGeometry"}})}},LatheGeometry:class{static create(e){return this.build(this.normalizeInputs(e))}static normalizeInputs(e,t){var n,r,i,a,s;(null!==(n=null===(r=e.parameters)||void 0===r?void 0:r.points)&&void 0!==n?n:[]).forEach((e=>{Array.isArray(e)&&(e.x=e[0],e.y=e[1])}));let o=Object.assign({},null!==(i=null===t||void 0===t?void 0:t.parameters)&&void 0!==i?i:{width:100,segments:64,verticalSegments:64,points:[{x:0,y:-50,id:0},{x:50,y:-50,id:1},{x:50,y:50,id:2},{x:0,y:50,id:3}]},e.parameters);return{parameters:Object.assign(o,{width:Math.abs(o.width),height:Math.abs(null!==(a=o.height)&&void 0!==a?a:o.width),depth:Math.abs(null!==(s=o.depth)&&void 0!==s?s:o.width)})}}static build(e){let{points:t,segments:n,verticalSegments:r}=e.parameters,i=new PE;i.moveTo(t[0].x,t[0].y),i.bezierCurveTo(t[1].x,t[1].y,t[2].x,t[2].y,t[3].x,t[3].y);let a=new bE(i.extractPoints(r).shape,n);return a.rotateZ(Math.PI),Object.assign(a,{userData:{...e,type:"LatheGeometry"}})}},NonParametricGeometry:class{static create(e){return this.build(this.normalizeInputs(e))}static normalizeInputs(e,t){var n,r;let i,a=null!==(n=null!==(r=e.geometry)&&void 0!==r?r:null===t||void 0===t?void 0:t.geometry)&&void 0!==n?n:(new pO).copy(new TO(100,100,100));void 0===t?(a.computeBoundingBox(),a.boundingBox.getSize($K),i={width:$K.x,height:$K.y,depth:$K.z,subdivisions:0}):i=t.parameters;let s={...i,...e.parameters};return{parameters:{width:Math.abs(s.width),height:Math.abs(s.height),depth:Math.abs(s.depth),subdivisions:Math.abs(s.subdivisions)},geometry:a}}static build(e){var t;let{width:n,height:r,depth:i,subdivisions:a}=e.parameters,s=null!==(t=e.geometry)&&void 0!==t?t:(new pO).copy(new TO(100,100,100)),o=s.userData.parameters;void 0===o?(s.computeBoundingBox(),s.boundingBox.getSize($K)):$K.set(o.width,o.height,o.depth),(n!==$K.x||r!==$K.y||i!==$K.z)&&s.scale(0===$K.x?1:n/$K.x,0===$K.y?1:r/$K.y,0===$K.z?1:i/$K.z);let l=s.originalGeometry;try{a>0?(void 0===l||(null===o||void 0===o?void 0:o.subdivisions)!==a)&&(void 0===l&&(l=s),s=new _K(a).modify(l).toBufferGeometry()):(void 0!==l&&(s=l),l=void 0,void 0===s.getAttribute("normal")&&s.computeVertexNormals())}catch{void 0!==l&&(s=l),l=void 0,void 0===s.getAttribute("normal")&&s.computeVertexNormals()}return void 0!==l&&Object.assign(s,{originalGeometry:l}),delete e.geometry,Object.assign(s,{userData:{...e,type:"NonParametricGeometry"}})}static loadFromUrl(e,t,n){new XV(n).load(e,(e=>{let n=this.normalizeInputs({geometry:e});e.boundingBox.getSize($K);let r=100/$K.x;Object.assign(n.parameters,{width:100,height:$K.y*r,depth:$K.z*r}),t(this.build(n))}))}},PolygonGeometry:eQ,PyramidGeometry:class{static create(e){return this.build(this.normalizeInputs(e))}static normalizeInputs(e,t){var n,r,i;let a=Object.assign({},null!==(n=null===t||void 0===t?void 0:t.parameters)&&void 0!==n?n:{width:100,radialSegments:4,heightSegments:1,cornerRadius:0,cornerSegments:8,openEnded:!1},e.parameters);return{parameters:Object.assign(a,{width:Math.abs(a.width),height:Math.abs(null!==(r=a.height)&&void 0!==r?r:a.width),depth:Math.abs(null!==(i=a.depth)&&void 0!==i?i:a.width)})}}static build(e){let{width:t,height:n,depth:r,radialSegments:i,heightSegments:a,openEnded:s,cornerRadius:o,cornerSegments:l}=e.parameters,c=new iQ(.5*t,n,i,a,s,o,l);return c.scale(1,1,r/t),Object.assign(c,{userData:{...e,type:"PyramidGeometry"}})}},RectangleGeometry:aQ,SphereGeometry:class{static create(e){return this.build(this.normalizeInputs(e))}static normalizeInputs(e,t){var n,r,i;let a=Object.assign({},null!==(n=null===t||void 0===t?void 0:t.parameters)&&void 0!==n?n:{width:100,widthSegments:64,heightSegments:64,phiStart:0,phiLength:2*Math.PI,thetaStart:0,thetaLength:180},e.parameters);return a.thetaLength=lM.clamp(a.thetaLength,0,180),{parameters:Object.assign(a,{width:Math.abs(a.width),height:Math.abs(null!==(r=a.height)&&void 0!==r?r:a.width),depth:Math.abs(null!==(i=a.depth)&&void 0!==i?i:a.width)})}}static build(e){let t,{width:n=100,height:r=n,depth:i=n,widthSegments:a=64,heightSegments:s=64,phiStart:o,phiLength:l,thetaStart:c,thetaLength:d}=e.parameters;return 0===d?(t=new pO,t.setAttribute("position",new aO([],3))):t=new rV(.5*n,a,s,o,l,c,d*lM.DEG2RAD),t.scale(1,r/n,i/n),Object.assign(t,{userData:{...e,type:"SphereGeometry"}})}},PlaneGeometry:class{static create(e){return this.build(this.normalizeInputs(e))}static normalizeInputs(e,t){var n,r;let i=Object.assign({},null!==(n=null===t||void 0===t?void 0:t.parameters)&&void 0!==n?n:{width:100,depth:0,widthSegments:8,heightSegments:8},e.parameters);return{parameters:Object.assign(i,{width:Math.abs(i.width),height:Math.abs(null!==(r=i.height)&&void 0!==r?r:i.width),depth:0})}}static build(e){let{width:t=100,height:n=t,widthSegments:r=8,heightSegments:i=8}=e.parameters,a=new QO(t,n,r,i);return a.scale(1,1,1),Object.assign(a,{userData:{...e,type:"PlaneGeometry"}})}},BackdropGeometry:class{static create(e){return this.build(this.normalizeInputs(e))}static normalizeInputs(e,t){var n,r,i;let a=Object.assign({},null!==(n=null===t||void 0===t?void 0:t.parameters)&&void 0!==n?n:{width:100,angle:90,cornerRadius:24,cornerSegments:8},e.parameters);return{parameters:Object.assign(a,{width:Math.abs(a.width),height:Math.abs(null!==(r=a.height)&&void 0!==r?r:a.width),depth:Math.abs(null!==(i=a.depth)&&void 0!==i?i:a.width)})}}static build(e){let{width:t,height:n,depth:r,angle:i,cornerRadius:a,cornerSegments:s}=e.parameters,o=new sQ(t,n,r,i,a,s);return Object.assign(o,{userData:{...e,type:"BackdropGeometry"}})}},StarGeometry:oQ,TextFrameGeometry:class{static create(e){return this.build(this.normalizeInputs(e))}static normalizeInputs(e,t){var n,r,i;let a=Object.assign({},null!==(n=null===t||void 0===t?void 0:t.parameters)&&void 0!==n?n:{width:100,depth:0},e.parameters);return{parameters:Object.assign(a,{width:Math.abs(a.width),height:Math.abs(null!==(r=a.height)&&void 0!==r?r:a.width),depth:Math.abs(null!==(i=a.depth)&&void 0!==i?i:0)})}}static build(e){let{width:t,height:n}=e.parameters,r=new QO(t,n);return Object.assign(r,{userData:{...e,type:"TextFrameGeometry"}})}},TorusGeometry:class{static create(e){return this.build(this.normalizeInputs(e))}static normalizeInputs(e,t){var n,r,i;let a=Object.assign({},null!==(n=null===t||void 0===t?void 0:t.parameters)&&void 0!==n?n:{width:100,radialSegments:32,tubularSegments:64,arc:360,cornerRadius:30,cornerSegments:8},e.parameters),s=Math.abs(a.width),o=Math.abs(null!==(r=a.height)&&void 0!==r?r:a.width),l=Math.round(Math.abs(null!==(i=a.depth)&&void 0!==i?i:.25*a.width));return{parameters:Object.assign(a,{width:s,height:o,depth:l})}}static build(e){let{width:t,height:n,depth:r,radialSegments:i,tubularSegments:a,arc:s,cornerRadius:o,cornerSegments:l}=e.parameters,c=function(e,t,n,r,i,a,s,o,l,c,d){[t,n]=[n,t],s=t/2;let h=lM.clamp(i/360,0,1);if(0===h){let e=new pO;return e.setAttribute("position",new aO([],3)),e}return 1===h&&(c=0),new EK(!0,e,t,n,r,h,a,s,o,l,c,d)}(t,n,r,.5*t,s,a,0,0,i,o,l);return c.scale(1,n/t,1),Object.assign(c,{userData:{...e,type:"TorusGeometry"}})}},TorusKnotGeometry:class{static create(e){return this.build(this.normalizeInputs(e))}static normalizeInputs(e,t){var n,r,i,a;let s=Object.assign({},null!==(n=null===t||void 0===t?void 0:t.parameters)&&void 0!==n?n:{width:100,tubularSegments:64,radialSegments:32,p:2,q:3},e.parameters);return{parameters:Object.assign(s,{width:Math.abs(s.width),height:Math.abs(null!==(r=s.height)&&void 0!==r?r:s.width),depth:Math.abs(null!==(i=s.depth)&&void 0!==i?i:s.width),tube:null!==(a=s.tube)&&void 0!==a?a:.125*s.width})}}static build(e){let{width:t,tube:n,tubularSegments:r,radialSegments:i,p:a,q:s}=e.parameters,o=.5*t;o!==n&&(o-=n);let l=new aV(o,n,r,i,a,s);return Object.assign(l,{userData:{...e,type:"TorusKnotGeometry"}})}},TriangleGeometry:class{static create(e){return this.build(this.normalizeInputs(e))}static normalizeInputs(e,t){var n,r,i;let a=Object.assign({},null!==(n=null===t||void 0===t?void 0:t.parameters)&&void 0!==n?n:{width:100,depth:0,spikes:5,cornerRadius:0,extrudeBevelSize:0,extrudeBevelSegments:1,isRect:!1},e.parameters);return{shape:e.shape&&e.shape instanceof LZ?e.shape:new LZ,parameters:Object.assign(a,{width:Math.abs(a.width),height:Math.abs(null!==(r=a.height)&&void 0!==r?r:a.width*(a.isRect?1:Math.sqrt(3)/2)),depth:Math.abs(null!==(i=a.depth)&&void 0!==i?i:0)})}}static build(e){let{width:t=100,height:n,cornerRadius:r,depth:i,extrudeBevelSize:a,extrudeBevelSegments:s,isRect:o}=e.parameters,l=e.shape,c=.5*t,d=.5*n;o?(l.addPoint(l.createPoint(-c,d)),l.addPoint(l.createPoint(c,-d)),l.addPoint(l.createPoint(-c,-d))):(l.addPoint(l.createPoint(0,d)),l.addPoint(l.createPoint(c,-d)),l.addPoint(l.createPoint(-c,-d))),l.isClosed=!0;for(let u=0,p=l.points.length;u<p;u++)l.points[u].roundness=r;l.roundness=r,l.update();let h=bK.create({shape:l,parameters:{roundness:r,depth:i,extrudeBevelSize:a,extrudeBevelSegments:s}});return Object.assign(h,{userData:{...e,type:"TriangleGeometry"}})}},PathGeometry:class{static create(e){return this.build(this.normalizeInputs(e))}static normalizeInputs(e,t){var n,r,i,a,s;let o=Object.assign({},null!==(n=null===t||void 0===t?void 0:t.parameters)&&void 0!==n?n:{width:100,height:100,depth:1,subdivisions:12,roundness:0,extrudeBevelSize:0,extrudeBevelSegments:3},e.parameters),l=Math.abs(o.width),c=Math.abs(null!==(r=o.height)&&void 0!==r?r:o.width),d=Math.abs(null!==(i=o.depth)&&void 0!==i?i:0),h=null!==(a=null===t||void 0===t?void 0:t.shapeData)&&void 0!==a?a:wK.create({parameters:xN}).userData.shape;return{path:null!==(s=e.path)&&void 0!==s?s:mN.defaultData(),parameters:Object.assign(o,{width:l,height:c,depth:d,extrusion:{...kN,...o.extrusion}}),shapeData:h}}static build(e){if(e.path.points.length>=2){let t=new SQ(e);return Object.assign(t,{userData:{...e,type:"PathGeometry"}})}return Object.assign(new pO,{userData:{...e,type:"PathGeometry"}})}},VectorGeometry:bK},cX=e=>lX[e.type].create(e);function dX(e){return null!==e&&"booleanOp"in e}var hX=class extends(tZ(PO)){constructor(){super(...arguments),this.booleanMeshSetAddress=-1,this.booleanWasTransformed=!1,this.booleanMatrixInvOld=new fP}updateVisible(e){super.updateVisible(e),this.visible=!dX(this.parent)&&this.visible,dX(this.parent)&&this.parent.invalidateDownstreamBooleanData()}freeBooleanPointer(){-1!==this.booleanMeshSetAddress&&(FQ.freeMeshSet(this.booleanMeshSetAddress),this.booleanMeshSetAddress=-1)}invalidateDownstreamBooleanData(){return arguments.length>0&&void 0!==arguments[0]&&arguments[0]?this.booleanWasTransformed=!0:this.freeBooleanPointer(),dX(this.parent)?this.parent.invalidateDownstreamBooleanData():this}invalidateUpstreamBooleanData(){this.freeBooleanPointer();for(let e of this.children)e instanceof hX&&(e.freeBooleanPointer(),dX(e)&&e.invalidateUpstreamBooleanData())}updateTransformState(e,t){let n=super.updateTransformState(e,t);return n&&dX(this.parent)&&this.invalidateDownstreamBooleanData(!0),n}onVariableUpdate(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];super.onVariableUpdate(e),dX(this.parent)&&this.invalidateDownstreamBooleanData(!0)}},uX=new zM;function pX(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.count,r=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0,a=1/0,s=1/0,o=1/0,l=-1/0,c=-1/0,d=-1/0;for(let h=t;h<n;h++){let t=e.getX(h),n=e.getY(h),r=e.getZ(h);t<a&&(a=t),n<s&&(s=n),r<o&&(o=r),t>l&&(l=t),n>c&&(c=n),r>d&&(d=r)}uX.min.set(a,s,o),uX.max.set(l,c,d),uX.getCenter(r),uX.getSize(i).multiplyScalar(.5)}var fX=new pO,mX=new $P,gX=class extends hX{constructor(e,t){super(fX,mX),this.super_Entity(e,t)}updateState(e,t){this.updateState_Entity(e,t)}updateEntityBoxSize(e,t){let n=this.geometry.getAttribute("position");void 0!==n?pX(n,this.geometry.drawRange.start,this.geometry.drawRange.count<1/0?this.geometry.drawRange.count:n.count,e,t):super.updateEntityBoxSize(e,t)}},yX=class{constructor(e){var t;e=null!==(t=e)&&void 0!==t?t:{},this.name=e.name,this.type=e.type,this.node=e.node,this.size=e.size,this.needsUpdate=e.needsUpdate}get value(){return this.node.value}set value(e){this.node.value=e}},vX=class{constructor(e){this.hashProperties=void 0,this.isNode=!0,this.shortcuts={},this.uuid=lM.generateUUID(),this.type=e,this.name=""}analyze(e,t){var n;t=null!==(n=t)&&void 0!==n?n:{},e.analyzing=!0,this.build(e.addFlow(t.slot,t.cache,t.context),"v4"),e.clearVertexNodeCode(),e.clearFragmentNodeCode(),e.removeFlow(),e.analyzing=!1}analyzeAndFlow(e,t,n){var r;return n=null!==(r=n)&&void 0!==r?r:{},this.analyze(e,n),this.flow(e,t,n)}flow(e,t,n){var r;n=null!==(r=n)&&void 0!==r?r:{},e.addFlow(n.slot,n.cache,n.context);let i={result:this.build(e,t),code:e.clearNodeCode(),extra:e.context.extra};return e.removeFlow(),i}build(e,t,n){var r;t=null!==(r=t)&&void 0!==r?r:this.getType(e,t);let i=e.getNodeData(null!==n&&void 0!==n?n:this);return e.analyzing&&this.appendDepsNode(e,i,t),-1===e.nodes.indexOf(this)&&e.nodes.push(this),void 0!==this.updateFrame&&-1===e.updaters.indexOf(this)&&e.updaters.push(this),this.generate(e,t,n)}updateFrame(e){}generateReadonly(e,t,n,r,i,a){return""}generate(e,t,n,r,i){return""}parse(e,t,n,r){}appendDepsNode(e,t,n){t.deps=(t.deps||0)+1;let r=e.getTypeLength(n);(r>(t.outputMax||0)||this.getType(e,n))&&(t.outputMax=r,t.output=n)}setName(e){this.name=e}getName(){return this.name}getType(e,t){return"sampler2D"===t||"samplerCube"===t?t:this.type}getHash(){let e,t,n="{";for(e in this)t=this[e],t instanceof vX&&(n+='"'+e+'":'+t.getHash()+",");if(this.hashProperties)for(let r=0;r<this.hashProperties.length;r++)e=this.hashProperties[r],t=this[e],n+='"'+e+'":"'+String(t)+'",';return n+='"id":"'+this.uuid+'"}',n}},xX=new class{constructor(){this.nodes={},this.keywords={}}add(e){this.nodes[e.name]=e}addKeyword(e,t,n){n=void 0===n||n,this.keywords[e]={callback:t,cache:n}}remove(e){delete this.nodes[e.name]}removeKeyword(e){delete this.keywords[e]}get(e){return this.nodes[e]}getKeyword(e,t){return this.keywords[e].callback(t)}getKeywordData(e){return this.keywords[e]}contains(e){return void 0!==this.nodes[e]}containsKeyword(e){return void 0!==this.keywords[e]}},SX=class extends vX{constructor(e,t){var n;super(e),this.scope="",t=null!==(n=t)&&void 0!==n?n:{},this.shared=void 0===t.shared||t.shared,this.unique=void 0!==t.unique&&t.unique}build(e,t,n,r){var i;if(t=null!==(i=t)&&void 0!==i?i:this.getType(e),this.getShared(e,t)){var a;let i=this.getUnique(e,t);i&&void 0===this.uuid&&(this.uuid=lM.generateUUID()),n=e.getUUID(null!==(a=n)&&void 0!==a?a:this.getUUID(),!i);let s=e.getNodeData(n),o=s.output||this.getType(e);if(e.analyzing)return(s.deps||0)>0||this.getLabel()?(this.appendDepsNode(e,s,t),this.generate(e,t,n)):super.build(e,t,n);if(i)return s.name=s.name||super.build(e,t,n),s.name;if(!this.getLabel()&&(!this.getShared(e,o)||e.context.ignoreCache||1===s.deps))return super.build(e,t,n);n=this.getUUID(!1);let l=this.getTemp(e,n);if(l)return e.format(l,o,t);{l=super.generate(e,t,n,s.output,r);let i=this.generate(e,o,n);return e.addNodeCode(l+" = "+i+";"),e.format(l,o,t)}}return super.build(e,t,n)}getShared(e,t){return"sampler2D"!==t&&"samplerCube"!==t&&this.shared}getUnique(e,t){return this.unique}setLabel(e){return this.label=e,this}getLabel(){return this.label}getUUID(e){let t=this.uuid;return"string"==typeof this.scope&&(t=this.scope+"-"+t),t}getTemp(e,t){t=t||this.uuid;let n=e.getVars()[t];return n?n.name:void 0}generate(e,t,n,r,i){var a;return this.getShared(e,t)||console.error("TempNode is not shared"),n=null!==(a=n)&&void 0!==a?a:this.uuid,e.getTempVar(n,null!==r&&void 0!==r?r:this.getType(e),i,this.getLabel()).name}},AX=class extends SX{constructor(e,t){var n;(t=null!==(n=t)&&void 0!==n?n:{}).shared=void 0!==t.shared&&t.shared,super(e,t),this.readonly=!1}setReadonly(e){return this.readonly=e,this.hashProperties=this.readonly?["value"]:void 0,this}getReadonly(){return this.readonly}generate(e,t,n,r,i,a){var s,o;n=e.getUUID(null!==(s=n)&&void 0!==s?s:this.getUUID()),r=null!==(o=r)&&void 0!==o?o:this.getType(e);let l=e.getNodeData(n);return this.getReadonly()&&void 0!==this.generateReadonly?this.generateReadonly(e,t,n,r,i,a):e.isShader("vertex")?(l.vertex||(l.vertex=e.createVertexUniform(r,this,i,a,this.getLabel())),e.format(l.vertex.name,r,t)):(l.fragment||(l.fragment=e.createFragmentUniform(r,this,i,a,this.getLabel())),e.format(l.fragment.name,r,t))}},bX=class extends AX{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0;super("v2"),this.nodeType="Vector2",this.value=e instanceof cM?e:new cM(e,t)}get x(){return this.value.x}set x(e){this.value.x=e}get y(){return this.value.y}set y(e){this.value.y=e}generateReadonly(e,t,n,r,i,a){return e.format("vec2("+this.value.x+", "+this.value.y+")",r,t)}},kX=class extends AX{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;super("v3"),this.nodeType="Vector3",this.value=e instanceof qM?e:new qM(e,t,n)}get x(){return this.value.x}set x(e){this.value.x=e}get y(){return this.value.y}set y(e){this.value.y=e}get z(){return this.value.z}set z(e){this.value.z=e}generateReadonly(e,t,n,r,i,a){return e.format("vec3("+this.value.x+", "+this.value.y+", "+this.value.z+")",r,t)}},wX=class extends MM{constructor(e,t,n,r){super(e,t,n),this.isColorA=!0,this.a=r}setRGBA(e,t,n,r){super.setRGB(e,t,n),this.a=r}copy(e){return super.copy(e),this.a="a"in e?e.a:1,this}clone(){return new this.constructor(this.r,this.g,this.b,this.a)}equals(e){return super.equals(e)&&this.a===e.a}setStyle(e){let t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"srgb";if("transparent"===e)return this.setRGBA(0,0,0,0),this;if(t=/^((?:rgb|hsl)a?)\(([^)]*)\)/.exec(e)){let r,i=t[1],a=t[2];switch(i){case"rgb":case"rgba":if(r=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return this.a="rgba"===i?parseFloat(r[4]):1,super.setStyle(e,n);break;case"hsl":case"hsla":if(r=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)%\s*,\s*(\d*\.?\d+)%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return this.a="hsla"===i?parseFloat(r[4]):1,super.setStyle(e,n)}}return super.setStyle(e,n)}get x(){return this.r}get y(){return this.g}get z(){return this.b}get w(){return this.a}set x(e){this.r=e}set y(e){this.g=e}set z(e){this.b=e}set w(e){this.a=e}},jX=class extends AX{constructor(e){super("v4"),this.nodeType="Vector4",this.value=e instanceof wX?e:new wX(e.r,e.g,e.b,e.a)}generateReadonly(e,t,n,r,i,a){return e.format("vec4("+this.value.r+", "+this.value.g+", "+this.value.b+", "+this.value.a+")",r,t)}},MX=/^\s*([a-z_0-9]+)\s([a-z_0-9]+)\s*\((.*?)\)/i,PX=/[a-z_0-9]+/gi,OX=class extends SX{constructor(e,t,n,r,i){super(i),this.src="",this.nodeType="Function",this.useKeywords=!0,this.includes=[],this.extensions={},this.keywords={},this.isMethod=void 0===i,this.isInterface=!1,this.parse(e,t,n,r)}getShared(e,t){return!this.isMethod}getType(e){return e.getTypeByFormat(this.type)}getInputByName(e){if(this.inputs){let t=this.inputs.length;for(;t--;)if(this.inputs[t].name===e)return this.inputs[t]}}getIncludeByName(e){if(this.includes){let t=this.includes.length;for(;t--;)if(this.includes[t].name===e)return this.includes[t]}}generate(e,t,n,r,i){let a,s=0,o=this.src;if(this.includes)for(let c=0;c<this.includes.length;c++)e.include(this.includes[c],this);for(let c in this.extensions)e.extensions[c]=!0;let l=[];for(;a=PX.exec(this.src);)l.push(a);for(let c=0;c<l.length;c++){let t=l[c],n=t[0],r=!this.isMethod||!this.getInputByName(n),i=n;if(this.keywords[n]||this.useKeywords&&r&&xX.containsKeyword(n)){let t=this.keywords[n];if(!t){let r=xX.getKeywordData(n);r.cache&&(t=e.keywords[n]),t=t||xX.getKeyword(n,e),r.cache&&(e.keywords[n]=t)}i=t.build(e)}n!==i&&"."!==o[t.index+s-1]&&(o=o.substring(0,t.index+s)+i+o.substring(t.index+n.length+s),s+=i.length-n.length),void 0===this.getIncludeByName(i)&&xX.contains(i)&&e.include(xX.get(i))}return"source"===t?o:this.isMethod?(this.isInterface||e.include(this,void 0,o),this.name):e.format("( "+o+" )",this.getType(e),t)}parse(e,t,n,r){if(this.src=e||"",this.includes=null!==t&&void 0!==t?t:[],this.extensions=null!==n&&void 0!==n?n:{},this.keywords=null!==r&&void 0!==r?r:{},this.isMethod){let e=MX.exec(this.src);if(this.inputs=[],e&&4==e.length){this.type=e[1],this.name=e[2];let t=e[3].match(PX);if(t){let e=0;for(;e<t.length;){let n,r=t[e++];"in"===r||"out"===r||"inout"===r?n=t[e++]:(n=r,r="");let i=t[e++];this.inputs.push({name:i,type:n,qualifier:r})}}this.isInterface=-1===this.src.indexOf("{")}else this.type="",this.name=""}}},TX=/^([a-z_0-9]+)\s([a-z_0-9]+)\s?\=?\s?(.*?)(\;|$)/i,IX=class extends SX{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;super(),this.src="",this.useDefine=!1,this.nodeType="Const",this.parse(e||IX.PI,void 0,void 0,void 0,t)}getType(e){return e.getTypeByFormat(this.type)}parse(e,t,n,r,i){this.src=e||"";let a,s,o="",l=TX.exec(e);this.useDefine=null!==i&&void 0!==i?i:"#"===this.src.charAt(0),l&&l.length>1?(s=l[1],a=l[2],o=l[3]):(a=this.src,s="f"),this.name=a,this.type=s,this.value=o}build(e,t){if("source"===t){if(this.value)return this.useDefine?"#define "+this.name+" "+this.value:"const "+this.type+" "+this.name+" = "+this.value+";";if(this.useDefine)return this.src}return e.include(this),e.format(this.name,this.getType(e),t)}generate(e,t,n,r,i){return e.format(this.name,this.getType(e),t)}},CX=IX;CX.PI="PI",CX.PI2="PI2",CX.RECIPROCAL_PI="RECIPROCAL_PI",CX.RECIPROCAL_PI2="RECIPROCAL_PI2",CX.LOG2="LOG2",CX.EPSILON="EPSILON";var EX=new RegExp("^structs*([a-z_0-9]+)s*{s*((.|\n)*?)}","gim"),VX=new RegExp("s*(w*?)s*(w*?)(=|;)","gim"),RX=class extends SX{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";super(),this.inputs=[],this.src="",this.nodeType="Struct",this.parse(e)}getType(e){return e.getTypeByFormat(this.name)}getInputByName(e){let t=this.inputs.length;for(;t--;)if(this.inputs[t].name===e)return this.inputs[t]}generate(e,t,n,r,i){return"source"===t?this.src+";":e.format("( "+this.src+" )",this.getType(e),t)}parse(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";this.src=e,this.inputs=[];let t=EX.exec(e);if(t){let e,n=t[2];for(;e=VX.exec(n);)this.inputs.push({type:e[1],name:e[2]});this.name=t[1]}else this.name="";this.type=this.name}},DX=class extends SX{constructor(e){super("v2",{shared:!1}),this.nodeType="UV",this.index=null!==e&&void 0!==e?e:0}generate(e,t){e.requires.uv[this.index]=!0;let n=this.index>0?this.index+1:"",r=e.isShader("vertex")?"uv"+n:"vUv"+n;return e.format(r,this.getType(e),t)}};xX.addKeyword("uv",(function(){return new DX})),xX.addKeyword("uv2",(function(){return new DX(1)}));var BX=class extends SX{constructor(e,t){super("v4"),this.nodeType="ColorSpace",this.input=e,this.method=null!==t&&void 0!==t?t:BX.LINEAR_TO_LINEAR,this.hashProperties=["method"]}static getEncodingComponents(e){switch(e){case Bj:return["Linear"];case Gj:return["sRGB"];default:return[]}}generate(e,t){var n;let r=this.input.build(e,"v4"),i=this.getType(e),a=BX.Nodes[this.method],s=e.include(a);if(s===BX.LINEAR_TO_LINEAR)return e.format(r,i,t);if(2===(null===(n=a.inputs)||void 0===n?void 0:n.length)){let n=this.factor.build(e,"f");return e.format(s+"( "+r+", "+n+" )",i,t)}return e.format(s+"( "+r+" )",i,t)}fromEncoding(e){let t=BX.getEncodingComponents(e);this.method="LinearTo"+t[0],this.factor=t[1]}fromDecoding(e){let t=BX.getEncodingComponents(e);this.method=t[0]+"ToLinear",this.factor=t[1]}},GX=BX;GX.Nodes={LinearToLinear:new OX(["vec4 LinearToLinear( in vec4 value ) {","\treturn value;","}"].join("\n")),sRGBToLinear:new OX(["vec4 sRGBToLinear( in vec4 value ) {","\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );","}"].join("\n")),LinearTosRGB:new OX(["vec4 LinearTosRGB( in vec4 value ) {","\treturn 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.w );","}"].join("\n"))},GX.LINEAR_TO_LINEAR="LinearToLinear",GX.SRGB_TO_LINEAR="sRGBToLinear",GX.LINEAR_TO_SRGB="LinearTosRGB";var qX=class extends OX{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",arguments.length>4?arguments[4]:void 0,arguments.length>3?arguments[3]:void 0,arguments.length>2?arguments[2]:void 0,arguments.length>1?arguments[1]:void 0),this.nodeType="Expression"}},HX=class extends AX{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new EM,t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;super("v4",{shared:!0}),this.nodeType="Texture",this.value=e,this.uv=null!==t&&void 0!==t?t:new DX,this.bias=n,this.project=void 0!==r&&r}getTexture(e,t){return super.generate(e,t,this.value.uuid,"t")}generate(e,t){var n;if("sampler2D"===t)return this.getTexture(e,t);let r,i,a=this.getTexture(e,t),s=this.uv.build(e,this.project?"v4":"v2"),o=this.bias?this.bias.build(e,"f"):void 0;void 0===o&&e.context.bias&&(o=e.context.bias.setTexture(this).build(e,"f")),r=this.project?"texture2DProj":o?"tex2DBias":"tex2D",i=o?r+"( "+a+", "+s+", "+o+" )":r+"( "+a+", "+s+" )";let l={include:e.isShader("vertex"),ignoreCache:!0},c=this.getType(e);return e.addContext(l),this.colorSpace=null!==(n=this.colorSpace)&&void 0!==n?n:new GX(new qX("",c)),this.colorSpace.fromDecoding(e.getTextureEncodingFromMap(this.value)),this.colorSpace.input.parse(i),i=this.colorSpace.build(e,c),e.removeContext(),e.format(i,c,t)}},WX=class extends AX{constructor(e){super("f"),this.nodeType="Float",this.value=null!==e&&void 0!==e?e:0}generateReadonly(e,t,n,r,i,a){return e.format(this.value+(this.value%1?"":".0"),r,t)}},zX=class extends SX{constructor(e,t){super(),this.inputs=[],this.nodeType="FunctionCall",this.value=e,this.inputs=null!==t&&void 0!==t?t:[]}getFunction(){return this.value}getType(e){return this.value.getType(e)}generate(e,t,n,r,i){r=this.getType(e);let a=this.value,s=a.build(e,t)+"( ",o=[];if(a.inputs){for(let t=0;t<a.inputs.length;t++){let n=a.inputs[t],r=this.inputs[t]||this.inputs[n.name];o.push(r.build(e,e.getTypeByFormat(n.type)))}s+=o.join(", ")+" )"}return e.format(s,r,t)}},JX=class extends SX{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:JX.ADD;super(),this.nodeType="Operator",this.type=e.type,this.a=e,this.b=t,this.op=n}getType(e){let t=this.a.getType(e),n=this.b.getType(e);return e.isTypeMatrix(t)?"v4":e.getTypeLength(n)>e.getTypeLength(t)?n:t}generate(e,t){let n=this.getType(e);this.type=n;let r=this.a.build(e,n),i=this.b.build(e,n);return e.format("( "+r+" "+this.op+" "+i+" )",n,t)}},UX=JX;UX.ADD="+",UX.SUB="-",UX.MUL="*",UX.DIV="/";var NX=class extends SX{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:NX.ABS,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;super(),this.nodeType="Math",this.a=e,"string"!=typeof t?this.b=t:r=t,"string"!=typeof n?this.c=n:r=n,this.method=r,this.hashProperties=["method"]}getNumInputs(e){switch(this.method){case NX.MIX:case NX.CLAMP:case NX.REFRACT:case NX.SMOOTHSTEP:case NX.FACEFORWARD:return 3;case NX.MIN:case NX.MAX:case NX.MOD:case NX.STEP:case NX.REFLECT:case NX.DISTANCE:case NX.DOT:case NX.CROSS:case NX.POW:return 2;default:return 1}}getInputType(e){let t=e.getTypeLength(this.a.getType(e)),n=this.b?e.getTypeLength(this.b.getType(e)):0,r=this.c?e.getTypeLength(this.c.getType(e)):0;return t>n&&t>r?this.a.getType(e):n>r?this.b.getType(e):this.c.getType(e)}getType(e){switch(this.method){case NX.LENGTH:case NX.DISTANCE:case NX.DOT:return"f";case NX.CROSS:return"v3"}return this.getInputType(e)}generate(e,t){let n,r,i,a=this.a?e.getTypeLength(this.a.getType(e)):0,s=this.b?e.getTypeLength(this.b.getType(e)):0,o=this.c?e.getTypeLength(this.c.getType(e)):0,l=this.getInputType(e),c=this.getType(e);switch(this.type=c,this.method){case NX.NEGATE:return e.format("( -"+this.a.build(e,l)+" )",l,t);case NX.INVERT:return e.format("( 1.0 - "+this.a.build(e,l)+" )",l,t);case NX.CROSS:n=this.a.build(e,"v3"),r=this.b.build(e,"v3");break;case NX.STEP:n=this.a.build(e,1===a?"f":l),r=this.b.build(e,l);break;case NX.MIN:case NX.MAX:case NX.MOD:n=this.a.build(e,l),r=this.b.build(e,1===s?"f":l);break;case NX.REFRACT:n=this.a.build(e,l),r=this.b.build(e,l),i=this.c.build(e,"f");break;case NX.MIX:n=this.a.build(e,l),r=this.b.build(e,l),i=this.c.build(e,1===o?"f":l);break;default:n=this.a.build(e,l),this.b&&(r=this.b.build(e,l)),this.c&&(i=this.c.build(e,l))}let d=[];d.push(n),r&&d.push(r),i&&d.push(i);let h=this.getNumInputs(e);if(d.length!==h)throw Error('Arguments not match used in "'.concat(this.method,'". Require ').concat(h,", currently ").concat(d.length,"."));return e.format(this.method+"( "+d.join(", ")+" )",c,t)}},LX=NX;LX.RAD="radians",LX.DEG="degrees",LX.EXP="exp",LX.EXP2="exp2",LX.LOG="log",LX.LOG2="log2",LX.SQRT="sqrt",LX.INV_SQRT="inversesqrt",LX.FLOOR="floor",LX.CEIL="ceil",LX.NORMALIZE="normalize",LX.FRACT="fract",LX.SATURATE="saturate",LX.SIN="sin",LX.COS="cos",LX.TAN="tan",LX.ASIN="asin",LX.ACOS="acos",LX.ARCTAN="atan",LX.ABS="abs",LX.SIGN="sign",LX.LENGTH="length",LX.NEGATE="negate",LX.INVERT="invert",LX.MIN="min",LX.MAX="max",LX.MOD="mod",LX.STEP="step",LX.REFLECT="reflect",LX.DISTANCE="distance",LX.DOT="dot",LX.CROSS="cross",LX.POW="pow",LX.MIX="mix",LX.CLAMP="clamp",LX.REFRACT="refract",LX.SMOOTHSTEP="smoothstep",LX.FACEFORWARD="faceforward";var YX=class extends SX{constructor(e,t,n){super("v4"),this.nodeType="TextureCubeUV",this.value=e,this.uv=t,this.bias=n}bilinearCubeUV(e,t,n,r){var i,a,s,o;let l=new zX(YX.Nodes.bilinearCubeUV,[t,n,r]);this.colorSpaceTL=null!==(i=this.colorSpaceTL)&&void 0!==i?i:new GX(new qX("","v4")),this.colorSpaceTL.fromDecoding(e.getTextureEncodingFromMap(this.value.value)),this.colorSpaceTL.input.parse(l.build(e)+".tl"),this.colorSpaceTR=null!==(a=this.colorSpaceTR)&&void 0!==a?a:new GX(new qX("","v4")),this.colorSpaceTR.fromDecoding(e.getTextureEncodingFromMap(this.value.value)),this.colorSpaceTR.input.parse(l.build(e)+".tr"),this.colorSpaceBL=null!==(s=this.colorSpaceBL)&&void 0!==s?s:new GX(new qX("","v4")),this.colorSpaceBL.fromDecoding(e.getTextureEncodingFromMap(this.value.value)),this.colorSpaceBL.input.parse(l.build(e)+".bl"),this.colorSpaceBR=null!==(o=this.colorSpaceBR)&&void 0!==o?o:new GX(new qX("","v4")),this.colorSpaceBR.fromDecoding(e.getTextureEncodingFromMap(this.value.value)),this.colorSpaceBR.input.parse(l.build(e)+".br");let c={include:e.isShader("vertex"),ignoreCache:!0};e.addContext(c),this.colorSpaceTLExp=new qX(this.colorSpaceTL.build(e,"v4"),"v4"),this.colorSpaceTRExp=new qX(this.colorSpaceTR.build(e,"v4"),"v4"),this.colorSpaceBLExp=new qX(this.colorSpaceBL.build(e,"v4"),"v4"),this.colorSpaceBRExp=new qX(this.colorSpaceBR.build(e,"v4"),"v4"),e.removeContext();let d=new qX("mix( mix( cubeUV_TL, cubeUV_TR, cubeUV.f.x ), mix( cubeUV_BL, cubeUV_BR, cubeUV.f.x ), cubeUV.f.y )","v4");return d.keywords.cubeUV_TL=this.colorSpaceTLExp,d.keywords.cubeUV_TR=this.colorSpaceTRExp,d.keywords.cubeUV_BL=this.colorSpaceBLExp,d.keywords.cubeUV_BR=this.colorSpaceBRExp,d.keywords.cubeUV=l,d}generate(e,t){if(e.isShader("fragment")){let n=this.uv,r=this.bias||e.context.roughness,i=new zX(YX.Nodes.roughnessToMip,[r]),a=new LX(i,YX.Nodes.m0,YX.Nodes.cubeUV_maxMipLevel,LX.CLAMP),s=new LX(a,LX.FLOOR),o=new LX(a,LX.FRACT),l=this.bilinearCubeUV(e,this.value,n,s),c=this.bilinearCubeUV(e,this.value,n,new UX(s,new WX(1).setReadonly(!0),UX.ADD)),d=new LX(l,c,o,LX.MIX);return e.format(d.build(e),"v4",t)}return console.warn("TextureCubeUVNode is not compatible with "+e.shader+" shader."),e.format("vec4( 0.0 )",this.getType(e),t)}},FX=YX;FX.Nodes=function(){let e=new RX("struct TextureCubeUVData {\n\t\t\tvec4 tl;\n\t\t\tvec4 tr;\n\t\t\tvec4 br;\n\t\t\tvec4 bl;\n\t\t\tvec2 f;\n\t\t}"),t=new CX("float cubeUV_maxMipLevel 8.0",!0),n=new CX("float cubeUV_minMipLevel 4.0",!0),r=new CX("float cubeUV_maxTileSize 256.0",!0),i=new CX("float cubeUV_minTileSize 16.0",!0),a=new OX("float getFace(vec3 direction) {\n\t\t\t\tvec3 absDirection = abs(direction);\n\t\t\t\tfloat face = -1.0;\n\t\t\t\tif (absDirection.x > absDirection.z) {\n\t\t\t\t\tif (absDirection.x > absDirection.y)\n\t\t\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\t\t\telse\n\t\t\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t\t\t} else {\n\t\t\t\t\tif (absDirection.z > absDirection.y)\n\t\t\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\t\t\telse\n\t\t\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t\t\t}\n\t\t\t\treturn face;\n\t\t}");a.useKeywords=!1;let s=new OX("vec2 getUV(vec3 direction, float face) {\n\t\t\t\tvec2 uv;\n\t\t\t\tif (face == 0.0) {\n\t\t\t\t\tuv = vec2(direction.z, direction.y) / abs(direction.x); // pos x\n\t\t\t\t} else if (face == 1.0) {\n\t\t\t\t\tuv = vec2(-direction.x, -direction.z) / abs(direction.y); // pos y\n\t\t\t\t} else if (face == 2.0) {\n\t\t\t\t\tuv = vec2(-direction.x, direction.y) / abs(direction.z); // pos z\n\t\t\t\t} else if (face == 3.0) {\n\t\t\t\t\tuv = vec2(-direction.z, direction.y) / abs(direction.x); // neg x\n\t\t\t\t} else if (face == 4.0) {\n\t\t\t\t\tuv = vec2(-direction.x, direction.z) / abs(direction.y); // neg y\n\t\t\t\t} else {\n\t\t\t\t\tuv = vec2(direction.x, direction.y) / abs(direction.z); // neg z\n\t\t\t\t}\n\t\t\t\treturn 0.5 * (uv + 1.0);\n\t\t}");s.useKeywords=!1;let o=new OX("TextureCubeUVData bilinearCubeUV(sampler2D envMap, vec3 direction, float mipInt) {\n\t\t\tfloat face = getFace(direction);\n\t\t\tfloat filterInt = max(cubeUV_minMipLevel - mipInt, 0.0);\n\t\t\tmipInt = max(mipInt, cubeUV_minMipLevel);\n\t\t\tfloat faceSize = exp2(mipInt);\n\t\t\tfloat texelSize = 1.0 / (3.0 * cubeUV_maxTileSize);\n\t\t\tvec2 uv = getUV(direction, face) * (faceSize - 1.0);\n\t\t\tvec2 f = fract(uv);\n\t\t\tuv += 0.5 - f;\n\t\t\tif (face > 2.0) {\n\t\t\t\tuv.y += faceSize;\n\t\t\t\tface -= 3.0;\n\t\t\t}\n\t\t\tuv.x += face * faceSize;\n\t\t\tif(mipInt < cubeUV_maxMipLevel){\n\t\t\t\tuv.y += 2.0 * cubeUV_maxTileSize;\n\t\t\t}\n\t\t\tuv.y += filterInt * 2.0 * cubeUV_minTileSize;\n\t\t\tuv.x += 3.0 * max(0.0, cubeUV_maxTileSize - 2.0 * faceSize);\n\t\t\tuv *= texelSize;\n\t\t\tvec4 tl = texture2D(envMap, uv);\n\t\t\tuv.x += texelSize;\n\t\t\tvec4 tr = texture2D(envMap, uv);\n\t\t\tuv.y += texelSize;\n\t\t\tvec4 br = texture2D(envMap, uv);\n\t\t\tuv.x -= texelSize;\n\t\t\tvec4 bl = texture2D(envMap, uv);\n\t\t\treturn TextureCubeUVData( tl, tr, br, bl, f );\n\t\t}",[e,a,s,t,n,r,i]);o.useKeywords=!1;let l=new CX("float r0 1.0",!0),c=new CX("float v0 0.339",!0),d=new CX("float m0 -2.0",!0),h=new CX("float r1 0.8",!0),u=new CX("float v1 0.276",!0),p=new CX("float m1 -1.0",!0),f=new CX("float r4 0.4",!0),m=new CX("float v4 0.046",!0),g=new CX("float m4 2.0",!0),y=new CX("float r5 0.305",!0),v=new CX("float v5 0.016",!0),x=new CX("float m5 3.0",!0),S=new CX("float r6 0.21",!0),A=new CX("float v6 0.0038",!0),b=new CX("float m6 4.0",!0);return{bilinearCubeUV:o,roughnessToMip:new OX("float roughnessToMip(float roughness) {\n\t\t\tfloat mip = 0.0;\n\t\t\tif (roughness >= r1) {\n\t\t\t\tmip = (r0 - roughness) * (m1 - m0) / (r0 - r1) + m0;\n\t\t\t} else if (roughness >= r4) {\n\t\t\t\tmip = (r1 - roughness) * (m4 - m1) / (r1 - r4) + m1;\n\t\t\t} else if (roughness >= r5) {\n\t\t\t\tmip = (r4 - roughness) * (m5 - m4) / (r4 - r5) + m4;\n\t\t\t} else if (roughness >= r6) {\n\t\t\t\tmip = (r5 - roughness) * (m6 - m5) / (r5 - r6) + m5;\n\t\t\t} else {\n\t\t\t\tmip = -2.0 * log2(1.16 * roughness);// 1.16 = 1.79^0.25\n\t\t\t}\n\t\t\treturn mip;\n\t\t}",[l,c,d,h,u,p,f,m,g,y,v,x,S,A,b]),m0:d,cubeUV_maxMipLevel:t}}();var ZX=class extends SX{constructor(e){super("v3"),this.nodeType="Normal",this.scope=null!==e&&void 0!==e?e:ZX.VIEW}getShared(){return this.scope===ZX.WORLD}build(e,t,n,r){let i=e.context[this.scope+"Normal"];return i?i.build(e,t,n,r):super.build(e,t,n)}generate(e,t,n,r,i){let a;switch(this.scope){case ZX.VIEW:a=e.isShader("vertex")?"transformedNormal":"geometryNormal";break;case ZX.LOCAL:e.isShader("vertex")?a="objectNormal":(e.requires.normal=!0,a="vObjectNormal");break;case ZX.WORLD:e.isShader("vertex")?a="inverseTransformDirection( transformedNormal, viewMatrix ).xyz":(e.requires.worldNormal=!0,a="vWNormal")}return e.format(a,this.getType(e),t)}},KX=ZX;KX.LOCAL="local",KX.WORLD="world",KX.VIEW="view",KX.NORMAL="normal",xX.addKeyword("viewNormal",(function(){return new KX(KX.VIEW)})),xX.addKeyword("localNormal",(function(){return new KX(KX.NORMAL)})),xX.addKeyword("worldNormal",(function(){return new KX(KX.WORLD)}));var QX=class extends SX{constructor(e){super("v3"),this.nodeType="Position",this.scope=null!==e&&void 0!==e?e:QX.LOCAL}getType(){return this.scope===QX.PROJECTION?"v4":this.type}getShader(){switch(this.scope){case QX.LOCAL:case QX.WORLD:return!1}return!0}generate(e,t,n,r,i){let a;switch(this.scope){case QX.LOCAL:e.isShader("vertex")?a="transformed":(e.requires.position=!0,a="vPosition");break;case QX.WORLD:if(e.isShader("vertex"))return"( modelMatrix * vec4( transformed, 1.0 ) ).xyz";e.requires.worldPosition=!0,a="vWPosition";break;case QX.VIEW:a=e.isShader("vertex")?"-mvPosition.xyz":"vViewPosition";break;case QX.PROJECTION:a=e.isShader("vertex")?"( projectionMatrix * modelViewMatrix * vec4( position, 1.0 ) )":"vec4( 0.0 )"}return e.format(a,this.getType(),t)}},XX=QX;XX.LOCAL="local",XX.WORLD="world",XX.VIEW="view",XX.PROJECTION="projection",xX.addKeyword("position",(function(){return new XX})),xX.addKeyword("worldPosition",(function(){return new XX(XX.WORLD)})),xX.addKeyword("viewPosition",(function(){return new XX(XX.VIEW)}));var _X=class extends SX{constructor(e){super("v3"),this.nodeType="Reflect",this.scope=null!==e&&void 0!==e?e:_X.CUBE}getUnique(e){return!e.context.viewNormal}getType(){return this.scope===_X.SPHERE?"v2":this.type}generate(e,t){let n=this.getUnique(e);if(e.isShader("fragment")){let r;switch(this.scope){case _X.VECTOR:{let t=new KX(KX.VIEW),i=e.context.roughness,a=t.build(e,"v3"),s=new XX(XX.VIEW).build(e,"v3"),o=i?i.build(e,"f"):void 0,l="reflect( -normalize( ".concat(s," ), ").concat(a," )");o&&(l="normalize( mix( ".concat(l,", ").concat(a,", ").concat(o," * ").concat(o," ) )"));let c="inverseTransformDirection( ".concat(l,", viewMatrix )");n?(e.addNodeCode("vec3 reflectVec = ".concat(c,";")),r="reflectVec"):r=c;break}case _X.CUBE:{let t=new _X(_X.VECTOR).build(e,"v3"),i="vec3( -"+t+".x, "+t+".yz )";n?(e.addNodeCode("vec3 reflectCubeVec = ".concat(i,";")),r="reflectCubeVec"):r=i;break}case _X.SPHERE:{let t="normalize( ( viewMatrix * vec4( "+new _X(_X.VECTOR).build(e,"v3")+", 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) ).xy * 0.5 + 0.5";n?(e.addNodeCode("vec2 reflectSphereVec = ".concat(t,";")),r="reflectSphereVec"):r=t;break}}return e.format(r,this.getType(),t)}return console.warn("ReflectNode is not compatible with "+e.shader+" shader."),e.format("vec3( 0.0 )",this.type,t)}},$X=_X;$X.CUBE="cube",$X.SPHERE="sphere",$X.VECTOR="vector";var e_=class extends SX{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new HX,t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;super("v4"),this.nodeType="TextureCube",this.value=e,this.radianceNode=new FX(this.value,null!==t&&void 0!==t?t:new $X($X.VECTOR),n),this.irradianceNode=new FX(this.value,new KX(KX.WORLD),new WX(1).setReadonly(!0))}generate(e,t){return e.isShader("fragment")?(e.require("irradiance"),e.context.bias&&e.context.bias.setTexture(this.value),("irradiance"===e.slot?this.irradianceNode:this.radianceNode).build(e,t)):(console.warn("TextureCubeNode is not compatible with "+e.shader+" shader."),e.format("vec4( 0.0 )",this.getType(e),t))}},t_=class extends AX{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new HO,t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;super("v4",{shared:!0}),this.nodeType="CubeTexture",this.value=e,this.uv=null!==t&&void 0!==t?t:new $X,this.bias=n}getTexture(e,t){return super.generate(e,t,this.value.uuid,"tc")}generate(e,t){var n,r;if("samplerCube"===t)return this.getTexture(e,t);let i,a=this.getTexture(e,t),s=null===(n=this.uv)||void 0===n?void 0:n.build(e,"v3"),o=this.bias?this.bias.build(e,"f"):void 0;void 0===o&&e.context.bias&&(o=e.context.bias.setTexture(this).build(e,"f")),i=o?"texCubeBias( "+a+", "+s+", "+o+" )":"texCube( "+a+", "+s+" )";let l={include:e.isShader("vertex"),ignoreCache:!0},c=this.getType(e);return e.addContext(l),this.colorSpace=null!==(r=this.colorSpace)&&void 0!==r?r:new GX(new qX("",c)),this.colorSpace.fromDecoding(e.getTextureEncodingFromMap(this.value)),this.colorSpace.input.parse(i),i=this.colorSpace.build(e,c),e.removeContext(),e.format(i,c,t)}},n_=["x","y","z","w"],r_=["float","vec2","vec3","vec4"],i_={float:"f",vec2:"v2",vec3:"v3",vec4:"v4",mat4:"v4",int:"i",bool:"b","float[]":"f[]","vec4[]":"v4[]"},a_={t:"sampler2D",tc:"samplerCube",b:"bool",i:"int",f:"float",c:"vec3",v2:"vec2",v3:"vec3",v4:"vec4",m3:"mat3",m4:"mat4","f[]":"float[]","v4[]":"vec4[]"},s_=class{constructor(){this.includes={consts:{},functions:{},structs:{}},this.cache="",this.slot="",this.shader="",this.context={},this.needsJitter=!0,this.getIncludesCode=function(){function e(e,t){return e.deps.length-t.deps.length}return function(t,n){let r=this.getIncludes(t,n);if(!r)return"";let i="";r=r.sort(e);for(let e=0;e<r.length;e++)r[e].src&&(i+=r[e].src+"\n");return i}}(),this.slots=[],this.caches=[],this.contexts=[],this.keywords={},this.nodeData={},this.fragmentVariables={},this.fragmentParsVariables={},this.vertexParsVariables={},this.requires={uv:[],color:[],transparent:!1,irradiance:!1,position:!1,worldPosition:!1,normal:!1,worldNormal:!1,vWorldViewDir:!1,modelMatrix:!1,viewMatrix:!1,projectionMatrix:!1},this.includes={consts:[],functions:[],structs:[]},this.attributes={},this.prefixCode=["#ifdef TEXTURE_LOD_EXT","\t#define texCube(a, b) textureCube(a, b)","\t#define texCubeBias(a, b, c) textureCubeLodEXT(a, b, c)","\t#define tex2D(a, b) texture2D(a, b)","\t#define tex2DBias(a, b, c) texture2DLodEXT(a, b, c)","#else","\t#define texCube(a, b) textureCube(a, b)","\t#define texCubeBias(a, b, c) textureCube(a, b, c)","\t#define tex2D(a, b) texture2D(a, b)","\t#define tex2DBias(a, b, c) texture2D(a, b, c)","#endif","\n\t\t\t// NOTE: Include Spline's blending modes. This could be part of BlendNode\n\t\t\t#define SPE_BLENDING_NORMAL 0\n\t\t\t#define SPE_BLENDING_MULTIPLY 1\n\t\t\t#define SPE_BLENDING_SCREEN 2\n\t\t\t#define SPE_BLENDING_OVERLAY 3\n\n\t\t\tvec3 spe_normalBlend( vec3 a, vec3 b, float alpha ) {\n\t\t\t\treturn mix( a, b, alpha );\n\t\t\t}\n\n\t\t\tvec3 spe_multiplyBlend( vec3 a, vec3 b, float alpha ) {\n\t\t\t\treturn mix( a, a * b, alpha );\n\t\t\t}\n\n\t\t\tvec3 spe_screenBlend( vec3 a, vec3 b, float alpha ) {\n\t\t\t\tvec3 tmp = 1.0 - ( 1.0 - a ) * ( 1.0 - b );\n\t\t\t\treturn mix( a, tmp, alpha );\n\t\t\t}\n\n\t\t\tvec3 spe_overlayBlend( vec3 a, vec3 b, float alpha ) {\n\t\t\t\tvec3 tmp = mix( 1. - 2. * (1. - a) * (1. - b), 2. * a * b, step( a, vec3(.5) ) );\n\t\t\t\treturn clamp( mix( a, tmp, alpha ), 0.0, 1.0 );\n\t\t\t}\n\n\t\t\tvec3 spe_blend( vec3 a, vec3 b, float alpha, int mode ) {\n\t\t\t\tif ( mode == SPE_BLENDING_NORMAL ) return spe_normalBlend( a, b, alpha );\n\t\t\t\telse if ( mode == SPE_BLENDING_MULTIPLY ) return spe_multiplyBlend( a, b, alpha );\n\t\t\t\telse if ( mode == SPE_BLENDING_SCREEN ) return spe_screenBlend( a, b, alpha );\n\t\t\t\telse if ( mode == SPE_BLENDING_OVERLAY ) return spe_overlayBlend( a, b, alpha );\n\t\t\t\treturn vec3( 1.0 );\n\t\t\t}\n\t\t\t","#include <packing>","#include <common>"].join("\n"),this.parsCode={vertex:["float neighbor_offset = 0.0001;",""].join("\n"),fragment:["float accumAlpha = 0.0;","void accumulateAlpha(float alpha) {\n\t\t\t\t\taccumAlpha += (1.0 - accumAlpha) * alpha;\n\t\t\t\t}",""].join("\n")},this.code={vertex:"",fragment:""},this.nodeCode={vertex:"",fragment:""},this.resultCode={vertex:"",fragment:""},this.finalCode={vertex:"",fragment:""},this.inputs={uniforms:{list:[],vertex:[],fragment:[]},arrayUniforms:{list:[],vertex:[],fragment:[]},vars:{varying:[],vertex:[],fragment:[]}},this.defines={},this.uniforms={},this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1},this.updaters=[],this.nodes=[],this.analyzing=!1}build(e,t){this.addVertexParsCode("\nuniform int frameIndex;\nuniform vec2 resolution;\nuniform mat4 previousModelViewMatrix;\nuniform mat4 previousProjectionMatrix;\n\nvarying vec4 vCurrentPosition;\nvarying vec4 vPreviousPosition;\n"),this.addFragmentParsCode("\nlayout(location = 1) out vec4 gVelocity;\n\nuniform int frameIndex;\nuniform vec2 resolution;\n\nvarying vec4 vCurrentPosition;\nvarying vec4 vPreviousPosition;\n\nconst vec2 haltonSequence[16] = vec2[16](\nvec2( 0.000000,-0.333334),\nvec2(-0.500000, 0.333334),\nvec2( 0.500000,-0.777778),\nvec2(-0.750000,-0.111112),\nvec2( 0.250000, 0.555556),\nvec2(-0.250000,-0.555556),\nvec2( 0.750000, 0.111112),\nvec2(-0.875000, 0.777778),\nvec2(0.125000, -0.925926),\nvec2(-0.375000, -0.259260),\nvec2(0.625000, 0.407408),\nvec2(-0.625000, -0.703704),\nvec2(0.375000, -0.037038),\nvec2(-0.125000, 0.629630),\nvec2(0.875000, -0.481482),\nvec2(-0.937500, 0.185186));\n\nvec2 vogelDiskSample(int sampleIndex, int sampleCount, float angle) {\n  const float goldenAngle = 2.399963f; // radians\n  float r = sqrt(float(sampleIndex) + 0.5f) / sqrt(float(sampleCount));\n  float theta = float(sampleIndex) * goldenAngle + angle;\n  float sine = sin(theta);\n  float cosine = cos(theta);\n  return vec2(cosine, sine) * r;\n}\n\n// Derived from the interleaved gradient function from Jimenez 2014 http:goo.gl/eomGso\nfloat getNoiseInterleavedGradient(vec2 screenPos) {\n    vec3 magic = vec3(0.06711056f, 0.00583715f, 52.9829189f);\n    return fract(magic.z * fract(dot(screenPos, magic.xy)));\n}\n\n"),this.buildShader("vertex",e),this.buildShader("fragment",t);for(let n=0;n<this.requires.uv.length;n++)if(this.requires.uv[n]){let e=n>0?n+1:"";this.addVaryCode("varying vec2 vUv"+e+";"),n>0&&this.addVertexParsCode("attribute vec2 uv"+e+";"),this.addVertexFinalCode("vUv"+e+" = uv"+e+";")}return this.requires.color[0]&&(this.addVaryCode("varying vec4 vColor;"),this.addVertexParsCode("attribute vec4 color;"),this.addVertexFinalCode("vColor = color;")),this.requires.color[1]&&(this.addVaryCode("varying vec4 vColor2;"),this.addVertexParsCode("attribute vec4 color2;"),this.addVertexFinalCode("vColor2 = color2;")),this.requires.position&&(this.addVaryCode("varying vec3 vPosition;"),this.addVertexFinalCode("vPosition = transformed;")),this.requires.worldPosition,this.requires.normal&&(this.addVaryCode("varying vec3 vObjectNormal;"),this.addVertexFinalCode("vObjectNormal = normal;")),this.requires.modelMatrix&&this.addFragmentParsCode("uniform mat4 modelMatrix;"),this.requires.viewMatrix&&this.addFragmentParsCode("uniform mat4 viewMatrix;"),this.requires.projectionMatrix&&this.addFragmentParsCode("uniform mat4 projectionMatrix;"),this.requires.worldNormal&&(this.addVaryCode("varying vec3 vWNormal;"),this.addVertexFinalCode("vWNormal = inverseTransformDirection( transformedNormal, viewMatrix ).xyz;")),this.requires.vWorldViewDir&&(this.addVaryCode("varying vec3 vWorldViewDir;"),this.addVertexFinalCode("vWorldViewDir = isPerspectiveMatrix( projectionMatrix ) ?  ( (modelMatrix * vec4(position, 1.0)).xyz - cameraPosition ) : vec3( -viewMatrix[0][2], -viewMatrix[1][2], -viewMatrix[2][2] );")),this.needsJitter&&(this.addVertexFinalCode("\n// TODO: This could be generated CPU side and passed to the shader every frame\nconst vec2 haltonSequence[16] = vec2[16](\nvec2( 0.000000,-0.333334),\nvec2(-0.500000, 0.333334),\nvec2( 0.500000,-0.777778),\nvec2(-0.750000,-0.111112),\nvec2( 0.250000, 0.555556),\nvec2(-0.250000,-0.555556),\nvec2( 0.750000, 0.111112),\nvec2(-0.875000, 0.777778),\nvec2(0.125000, -0.925926),\nvec2(-0.375000, -0.259260),\nvec2(0.625000, 0.407408),\nvec2(-0.625000, -0.703704),\nvec2(0.375000, -0.037038),\nvec2(-0.125000, 0.629630),\nvec2(0.875000, -0.481482),\nvec2(-0.937500, 0.185186));\n\n// TODO: Pass correct view size\nvec2 offset = haltonSequence[frameIndex];\noffset.x /= resolution.x;\noffset.y /= resolution.y;\n\nvec4 currentPosition = gl_Position;\nvec4 currentPositionJittered = currentPosition + (vec4(offset.x, offset.y, 0.0, 0.0) * currentPosition.w);\n\n// We want to calculate the velocity with unjittered positions\n// so that things that are not moving get a velocity = 0\nvCurrentPosition = currentPosition;\nvPreviousPosition = previousProjectionMatrix * previousModelViewMatrix * vec4(transformed, 1.0);\n#ifdef OUTLINE_COMPENSATION\nvPreviousPosition.xy += OUTLINE_COMPENSATION;\n#endif\ngl_Position = currentPositionJittered;\n\n"),this.addFragmentFinalCode("\nvec2 oldPos = vPreviousPosition.xy;\n    oldPos /= vPreviousPosition.w;\n    oldPos.xy = (oldPos.xy+1.)/2.0;\n\nvec2 newPos = vCurrentPosition.xy;\n    newPos /= vCurrentPosition.w;\n    newPos.xy = (newPos.xy+1.)/2.0;\n\nvec2 velocity = (newPos - oldPos);\n\n// Discard fully transparent pixels \nif (gl_FragColor.a <= 0.0) discard;\n\ngVelocity = vec4(velocity, 0.0, 1.0);\n")),this}buildShader(e,t){this.resultCode[e]=t.build(this.setShader(e),"v4")}setMaterial(e,t){return this.defines={},this}addFlow(e,t,n){return this.addSlot(e).addCache(t).addContext(n)}removeFlow(){return this.removeSlot().removeCache().removeContext()}addCache(e){return this.cache=null!==e&&void 0!==e?e:"",this.caches.push(this.cache),this}removeCache(){return this.caches.pop(),this.cache=this.caches[this.caches.length-1]||"",this}addContext(e){return this.context=Object.assign({},this.context,e),this.context.extra=this.context.extra||{},this.contexts.push(this.context),this}removeContext(){return this.contexts.pop(),this.context=this.contexts[this.contexts.length-1]||{},this}addSlot(e){return this.slot=e||"",this.slots.push(this.slot),this}removeSlot(){return this.slots.pop(),this.slot=this.slots[this.slots.length-1]||"",this}addFragmentVariable(e,t){void 0===this.fragmentVariables[e]&&(this.addFragmentCode("".concat(t," ").concat(e,";")),this.fragmentVariables[e]="")}addFragmentParsVariable(e,t){void 0===this.fragmentParsVariables[e]&&(this.addFragmentParsCode("".concat(t," ").concat(e,";")),this.fragmentParsVariables[e]="")}addVertexParsVariable(e,t){void 0===this.vertexParsVariables[e]&&(this.addVertexParsCode("".concat(t," ").concat(e,";")),this.vertexParsVariables[e]="")}addVertexCode(e){this.addCode(e,"vertex")}addFragmentCode(e){this.addCode(e,"fragment")}addCode(e,t){this.code[null!==t&&void 0!==t?t:this.shader]+=e+"\n"}addVertexNodeCode(e){this.addNodeCode(e,"vertex")}addFragmentNodeCode(e){this.addNodeCode(e,"fragment")}addNodeCode(e,t){this.nodeCode[null!==t&&void 0!==t?t:this.shader]+=e+"\n"}clearNodeCode(e){var t;e=null!==(t=e)&&void 0!==t?t:this.shader;let n=this.nodeCode[e];return this.nodeCode[e]="",n}clearVertexNodeCode(){return this.clearNodeCode("vertex")}clearFragmentNodeCode(){return this.clearNodeCode("fragment")}addVertexFinalCode(e){this.addFinalCode(e,"vertex")}addFragmentFinalCode(e){this.addFinalCode(e,"fragment")}addFinalCode(e,t){this.finalCode[null!==t&&void 0!==t?t:this.shader]+=e+"\n"}addVertexParsCode(e){this.addParsCode(e,"vertex")}addFragmentParsCode(e){this.addParsCode(e,"fragment")}addParsCode(e,t){this.parsCode[null!==t&&void 0!==t?t:this.shader]+=e+"\n"}addVaryCode(e){this.addVertexParsCode(e),this.addFragmentParsCode(e)}isCache(e){return-1!==this.caches.indexOf(e)}isSlot(e){return-1!==this.slots.indexOf(e)}define(e,t){this.defines[e]=void 0===t?1:t}require(e){this.requires[e]=!0}isDefined(e){return void 0!==this.defines[e]}getVar(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"varying",i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"V",a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"",s=this.getVars(r),o=s[e];if(!o){let r=s.length;o={name:n||"node"+i+r+(a?"_"+a:""),type:t},s.push(o),s[e]=o}return o}getTempVar(e,t,n,r){return this.getVar(e,t,n,this.shader,"T",r)}getAttribute(e,t){if(!this.attributes[e]){let n=this.getVar(e,t);this.addVertexParsCode("attribute "+t+" "+e+";"),this.addVertexFinalCode(n.name+" = "+e+";"),this.attributes[e]={varying:n,name:e,type:t}}return this.attributes[e]}getCode(e){return[this.prefixCode,this.parsCode[e],this.getVarListCode(this.getVars("varying"),"varying"),this.getVarListCode(this.inputs.uniforms[e],"uniform"),this.getVarListCode(this.inputs.arrayUniforms[e],"uniform"),this.getIncludesCode("consts",e),this.getIncludesCode("structs",e),this.getIncludesCode("functions",e),"void main() {",this.getVarListCode(this.getVars(e)),this.code[e],this.resultCode[e],this.finalCode[e],"}"].join("\n")}getVarListCode(e,t){var n;t=null!==(n=t)&&void 0!==n?n:"";let r="";for(let i=0,a=e.length;i<a;++i){let n=e[i],a=n.type,s=n.name,o=n.size,l=this.getFormatByType(a);if(void 0===l)throw new Error("Node pars "+l+" not found.");l.includes("[]")?r+=t+" "+l.substring(0,l.length-2)+" "+s+"[".concat(o,"];\n"):r+=t+" "+l+" "+s+";\n"}return r}getVars(e){return this.inputs.vars[null!==e&&void 0!==e?e:this.shader]}getNodeData(e){let t=e instanceof vX?e.uuid:e;return this.nodeData[t]=this.nodeData[t]||{}}createUniform(e,t,n,r,i,a){if(t.includes("[]")){let s=this.inputs.arrayUniforms,o=s.list.length,l=new yX({type:t,size:n.size,name:r||"nodeUA"+o+(a?"_"+a:""),node:n,needsUpdate:i});return s.list.push(l),s[e].push(l),s[e][l.name]=l,this.uniforms[l.name]=l,l}{let s=this.inputs.uniforms,o=s.list.length,l=new yX({type:t,name:r||"nodeU"+o+(a?"_"+a:""),node:n,needsUpdate:i});return s.list.push(l),s[e].push(l),s[e][l.name]=l,this.uniforms[l.name]=l,l}}createVertexUniform(e,t,n,r,i){return this.createUniform("vertex",e,t,n,r,i)}createFragmentUniform(e,t,n,r,i){return this.createUniform("fragment",e,t,n,r,i)}include(e,t,n){let r;if(e="string"==typeof e?xX.get(e):e,!1===this.context.include)return e.name;e instanceof OX?r=this.includes.functions:e instanceof CX?r=this.includes.consts:e instanceof RX&&(r=this.includes.structs);let i=r[this.shader]=r[this.shader]||[];if(e){var a;let r=i[e.name];if(r||(r=i[e.name]={node:e,deps:[]},i.push(r),r.src=e.build(this,"source")),e instanceof OX&&t&&i[t.name]&&-1===i[t.name].deps.indexOf(e)&&(i[t.name].deps.push(e),null!==(a=e.includes)&&void 0!==a&&a.length)){let n=0;do{this.include(e.includes[n++],t)}while(n<e.includes.length)}return n&&(r.src=n),e.name}throw new Error("Include not found.")}colorToVectorProperties(e){return e.replace("r","x").replace("g","y").replace("b","z").replace("a","w")}colorToVector(e){return e.replace(/c/g,"v3")}getIncludes(e,t){return this.includes[e][t||this.shader]}getConstructorFromLength(e){return r_[e-1]}isTypeMatrix(e){return/^m/.test(e)}getTypeLength(e){return"f"===e?1:parseInt(this.colorToVector(e).substr(1))}getTypeFromLength(e){return 1===e?"f":"v"+e}findNode(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];for(let r=0;r<arguments.length;r++){let e=t[r];if(null!==e&&void 0!==e&&e.isNode)return e}}resolve(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];for(let r=0;r<arguments.length;r++){let e=t[r];if(void 0!==e){if(e.isNode)return e;if(e.isTexture)switch(e.mapping){case gw:case yw:return new t_(e);case Sw:return new e_(new HX(e));default:return new HX(e)}else{if(e.isVector2)return new bX(e);if(e.isVector3)return new kX(e);if(e.isVector4)return new jX(e)}}}}format(e,t,n){switch(this.colorToVector(n+" <- "+t)){case"f <- v2":case"f <- v3":case"f <- v4":return e+".x";case"f <- i":case"f <- b":return"float( "+e+" )";case"v2 <- f":return"vec2( "+e+" )";case"v2 <- v3":case"v2 <- v4":return e+".xy";case"v2 <- i":case"v2 <- b":case"v3 <- i":case"v3 <- b":return"vec2( float( "+e+" ) )";case"v3 <- f":return"vec3( "+e+" )";case"v3 <- v2":return"vec3( "+e+", 0.0 )";case"v3 <- v4":return e+".xyz";case"v4 <- f":return"vec4( "+e+" )";case"v4 <- v2":return"vec4( "+e+", 0.0, 1.0 )";case"v4 <- v3":return"vec4( "+e+", 1.0 )";case"v4 <- i":case"v4 <- b":return"vec4( float( "+e+" ) )";case"i <- f":case"i <- b":return"int( "+e+" )";case"i <- v2":case"i <- v3":case"i <- v4":return"int( "+e+".x )";case"b <- f":return"( "+e+" != 0.0 )";case"b <- v2":return"( "+e+" != vec2( 0.0 ) )";case"b <- v3":return"( "+e+" != vec3( 0.0 ) )";case"b <- v4":return"( "+e+" != vec4( 0.0 ) )";case"b <- i":return"( "+e+" != 0 )"}return e}getTypeByFormat(e){return i_[e]||e}getFormatByType(e){return a_[e]||e}getUUID(e,t){return(t=void 0===t||t)&&this.cache&&(e=this.cache+"-"+e),e}getElementByIndex(e){return n_[e]}getIndexByElement(e){return n_.indexOf(e)}isShader(e){return this.shader===e}setShader(e){return this.shader=e,this}mergeDefines(e){for(let t in e)this.defines[t]=e[t];return this.defines}mergeUniform(e){for(let t in e)this.uniforms[t]=e[t];return this.uniforms}getTextureEncodingFromMap(e){let t;return e?e.isTexture&&(t=e.encoding):t=Bj,t===Bj&&this.context.gamma&&(t=Gj),t}},o_=class extends AX{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;super("c"),this.nodeType="Color",this.value=e instanceof wX?e:new wX(e||0,t,n,r)}setRGBA(e){this.value.setRGBA(e.r,e.g,e.b,e.a)}generate(e,t,n,r,i,a){var s,o;n=e.getUUID(null!==(s=n)&&void 0!==s?s:this.getUUID()),r=null!==(o=r)&&void 0!==o?o:this.getType(e);let l=e.getNodeData(n),c=this.getReadonly()&&void 0!==this.generateReadonly;if(this.alpha){let t=this.alpha.build(e,"f");e.addFragmentNodeCode("accumAlpha += ( 1.0 - accumAlpha ) * ".concat(t,";"))}return c?this.generateReadonly(e,t,n,r,i,a):e.isShader("vertex")?(l.vertex||(l.vertex=e.createVertexUniform(r,this,i,a,this.getLabel())),e.format(l.vertex.name,r,t)):(l.fragment||(l.fragment=e.createFragmentUniform(r,this,i,a,this.getLabel())),e.format(l.fragment.name,r,t))}generateReadonly(e,t,n,r,i,a){return e.format("vec3("+this.value.r+", "+this.value.g+", "+this.value.b+")",r,t)}},l_=class extends AX{constructor(e){super("i"),this.nodeType="Int",this.value=Math.floor(null!==e&&void 0!==e?e:0)}generateReadonly(e,t,n,r,i,a){return e.format(this.value.toString(),r,t)}},c_=class extends AX{constructor(e){super("b"),this.nodeType="Bool",this.value=null!==e&&void 0!==e&&e}generateReadonly(e,t,n,r){return e.format(this.value?"true":"false",r,t)}},d_=class extends AX{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1?arguments[1]:void 0;super("f[]"),this.nodeType="FloatArray",this.size=e,this.value=Array.isArray(t)?t:"number"==typeof t?new Array(e).fill(t):new Array(e).fill(0)}},h_=class extends AX{},u_=class extends h_{constructor(e){super("v3"),this.image=e,this._value=new qM}get value(){var e,t;return this._value.x=this.image.isVideo?null!==(e=this.image.img.videoWidth)&&void 0!==e?e:0:this.image.img.width,this._value.y=this.image.isVideo?null!==(t=this.image.img.videoHeight)&&void 0!==t?t:0:this.image.img.height,this._value}},p_=class extends h_{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1008;super("t"),this.image=e,this.wrap=t,this.minFilter=n}get value(){return this.image.getTexture(this.wrap,this.minFilter)}},f_=class extends AX{constructor(e){super("m3"),this.nodeType="Matrix3",this.value=null!==e&&void 0!==e?e:new dM}generateReadonly(e,t,n,r,i,a){return e.format("mat3("+this.value.elements.join(", ")+")",r,t)}get elements(){return this.value.elements}set elements(e){this.value.fromArray(e)}},m_=class extends AX{constructor(e){super("m4"),this.nodeType="Matrix4",this.value=null!==e&&void 0!==e?e:new fP}generateReadonly(e,t,n,r,i,a){return e.format("mat4("+this.value.elements.join(", ")+")",r,t)}get elements(){return this.value.elements}set elements(e){this.value.fromArray(e)}};function g_(e,t,n){e.setUvTransform(n[0],n[1],t[0],t[1],0,0,0)}var y_=class extends f_{constructor(e,t){super(new dM),this.repeat=e,this.offset=t,g_(this.value,e,t)}updateMatrix(){g_(this.value,this.repeat,this.offset)}},v_=class extends AX{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1?arguments[1]:void 0;super("v4[]"),this.nodeType="Vector4Array",this.size=e,this.value=Array.isArray(t)?t:t instanceof VM?new Array(e).fill(t):new Array(e).fill(new VM(0))}},x_=class extends SX{constructor(e,t,n,r){super("v3"),this.nodeType="Blend",this.a=e,this.b=t,this.alpha=n,this.mode=r}generate(e,t){if(e.isShader("fragment")){let n=[];return n.push(this.a.build(e,"c")),n.push(this.b.build(e,"c")),n.push(this.alpha.build(e,"f")),n.push(this.mode.build(e,"i")),e.format("spe_blend("+n.join(",")+")",this.getType(e),t)}return console.warn("BlendNode is not compatible with "+e.shader+" shader."),e.format("vec3( 0.0 )",this.getType(e),t)}},S_=class extends SX{constructor(e,t){super("v3"),this.nodeType="CustomColor",this.color=e,this.alpha=t,this.calpha="g".concat(this.uuid.toString().replace(/-/g,""),"_calpha")}generate(e,t){if(e.isShader("fragment")){let n=e.include(S_.Nodes.customColor);e.addFragmentVariable(this.calpha,"float");let r=[];return r.push(this.color.build(e,"v3")),r.push(this.mask?"luminance(".concat(this.mask.build(e,"v3"),")"):"1.0"),r.push(this.alpha.build(e,"f")),r.push(this.calpha),e.format(n+"("+r.join(",")+")",this.getType(e),t)}return console.warn("CustomColorNode is not compatible with "+e.shader+" shader."),e.format("vec3( 0.0 )",this.getType(e),t)}},A_=S_;A_.Nodes={customColor:new OX("vec3 customColor(vec3 color, float mask, float alpha, out float calpha) {\n\t\t\t\tfloat lalpha = alpha * mask;\n\t\t\t\tcalpha =  lalpha / clamp(lalpha + accumAlpha, 0.00001, 1.0);\n\t\t\t\taccumAlpha += (1.0 - accumAlpha) * lalpha;\n\n\t\t\t\treturn color;\n\t\t\t}")};var b_=class extends SX{constructor(e,t){super("v3"),this.nodeType="CustomNormal",this.cnormal=e,this.alpha=t,this.calpha="g".concat(this.uuid.toString().replace(/-/g,""),"_calpha")}generate(e,t){if(e.isShader("fragment")){let n=e.include(b_.Nodes.customNormal);e.addFragmentVariable(this.calpha,"float");let r=[];return r.push(this.cnormal.build(e,"v3")),r.push("normal"),r.push(this.mask?"luminance(".concat(this.mask.flow(e,"v3").result,")"):"1.0"),r.push(this.alpha.build(e,"f")),r.push(this.calpha),e.format(n+"("+r.join(",")+")",this.getType(e),t)}return console.warn("CustomNormalNode is not compatible with "+e.shader+" shader."),e.format("vec3( 0.0 )",this.getType(e),t)}},k_=b_;k_.Nodes={customNormal:new OX("vec3 customNormal(vec3 cnormal, vec3 norm, float mask, float alpha, out float calpha) {\n\t\t\t\tvec3 normal = packNormalToRGB( norm ).rgb;\n\t\t\t\tnormal *= step( vec3(0.5), cnormal );\n\n\t\t\t\tfloat lalpha = alpha * mask;\n\t\t\t\tcalpha =  lalpha / clamp( lalpha + accumAlpha, 0.00001, 1.0 );\n\t\t\t\taccumAlpha += ( 1.0 - accumAlpha ) * lalpha;\n\n\t\t\t\treturn normal;\n\t\t\t}")};var w_=class extends SX{constructor(e,t,n,r,i,a,s,o,l,c,d,h){super("v3"),this.nodeType="CustomTexture",this.texture=e,this.textureSize=t,this.crop=n,this.projection=r,this.axis=i,this.side=a,this.size=s,this.blending=o,this.mat=l,this.isMask=h,this.alpha=c,this.mode=d,this.calpha="g".concat(this.uuid.toString().replace(/-/g,""),"_calpha")}generate(e,t){e.require("position"),e.require("normal"),e.require("uv"),e.requires.uv=[!0],e.extensions.shaderTextureLOD=!0,e.extensions.derivatives=!0;let n,r="g".concat(this.uuid.toString().replace(/-/g,""));switch(this.projection.value){case 3:n=e.include(w_.Nodes.cylindrical);break;case 2:n=e.include(w_.Nodes.spherical);break;case 1:let t=["vec3(1.0, 0.0, 0.0)","vec3(0.0, 1.0, 0.0)","vec3(0.0, 0.0, 1.0)"][this.axis.value],i=["zy","xz","xy"][this.axis.value],a=new OX("\n\t\tvec3 ".concat(r,"_planarTexture(vec3 normal, sampler2D tex, vec2 textureSize, float crop, mat3 mat, vec2 size, float blending, bool isMask, float mask, float alpha, int mode, out float calpha, out vec2 writeUv) {\n\t\t\t\tvec2 projected = (1. + (position.").concat(i,")) / 2.;\n\t\t\t\tvec2 uvs = ( mat * vec3( (projected * 2. - 1.) / (size * .5), 1. ) / 2. + 0.5 ).xy;\n\t\t\t\twriteUv = uvs;\n\n\t\t\t\tvec4 tmp = texture2D( tex, uvs );\n\n\t\t\t\tvec3 col = tmp.rgb;\n\t\t\t\tfloat lalpha = alpha * tmp.a;\n\t\t\t\t").concat(2===this.side.value?"":"lalpha *= step(0.0, ".concat(1===this.side.value?"-1.0 * ":"","dot(vObjectNormal, ").concat(t,"));"),"\n\n\t\t\t\tif ( crop > 0.5 ) {\n\t\t\t\t\tif ( uvs.x < 0.0 || uvs.x > 1.0 || uvs.y < 0.0 || uvs.y > 1.0 )  {\n\t\t\t\t\t\tlalpha = 0.0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tlalpha *= mask;\n\n\t\t\t\tcalpha =  lalpha / clamp( lalpha + accumAlpha, 0.00001, 1.0 );\n\t\t\t\taccumAlpha += (1.0 - accumAlpha) * lalpha * (1.0 - float(isMask));\n\n\t\t\t\treturn col;\n\t\t\t}"));n=e.include(a);break;case 4:n=e.include(w_.Nodes.triplanar);break;default:n=e.include(w_.Nodes.uv)}e.addFragmentVariable(this.calpha,"float");let i=[];if(i.push("normal"),i.push(this.texture.generate(e,"t")),i.push(this.textureSize.build(e,"v2")),i.push(this.crop.build(e,"f")),i.push(this.mat.build(e,"mat3")),i.push(this.size.build(e,"v2")),i.push(this.blending.build(e,"f")),i.push(this.isMask.build(e,"b")),i.push(this.mask?"luminance(".concat(this.mask.flow(e,"v3").result,")"):"1.0"),i.push(this.alpha.build(e,"f")),i.push(this.mode.build(e,"i")),i.push(this.calpha),4===this.projection.value){let t="".concat(r,"_writeUvs"),n=t+"0",a=t+"1",s=t+"2",o="".concat(r,"_triplanarWeights");e.addFragmentVariable(n,"vec2"),e.addFragmentVariable(a,"vec2"),e.addFragmentVariable(s,"vec2"),e.addFragmentVariable(o,"vec3"),i.push(n),i.push(a),i.push(s),i.push(o)}else{let t="".concat(r,"_writeUvs");e.addFragmentVariable(t,"vec2"),i.push(t)}return e.format(n+"("+i.join(",")+")",this.getType(e),t)}},j_=w_;j_.Nodes={cylindrical:new OX("\nvec3 cylindricalTexture(vec3 normal, sampler2D tex, vec2 textureSize, float crop, mat3 mat, vec2 size, float blending, bool isMask, float mask, float alpha, int mode, out float calpha, out vec2 writeUv) {\n                vec3 posN = normalize(position);\n                float u = 0.5 + atan(posN.z, posN.x) / (2.*3.1415);\n                float scaledHeight = position.y / (size.y * 0.5);\n                float v =  (scaledHeight / 2.) + .5;\n\n                vec2 calculatedUv = vec2(u,v);\n\t\t\t\tvec2 uvs = ( mat * vec3( calculatedUv * 2. - 1., 1. ) / 2. + 0.5 ).xy;\n\t\t\t\twriteUv = uvs;\n\n                vec2 df = fwidth(uvs);\n               \tif(df.x > 0.5) df.x = 0.;\n\n\t\t\t\t#ifdef GL_EXT_shader_texture_lod\n                vec4 tmp = texture2DLodEXT(tex, uvs, log2(max(df.x, df.y)*min(textureSize.x, textureSize.y)));\n\t\t\t\t#else\n                vec4 tmp = textureLod(tex, uvs, log2(max(df.x, df.y)*min(textureSize.x, textureSize.y)));\n\t\t\t\t#endif\n\n\t\t\t\tvec3 col = tmp.rgb;\n\t\t\t\tfloat lalpha = alpha * tmp.a;\n\t\t\t\tif ( crop > 0.5 ) {\n\t\t\t\t\tif ( uvs.x < 0.0 || uvs.x > 1.0 || uvs.y < 0.0 || uvs.y > 1.0 )  {\n\t\t\t\t\t\tlalpha = 0.0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlalpha *= mask;\n\t\t\t\t\n\t\t\t\tcalpha =  lalpha / clamp( lalpha + accumAlpha, 0.00001, 1.0 );\n\t\t\t\taccumAlpha += (1.0 - accumAlpha) * lalpha * (1.0 - float(isMask));\n\n\t\t\t\treturn col;\n\t\t\t}\n"),spherical:new OX("\nvec3 sphericalTexture(vec3 normal, sampler2D tex, vec2 textureSize, float crop, mat3 mat, vec2 size, float blending, bool isMask, float mask, float alpha, int mode, out float calpha, out vec2 writeUv) {\n                vec3 posN = normalize(vPosition);\n                float u = 0.5 + atan(posN.z, posN.x) / (2.*3.1415);\n                float v = 0.5 + asin(posN.y) / 3.1415;\n\n                vec2 calculatedUv = vec2(u,v);\n\t\t\t\tvec2 uvs = ( mat * vec3( calculatedUv * 2. - 1., 1. ) / 2. + 0.5 ).xy;\n\t\t\t\twriteUv = uvs;\n\n                vec2 df = fwidth(uvs);\n               \tif(df.x > 0.5) df.x = 0.;\n\t\t\t\t#ifdef GL_EXT_shader_texture_lod\n                vec4 tmp = texture2DLodEXT(tex, uvs, log2(max(df.x, df.y)*min(textureSize.x, textureSize.y)));\n\t\t\t\t#else\n                vec4 tmp = textureLod(tex, uvs, log2(max(df.x, df.y)*min(textureSize.x, textureSize.y)));\n\t\t\t\t#endif\n\n\t\t\t\tvec3 col = tmp.rgb;\n\t\t\t\tfloat lalpha = alpha * tmp.a;\n\t\t\t\tif ( crop > 0.5 ) {\n\t\t\t\t\tif ( uvs.x < 0.0 || uvs.x > 1.0 || uvs.y < 0.0 || uvs.y > 1.0 )  {\n\t\t\t\t\t\tlalpha = 0.0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlalpha *= mask;\n\n\t\t\t\tcalpha =  lalpha / clamp( lalpha + accumAlpha, 0.00001, 1.0 );\n\t\t\t\taccumAlpha += (1.0 - accumAlpha) * lalpha * (1.0 - float(isMask));\n\n\t\t\t\treturn col;\n\t\t\t}\n"),uv:new OX("vec3 uvTexture(vec3 normal, sampler2D tex, vec2 textureSize, float crop, mat3 mat, vec2 size, float blending, bool isMask, float mask, float alpha, int mode, out float calpha, out vec2 writeUv) {\n\t\t\t\tvec2 uvs = ( mat * vec3( vUv * 2. - 1., 1. ) / 2. + 0.5 ).xy;\n\t\t\t\twriteUv = uvs;\n\n\t\t\t\tvec4 tmp = texture2D( tex, uvs );\n\n\t\t\t\tvec3 col = tmp.rgb;\n\n\t\t\t\tfloat lalpha = alpha * tmp.a;\n\t\t\t\tif ( crop > 0.5 ) {\n\t\t\t\t\tif ( uvs.x < 0.0 || uvs.x > 1.0 || uvs.y < 0.0 || uvs.y > 1.0 )  {\n\t\t\t\t\t\tlalpha = 0.0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tlalpha *= mask;\n\n\t\t\t\tcalpha =  lalpha / clamp( lalpha + accumAlpha, 0.00001, 1.0 );\n\t\t\t\taccumAlpha += (1.0 - accumAlpha) * lalpha * (1.0 - float(isMask));\n\n\t\t\t\treturn col;\n\t\t\t}"),triplanar:new OX("vec3 triplanarTexture(vec3 normal, sampler2D tex, vec2 textureSize, float crop, mat3 mat, vec2 size, float blending, bool isMask, float mask, float alpha, int mode, out float calpha, out vec2 writeUvs0, out vec2 writeUvs1, out vec2 writeUvs2, out vec3 writeWeights) {\n\t\t\t\tvec3 p = position;\n\t\t\t\tvec2 uv0 = (1.0 + p.xy) / 2.0;     \n\t\t\t\tvec2 uv1 = (1.0 + p.zy) / 2.0;\t\t\n\t\t\t\tvec2 uv2 = (1.0 + p.xz) / 2.0;\t\t\n\t\n\t\t\t\tuv0 = (mat * vec3((uv0 * 2.0 - 1.0) / (size * 0.5), 1.0) / 2.0 + 0.5).xy;\n\t\t\t\tuv1 = (mat * vec3((uv1 * 2.0 - 1.0) / (size * 0.5), 1.0) / 2.0 + 0.5).xy;\n\t\t\t\tuv2 = (mat * vec3((uv2 * 2.0 - 1.0) / (size * 0.5), 1.0) / 2.0 + 0.5).xy;\n\n\t\t\t\t// Range from 3 to 128 seems to be good\n\t\t\t\tfloat exponent = (1.0 - blending) * 125.0 + 3.0;\n\n\t\t\t\tvec3 n = vObjectNormal;\n\t\t\t\tvec3 weights = abs(normalize(n));\n\t\t\t\tweights = pow(weights, vec3(exponent));\n\t\t\t\tweights /= dot(weights, vec3(1.0));\n\n\t\t\t\t// Write out all sets of UVs that we generated\n\t\t\t\twriteUvs0 = uv0;\n\t\t\t\twriteUvs1 = uv1;\n\t\t\t\twriteUvs2 = uv2;\n\t\t\t\twriteWeights = weights;\n\n\t\t\t\t// Derivatives for LOD\n\t\t\t\tvec2 df0 = fwidth(uv0);\n\t\t\t\tvec2 df1 = fwidth(uv1);\n\t\t\t\tvec2 df2 = fwidth(uv2);\n\t\t\t\tif (df0.x > 0.5) df0.x = 0.0;\n\t\t\t\tif (df1.x > 0.5) df1.x = 0.0;\n\t\t\t\tif (df2.x > 0.5) df2.x = 0.0;\n\n\t\t\t\t#ifdef GL_EXT_shader_texture_lod\n                \tvec4 tmp = \n\t\t\t\t\t\ttexture2DLodEXT(tex, uv0, log2(max(df0.x, df0.y)*min(textureSize.x, textureSize.y))) * weights.z + \n\t\t\t\t\t\ttexture2DLodEXT(tex, uv1, log2(max(df1.x, df1.y)*min(textureSize.x, textureSize.y))) * weights.x + \n\t\t\t\t\t\ttexture2DLodEXT(tex, uv2, log2(max(df2.x, df2.y)*min(textureSize.x, textureSize.y))) * weights.y;\n\t\t\t\t#else\n                \tvec4 tmp = \n\t\t\t\t\t\ttextureLod(tex, uv0, log2(max(df0.x, df0.y)*min(textureSize.x, textureSize.y))) * weights.z + \n\t\t\t\t\t\ttextureLod(tex, uv1, log2(max(df1.x, df1.y)*min(textureSize.x, textureSize.y))) * weights.x + \n\t\t\t\t\t\ttextureLod(tex, uv2, log2(max(df2.x, df2.y)*min(textureSize.x, textureSize.y))) * weights.y;\n\t\t\t\t#endif\n\n\t\t\t\tvec3 col = tmp.rgb;\n\t\t\t\tfloat lalpha = alpha * tmp.a;\n\n\t\t\t\t// Apply cropping across all 3 planes\n\t\t\t\tif ( crop > 0.5 ) {\n\t\t\t\t\tif ( uv0.x < 0.0 || uv0.x > 1.0 || uv0.y < 0.0 || uv0.y > 1.0 )  {\n\t\t\t\t\t\tlalpha = 0.0;\n\t\t\t\t\t}\n\t\t\t\t\tif ( uv1.x < 0.0 || uv1.x > 1.0 || uv1.y < 0.0 || uv1.y > 1.0 )  {\n\t\t\t\t\t\tlalpha = 0.0;\n\t\t\t\t\t}\n\t\t\t\t\tif ( uv2.x < 0.0 || uv2.x > 1.0 || uv2.y < 0.0 || uv2.y > 1.0 )  {\n\t\t\t\t\t\tlalpha = 0.0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlalpha *= mask;\n\t\t\t\tcalpha =  lalpha / clamp(lalpha + accumAlpha, 0.00001, 1.0);\n\t\t\t\taccumAlpha += (1.0 - accumAlpha) * lalpha * (1.0 - float(isMask));\n\n\t\t\t\treturn col;//n * 0.5 + 0.5;\n\t\t\t}\t\t\t\n\t\t\t")};var M_=class extends SX{constructor(e,t,n,r,i,a,s,o,l,c,d,h){super("v3"),this.nodeType="Depth",this.gradientType=e,this.smooth=t,this.near=n,this.far=r,this.isVector=i,this.isWorldSpace=a,this.origin=s,this.direction=o,this.colors=l,this.steps=c,this.isMask=h,this.alpha=d,this.calpha="g".concat(this.uuid.toString().replace(/-/g,""),"_calpha")}generate(e,t){let n="g".concat(this.uuid.toString().replace(/-/g,"")),r=new OX("vec3 ".concat(n,"_sdepth(float near, float far, vec3 origin, vec3 direction, vec4 colors[").concat(n,"_MAX_COLORS], float steps[").concat(n,"_MAX_COLORS], bool isMask, float mask, float alpha, out float calpha) {\n               vec4 color = colors[0];\n               #ifdef ").concat(n,"_IS_VECTOR\n                   #ifdef ").concat(n,"_LINEAR\n                       #ifdef ").concat(n,"_WORLDSPACE\n                       float depth = vectorLinearWorldSpaceDepth(direction, origin, near, far);\n                       #else\n                       float depth = vectorLinearObjectSpaceDepth(direction, origin, near, far);\n                       #endif\n                   #else\n                       #ifdef ").concat(n,"_WORLDSPACE\n                           float depth = vectorSphericalWorldSpaceDepth(origin, near, far);\n                       #else\n                           float depth = vectorSphericalObjectSpaceDepth(origin, near, far);\n                       #endif\n                   #endif\n               #else\n                   float dist = length(vWPosition - cameraPosition);\n\t\t\t       float depth = ( dist - near ) / ( far - near );\n               #endif\n\n\n              float p;\n              #ifdef ").concat(n,"_SMOOTH\n\t\t\t\tfor ( int i = 1; i < ").concat(n,"_MAX_COLORS; i++ ) {\n\t\t\t\t\t\tp = clamp( ( depth - steps[i-1] ) / ( steps[i] - steps[i-1] ), 0.0, 1.0 );\n\t\t\t\t\t\tcolor = mix(color, colors[i], smoothstep(0.0, 1.0, p));\n\t\t\t\t\t}\n              #else\n                for ( int i = 1; i < ").concat(n,"_MAX_COLORS; i++ ) {\n                   p = clamp(( depth - steps[i - 1] ) / ( steps[i] - steps[i - 1] ), 0.0, 1.0);\n                   color = mix(color, colors[i], p);\n                 }\n              #endif\n\n               float lalpha = alpha * color.a * mask;\n               calpha = mix(lalpha / clamp(lalpha + accumAlpha, 0.00001, 1.0), lalpha, float(isMask));\n\t\t\t   accumAlpha += (1.0 - accumAlpha) * lalpha * (1.0 - float(isMask));\n\t\t\t   \n               return color.rgb;\n\t\t\t}"),[M_.Nodes.vectorLinearWorldSpaceDepth,M_.Nodes.vectorLinearObjectSpaceDepth,M_.Nodes.vectorSphericalObjectSpaceDepth,M_.Nodes.vectorSphericalWorldSpaceDepth]);if(e.isShader("fragment")){e.define("".concat(n,"_MAX_COLORS"),this.colors.value.length),this.smooth.value&&e.define("".concat(n,"_SMOOTH")),this.isVector.value>.5&&e.define("".concat(n,"_IS_VECTOR")),0===this.gradientType.value&&e.define("".concat(n,"_LINEAR")),this.isWorldSpace.value>.5&&e.define("".concat(n,"_WORLDSPACE")),e.require("worldPosition"),e.addFragmentVariable(this.calpha,"float");let i=e.include(r),a=[];return a.push(this.near.build(e,"f")),a.push(this.far.build(e,"f")),a.push(this.origin.build(e,"v3")),a.push(this.direction.build(e,"v3")),a.push(this.colors.build(e,"v4[]")),a.push(this.steps.build(e,"f[]")),a.push(this.isMask.build(e,"b")),a.push(this.mask?"luminance(".concat(this.mask.flow(e,"v3").result,")"):"1.0"),a.push(this.alpha.build(e,"f")),a.push(this.calpha),e.format(i+"("+a.join(",")+")",this.getType(e),t)}return console.warn("DepthNode is not compatible with "+e.shader+" shader."),e.format("vec3( 0.0 )",this.getType(e),t)}},P_=M_;P_.Nodes={vectorLinearWorldSpaceDepth:new OX("float vectorLinearWorldSpaceDepth(vec3 direction, vec3 origin, float near, float far) {\n               vec3 n = normalize(direction);\n               float dist = (n.x*(vWPosition.x - origin.x) + n.y*(vWPosition.y - origin.y) + n.z*(vWPosition.z - origin.z));\n               return ( dist - near ) / ( far - near );\n            }"),vectorLinearObjectSpaceDepth:new OX("float vectorLinearObjectSpaceDepth(vec3 direction, vec3 origin, float near, float far) {\n               vec3 n = normalize(direction);\n               float dist = (n.x*(position.x - origin.x) + n.y*(position.y - origin.y) + n.z*(position.z - origin.z));\n               return ( dist - near ) / ( far - near );\n            }"),vectorSphericalWorldSpaceDepth:new OX("float vectorSphericalWorldSpaceDepth(vec3 origin, float near, float far) {\n               float dist = length(vWPosition - origin);\n               return ( dist - near ) / ( far - near );\n            }"),vectorSphericalObjectSpaceDepth:new OX("float vectorSphericalObjectSpaceDepth(vec3 origin, float near, float far) {\n               float dist = length(position - origin);\n               return ( dist - near ) / ( far - near );\n            }")};var O_=class extends SX{constructor(e,t,n,r,i,a,s,o){super("v3"),this.nodeType="Fresnel",this.color=e,this.bias=t,this.scale=n,this.intensity=r,this.factor=i,this.isMask=o,this.alpha=a,this.mode=s,this.calpha="g".concat(this.uuid.toString().replace(/-/g,""),"_calpha")}generate(e,t){if(e.require("vWorldViewDir"),e.require("worldNormal"),e.isShader("fragment")){e.addFragmentVariable(this.calpha,"float");let n=new OX("vec3 fresnel(vec3 color, float bias, float scale, float intensity, float factor, bool isMask, float mask, float alpha, int mode, out float calpha) {\n\t\t\t\t\tfloat fresnel = bias + scale * pow( abs( factor + dot( normalize( vWorldViewDir ), normalize( vWNormal ) ) ), intensity );\n\n\t\t\t\t\tfloat lalpha = clamp(fresnel, 0.0, 1.0) * alpha * mask;\n\t\t\t\t\tcalpha = mix(lalpha / clamp(lalpha + accumAlpha, 0.00001, 1.0), lalpha, float(isMask));\n\t\t\t\t\taccumAlpha += (1.0 - accumAlpha) * lalpha * (1.0 - float(isMask));\n\n\t\t\t\t\treturn color;\n\t\t\t\t}"),r=e.include(n),i=[];return i.push(this.color.build(e,"c")),i.push(this.bias.build(e,"f")),i.push(this.scale.build(e,"f")),i.push(this.intensity.build(e,"f")),i.push(this.factor.build(e,"f")),i.push(this.isMask.build(e,"b")),i.push(this.mask?"luminance(".concat(this.mask.flow(e,"v3").result,")"):"1.0"),i.push(this.alpha.build(e,"f")),i.push(this.mode.build(e,"i")),i.push(this.calpha),e.format(r+"("+i.join(",")+")",this.getType(e),t)}return console.warn("FresnelNode is not compatible with "+e.shader+" shader."),e.format("vec3( 0.0 )",this.getType(e),t)}},T_=class extends SX{constructor(e,t,n,r,i,a,s,o,l){super("v3"),this.nodeType="Gradient",this.gradientType=e,this.smooth=t,this.colors=n,this.steps=r,this.offset=i,this.morph=a,this.angle=s,this.isMask=l,this.alpha=o,this.calpha="g".concat(this.uuid.toString().replace(/-/g,""),"_calpha")}generate(e,t){if(e.isShader("fragment")){e.define("GRAD_MAX",10),e.require("uv"),e.requires.uv=[!0],e.addFragmentVariable(this.calpha,"float");let n=e.include(T_.Nodes.gradient),r=[];return r.push(this.gradientType.build(e,"i")),r.push(this.smooth.build(e,"b")),r.push(this.colors.build(e,"v4[]")),r.push(this.steps.build(e,"f[]")),r.push(this.offset.build(e,"v2")),r.push(this.morph.build(e,"v2")),r.push(this.angle.build(e,"f")),r.push(this.isMask.build(e,"b")),r.push(this.mask?"luminance(".concat(this.mask.flow(e,"v3").result,")"):"1.0"),r.push(this.alpha.build(e,"f")),r.push(this.calpha),e.format(n+"("+r.join(",")+")",this.getType(e),t)}return console.warn("GradientNode is not compatible with "+e.shader+" shader."),e.format("vec3( 0.0 )",this.getType(e),t)}},I_=T_;I_.Nodes={gradient:new OX("vec3 gradient(int gradientType, bool smoothed, vec4 colors[GRAD_MAX], float steps[GRAD_MAX], vec2 offset, vec2 morph, float angle, bool isMask, float mask, float alpha, out float calpha) {\n\t\t\t\tvec4 color = colors[0];\n\t\t\t\tvec2 m = morph / vUv.xy;\n\t\t\t\tvec2 rot = vec2( 0.5 + m.x, m.y );\n\t\t\t\tvec2 dt = vec2(\n\t\t\t\t\tcos( angle ) * rot.x - sin( angle ) * rot.y,\n\t\t\t\t\tsin( angle ) * rot.x + cos( angle ) * rot.y\n\t\t\t\t);\n\t\t\t\tvec2 pt = ( vUv - 0.5 + offset ) / 2.0 + dt / 2.0;\n\t\t\t\tfloat t = dot( pt, dt ) / dot( dt, dt );\n\t\t\t\tif ( gradientType == 1 ) {\n\t\t\t\t\tt = distance (\n\t\t\t\t\t\t( vUv + morph ) * 3.0,\n\t\t\t\t\t\t( vUv + offset ) + 1.0\n\t\t\t\t\t) + angle;\n\t\t\t\t} else if ( gradientType == 2 ) {\n\t\t\t\t\tfloat polar = atan(\n\t\t\t\t\t\tvUv.x + morph.x - 0.5 + offset.x,\n\t\t\t\t\t\tvUv.y + morph.y - 0.5 + offset.y\n\t\t\t\t\t) * -1.0;\n\t\t\t\t\tt = fract( ( angle / PI / -2.0 ) + 0.5 * ( polar / PI ) );\n\t\t\t\t}\n\n\t\t\t\tfloat p;\n\t\t\t\tif (smoothed) {\n\t\t\t\t\tfor ( int i = 1; i < GRAD_MAX; i++ ) {\n\t\t\t\t\t\tp = clamp( ( t - steps[i-1] ) / ( steps[i] - steps[i-1] ), 0.0, 1.0 );\n\t\t\t\t\t\tcolor = mix(color, colors[i], smoothstep(0.0, 1.0, p));\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\t\t\t\t\tfor ( int i = 1; i < GRAD_MAX; i++ ) {\n\t\t\t\t\t\tp = clamp( ( t - steps[i-1] ) / ( steps[i] - steps[i-1] ), 0.0, 1.0 );\n\t\t\t\t\t\tcolor = mix(color, colors[i], p);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tfloat lalpha = alpha * color.a * mask;\n\t\t\t\tcalpha = mix(lalpha / clamp(lalpha + accumAlpha, 0.00001, 1.0), lalpha, float(isMask));\n\t\t\t\taccumAlpha += (1.0 - accumAlpha) * lalpha * (1.0 - float(isMask));\n\t\t\t\t\n\t\t\t\treturn color.xyz;\n\t\t\t}")};var C_=class extends SX{constructor(e,t,n,r){super("v3"),this.nodeType="Matcap",this.texture=e,this.isMask=r,this.alpha=t,this.mode=n,this.calpha="g".concat(this.uuid.toString().replace(/-/g,""),"_calpha")}generate(e,t){if(e.isShader("fragment")){e.addFragmentVariable(this.calpha,"float");let n=e.include(C_.Nodes.matcap);e.require("normal"),e.requires.normal=!0;let r=[];return r.push(this.texture.generate(e,"t")),r.push("normal"),r.push(this.isMask.build(e,"b")),r.push(this.mask?"luminance(".concat(this.mask.flow(e,"v3").result,")"):"1.0"),r.push(this.alpha.build(e,"f")),r.push(this.mode.build(e,"i")),r.push(this.calpha),e.format(n+"("+r.join(",")+")",this.getType(e),t)}return console.warn("MatcapNode is not compatible with "+e.shader+" shader."),e.format("vec3( 0.0 )",this.getType(e),t)}},E_=C_;E_.Nodes={matcap:new OX("vec3 matcap(sampler2D matcapTex, vec3 normal, bool isMask, float mask, float alpha, int mode, out float calpha) {\n\t\t\t\t\tvec3 viewDir = normalize( vViewPosition );\n\t\t\t\t\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\t\t\t\t\tvec3 y = cross( viewDir, x );\n\t\t\t\t\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5; // 0.495 to remove artifacts caused by undersized matcap disks\n\t\t\t\t\tvec4 matcapColor = texture2D( matcapTex, uv );\n\n\t\t\t\t\tfloat lalpha = alpha * mask;\n\t\t\t\t\tcalpha = mix(lalpha / clamp(lalpha + accumAlpha, 0.00001, 1.0), lalpha, float(isMask));\n\t\t\t\t\taccumAlpha += (1.0 - accumAlpha) * lalpha * (1.0 - float(isMask));\n\t\t\t\t\t\n\t\t\t\t\treturn matcapColor.rgb;\n            \t}")};var V_=(e=>(e.SIMPLEX="simplex3d",e.SIMPLEX_FRACTAL="simplex3dFractal",e.ASHIMA="simplexAshima",e.FBM="fbm",e.PERLIN="perlin",e.VORONOI="voronoi",e))(V_||{}),R_=function(){let e=new OX("vec3 random3(vec3 c) {\n\t\t\tfloat j = 4096.0*sin(dot(c,vec3(17.0, 59.4, 15.0)));\n\t\t\tvec3 r;\n\t\t\tr.z = fract(512.0*j);\n\t\t\tj *= .125;\n\t\t\tr.x = fract(512.0*j);\n\t\t\tj *= .125;\n\t\t\tr.y = fract(512.0*j);\n\t\t\treturn r-0.5;\n\t\t}"),t=new OX("float simplex3d(vec3 p) {\n\t\t\t vec3 s = floor(p + dot(p, vec3(F3)));\n\t\t\t vec3 x = p - s + dot(s, vec3(G3));\n\t\t\t \n\t\t\t vec3 e = step(vec3(0.0), x - x.yzx);\n\t\t\t vec3 i1 = e*(1.0 - e.zxy);\n\t\t\t vec3 i2 = 1.0 - e.zxy*(1.0 - e);\n\t\t\t\t\n\t\t\t vec3 x1 = x - i1 + G3;\n\t\t\t vec3 x2 = x - i2 + 2.0*G3;\n\t\t\t vec3 x3 = x - 1.0 + 3.0*G3;\n\t\t\t \n\t\t\t vec4 w, d;\n\t\t\t \n\t\t\t w.x = dot(x, x);\n\t\t\t w.y = dot(x1, x1);\n\t\t\t w.z = dot(x2, x2);\n\t\t\t w.w = dot(x3, x3);\n\t\t\t \n\t\t\t w = max(0.6 - w, 0.0);\n\t\t\t \n\t\t\t d.x = dot(random3(s), x);\n\t\t\t d.y = dot(random3(s + i1), x1);\n\t\t\t d.z = dot(random3(s + i2), x2);\n\t\t\t d.w = dot(random3(s + 1.0), x3);\n\t\t\t \n\t\t\t w *= w;\n\t\t\t w *= w;\n\t\t\t d *= w;\n\t\t\t \n\t\t\t return dot(d, vec4(52.0));\n\t\t}",[e]);t.keywords.F3=new CX("float F3 0.3333333"),t.keywords.G3=new CX("float G3 0.1666667");let n=new OX("float simplex3dFractal(vec3 m) {\n\t\t\tmat3 rot1 = mat3(-0.37, 0.36, 0.85,-0.14,-0.93, 0.34,0.92, 0.01,0.4);\n\t\t\tmat3 rot2 = mat3(-0.55,-0.39, 0.74, 0.33,-0.91,-0.24,0.77, 0.12,0.63);\n\t\t\tmat3 rot3 = mat3(-0.71, 0.52,-0.47,-0.08,-0.72,-0.68,-0.7,-0.45,0.56);\n\t\t\treturn 0.5333333 * simplex3d(m * rot1)\n\t\t\t\t + 0.2666667 * simplex3d(2.0 * m * rot2)\n\t\t\t\t + 0.1333333 * simplex3d(4.0 * m * rot3)\n\t\t\t\t + 0.0666667 * simplex3d(8.0 * m);\n\t\t}",[t]),r=new OX("vec4 permute(vec4 x){return mod(((x*34.0)+1.0)*x, 289.0);}"),i=new OX("vec4 taylorInvSqrt(vec4 r){return 1.79284291400159 - 0.85373472095314 * r;}"),a=new OX("float simplexAshima(vec3 v) {\n\t\t  const vec2  C = vec2(1.0/6.0, 1.0/3.0) ;\n\t\t  const vec4  D = vec4(0.0, 0.5, 1.0, 2.0);\n\t\t  vec3 i  = floor(v + dot(v, C.yyy) );\n\t\t  vec3 x0 =   v - i + dot(i, C.xxx) ;\n\t\t  vec3 g = step(x0.yzx, x0.xyz);\n\t\t  vec3 l = 1.0 - g;\n\t\t  vec3 i1 = min( g.xyz, l.zxy );\n\t\t  vec3 i2 = max( g.xyz, l.zxy );\n\t\t  vec3 x1 = x0 - i1 + 1.0 * C.xxx;\n\t\t  vec3 x2 = x0 - i2 + 2.0 * C.xxx;\n\t\t  vec3 x3 = x0 - 1. + 3.0 * C.xxx;\n\t\t  i = mod(i, 289.0 ); \n\t\t  vec4 p = permute( permute( permute( \n\t\t\t\t\t i.z + vec4(0.0, i1.z, i2.z, 1.0 ))\n\t\t\t\t   + i.y + vec4(0.0, i1.y, i2.y, 1.0 )) \n\t\t\t\t   + i.x + vec4(0.0, i1.x, i2.x, 1.0 ));\n\t\t  float n_ = 1.0/7.0; // N=7\n\t\t  vec3  ns = n_ * D.wyz - D.xzx;\n\t\t  vec4 j = p - 49.0 * floor(p * ns.z *ns.z);  //  mod(p,N*N)\n\t\t  vec4 x_ = floor(j * ns.z);\n\t\t  vec4 y_ = floor(j - 7.0 * x_ );    // mod(j,N)\n\t\t  vec4 x = x_ *ns.x + ns.yyyy;\n\t\t  vec4 y = y_ *ns.x + ns.yyyy;\n\t\t  vec4 h = 1.0 - abs(x) - abs(y);\n\t\t  vec4 b0 = vec4( x.xy, y.xy );\n\t\t  vec4 b1 = vec4( x.zw, y.zw );\n\t\t  vec4 s0 = floor(b0)*2.0 + 1.0;\n\t\t  vec4 s1 = floor(b1)*2.0 + 1.0;\n\t\t  vec4 sh = -step(h, vec4(0.0));\n\t\t  vec4 a0 = b0.xzyw + s0.xzyw*sh.xxyy ;\n\t\t  vec4 a1 = b1.xzyw + s1.xzyw*sh.zzww ;\n\t\t  vec3 p0 = vec3(a0.xy,h.x);\n\t\t  vec3 p1 = vec3(a0.zw,h.y);\n\t\t  vec3 p2 = vec3(a1.xy,h.z);\n\t\t  vec3 p3 = vec3(a1.zw,h.w);\n\t\t  vec4 norm = taylorInvSqrt(vec4(dot(p0,p0), dot(p1,p1), dot(p2, p2), dot(p3,p3)));\n\t\t  p0 *= norm.x;\n\t\t  p1 *= norm.y;\n\t\t  p2 *= norm.z;\n\t\t  p3 *= norm.w;\n\t\t  vec4 m = max(0.6 - vec4(dot(x0,x0), dot(x1,x1), dot(x2,x2), dot(x3,x3)), 0.0);\n\t\t  m = m * m;\n\t\t  return 42.0 * dot( m*m, vec4( dot(p0,x0), dot(p1,x1), \n\t\t\t\t\t\t\t\t\t\tdot(p2,x2), dot(p3,x3) ) );\n\t\t}",[r,i]),s=new OX("vec4 mod289(vec4 x){return x - floor(x * (1.0 / 289.0)) * 289.0;}"),o=new OX("vec4 perm(vec4 x){return mod289(((x * 34.0) + 1.0) * x);}",[s]),l=new OX("float noise(vec3 p){\n\t\t\tvec3 a = floor(p);\n\t\t\tvec3 d = p - a;\n\t\t\td = d * d * (3.0 - 2.0 * d);\n\t\t\tvec4 b = a.xxyy + vec4(0.0, 1.0, 0.0, 1.0);\n\t\t\tvec4 k1 = perm(b.xyxy);\n\t\t\tvec4 k2 = perm(k1.xyxy + b.zzww);\n\t\t\tvec4 c = k2 + a.zzzz;\n\t\t\tvec4 k3 = perm(c);\n\t\t\tvec4 k4 = perm(c + 1.0);\n\t\t\tvec4 o1 = fract(k3 * (1.0 / 41.0));\n\t\t\tvec4 o2 = fract(k4 * (1.0 / 41.0));\n\t\t\tvec4 o3 = o2 * d.z + o1 * (1.0 - d.z);\n\t\t\tvec2 o4 = o3.yw * d.x + o3.xz * (1.0 - d.x);\n\t\t\treturn o4.y * d.y + o4.x * (1.0 - d.y);\n\t\t}",[o]),c=new OX("float fbm(vec3 x) {\n\t\t\tfloat v = 0.0;\n\t\t\tfloat a = 0.5;\n\t\t\tvec3 shift = vec3(100);\n\t\t\tfor (int i = 0; i < NUM_OCTAVES; ++i) {\n\t\t\t\tv += a * noise(x);\n\t\t\t\tx = x * 2.0 + shift;\n\t\t\t\ta *= 0.5;\n\t\t\t}\n\t\t\treturn v;\n\t\t}",[l]);c.keywords.NUM_OCTAVES=new CX("int NUM_OCTAVES ".concat(5));let d=new OX("vec3 fade(vec3 t) {return t*t*t*(t*(t*6.0-15.0)+10.0);}"),h=new OX("float perlin(vec3 P){\n\t\t  vec3 Pi0 = floor(P);\n\t\t  vec3 Pi1 = Pi0 + vec3(1.0);\n\t\t  Pi0 = mod(Pi0, 289.0);\n\t\t  Pi1 = mod(Pi1, 289.0);\n\t\t  vec3 Pf0 = fract(P);\n\t\t  vec3 Pf1 = Pf0 - vec3(1.0);\n\t\t  vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);\n\t\t  vec4 iy = vec4(Pi0.yy, Pi1.yy);\n\t\t  vec4 iz0 = Pi0.zzzz;\n\t\t  vec4 iz1 = Pi1.zzzz;\n\t\t  vec4 ixy = permute(permute(ix) + iy);\n\t\t  vec4 ixy0 = permute(ixy + iz0);\n\t\t  vec4 ixy1 = permute(ixy + iz1);\n\t\t  vec4 gx0 = ixy0 / 7.0;\n\t\t  vec4 gy0 = fract(floor(gx0) / 7.0) - 0.5;\n\t\t  gx0 = fract(gx0);\n\t\t  vec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0);\n\t\t  vec4 sz0 = step(gz0, vec4(0.0));\n\t\t  gx0 -= sz0 * (step(0.0, gx0) - 0.5);\n\t\t  gy0 -= sz0 * (step(0.0, gy0) - 0.5);\n\t\t  vec4 gx1 = ixy1 / 7.0;\n\t\t  vec4 gy1 = fract(floor(gx1) / 7.0) - 0.5;\n\t\t  gx1 = fract(gx1);\n\t\t  vec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1);\n\t\t  vec4 sz1 = step(gz1, vec4(0.0));\n\t\t  gx1 -= sz1 * (step(0.0, gx1) - 0.5);\n\t\t  gy1 -= sz1 * (step(0.0, gy1) - 0.5);\n\t\t  vec3 g000 = vec3(gx0.x,gy0.x,gz0.x);\n\t\t  vec3 g100 = vec3(gx0.y,gy0.y,gz0.y);\n\t\t  vec3 g010 = vec3(gx0.z,gy0.z,gz0.z);\n\t\t  vec3 g110 = vec3(gx0.w,gy0.w,gz0.w);\n\t\t  vec3 g001 = vec3(gx1.x,gy1.x,gz1.x);\n\t\t  vec3 g101 = vec3(gx1.y,gy1.y,gz1.y);\n\t\t  vec3 g011 = vec3(gx1.z,gy1.z,gz1.z);\n\t\t  vec3 g111 = vec3(gx1.w,gy1.w,gz1.w);\n\t\t  vec4 norm0 = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));\n\t\t  g000 *= norm0.x;\n\t\t  g010 *= norm0.y;\n\t\t  g100 *= norm0.z;\n\t\t  g110 *= norm0.w;\n\t\t  vec4 norm1 = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));\n\t\t  g001 *= norm1.x;\n\t\t  g011 *= norm1.y;\n\t\t  g101 *= norm1.z;\n\t\t  g111 *= norm1.w;\n\t\t  float n000 = dot(g000, Pf0);\n\t\t  float n100 = dot(g100, vec3(Pf1.x, Pf0.yz));\n\t\t  float n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z));\n\t\t  float n110 = dot(g110, vec3(Pf1.xy, Pf0.z));\n\t\t  float n001 = dot(g001, vec3(Pf0.xy, Pf1.z));\n\t\t  float n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z));\n\t\t  float n011 = dot(g011, vec3(Pf0.x, Pf1.yz));\n\t\t  float n111 = dot(g111, Pf1);\n\t\t  vec3 fade_xyz = fade(Pf0);\n\t\t  vec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z);\n\t\t  vec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y);\n\t\t  float n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x); \n\t\t  return 2.2 * n_xyz;\n\t\t}",[r,i,d]),u=new OX("float hashwithoutsine13(vec3 p3)\n\t\t{\n\t\t\tp3  = fract(p3 * .1031);\n\t\t\tp3 += dot(p3, p3.yzx + 33.33);\n\t\t\treturn fract((p3.x + p3.y) * p3.z);\n\t\t}"),p=new OX("vec3 hashwithoutsine33(vec3 p3)\n\t\t{\n\t\t\tp3 = fract(p3 * vec3(.1031, .1030, .0973));\n\t\t\tp3 += dot(p3, p3.yxz+33.33);\n\t\t\treturn fract((p3.xxy + p3.yxx)*p3.zyx);\n\t\t}"),f=new OX("float metric(in vec3 p)\n\t\t{\n\t\t\t// L2 \n\t\t\treturn length(p);\n\n\t\t\t// Chebyshev \n\t\t\t// vec3 a = abs(p);\n\t\t\t// return max(a.x, max(a.y, a.z));\n\t\t}"),m=new OX("float smin( float a, float b, float k )\n\t\t{\n\t\t\tfloat h = smoothstep(0.0, 1.0, 0.5 + 0.5 * (b - a) / k);\n\t\t\tfloat correction = k * h * (1.0 - h);\n\t\t\treturn mix(b, a, h) - correction;\n\t\t}"),g=new OX("float smax( float a, float b, float k )\n\t\t{\n\t\t\tfloat h = smoothstep(1.0, 0.0, 0.5 + 0.5 * (a - b) / k);\n\t\t\tfloat correction = k * h * (1.0 - h);\n\t\t\treturn mix(a, b, h) + correction;\n\t\t}"),y=new OX("float remap(float value, float input_min, float input_max, float output_min, float output_max) {\n\t\t\t// Compute width of each interval\n\t\t\tfloat input_width = input_max - input_min;\n\t\t\tfloat output_width = output_max - output_min;\n\t\t\n\t\t\t// Convert input range into a 0-1 range \n\t\t\tfloat scaled = (value - input_min) / input_width;\n\t\t\n\t\t\t// Convert the 0-1 range into a value in output range\n\t\t\treturn output_min + (scaled * output_width);\n\t\t}");return{simplex:t,simplexFractal:n,simplexAshima:a,fbm:c,perlin:h,voronoi:new OX('float voronoi(in vec3 x, in int style, in float smoothness, in float seed, in int quality) \n\t\t{\n\t\t\t// Integer and fractional parts of this point\'s coordinates\n\t\t\tivec3 p = ivec3(floor(x));\n\t\t\tvec3 f = fract(x);\n\n\t\t\t// Different variables that we will use to construct noise:\n\t\t\t//\n\t\t\t// f1: distance to the closest feature point\n\t\t\t// f2: distance to the second closest feature point\n\t\t\t// e: distance to the closest edge (cell boundary)\n\t\t\t//\n\t\t\t// We also compute "smooth" versions of all of the above quantites, essentially\n\t\t\t// replacing "hard" minimums with "smooth" minimums (described by IQ)\n\t\t\tfloat f1_smooth = 8.0;\n\t\t\tfloat f1 = 8.0;\n\t\t\tfloat f2_smooth = 8.0;\n\t\t\tfloat f2 = 8.0;\n\t\t\tfloat e_smooth = 8.0;\n\t\t\tfloat e = 8.0;\n\n\t\t\t// Variables stored from closest cell\n\t\t\tivec3 mb;\n\t\t\tvec3 mr; \n\n\t\t\tint steps = quality;\n\t\t\t\n\t\t\tfor (int x = -steps; x <= steps; x++) \n\t\t\tfor (int y = -steps; y <= steps; y++)\n\t\t\tfor (int z = -steps; z <= steps; z++)\n\t\t\t{\n\t\t\t\tivec3 b = ivec3(x, y, z);\n\t\t\t\tvec3 r = vec3(b) + hashwithoutsine33(vec3(p + b) + seed) - f;\n\t\t\t\tfloat d = length(r);\n\t\t\t\t\n\t\t\t\tf1_smooth = smin(d, f1_smooth, smoothness);\n\n\t\t\t\t// Store un-smoothed distances too \n\t\t\t\tif (d < f1) \n\t\t\t\t{\n\t\t\t\t\tf2 = f1;\n\t\t\t\t\tf1 = d;\n\n\t\t\t\t\tmb = ivec3(x, y, z);\n\t\t\t\t\tmr = r;\n\t\t\t\t} \n\t\t\t\telse if (d < f2) \n\t\t\t\t{\n\t\t\t\t\tf2 = d;\n\t\t\t\t}\n\t\t\t}\t\n\t\t\t\n\t\t\tfloat id = hashwithoutsine13(vec3(p + mb) + seed);\n\n\t\t\t// Second pass for edge distance  \n\t\t\tfor (int x = -steps; x <= steps; x++) \n\t\t\tfor (int y = -steps; y <= steps; y++)\n\t\t\tfor (int z = -steps; z <= steps; z++)\n\t\t\t{\n\t\t\t\t// Start search at the cell that contains the closest point to "x" (found in 1st pass)\n\t\t\t\tivec3 b = mb + ivec3(x, y, z);\n\t\t\t\tvec3 r = vec3(b) + hashwithoutsine33(vec3(p + b) + seed) - f;\n\t\t\t\tfloat d1 = dot(0.5 * (mr + r), (r - mr)); \t\t\t\t// IQ normalizes "r - mr" but that breaks things for the smooth version?\n\t\t\t\tfloat d2 = dot(0.5 * (mr + r), normalize(r - mr));\n\n\t\t\t\te_smooth = smin(d1, e_smooth, smoothness);\n\n\t\t\t\te = min(e, d2);\n\n\t\t\t\t// Also compute a smooth version of F2 in this pass\n\t\t\t\t{\n\t\t\t\t\tivec3 b = ivec3(x, y, z);\n\t\t\t\t\tif (b != mb) \n\t\t\t\t\t{\n\t\t\t\t\t\tvec3 r = vec3(b) + hashwithoutsine33(vec3(p + b) + seed) - f;\n\t\t\t\t\t\tfloat d = length(r);\n\n\t\t\t\t\t\tf2_smooth = smin(d, f2_smooth, smoothness);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Different visualization modes \n\t\t\tif (style == 0) \n\t\t\t{\n\t\t\t\treturn f1_smooth;\n\t\t\t}\n\t\t\tif (style == 1) \n\t\t\t{\n\t\t\t\treturn f2_smooth;\n\t\t\t}\n\t\t\tif (style == 2) \n\t\t\t{\n\t\t\t\treturn f2_smooth - f1_smooth;\n\t\t\t\t\n\t\t\t\t// "Pebbles" also cool\n\t\t\t\t//return step(0.2, f2_smooth - f1_smooth);\n\t\t\t}\n\t\t\tif (style == 3) \n\t\t\t{\n\t\t\t\t// This one is really good for rock / stone effects\n\t\t\t\tfloat a = f1; \n\t\t\t\tfloat b = f2;\n\t\t\t\tfloat k = 3.0;\n\t\t\t\tfloat h = max(k - abs(a - b), 0.0) / k;\n\t\t\t\tfloat final = min(a, b) - h * h * k * (1.0 / 4.0);\n\t\t\t\treturn final;\n\t\t\t}\n\t\t\tif (style == 4) \n\t\t\t{\n\t\t\t\t// Some random adjustments to make this style stand out more \n\t\t\t\treturn exp(5.0 * e_smooth);\n\t\t\t}\n\t\t\tif (style == 5) \n\t\t\t{\n\t\t\t\treturn pow(f1_smooth, 3.0);\n\t\t\t}\n\t\t\tif (style == 6) \n\t\t\t{\t\t\t\t\n\t\t\t\tconst float eps = 0.0125;\n\n\t\t\t\t// Thicker lines as the user increases the smoothness slider\n\t\t\t\tfloat thickness = smoothness * 0.25 + eps;\n\n\t\t\t\t// Blurrier lines as the user increases the smoothness slider\n\t\t\t\tfloat blur = pow(smoothness, 3.0) * 0.25 + eps;\n\n\t\t\t\treturn smoothstep(\n\t\t\t\t\tthickness - thickness * blur, \n\t\t\t\t\tthickness + thickness * blur, \n\t\t\t\t\te\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (style == 7) \n\t\t\t{\n\t\t\t\treturn hashwithoutsine13(vec3(p + mb) + seed);\n\t\t\t}\n\t\t}\n\t',[u,p,f,m,g,y])}}(),D_=class extends SX{constructor(e,t,n,r,i,a,s,o,l,c,d,h,u,p,f,m,g,y,v){super("v3"),this.nodeType="Noise",this.scale=e,this.size=t,this.move=n,this.fA=r,this.fB=i,this.distortion=a,this.colorA=s,this.colorB=o,this.colorC=l,this.colorD=c,this.noiseType=h,this.voronoiStyle=p,this.highCut=f,this.lowCut=m,this.smoothness=g,this.seed=y,this.quality=v,this.isMask=u,this.alpha=d,this.calpha="g".concat(this.uuid.toString().replace(/-/g,""),"_calpha")}generate(e,t,n,r,i){e.require("uv"),e.requires.uv=[!0],e.addFragmentVariable(this.calpha,"float");let a=Object.values(V_)[this.noiseType.value],s="voronoi"==a?"\n\t\tfloat v = ".concat(a,'(st + move, voronoiStyle, smoothness, seed, quality);\n\n\t\t// Apply clipping to colors\n\t\tv = remap(v, lowCut, highCut, 0.0, 1.0);\n\t\tv = smax(v, 0.0, smoothness * 0.25);\n\t\tv = smin(v, 1.0, smoothness * 0.25);\n\n\t\t// Note that the voronoi mode only uses colors "A" and "C" from the UI \n\t\tvec4 color = mix(colorA, colorC, v); \n\t\t'):"\n\t\tvec3 q = vec3(".concat(a,"(st),\n\t\t\t\t\t   ").concat(a,"(st + vec3(1.0)),\n\t\t\t\t\t   ").concat(a,"(st + vec3(1.0)));\n\t\tvec3 r = vec3(").concat(a,"(st + vec3(distortion, 1.0) * q + vec3(fA, 1.0) + move),\n\t\t\t\t\t  ").concat(a,"(st + vec3(distortion, 1.0) * q + vec3(fB, 1.0) + move), \n\t\t\t\t\t  ").concat(a,"(st * q));\n\t\tfloat f = ").concat(a,"(st + r);\n\t\tvec4 color;\n\t\tcolor = mix(colorA, colorB, clamp((f * f) * 4.0, 0.0, 1.0));\n\t\tcolor = mix(color, colorC, clamp(length(q), 0.0, 1.0));\n\t\tcolor = mix(color, colorD, clamp(length(r.x), 0.0, 1.0));\n\t\t"),o=new OX("vec3 ".concat(a,"customNoise(float scale, vec3 size, float move, vec2 fA, vec2 fB, vec2 distortion, vec4 colorA, vec4 colorB, vec4 colorC, vec4 colorD, int voronoiStyle, float highCut, float lowCut, float smoothness, float seed, int quality, bool isMask, float mask, float alpha, out float calpha) \n\t\t\t{\n                // Prevent scale of zero \n\t\t\t\tscale = max(abs(scale), 0.001);\n\n\t\t\t\tvec3 st = position / size;\n\t\t\t\tst /= scale;\n\n\t\t\t\t").concat(s,"\n\n\t\t\t\tfloat lalpha = alpha * color.a * mask;\n\t\t\t\tcalpha = mix(lalpha / clamp(lalpha + accumAlpha, 0.00001, 1.0), lalpha, float(isMask));\n\t\t\t\taccumAlpha += (1.0 - accumAlpha) * lalpha * (1.0 - float(isMask));\n\n\t\t\t\treturn clamp(color, 0.0, 1.0).rgb;\n\t\t\t}"),[R_.simplex,R_.simplexFractal,R_.simplexAshima,R_.fbm,R_.perlin,R_.voronoi]),l=e.include(o),c=[];return c.push(this.scale.build(e,"f")),c.push(this.size.build(e,"v3")),c.push(this.move.build(e,"f")),c.push(this.fA.build(e,"v2")),c.push(this.fB.build(e,"v2")),c.push(this.distortion.build(e,"v2")),c.push(this.colorA.build(e,"v4")),c.push(this.colorB.build(e,"v4")),c.push(this.colorC.build(e,"v4")),c.push(this.colorD.build(e,"v4")),c.push(this.voronoiStyle.build(e,"i")),c.push(this.highCut.build(e,"f")),c.push(this.lowCut.build(e,"f")),c.push(this.smoothness.build(e,"f")),c.push(this.seed.build(e,"f")),c.push(this.quality.build(e,"i")),c.push(this.isMask.build(e,"b")),c.push(this.mask?"luminance(".concat(this.mask.flow(e,"v3").result,")"):"1.0"),c.push(this.alpha.build(e,"f")),c.push(this.calpha),e.format(l+"("+c.join(",")+")",this.getType(e),t)}};D_.numOctaves=5;var B_=class extends SX{constructor(e,t,n,r,i,a,s,o,l,c,d,h,u,p,f,m){super("v3"),this.nodeType="Outline",this.firstTime=!0,this.outlineColor=e,this.contourColor=t,this.outlineWidth=n,this.contourWidth=r,this.contourThreshold=i,this.outlineThreshold=a,this.contourFrequency=s,this.outlineSmoothing=o,this.contourDirection=l,this.positionalLines=c,this.compensation=d,this.resolution=h,this.normalMap=u,this.depthMap=p,this.pixelRatio=f,this.alpha=m,this.calpha="g".concat(this.uuid.toString().replace(/-/g,""),"_calpha")}generate(e,t){let n="g".concat(this.uuid.toString().replace(/-/g,""));if(e.require("vWorldViewDir"),e.require("worldNormal"),e.extensions.derivatives=!0,this.compensation.value&&e.define("OUTLINE_COMPENSATION","".concat(n,"_offset")),this.firstTime){let t=this.outlineWidth.build(e,"f"),r=this.resolution.build(e,"v2"),i=this.compensation.build(e,"b"),a=this.pixelRatio.build(e,"f");e.addVertexParsVariable("randomColor","attribute vec3"),e.addVertexParsVariable("extrudeNormal","attribute vec3"),e.addVertexParsVariable(t,"uniform float"),e.addVertexParsVariable(r,"uniform vec2"),e.addVertexParsVariable(i,"uniform bool"),e.addVertexParsVariable(a,"uniform float"),e.addVertexParsVariable("vID","flat out float"),e.addFragmentParsVariable("vID","flat in float"),e.addVertexFinalCode("\n                vID = randomColor.r;\n                vec2 ".concat(n,"_offset = vec2(0.0);\n                if (").concat(i,") {\n                    vec4 ").concat(n,"_clipPosition = projectionMatrix * (modelViewMatrix * vec4(position, 1.0));\n                    // NOTE: For certain shapes, like spheres, we get incorrect extrusion when the\n                    // normals face the camera directly. So we hackily fix this by offsetting the normal\n                    // by a tiny amount.\n                    vec3 ").concat(n,"_clipNormal = mat3(projectionMatrix) * (mat3(modelViewMatrix) * extrudeNormal) + 0.0000001;\n                    ").concat(n,"_offset = normalize(").concat(n,"_clipNormal.xy) / ").concat(r," * (").concat(t," / 2.0) * ").concat(n,"_clipPosition.w * 2.0 * ").concat(a,";\n                    ").concat(n,"_clipPosition.xy += ").concat(n,"_offset;\n                    // TODO(MAX): To handle multiple outline layers, we only want to extrude\n                    // if this offset is the biggest of all the potential offsets\n                    gl_Position = ").concat(n,"_clipPosition;\n                }\n            "))}if(e.isShader("fragment")){e.require("uv"),e.requires.uv=[!0],e.addFragmentVariable(this.calpha,"float");let n=e.include(B_.Nodes.outline),r=[];return r.push(this.outlineColor.build(e,"c")),r.push(this.contourColor.build(e,"c")),r.push(this.outlineWidth.build(e,"f")),r.push(this.contourWidth.build(e,"f")),r.push(this.contourThreshold.build(e,"f")),r.push(this.outlineThreshold.build(e,"f")),r.push(this.contourFrequency.build(e,"f")),r.push(this.outlineSmoothing.build(e,"f")),r.push(this.contourDirection.build(e,"v3")),r.push(this.positionalLines.build(e,"b")),r.push(this.resolution.build(e,"v2")),r.push(this.normalMap.getTexture(e,"t")),r.push(this.depthMap.getTexture(e,"t")),r.push(this.pixelRatio.build(e,"f")),r.push(this.compensation.build(e,"b")),r.push(this.mask?"luminance(".concat(this.mask.flow(e,"v3").result,")"):"1.0"),r.push(this.alpha.build(e,"f")),r.push(this.calpha),this.firstTime=!this.firstTime,e.format(n+"("+r.join(",")+")",this.getType(e),t)}return console.warn("OutlineNode is not compatible with "+e.shader+" shader."),""}},G_=B_;G_.Nodes=function(){let e=new OX("\nfloat sobelSample(sampler2D t, sampler2D d, vec2 uv, vec2 resolution, float outlineWidth, float pixelRatio)\n{\n    vec2 halton = haltonSequence[frameIndex];\n    float temporalOffset = getNoiseInterleavedGradient(gl_FragCoord.xy + halton);\n    float temporalAngle  = temporalOffset * PI2;\n\n    vec2 texelSize = (vec2(1.0) / resolution);\n    vec2 offsetSize = texelSize * outlineWidth * pixelRatio;\n\n    vec2 uvSamples[9];\n    vec4 normalSamples[9];\n\n\tuvSamples[0] = uv + vec2( -offsetSize.x, -offsetSize.y) + (vogelDiskSample(0, 9, temporalAngle) * texelSize);\n\tuvSamples[1] = uv + vec2(0.0, -offsetSize.y) + (vogelDiskSample(1, 9, temporalAngle) * texelSize);\n\tuvSamples[2] = uv + vec2(  offsetSize.x, -offsetSize.y) + (vogelDiskSample(2, 9, temporalAngle) * texelSize);\n\tuvSamples[3] = uv + vec2( -offsetSize.x, 0.0) + (vogelDiskSample(3, 9, temporalAngle) * texelSize);\n\tuvSamples[4] = uv;\n\tuvSamples[5] = uv + vec2(  offsetSize.x, 0.0) + (vogelDiskSample(5, 9, temporalAngle) * texelSize);\n\tuvSamples[6] = uv + vec2( -offsetSize.x, offsetSize.y) + (vogelDiskSample(6, 9, temporalAngle) * texelSize);\n\tuvSamples[7] = uv + vec2(0.0, offsetSize.y) + (vogelDiskSample(7, 9, temporalAngle) * texelSize);\n\tuvSamples[8] = uv + vec2(  offsetSize.x, offsetSize.y) + (vogelDiskSample(8, 9, temporalAngle) * texelSize);\n\n\n    normalSamples[0] = texture2D(t, uvSamples[0]);\n    normalSamples[1] = texture2D(t, uvSamples[1]);\n    normalSamples[2] = texture2D(t, uvSamples[2]);\n    normalSamples[3] = texture2D(t, uvSamples[3]);\n    normalSamples[4] = texture2D(t, uvSamples[4]);\n    normalSamples[5] = texture2D(t, uvSamples[5]);\n    normalSamples[6] = texture2D(t, uvSamples[6]);\n    normalSamples[7] = texture2D(t, uvSamples[7]);\n    normalSamples[8] = texture2D(t, uvSamples[8]);\n\n    float depthBias = 0.0001;\n    // TODO(MAX): Can we somehow reduce the number of conditionals here with MATH?!\n    if (normalSamples[0].a != vID && normalSamples[0].a != 0.0) {\n        float depthAtSample = texture2D(d, uvSamples[0]).r + depthBias;\n        if (gl_FragCoord.z > depthAtSample) {\n           return 0.0;\n        }\n    }\n\n    if (normalSamples[1].a != vID && normalSamples[1].a != 0.0) {\n        float depthAtSample = texture2D(d, uvSamples[1]).r + depthBias;\n        if (gl_FragCoord.z > depthAtSample) {\n           return 0.0;\n        }\n    }\n\n    if (normalSamples[2].a != vID && normalSamples[2].a != 0.0) {\n        float depthAtSample = texture2D(d, uvSamples[2]).r + depthBias;\n        if (gl_FragCoord.z > depthAtSample) {\n           return 0.0;\n        }\n    }\n\n    if (normalSamples[3].a != vID && normalSamples[3].a != 0.0) {\n        float depthAtSample = texture2D(d, uvSamples[3]).r + depthBias;\n        if (gl_FragCoord.z > depthAtSample) {\n           return 0.0;\n        }\n    }\n\n\n    if (normalSamples[4].a != vID && normalSamples[4].a != 0.0) {\n        float depthAtSample = texture2D(d, uvSamples[4]).r + depthBias;\n        if (gl_FragCoord.z > depthAtSample) {\n           return 0.0;\n        }\n    }\n\n    if (normalSamples[5].a != vID && normalSamples[5].a != 0.0) {\n        float depthAtSample = texture2D(d, uvSamples[5]).r + depthBias;\n        if (gl_FragCoord.z > depthAtSample) {\n           return 0.0;\n        }\n    }\n\n    if (normalSamples[6].a != vID && normalSamples[6].a != 0.0) {\n        float depthAtSample = texture2D(d, uvSamples[6]).r + depthBias;\n        if (gl_FragCoord.z > depthAtSample) {\n           return 0.0;\n        }\n    }\n\n    if (normalSamples[7].a != vID && normalSamples[7].a != 0.0) {\n        float depthAtSample = texture2D(d, uvSamples[7]).r + depthBias;\n        if (gl_FragCoord.z > depthAtSample) {\n           return 0.0;\n        }\n    }\n\n    if (normalSamples[8].a != vID && normalSamples[8].a != 0.0) {\n        float depthAtSample = texture2D(d, uvSamples[8]).r + depthBias;\n        if (gl_FragCoord.z > depthAtSample) {\n           return 0.0;\n        }\n    }\n\n    vec3 sobel_edge_h = normalSamples[2].rgb + (2.0*normalSamples[5].rgb) + normalSamples[8].rgb - (normalSamples[0].rgb + (2.0*normalSamples[3].rgb) + normalSamples[6].rgb);\n  \tvec3 sobel_edge_v = normalSamples[0].rgb + (2.0*normalSamples[1].rgb) + normalSamples[2].rgb - (normalSamples[6].rgb + (2.0*normalSamples[7].rgb) + normalSamples[8].rgb);\n\n    float edgeNormal = sqrt(dot(sobel_edge_h, sobel_edge_h) + dot(sobel_edge_v, sobel_edge_v));\n    return edgeNormal;\n}\n");return{outline:new OX("vec3 outline(vec3 outlineColor, vec3 contourColor, float outlineWidth, float contourWidth, float outlineThreshold, float contourThreshold, float outlineSmoothing, float contourFrequency, vec3 contourDirection, bool positionalLines, vec2 resolution, sampler2D normalMap, sampler2D depthMap, float pixelRatio, bool compensation, float mask, float alpha, out float calpha) {\n                vec3 result = outlineColor;\n                float resultAlpha = 0.0;\n\n                vec3 N = normalize(vWNormal);\n                vec2 nuv = (gl_FragCoord.xy / resolution);\n                float sobelSample = compensation ? sobelSample(normalMap, depthMap, nuv, resolution, outlineWidth / 2., pixelRatio) : sobelSample(normalMap, depthMap, nuv, resolution, outlineWidth, pixelRatio);\n                resultAlpha = smoothstep(outlineThreshold - outlineSmoothing, outlineThreshold + outlineSmoothing, sobelSample);\n\n                //resultAlpha = 1.0;\n                //result = vec3(sobelSample);\n\n                float t = 1.0 - contourThreshold;\n                if(positionalLines) {\n                    vec3 NDir = position * contourDirection;\n                    float NT = NDir.x + NDir.y + NDir.z;\n                    float f  = fract(NT * contourFrequency * 0.01);\n                    float df = fwidth(NT * contourFrequency);\n\n                    float g = smoothstep(df * (contourWidth * 0.01), df * (contourWidth * 0.01 * 2.0), f);\n                    if (g < 1.0 && resultAlpha == 0.0) {\n                        result = contourColor;\n                        resultAlpha = 1.0;\n                    }\n                 }\n                 else {\n                    vec3 NDir = N * contourDirection;\n                    float NT = NDir.x + NDir.y + NDir.z;\n                    float df = fwidth(NT * contourThreshold);\n                    float f = sin(NT * 1.0 * contourFrequency);\n                    float g = smoothstep(0.0, df * contourWidth, 1.0 - f);\n\n                    if (df > (t * 0.5) && g < 1.0 && resultAlpha == 0.0) {\n                        result = contourColor;\n                        resultAlpha = 1.0 - g;\n                    }\n                 }\n\n                 float lalpha = alpha * resultAlpha * mask;\n                 calpha =  lalpha / clamp( lalpha + accumAlpha, 0.00001, 1.0 );\n                 accumAlpha += ( 1.0 - accumAlpha ) * lalpha;\n\t\t\t\t \n                 return result;\n             }",[e])}}();var q_=class extends SX{constructor(e,t,n,r,i,a,s,o,l,c,d,h,u,p,f,m,g,y){super("v3"),this.nodeType="Pattern",this.style=e,this.projection=t,this.axis=n,this.blending=r,this.offset=i,this.colorA=a,this.colorB=s,this.frequency=o,this.size=l,this.variation=c,this.smoothness=d,this.zigzag=h,this.rotation=u,this.vertical=p,this.horizontal=f,this.sides=m,this.isMask=y,this.alpha=g,this.calpha="g".concat(this.uuid.toString().replace(/-/g,""),"_calpha")}generate(e,t){if(e.isShader("fragment")){let n;switch(e.require("position"),e.require("uv"),e.requires.uv=[!0],e.require("normal"),e.requires.normal=!0,e.addFragmentVariable(this.calpha,"float"),this.style.value){case 0:default:n="circle";break;case 1:n="ring";break;case 2:n="polygon";break;case 3:n="xcross";break;case 4:n="diamond";break;case 5:n="checkerboard";break;case 6:n="line";break;case 7:n="wave"}let r="g".concat(this.uuid.toString().replace(/-/g,"")),i=new OX("float hashwithoutsine12(vec2 p)\n\t\t\t\t{\n\t\t\t\t\tvec3 p3 = fract(vec3(p.xyx) * .1031);\n\t\t\t\t\tp3 += dot(p3, p3.yzx + 33.33);\n\t\t\t\t\treturn fract((p3.x + p3.y) * p3.z);\n\t\t\t\t}"),a=new OX("vec2 rotate_uv(in vec2 uv, float a, bool repeat) \n\t\t\t\t{\n\t\t\t\t\tconst float mid = 0.5;\n\t\t\t\t\tfloat radians = a * (PI / 180.0);\n\t\t\t\t\tvec2 rotated = vec2(\n\t\t\t\t\t\tcos(radians) * (uv.x - mid) + sin(radians) * (uv.y - mid) + mid,\n\t\t\t\t\t\tcos(radians) * (uv.y - mid) - sin(radians) * (uv.x - mid) + mid\n\t\t\t\t\t);\n\t\t\t\t\treturn repeat ? fract(rotated): rotated;\n\t\t\t\t}"),s="";if(4===this.projection.value){let e=2===this.style.value?"".concat(n,"(uv0, frequency, size, variation, smoothness_remapped, zigzag, rotation, sides)"):"".concat(n,"(uv0, frequency, size, variation, smoothness_remapped, zigzag, rotation)"),t=2===this.style.value?"".concat(n,"(uv1, frequency, size, variation, smoothness_remapped, zigzag, rotation, sides)"):"".concat(n,"(uv1, frequency, size, variation, smoothness_remapped, zigzag, rotation)"),r=2===this.style.value?"".concat(n,"(uv2, frequency, size, variation, smoothness_remapped, zigzag, rotation, sides)"):"".concat(n,"(uv2, frequency, size, variation, smoothness_remapped, zigzag, rotation)");s="\n\t\t\t\tvec3 p = position;\n\t\t\t\tfloat factor = 0.0125;\n\t\t\t\tvec2 uv0 = fract(p.xy * factor);\n\t\t\t\tvec2 uv1 = fract(p.zy * factor);\n\t\t\t\tvec2 uv2 = fract(p.xz * factor);\n\t\t\t\t\n\t\t\t\tuv0 = rotate_uv(uv0 + offset, rotation, true);\n\t\t\t\tuv1 = rotate_uv(uv1 + offset, rotation, true);\n\t\t\t\tuv2 = rotate_uv(uv2 + offset, rotation, true);\n\t\n\t\t\t\tfloat d0 = ".concat(e,";\n\t\t\t\tfloat d1 = ").concat(t,";\n\t\t\t\tfloat d2 = ").concat(r,";\n\t\t\t\t\n\t\t\t\t// Range from 3 to 128 seems to be good\n\t\t\t\tfloat exponent = (1.0 - blending) * 125.0 + 3.0;\n\n\t\t\t\tvec3 n = vObjectNormal;\n\t\t\t\tvec3 weights = abs(normalize(n));\n\t\t\t\tweights = pow(weights, vec3(exponent));\n\t\t\t\tweights /= dot(weights, vec3(1.0));\n\t\t\t\td0 *= weights.z;\n\t\t\t\td1 *= weights.x;\n\t\t\t\td2 *= weights.y;\n\t\t\t\tfloat draw = d0 + d1 + d2;\n\t\n\t\t\t\tvec2 custom_uv = uv0 * weights.z + uv1 * weights.x + uv2 * weights.y;\n\t\t\t\t")}else{let e=2===this.style.value?"".concat(n,"(custom_uv, frequency, size, variation, smoothness_remapped, zigzag, rotation, sides)"):"".concat(n,"(custom_uv, frequency, size, variation, smoothness_remapped, zigzag, rotation)"),t="";0===this.axis.value?t="float radius = length(p);\n\t\t\t\t\tfloat theta = atan(p.y, p.z);\n\t\t\t\t\tfloat phi = acos(p.x / radius);":1===this.axis.value?t="float radius = length(p);\n\t\t\t\t\tfloat theta = atan(p.x, p.z);\n\t\t\t\t\tfloat phi = acos(p.y / radius);":(this.axis.value,t="float radius = length(p);\n\t\t\t\t\tfloat theta = atan(p.y, p.x);\n\t\t\t\t\tfloat phi = acos(p.z / radius);");let r="";switch(this.projection.value){case 0:r="custom_uv = vUv.st;";break;case 1:case 3:default:break;case 2:r="\n\t\t\t\t\t\t\tvec3 p = position;\n\t\t\t\t\t\t\t".concat(t,"\n\t\t\t\t\t\t\tcustom_uv = vec2(theta, phi);\n\t\t\t\t\t\t\tcustom_uv /= PI;\n\t\t\t\t\t\t\t")}s="\n\t\t\t\tvec2 custom_uv;\n\t\t\t\t".concat(r,"\n\t\n\t\t\t\tcustom_uv += offset;\n\t\t\t\tcustom_uv = fract(custom_uv);\n\t\t\t\tcustom_uv = rotate_uv(custom_uv, rotation, true);\n\t\n\t\t\t\tfloat draw = ").concat(e,";\n\t\t\t\t")}let o=new OX("vec3 ".concat(r,"_pattern(vec3 normal, float blending, int style, vec2 offset, vec4 colorA, vec4 colorB, vec2 frequency, float size, float variation, float smoothness, float zigzag, float rotation, vec2 vertical, vec2 horizontal, int sides, bool isMask, float mask, float alpha, out float calpha) {\n\t\t\t\t\tconst float TWO_PI = PI * 2.0;\n\t\t\t\t\tfloat smoothness_remapped = pow(smoothness, 5.0);\t\n\n\t\t\t\t\t").concat(s,"\n\n\t\t\t\t\t// Construct final output color\n\t\t\t\t\tvec4 color = mix(colorA, colorB, draw);\n\t\t\t\t\tcolor.a = clamp(color.a, 0.0, 1.0);\n\n\t\t\t\t\t// Apply cuts\n\t\t\t\t\tcolor.a *= \n\t\t\t\t\t\tstep(vertical.x, custom_uv.y) * \n\t\t\t\t\t\tstep(custom_uv.y, vertical.y);\n\t\t\t\t\tcolor.a *= \n\t\t\t\t\t\tstep(horizontal.x, abs(custom_uv.x)) * \n\t\t\t\t\t\tstep(abs(custom_uv.x), horizontal.y);\n\n\t\t\t\t\t// Accumulate alpha \n\t\t\t\t\tfloat lalpha = alpha * clamp(color.a, 0.0, 1.0) * mask;\n\t\t\t\t\tcalpha = mix(lalpha / clamp(lalpha + accumAlpha, 0.00001, 1.0), lalpha, float(isMask));\n\t\t\t\t\taccumAlpha += (1.0 - accumAlpha) * lalpha * (1.0 - float(isMask));\n\n\t\t\t\t\treturn clamp(color, 0.0, 1.0).rgb;\n\t\t\t\t}"),[a,i,q_.DrawFunctions.circle,q_.DrawFunctions.ring,q_.DrawFunctions.polygon,q_.DrawFunctions.cross,q_.DrawFunctions.diamond,q_.DrawFunctions.checkerboard,q_.DrawFunctions.line,q_.DrawFunctions.wave]),l=e.include(o),c=[];return c.push("normal"),c.push(this.blending.build(e,"f")),c.push(this.style.build(e,"i")),c.push(this.offset.build(e,"v2")),c.push(this.colorA.build(e,"v4")),c.push(this.colorB.build(e,"v4")),c.push(this.frequency.build(e,"v2")),c.push(this.size.build(e,"f")),c.push(this.variation.build(e,"f")),c.push(this.smoothness.build(e,"f")),c.push(this.zigzag.build(e,"f")),c.push(this.rotation.build(e,"f")),c.push(this.vertical.build(e,"v2")),c.push(this.horizontal.build(e,"v2")),c.push(this.sides.build(e,"i")),c.push(this.isMask.build(e,"b")),c.push(this.mask?"luminance(".concat(this.mask.flow(e,"v3").result,")"):"1.0"),c.push(this.alpha.build(e,"f")),c.push(this.calpha),e.format(l+"("+c.join(",")+")",this.getType(e),t)}return console.warn("PatterNode is not compatible with "+e.shader+" shader."),e.format("vec3(0.0)",this.getType(e),t)}},H_=q_;H_.DrawFunctions=function(){let e=new OX("float hashwithoutsine12(vec2 p) {\n\t\t\t\tvec3 p3 = fract(vec3(p.xyx) * 0.1031);\n\t\t\t\tp3 += dot(p3, p3.yzx + 33.33);\n\t\t\t\treturn fract((p3.x + p3.y) * p3.z);\n\t\t\t}"),t=new OX("vec2 tile_and_center(in vec2 uv, in vec2 frequency, in float variation, in float zigzag, in float rotation) {\n                // Create tiles in UV-space\n                uv *= frequency;\n\n                // Integer coords\n                vec2 i = floor(uv);\n\n                // Offset every other row based on zigzag param, then compute fractional coords\n                float row_offset = mod(i.y, 2.0);\n                uv.x += row_offset * zigzag;\n                vec2 f = fract(uv);\n\n\t\t\t\t// Rotate the tile itself:\n\t\t\t\t// const float mid = 0.5;\n\t\t\t\t// f = vec2(\n\t\t\t\t// \tcos(rotation) * (f.x - mid) + sin(rotation) * (f.y - mid) + mid,\n\t\t\t\t// \tcos(rotation) * (f.y - mid) - sin(rotation) * (f.x - mid) + mid\n\t\t\t\t// );\n\t\t\t\t// f = fract(f);\n\n                f = f * 2.0 - 1.0;\n\n\t\t\t\t// Recompute integer coords after shifting - then, random value per tile \n\t\t\t\ti = floor(uv);\n\t\t\t\tfloat rand = (hashwithoutsine12(i) * 5.0 + 1.0);\n\t\t\t\tfloat jitter = mix(1.0, rand, variation);\n\t\t\t\tf *= jitter;\n\n                return f;\n            }",[e]);return{tileAndCenter:t,circle:new OX("float circle(in vec2 uv, in vec2 frequency, in float size, in float variation, in float smoothness, in float zigzag, in float rotation) {\n                vec2 f = tile_and_center(uv, frequency, variation, zigzag, rotation);\n                return smoothstep(\n                    -smoothness, \n                     smoothness, \n                     length(f) - size\n                );\n            }",[t]),ring:new OX("float ring(in vec2 uv, in vec2 frequency, in float size, in float variation, in float smoothness, in float zigzag, in float rotation) {\n                vec2 f = tile_and_center(uv, frequency, variation, zigzag, rotation);\n\n\t\t\t\tfloat d = length(f);\n                const float inner_width = 0.5;\n\n                float outer = smoothstep(-smoothness, smoothness, d - size);\n                float inner = smoothstep(-smoothness, smoothness, d - size * inner_width);\n\t\t\t\treturn outer + (1.0 - inner);   \n            }",[t]),polygon:new OX("float sdf_ngon(in vec2 p, in float r, in int n) {\n                float an = (PI * 2.0) / float(n);\n                float he = r * tan(0.5 * an);\n                \n                // Rotate to first sector\n                p = -p.yx; \n                float bn = an * floor((atan(p.y, p.x) + 0.5 * an) / an);\n                vec2  cs = vec2(cos(bn), sin(bn));\n                p = mat2(cs.x, -cs.y, cs.y, cs.x)*p;\n            \n                // Side of polygon\n                return length(p - vec2(r, clamp(p.y, -he, he))) * sign(p.x - r);\n            }\n            \n            float polygon(in vec2 uv, in vec2 frequency, in float size, in float variation, in float smoothness, in float zigzag, in float rotation, in int sides) {\n                vec2 f = tile_and_center(uv, frequency, variation, zigzag, rotation);\n                return smoothstep(-smoothness, smoothness, sdf_ngon(f, size, sides));\n            }",[t]),cross:new OX("float sdf_cross(in vec2 p, in vec2 b, float r ) {\n                p = abs(p); \n\t\t\t\tp = (p.y > p.x) ? p.yx : p.xy;\n                vec2  q = p - b;\n                float k = max(q.y, q.x);\n                vec2  w = (k > 0.0) ? q : vec2(b.y - p.x, -k);\n                return sign(k) * length(max(w, 0.0)) + r;\n            }\n            \n            // Avoid namespace conflicts \n            float xcross(in vec2 uv, in vec2 frequency, in float size, in float variation, in float smoothness, in float zigzag, in float rotation) {\n                vec2 f = tile_and_center(uv, frequency, variation, zigzag, rotation);\n                return smoothstep(-smoothness, smoothness, sdf_cross(f, vec2(size, size * 0.25), smoothness));\n            }",[t]),diamond:new OX("float ndot(vec2 a, vec2 b) { \n                return a.x*b.x - a.y*b.y; \n            }\n            \n            float sdf_diamond(in vec2 p, in vec2 b) {\n                p = abs(p);\n                float h = clamp(ndot(b - 2.0 * p, b) / dot(b, b), -1.0, 1.0);\n                float d = length(p - 0.5 * b * vec2(1.0 - h, 1.0 + h));\n                return d * sign(p.x * b.y + p.y * b.x - b.x * b.y);\n            }\n\n            float diamond(in vec2 uv, in vec2 frequency, in float size, in float variation, in float smoothness, in float zigzag, in float rotation) {\n                vec2 f = tile_and_center(uv, frequency, variation, zigzag, rotation);\n\t            return smoothstep(-smoothness, smoothness, sdf_diamond(f, vec2(size)));\n            }",[t]),checkerboard:new OX("float checkerboard(in vec2 uv, in vec2 frequency, in float size, in float variation, in float smoothness, in float zigzag, in float rotation) {\n                uv *= frequency;\n                vec2 i = floor(uv);\n\n                float offset = mod(i.y, 2.0);\n\n                uv.x += offset + zigzag * offset;\n                float x = floor(uv.x);\n                \n                return mod(x, 2.0);\n            }"),line:new OX("float line(in vec2 uv, in vec2 frequency, in float size, in float variation, in float smoothness, in float zigzag, in float rotation) {\n                vec2 f = tile_and_center(uv, frequency, 0.0, zigzag, rotation);\n\t\t\t\t\n\t\t\t\t// Different approach for variation param here\n\t\t\t\tfloat row = floor(uv * frequency).y;\n\t\t\t\tfloat rand = hashwithoutsine12(vec2(row));\n\t\t\t\tfloat s = mix(size, size * rand, variation);\n\n\t\t\t\treturn smoothstep(\n\t\t\t\t\ts - smoothness, \n\t\t\t\t\ts + smoothness, \n\t\t\t\t\tabs(f.y)\n\t\t\t\t);\n            }",[t]),wave:new OX("// Uses bisection \n            float udf_cos(in vec2 p, in float a, in float b, in float c, in float d) {\n                // Convert all data to a primitive cosine wave\n                p = c * (p - vec2(d, a));\n                \n                const float TWO_PI = PI * 2.0;\n\n                // Reduce to principal half cycle\n                p.x = mod(p.x, TWO_PI); \n                if (p.x > PI) {\n                    p.x = TWO_PI - p.x;\n                }\n            \n                // Find zero of derivative (minimize distance)\n                float xa = 0.0;\n                float xb = TWO_PI;\n\n                // 24 bit precision\n                for (int i = 0; i < 24; i++) {\n                    float x = 0.5 * (xa + xb);\n                    float y = x - p.x + b * c * sin(x) * (p.y - b * c * cos(x));\n                    if (y < 0.0) xa = x; \n                    else xb = x;\n                }\n                float x = 0.5 * (xa + xb);\n                \n                // Compute distance    \n                vec2 q = vec2(x, b * c * cos(x));\n                return length(p - q) / c;\n            }\n\n            float wave(in vec2 uv, in vec2 frequency, in float size, in float variation, in float smoothness, in float zigzag, in float rotation) {\n                float repeat = frequency.x;\n                uv *= repeat;\n                vec2 i = floor(uv);\n                float row_offset = mod(i.y, 2.0);\n                uv.x += row_offset * zigzag;\n                vec2 f = vec2(uv.x, fract(uv.y));\n\n                // Generalized cosine: y(x) = a + b * cos(cx + d)\n                const float amplitude = 0.125;\n                float wave_frequency = frequency.y * 0.1;\n                float distance_estimate = udf_cos(f, 0.50, amplitude, wave_frequency * (2.0 * PI), 0.0);\n\n\t\t\t\t// Different approach for variation param here\n\t\t\t\tfloat rand = hashwithoutsine12(vec2(i.y));\n\t\t\t\tfloat s = mix(size, size * rand, variation);\n\n                return smoothstep(-smoothness, smoothness, distance_estimate - s * 0.5);\n            }")}}();var W_=class extends SX{constructor(e,t,n,r,i,a,s,o){super("v3"),this.nodeType="Rainbow",this.filmThickness=e,this.movement=t,this.wavelengths=n,this.noiseStrength=r,this.noiseScale=i,this.offset=a,this.isMask=o,this.alpha=s,this.calpha="g".concat(this.uuid.toString().replace(/-/g,""),"_calpha")}generate(e,t){if(e.require("vWorldViewDir"),e.require("worldNormal"),e.isShader("fragment")){e.require("uv"),e.requires.uv=[!0],e.addFragmentVariable(this.calpha,"float");let n=e.include(W_.Nodes.rainbow),r=[];return r.push(this.filmThickness.build(e,"f")),r.push(this.movement.build(e,"f")),r.push(this.wavelengths.build(e,"v3")),r.push(this.noiseStrength.build(e,"f")),r.push(this.noiseScale.build(e,"f")),r.push(this.offset.build(e,"v3")),r.push(this.isMask.build(e,"b")),r.push(this.mask?"luminance(".concat(this.mask.flow(e,"v3").result,")"):"1.0"),r.push(this.alpha.build(e,"f")),r.push(this.calpha),e.format(n+"("+r.join(",")+")",this.getType(e),t)}return console.warn("RainbowNode is not compatible with "+e.shader+" shader."),e.format("vec3( 0.0 )",this.getType(e),t)}},z_=W_;z_.Nodes=function(){let e=new OX("vec3 attenuation(vec3 wavelengths, float filmThickness, float movement, float noiseStrength, float noiseScale, vec3 offset) {\n                 vec3 st = position / noiseScale;\n\t\t\t\t vec3 q = vec3(simplex3d(st),\n\t\t\t\t\t\t\t  simplex3d(st + vec3(1.0)),\n\t\t\t\t\t\t\t  simplex3d(st + vec3(1.0)));\n\n\t\t\t\t vec3 r = vec3(simplex3d(st + vec3(1.4, 1.3, 1.0) * q + vec3(1.7, 9.2, 1.0)),\n\t\t\t\t\t\t\t  simplex3d(st + vec3(2.0, 1.2, 1.0) * q + vec3(8.3, 2.8, 1.0)),\n\t\t\t\t\t\t\t  simplex3d(st * q));\n\n                 float noise = simplex3d(st + r);\n\n                 return .5 + .5 * cos((((filmThickness + (noise * noiseStrength)) / (vec3(wavelengths.r * 1.0, wavelengths.g * 0.8, wavelengths.b * 0.6) + 1.0)) * dot(normalize(vWorldViewDir + (offset * -0.001)), normalize(vWNormal))) + movement);\n             }",[R_.simplex]);return{rainbow:new OX("vec3 rainbow(float filmThickness, float movement, vec3 wavelengths, float noiseStrength, float noiseScale, vec3 offset, bool isMask, float mask, float alpha, out float calpha) {\n\t\t\t\tvec3 res = clamp(attenuation(wavelengths, filmThickness, movement, noiseStrength, noiseScale, offset), 0.0, 2.0);\n\n\t\t\t\tfloat rainbowContribution = clamp(res.r + res.g + res.b, 0.0, 1.0);\n\n\t\t\t\tfloat lalpha = alpha * rainbowContribution * mask;\n\t\t\t\tcalpha = mix(lalpha / clamp(lalpha + accumAlpha, 0.00001, 1.0), lalpha, float(isMask));\n\t\t\t\taccumAlpha += (1.0 - accumAlpha) * lalpha * (1.0 - float(isMask));\n\n\t\t\t\treturn res;\n             }",[e])}}();var J_=class extends SX{constructor(e,t,n,r,i,a,s,o,l,c){super("v3"),this.nodeType="Toon",this.positioning=e,this.colors=t,this.steps=n,this.source=r,this.isWorldSpace=i,this.noiseStrength=a,this.noiseScale=s,this.shadowColor=o,this.offset=l,this.alpha=c,this.calpha="g".concat(this.uuid.toString().replace(/-/g,""),"_calpha")}generate(e,t){if(e.require("worldNormal"),e.require("worldPosition"),e.isShader("fragment")){e.define("COLORS_MAX",10),e.addFragmentVariable(this.calpha,"float");let n=e.include(J_.Nodes.toon),r=[];return r.push(this.positioning.build(e,"i")),r.push(this.colors.build(e,"v4[]")),r.push(this.steps.build(e,"f[]")),r.push(this.source.build(e,"v3")),r.push(this.isWorldSpace.build(e,"b")),r.push(this.noiseStrength.build(e,"f")),r.push(this.noiseScale.build(e,"f")),r.push(this.shadowColor.build(e,"v4")),r.push(this.offset.build(e,"v3")),r.push(this.mask?"luminance(".concat(this.mask.flow(e,"v3").result,")"):"1.0"),r.push(this.alpha.build(e,"f")),r.push(this.calpha),e.format(n+"("+r.join(",")+")",this.getType(e),t)}return console.warn("ToonNode is not compatible with "+e.shader+" shader."),e.format("vec3( 0.0 )",this.getType(e),t)}},U_=J_;U_.Nodes=function(){let e=new OX("float rand(float n) {\n\t\t\t\treturn fract(sin(n) * 43758.5453123);\n\t\t\t}"),t=new OX("float hash1(float p) { \n\t\t\t\tp = fract(p * 0.011); \n\t\t\t\tp *= p + 7.5; \n\t\t\t\tp *= p + p; \n\t\t\t\treturn fract(p); \n\t\t\t}"),n=new OX("float valueNoise(vec3 x) {\n\t\t\t\tconst vec3 step = vec3(110, 241, 171);\n\t\t\t\n\t\t\t\tvec3 i = floor(x);\n\t\t\t\tvec3 f = fract(x);\n\t\t\t \n\t\t\t\t// For performance, compute the base input to a 1D hash from the integer part of the argument and the \n\t\t\t\t// incremental change to the 1D based on the 3D -> 1D wrapping\n\t\t\t\tfloat n = dot(i, step);\n\t\t\t\n\t\t\t\tvec3 u = f * f * (3.0 - 2.0 * f);\n\t\t\t\treturn mix(mix(mix( hash1(n + dot(step, vec3(0, 0, 0))), hash1(n + dot(step, vec3(1, 0, 0))), u.x),\n\t\t\t\t\t\t\t   mix( hash1(n + dot(step, vec3(0, 1, 0))), hash1(n + dot(step, vec3(1, 1, 0))), u.x), u.y),\n\t\t\t\t\t\t   mix(mix( hash1(n + dot(step, vec3(0, 0, 1))), hash1(n + dot(step, vec3(1, 0, 1))), u.x),\n\t\t\t\t\t\t\t   mix( hash1(n + dot(step, vec3(0, 1, 1))), hash1(n + dot(step, vec3(1, 1, 1))), u.x), u.y), u.z);\n\t\t\t}",[t]),r=new OX("vec3 hash3(vec3 x) {\n\t\t\t\tx = vec3(dot(x,vec3(127.1, 311.7, 74.7)),\n\t\t\t\t\t\t dot(x,vec3(269.5, 183.3, 246.1)),\n\t\t\t\t\t\t dot(x,vec3(113.5, 271.9, 124.6)));\n\t\t\t\n\t\t\t\treturn fract(sin(x)*43758.5453123);\n\t\t\t}"),i=new OX('vec3 voronoiNoise(in vec3 x)\n\t\t\t{\n\t\t\t\tvec3 p = floor(x);\n\t\t\t\tvec3 f = fract(x);\n\n\t\t\t\tfloat id = 0.0;\n\t\t\t\tvec2 res = vec2(100.0);\n\n\t\t\t\tfor(int k=-1; k<=1; k++)\n\t\t\t\tfor(int j=-1; j<=1; j++)\n\t\t\t\tfor(int i=-1; i<=1; i++)\n\t\t\t\t{\n\t\t\t\t\tvec3 b = vec3(float(i), float(j), float(k));\n\n\t\t\t\t\t// Comment out the "+ hash(p + b);" part below to get "square" cells\n\t\t\t\t\tvec3 r = vec3(b) - f + hash3(p + b);\n\t\t\t\t\tfloat d = dot(r, r);\n\n\t\t\t\t\tif (d < res.x)\n\t\t\t\t\t{\n\t\t\t\t\t\tid = dot(p + b, vec3(1.0, 57.0, 113.0));\n\t\t\t\t\t\tres = vec2(d, res.x);\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\telse if (d < res.y)\n\t\t\t\t\t{\n\t\t\t\t\t\tres.y = d;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn vec3(sqrt(res), abs(id));\n\t\t\t}\n\t\t\t',[r]);return{toon:new OX('vec3 toon(int positioning, vec4 colors[COLORS_MAX], float steps[COLORS_MAX], vec3 source, bool isWorldSpace, float noiseStrength, float noiseScale, vec4 shadowColor, vec3 offset, float mask, float alpha, out float calpha) {\n\t\t\t\tfloat t = 0.0;\n\t\t\t\tfloat shadow = 1.0;\n\n\t\t\t\tif (positioning == 0) {\n\n\t\t\t\t\t// Can\'t do this mode if lighting is "none"\n\t\t\t\t\t#if (defined(PHONG) || defined(LAMBERT) || defined(STANDARD))\n\n\t\t\t\t\t\t// Algorithm from Chapter 10 of Graphics Shaders\n\t\t\t\t\t\tconst vec3 weights = vec3(0.2125, 0.7154, 0.0721);\n\t\t\t\t\t\tvec3 lpos;\n\t\t\t\t\t\tvec3 l;\n\t\t\t\t\t\tfloat dproduct;\n\n\t\t\t\t\t\t#if (NUM_POINT_LIGHTS > 0)\n\n\t\t\t\t\t\t\t#if defined(USE_SHADOWMAP) && (NUM_POINT_LIGHT_SHADOWS > 0)\n\t\t\t\t\t\t\t\tPointLightShadow pointLightShadow;\n\t\t\t\t\t\t\t#endif \n\n\t\t\t\t\t\t\t#pragma unroll_loop_start\n\t\t\t\t\t\t\tfor (int i = 0; i < NUM_POINT_LIGHTS; i++) {\n\t\t\t\t\t\t\t\t// Light positions are in view-space for some reason?\n\t\t\t\t\t\t\t\tlpos = (inverse(viewMatrix) * vec4(pointLights[UNROLLED_LOOP_INDEX].position, 1.0)).xyz;\n\t\t\t\t\t\t\t\tl = normalize(lpos - worldPosition);\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tdproduct = dot(l, normalize(worldNormal)) * 0.5 + 0.5;\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t// TODO: we want to use "intensity" but it isn\'t available in the shader code\n\t\t\t\t\t\t\t\t//dproduct += dot(pointLights[UNROLLED_LOOP_INDEX].color, weights);\n\n\t\t\t\t\t\t\t\tt = max(t, dproduct);\n\n\t\t\t\t\t\t\t\t// Accumulate shadow contribution\n\t\t\t\t\t\t\t\t#if defined(USE_SHADOWMAP) && (UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS)\n\t\t\t\t\t\t\t\t\tpointLightShadow = pointLightShadows[UNROLLED_LOOP_INDEX];\n\t\t\t\t\t\t\t\t\tshadow *= getPointShadow( \n\t\t\t\t\t\t\t\t\t\t\tpointShadowMap[UNROLLED_LOOP_INDEX], \n\t\t\t\t\t\t\t\t\t\t\tpointLightShadow.shadowMapSize, \n\t\t\t\t\t\t\t\t\t\t\tpointLightShadow.shadowBias, \n\t\t\t\t\t\t\t\t\t\t\tpointLightShadow.shadowRadius,\n\t\t\t\t\t\t\t\t\t\t\tvPointShadowCoord[UNROLLED_LOOP_INDEX], \n\t\t\t\t\t\t\t\t\t\t\tpointLightShadow.shadowCameraNear, \n\t\t\t\t\t\t\t\t\t\t\tpointLightShadow.shadowCameraFar);\n\t\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t#pragma unroll_loop_end\n\n\t\t\t\t\t\t#endif\n\n\t\t\t\t\t\t#if NUM_DIR_LIGHTS > 0 \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t#if defined(USE_SHADOWMAP) && (NUM_DIR_LIGHT_SHADOWS > 0)\n\t\t\t\t\t\t\t\tDirectionalLightShadow directionalLightShadow;\n\t\t\t\t\t\t\t#endif \n\n\t\t\t\t\t\t\t#pragma unroll_loop_start\n\t\t\t\t\t\t\tfor (int i = 0; i < NUM_DIR_LIGHTS; i++) {\n\t\t\t\t\t\t\t\t// Use the direction vector for directional lights instead\n\t\t\t\t\t\t\t\tl = (inverse(viewMatrix) * vec4(directionalLights[UNROLLED_LOOP_INDEX].direction, 0.0)).xyz;\n\t\t\n\t\t\t\t\t\t\t\tdproduct = dot(l, normalize(worldNormal)) * 0.5 + 0.5;\n\t\t\t\t\t\t\t\tt = max(t, dproduct);\n\n\t\t\t\t\t\t\t\t// Accumulate shadow contribution\n\t\t\t\t\t\t\t\t#if defined(USE_SHADOWMAP) && (UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS)\n\t\t\t\t\t\t\t\t\tdirectionalLightShadow = directionalLightShadows[UNROLLED_LOOP_INDEX];\n\t\t\t\t\t\t\t\t\tshadow *= getShadow( \n\t\t\t\t\t\t\t\t\t\tUNROLLED_LOOP_INDEX,\n\t\t\t\t\t\t\t\t\t\tdirectionalShadowMap[UNROLLED_LOOP_INDEX], \n\t\t\t\t\t\t\t\t\t\tdirectionalLightShadow.shadowMapSize, \n\t\t\t\t\t\t\t\t\t\tdirectionalLightShadow.shadowBias, \n\t\t\t\t\t\t\t\t\t\tdirectionalLightShadow.shadowRadius, \n\t\t\t\t\t\t\t\t\t\tvDirectionalShadowCoord[UNROLLED_LOOP_INDEX]);\n\t\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t#pragma unroll_loop_end\n\n\t\t\t\t\t\t#endif\n\n\t\t\t\t\t\t#if NUM_SPOT_LIGHTS > 0 \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t#if defined(USE_SHADOWMAP) && (NUM_SPOT_LIGHT_SHADOWS > 0)\n\t\t\t\t\t\t\t\tSpotLightShadow spotLightShadow;\n\t\t\t\t\t\t\t#endif \n\n\t\t\t\t\t\t\t#pragma unroll_loop_start\n\t\t\t\t\t\t\tfor (int i = 0; i < NUM_SPOT_LIGHTS; i++) {\n\t\t\t\t\t\t\t\tlpos = (inverse(viewMatrix) * vec4(spotLights[UNROLLED_LOOP_INDEX].position, 1.0)).xyz;\n\t\t\t\t\t\t\t\tl = normalize(lpos - worldPosition);\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tdproduct = dot(l, normalize(worldNormal)) * 0.5 + 0.5;\n\t\t\t\t\t\t\t\tt = max(t, dproduct);\n\n\t\t\t\t\t\t\t\t// Accumulate shadow contribution\n\t\t\t\t\t\t\t\t#if defined(USE_SHADOWMAP) && (UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS)\n\t\t\t\t\t\t\t\t\tspotLightShadow = spotLightShadows[UNROLLED_LOOP_INDEX];\n\t\t\t\t\t\t\t\t\tshadow *= getShadow(\n\t\t\t\t\t\t\t\t\t\tUNROLLED_LOOP_INDEX,\n\t\t\t\t\t\t\t\t\t\tspotShadowMap[UNROLLED_LOOP_INDEX], \n\t\t\t\t\t\t\t\t\t\tspotLightShadow.shadowMapSize, \n\t\t\t\t\t\t\t\t\t\tspotLightShadow.shadowBias, \n\t\t\t\t\t\t\t\t\t\tspotLightShadow.shadowRadius, \n\t\t\t\t\t\t\t\t\t\tvSpotLightCoord[UNROLLED_LOOP_INDEX]);\n\t\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t#pragma unroll_loop_end\n\n\t\t\t\t\t\t#endif\n\n\t\t\t\t\t\tt = clamp(t, 0.0, 1.0);\n\t\t\t\t\n\t\t\t\t\t#endif\n\n\t\t\t\t} else if (positioning == 1) {\n\t\t\t\t\t\n\t\t\t\t\tvec3 origin = mix(position, worldPosition, float(isWorldSpace));\n\t\t\t\t\tvec3 direction = normalize(source - origin);\n\t\t\t\t\tt = dot(direction, normalize(worldNormal)) * 0.5 + 0.5;\t\n\n\t\t\t\t} else {\n\n\t\t\t\t\tvec3 origin = worldPosition;\n\t\t\t\t\tvec3 source = cameraPosition - offset;\n\t\t\t\t\tvec3 direction = normalize(source - origin);\n\t\t\t\t\tt = dot(direction, normalize(worldNormal)) * 0.5 + 0.5;\t\n\t\t\t\t\t\n\t\t\t\t}\n\n\t\t\t\tif (noiseStrength > 0.0) {\n\t\t\t\t\t// Distort with noise\n\t\t\t\t\tvec3 st = position / noiseScale;\n\t\t\t\t\t\n\t\t\t\t\t// Voronoi "smooth" noise\n\t\t\t\t\tfloat noise = 1.0 - voronoiNoise(st).x;\n\n\t\t\t\t\t// Voronoi cellular noise\n\t\t\t\t\t//float noise = 1.0 - rand(voronoiNoise(st).z);\n\n\t\t\t\t\t// Position warp noise\n\t\t\t\t\t// vec3 offset = vec3(\n\t\t\t\t\t// \tsimplex3d(st),\n\t\t\t\t\t// \tsimplex3d(st + vec3(111.1, 143.89, 217.19)),\n\t\t\t\t\t// \tsimplex3d(st + vec3(171.1, 247.89, 117.23))\n\t\t\t\t\t// );\n\t\t\t\t\t// st += offset;\n\t\t\t\t\t// float noise = valueNoise(st);\n\n\t\t\t\t\tt += noise * noiseStrength;\n\t\t\t\t}\n\n\t\t\t\tt = clamp(t, 0.0, 1.0);\n\n\t\t\t\t// Compute ramp color\n\t\t\t\tfloat p;\n\t\t\t\tvec4 color = colors[0];\n\t\t\t\tfor (int i = 1; i < COLORS_MAX; i++) {\n\t\t\t\t\tp = clamp((t - steps[i-1]) / (steps[i] - steps[i-1]), 0.0, 1.0);\n\t\t\t\t\tcolor = mix(color, colors[i], smoothstep(0.0, 1.0, p));\n\t\t\t\t}\n\n\t\t\t\t// Incorporate custom shadow color\n\t\t\t\tif (positioning == 0) {\n\n\t\t\t\t\tvec3 blendedShadow = mix(color.rgb, shadowColor.rgb, shadowColor.a);\n\t\t\t\t\tcolor.rgb = mix(blendedShadow, color.rgb, shadow);\n\t\t\t\t\n\t\t\t\t}\n\n\t\t\t\t// Accumulate alpha as usual\n\t\t\t\tfloat lalpha = alpha * color.a * mask;\n\t\t\t\tcalpha =  lalpha / clamp(lalpha + accumAlpha, 0.00001, 1.0);\n\t\t\t\taccumAlpha += (1.0 - accumAlpha) * lalpha;\n\n\t\t\t\treturn color.xyz;\n\n            }',[R_.simplex,e,n,i])}}();var N_={textureBicubic:new OX("float w0( float a ) {\n            return ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 );\n        }\n    \n        float w1( float a ) {\n            return ( 1.0 / 6.0 ) * ( a *  a * ( 3.0 * a - 6.0 ) + 4.0 );\n        }\n    \n        float w2( float a ){\n            return ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 );\n        }\n    \n        float w3( float a ) {\n            return ( 1.0 / 6.0 ) * ( a * a * a );\n        }\n    \n        // g0 and g1 are the two amplitude functions\n        float g0( float a ) {\n            return w0( a ) + w1( a );\n        }\n    \n        float g1( float a ) {\n            return w2( a ) + w3( a );\n        }\n    \n        // h0 and h1 are the two offset functions\n        float h0( float a ) {\n            return - 1.0 + w1( a ) / ( w0( a ) + w1( a ) );\n        }\n    \n        float h1( float a ) {\n            return 1.0 + w3( a ) / ( w2( a ) + w3( a ) );\n        }\n    \n        vec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) {\n            uv = uv * texelSize.zw + 0.5;\n    \n            vec2 iuv = floor( uv );\n            vec2 fuv = fract( uv );\n    \n            float g0x = g0( fuv.x );\n            float g1x = g1( fuv.x );\n            float h0x = h0( fuv.x );\n            float h1x = h1( fuv.x );\n            float h0y = h0( fuv.y );\n            float h1y = h1( fuv.y );\n    \n            vec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n            vec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n            vec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n            vec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n    \n            return g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) + \n                   g1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) );\n        }\n\n        vec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) {\n            vec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) );\n            vec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) );\n            vec2 fLodSizeInv = 1.0 / fLodSize;\n            vec2 cLodSizeInv = 1.0 / cLodSize;\n            vec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) );\n            vec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) );\n            return mix( fSample, cSample, fract( lod ) );\n        }")};var L_=class extends SX{constructor(e,t,n,r,i,a,s,o){super("v3"),this.nodeType="Transmission",this.thickness=e,this.ior=t,this.roughness=n,this.transmissionSamplerSize=r,this.transmissionSamplerMap=i,this.transmissionDepthMap=a,this.aspectRatio=s,this.alpha=o,this.calpha="g".concat(this.uuid.toString().replace(/-/g,""),"_calpha")}generate(e,t){if(e.extensions.shaderTextureLOD=!0,e.extensions.derivatives=!0,e.isShader("fragment")){e.define("NUM_SAMPLES",6),e.define("BLUR_SLOD",Math.pow(2,Q_.transmissionLod.value)),e.require("worldPosition"),e.requires.worldNormal=!0,e.requires.modelMatrix=!0,e.requires.projectionMatrix=!0,e.addFragmentVariable(this.calpha,"float");let n=e.include(L_.Nodes.transmission),r=[];return r.push(this.thickness.build(e,"f")),r.push(this.ior.build(e,"f")),r.push(this.roughness.build(e,"f")),r.push(this.transmissionSamplerSize.build(e,"v2")),r.push(this.transmissionSamplerMap.getTexture(e,"t")),r.push(this.transmissionDepthMap.getTexture(e,"t")),r.push(this.aspectRatio.build(e,"v2")),r.push("normal"),r.push(this.mask?"luminance(".concat(this.mask.flow(e,"v3").result,")"):"1.0"),r.push(this.alpha.build(e,"f")),r.push(this.calpha),e.format(n+"("+r.join(",")+")",this.getType(e),t)}return console.warn("TransmissionNode is not compatible with "+e.shader+" shader."),e.format("vec3( 0.0 )",this.getType(e),t)}},Y_=L_;Y_.Nodes=function(){let e=new OX("vec3 blur(sampler2D sp, vec2 U, vec2 scale, float lod, sampler2D dm, vec2 unrefractedU, vec2 aspectRatio) {\n                // Slightly modified version of this:\n                // https://www.shadertoy.com/view/ltScRG\n\n\t\t\t\t// Special case for blur == 0.0\n\t\t\t\tif (lod == 0.0) {\n\t\t\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\t\treturn texture2DLodEXT( sp, U, 0.0).rgb;\n\t\t\t\t\t#else\n\t\t\t\t\treturn textureLod( sp, U, 0.0).rgb;\n\t\t\t\t\t#endif\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tvec2 texelSize = vec2(1.0) / resolution;\n                vec2 halton = haltonSequence[frameIndex];\n                float temporalOffset = getNoiseInterleavedGradient(gl_FragCoord.xy + halton);\n                float temporalAngle  = temporalOffset * PI2;\n\t\t\t\tvec3 res = vec3(0.0);\n                vec2 uv = vec2(0.0);\n                vec2 offset = vec2(0.0);\n                vec2 vogelSample = vec2(0.0);\n                for (int i = 0; i < NUM_SAMPLES; i++) {\n                    vogelSample =  vogelDiskSample(i, NUM_SAMPLES, temporalAngle) * texelSize;\n                    offset = vogelSample * scale * (lod * 10.0); // TODO: used to be hardcoded to 20\n                    uv = U + offset;\n                    float opaqueDepth = unpackRGBAToDepth(textureLod(dm, uv, lod));\n                    if (opaqueDepth != 0.0 && opaqueDepth < gl_FragCoord.z) {\n                        uv = unrefractedU;\n                        lod = lod > 4.0 ? lod : lod / 2.0;\n                    }\n                    res += textureLod(sp, uv, lod).rgb;\n                }\n                return res / float(NUM_SAMPLES);\n            }"),t=new OX("vec3 getVolumeTransmissionRay( vec3 n, vec3 v, float thickness, float ior, mat4 modelMatrix ) {\n\t\t        // Direction of refracted light.\n\t\t        vec3 refractionVector = refract( -v,  n, 1.0 / ior );\n\t\t        \n\t\t\t\t// Compute rotation-independant scaling of the model matrix.\n\t\t        vec3 modelScale;\n\t\t        modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\n\t\t        modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\n\t\t        modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\n\n\t\t        // The thickness is specified in local space\n\t\t        return normalize( refractionVector ) * thickness * modelScale;\n\t        }"),n=new OX("float applyIorToRoughness( float roughness, float ior ) {\n\t\t\t\t// Scale roughness with IOR so that an IOR of 1.0 results in no microfacet refraction and\n\t\t\t\t// an IOR of 1.5 results in the default amount of microfacet refraction.\n\t\t\t\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n\t\t\t}"),r=new OX('vec3 getTransmissionSample( vec2 fragCoord, float roughness, float ior, vec2 transmissionSamplerSize, sampler2D transmissionSamplerMap, sampler2D transmissionDepthMap, vec2 unrefractedCoords, vec2 aspectRatio) {\n\t\t\t\t// Threejs exports do not pass a depth map to this shader, so we have to fallback to the "Threejs method of blurring" - see\n\t\t\t\t// also the code in convertTransmission.ts, which runs during export\n\t\t\t\t#ifdef IS_THREEJS_EXPORT\n\t\t\t\t\tfloat lod = log2(transmissionSamplerSize.x) * applyIorToRoughness(roughness / 5.0, ior);\n\t\t\t\t\treturn textureBicubic(transmissionSamplerMap, fragCoord.xy, lod).rgb;\n\t\t\t\t#else\n\t\t\t\t\tfloat framebufferLod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\t\t\t\tfloat lod = applyIorToRoughness(roughness, ior);\n\t\t\t\t\treturn blur(transmissionSamplerMap, fragCoord, vec2(lod), min(framebufferLod / 5.5, 8.5), transmissionDepthMap, unrefractedCoords, aspectRatio);\n\t\t\t\t#endif\n\t\t\t}',[N_.textureBicubic,n,e]),i=new OX("vec3 getIBLVolumeRefraction( vec3 n, vec3 v, float roughness, vec3 position, mat4 modelMatrix, mat4 viewMatrix, mat4 projMatrix, float ior, float thickness, vec2 transmissionSamplerSize, sampler2D transmissionSamplerMap, sampler2D transmissionDepthMap, vec2 aspectRatio ) {\n\t\t\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\n\t\t\t\tvec3 refractedRayExit = position + transmissionRay;\n\n\t\t\t\t// Project refracted vector on the framebuffer, while mapping to normalized device coordinates.\n\t\t\t\tvec4 ndcPos = projMatrix * viewMatrix *  vec4( refractedRayExit, 1.0 );\n\t\t\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\t\t\trefractionCoords += 1.0;\n\t\t\t\trefractionCoords /= 2.0;\n\n\t\t\t\tvec4 ndcPosUnrefracted = projMatrix * viewMatrix * vec4(position, 1.0 );\n\t\t\t\tvec2 unrefractedCoords = ndcPosUnrefracted.xy / ndcPosUnrefracted.w;\n\t\t\t\tunrefractedCoords += 1.0;\n\t\t\t\tunrefractedCoords /= 2.0;\n\n\t\t\t\t// Sample framebuffer to get pixel the refracted ray hits.\n\t\t\t\treturn getTransmissionSample( refractionCoords, roughness, ior, transmissionSamplerSize, transmissionSamplerMap, transmissionDepthMap, unrefractedCoords, aspectRatio );\n    \t\t}",[r,t]);return{transmission:new OX("vec3 transmission(float thickness, float ior, float roughness, vec2 transmissionSamplerSize, sampler2D transmissionSamplerMap, sampler2D transmissionDepthMap, vec2 aspectRatio, vec3 normal, float mask, float alpha, out float calpha) {\n                vec3 v = vec3(0.);\n                if (isOrthographic) {\n                    v = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n                } else {\n                    v = normalize(vWPosition - cameraPosition);\n                }\n                vec3 transmission = getIBLVolumeRefraction(vWNormal, -v, roughness,  vWPosition, modelMatrix, viewMatrix, projectionMatrix, ior, thickness, transmissionSamplerSize, transmissionSamplerMap, transmissionDepthMap, aspectRatio );\n                \n\t\t\t\tfloat lalpha = alpha * mask;\n\t\t\t\tcalpha =  lalpha / clamp( lalpha + accumAlpha, 0.00001, 1.0 );\n\t\t\t\taccumAlpha += ( 1.0 - accumAlpha ) * alpha;\n\n\t\t\t\treturn transmission;\n            }",[i])}}();var F_=(e=>(e.NOISE="noise",e.MAP="map",e))(F_||{}),Z_=class extends SX{constructor(e,t,n,r,i,a,s,o,l,c,d){super("v3"),this.displacementTypeIndex=new l_(0),this.nodeType="VertexDisplacement",this.intensity=e,this.movementOrTexture=t,"map"===Object.values(F_)[this.displacementTypeIndex.value]&&(this.mat=new f_(this.movementOrTexture.value.matrix)),this.cropOrOffset=n,this.scale=c,this.noiseFunctionIndex=d,this.voronoiStyle=r,this.smoothness=i,this.seed=a,this.highCut=s,this.lowCut=o,this.quality=l}generate(e,t){if(e.isShader("vertex")){e.define("USE_LAYER_DISPLACE");let n,r=[];switch(r.push("displaced_position"),r.push("displaced_normal"),Object.values(F_)[this.displacementTypeIndex.value]){case"map":n=e.include(Z_.Nodes.map),r.push(this.movementOrTexture.getTexture(e,"t")),r.push("uv"),r.push(this.cropOrOffset.build(e,"f")),this.mat&&r.push(this.mat.build(e,"mat3"));break;case"noise":{let t=Object.values(V_)[this.noiseFunctionIndex.value],i=new OX("vec3 orthogonal(vec3 v) {\n\t\t\t\t\t\t\treturn normalize(abs(v.x) > abs(v.z) ? vec3(-v.y, v.x, 0.0) : vec3(0.0, -v.z, v.y));\n\t\t\t\t\t\t}"),a="voronoi"==t?"\n\t\t\t\t\tfloat v = ".concat(t,"((p + offset) * scale * 0.001 + neighbour_offset + (movement * 0.1), voronoiStyle, smoothness, seed, quality);\n\t\t\t\t\tv = remap(v, lowCut, highCut, 0.0, 1.0);\n\t\t\t\t\tv = smax(v, 0.0, smoothness * 0.25);\n\t\t\t\t\tv = smin(v, 1.0, smoothness * 0.25);\n\n\t\t\t\t\treturn p + n * v * intensity;\n\t\t\t\t\t"):"\n\t\t\t\t\treturn p + n * ".concat(t,"((p + offset) * scale * 0.001 + neighbour_offset + (movement * 0.1)) * intensity;\n\t\t\t\t\t"),s=new OX("vec3 distorted(vec3 p, vec3 n, float scale, float intensity, vec3 offset, float neighbour_offset, float movement, int voronoiStyle, float smoothness, float seed, float highCut, float lowCut, int quality) {\n\t\t\t\t\t\t\t".concat(a,"\n\t\t\t\t\t\t}"),[R_.simplex,R_.simplexFractal,R_.simplexAshima,R_.fbm,R_.perlin,R_.voronoi]),o=new OX("vec3 vertexDisplacementNoise(vec3 position, vec3 normal, float scale, vec3 offset, float movement, int voronoiStyle, float smoothness, float seed, float highCut, float lowCut, int quality, float intensity, out vec3 displaced_normal) {\n\t\t\t\t\t\t\tvec3 displaced_position = distorted(position, normal, scale, intensity, offset, neighbor_offset, movement, voronoiStyle, smoothness, seed, highCut, lowCut, quality);\n\t\t\t\t\t\t\tvec3 tangent1 = orthogonal(normal);\n\t\t\t\t\t\t\tvec3 tangent2 = normalize(cross(normal, tangent1));\n\n                            // TODO(Max): The distance to the neighbors was originally scaled by 0.1.\n                            // This caused some small oval/circular visual artifacts in the lighting.\n                            // For now, simply using neighbors further away betters the problem,\n                            // but we should figure out the underlying cause when we have some time.\n                            // Maybe its related to how we calculate the tangent and bitangent?\n\t\t\t\t\t\t\tvec3 nearby1 = position + tangent1;\n\t\t\t\t\t\t\tvec3 nearby2 = position + tangent2;\n\t\t\t\t\t\t\tvec3 distorted1 = distorted(nearby1, normal, scale, intensity, offset, neighbor_offset, movement, voronoiStyle, smoothness, seed, highCut, lowCut, quality);\n\t\t\t\t\t\t\tvec3 distorted2 = distorted(nearby2, normal, scale, intensity, offset, neighbor_offset, movement, voronoiStyle, smoothness, seed, highCut, lowCut, quality);\n\t\t\t\t\t\t\tdisplaced_normal = normalize(cross(distorted1 - displaced_position, distorted2 - displaced_position));\n\t\t\t\t\t\t\treturn displaced_position;\n\t\t\t\t\t\t}",[s,i]);n=e.include(o),r.push(this.scale.build(e,"f")),r.push(this.cropOrOffset.build(e,"v3")),r.push(this.movementOrTexture.build(e,"f")),r.push(this.voronoiStyle.build(e,"i")),r.push(this.smoothness.build(e,"f")),r.push(this.seed.build(e,"f")),r.push(this.highCut.build(e,"f")),r.push(this.lowCut.build(e,"f")),r.push(this.quality.build(e,"i"));break}}return r.push(this.intensity.build(e,"f")),r.push("displaced_normal"),e.format(n+"("+r.join(",")+")",this.getType(e),t)}return console.warn("VertexDisplacementNode is not compatible with "+e.shader+" shader."),e.format("vec3( 0.0 )",this.getType(e),t)}},K_=Z_;K_.Nodes=function(){let e=new OX("vec3 orthogonal(vec3 v) {\n\t\t\t\treturn normalize(abs(v.x) > abs(v.z) ? vec3(-v.y, v.x, 0.0) : vec3(0.0, -v.z, v.y));\n\t\t\t}"),t=new OX("float displacementMapTexture(sampler2D tex, float crop, vec2 uv, mat3 mat, vec2 offset) {\n\t\t\t\tvec2 uvs = (mat * vec3(uv * 2.0 - 1.0, 1.0) / 2.0 + 0.5).xy + offset;\n\t\t\t\tvec4 tmp = texture2D(tex, uvs);\n\t\t\t\tvec3 col = tmp.rgb;\n\t\t\t\tif (crop > 0.5) {\n\t\t\t\t\tif ( uvs.x < 0.0 || uvs.x > 1.0 || uvs.y < 0.0 || uvs.y > 1.0 )  {\n\t\t\t\t\t\treturn 0.0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn col.r;\n\t\t\t}");return{map:new OX("vec3 vertexDisplacementMap(vec3 position, vec3 normal, sampler2D tex, vec2 uv, float crop, mat3 mat, float intensity, out vec3 displaced_normal) {\n\t\t\t\tvec3 displaced_position = position + normal * displacementMapTexture(tex, crop, uv, mat, vec2(0.0)) * intensity;\n\t\t\t\tvec3 tangent1 = normalize(orthogonal(normal));\n\t\t\t\tvec3 tangent2 = normalize(cross(normal, tangent1));\n\t\t\t\tvec3 nearby1 = position + tangent1 * 0.1;\n\t\t\t\tvec3 nearby2 = position + tangent2 * 0.1;\n\t\t\t\tvec3 distorted1 = nearby1 + normal * displacementMapTexture(tex, crop, uv, mat, vec2(neighbor_offset)) * intensity;\n\t\t\t\tvec3 distorted2 = nearby2 + normal * displacementMapTexture(tex, crop, uv, mat, vec2(neighbor_offset)) * intensity;\n\t\t\t\tdisplaced_normal = normalize(cross(distorted1 - displaced_position, distorted2 - displaced_position));\n\t\t\t\treturn displaced_position;\n\t\t\t}",[e,t])}}();var Q_={normalRenderTarget:new HX,normalRenderTargetDepth:new HX,transmissionRenderTarget:new HX,aspectRatio:new bX,transmissionSize:new bX(2048,2048),transmissionRenderTargetDepth:new HX,aoRenderTarget:new HX,aoEnabled:new c_,pixelRatioNode:new WX(1),resolution:new bX,penumbraSize:new d_(5,.5),frameIndex:new l_(0),transmissionLod:new l_(2)};for(let bre of Object.values(Q_))bre.isRenderGlobal=!0;var X_,__={skiaWasmUrl:"https://unpkg.com/@splinetool/ui-wasm@1.0.53/build/ui.wasm"},$_=class extends vX{constructor(){super("basic"),this.nodeType="Basic",this.color=new o_(FU),this.shadingAlpha=new WX(1),this.shadingBlend=new l_(0),this.previousModelViewMatrix=new m_,this.previouseProjectionMatrix=new m_}get category(){return"phong"}generate(e){let t;if(e.isShader("vertex")){let n=this.position?this.position.analyzeAndFlow(e,"v3",{cache:"position"}):void 0;e.mergeUniform({frameIndex:Q_.frameIndex}),e.mergeUniform({resolution:Q_.resolution}),e.mergeUniform({previousModelViewMatrix:this.previousModelViewMatrix}),e.mergeUniform({previousProjectionMatrix:this.previouseProjectionMatrix}),e.mergeUniform(VO.merge([_O.fog])),e.addParsCode(["varying vec3 vViewPosition;","varying vec3 vWPosition;","#include <fog_pars_vertex>","#include <normal_pars_vertex>"].join("\n"));let r=["#include <beginnormal_vertex>","\n\t\t\t\t#if !defined( USE_LAYER_DISPLACE )\n\t\t\t\t\t#include <defaultnormal_vertex>\n\t\t\t\t#endif\n\n\t\t\t\tvec3 displaced_position = position;\n\t\t\t\tvec3 displaced_normal = normal;\n\n\t\t\t\t#if defined( USE_LAYER_DISPLACE )\n\t\t\t\t\tvec3 transformed;\n\t\t\t\t\tvec3 transformedNormal;\n\t\t\t\t#endif\n\t\t\t\t","#include <normal_vertex>","\n\t\t\t\t#if !defined( USE_LAYER_DISPLACE )\n\t\t\t\t\t#include <begin_vertex>\n\t\t\t\t#endif /* !USE_LAYER_DISPLACE */\n\t\t\t\t"];n&&r.push(n.code,n.result?"displaced_position = "+n.result+";":""),r.push("transformed = displaced_position;","transformedNormal = normalMatrix * displaced_normal;","#ifndef FLAT_SHADED","\tvNormal = transformedNormal;","#endif"),r.push("#include <project_vertex>","#include <fog_vertex>","#include <clipping_planes_vertex>","\tvViewPosition = - mvPosition.xyz;","#include <worldpos_vertex>"),r.push("vWPosition = ( modelMatrix * vec4( transformed, 1.0 ) ).xyz;"),t=r.join("\n")}else{void 0===this.color&&(this.color=new o_(FU)),this.color.analyze(e,{slot:"color"}),this.alpha&&this.alpha.analyze(e),this.afterColor&&this.afterColor.analyze(e,{slot:"afterColor"});let n=this.color.flow(e,"c",{slot:"color"}),r=this.alpha?this.alpha.flow(e,"f"):void 0,i=this.alphaOverride?this.alphaOverride.flow(e,"f"):void 0,a=this.afterColor?this.afterColor.flow(e,"c",{slot:"afterColor"}):void 0;e.requires.transparent=void 0!==r,e.addParsCode(["varying vec3 vWPosition;","#include <fog_pars_fragment>","#include <dithering_pars_fragment>","varying vec3 vViewPosition;","#include <normal_pars_fragment>"].join("\n"));let s=["#include <normal_fragment_begin>",n.code];r&&s.push(r.code,"#ifdef ALPHATEST"," if ( "+r.result+" <= ALPHATEST ) discard;","#endif"),a?s.push(a.code,"vec3 outgoingLight = ".concat(n.result,";"),"vec3 finalColor = spe_blend(outgoingLight, ".concat(a.result,", 1.0, SPE_BLENDING_NORMAL);")):s.push("vec3 finalColor = ".concat(n.result,";"));let o="1.0";this.mask&&(this.mask.analyze(e),o="luminance(".concat(this.mask.flow(e,"v3").result,")")),r?s.push("gl_FragColor = vec4( finalColor, accumAlpha * ".concat(r.result," * ").concat(o," );")):s.push("gl_FragColor = vec4("+n.result+", 1.0 );"),i&&s.push("gl_FragColor.a *= ".concat(i.result,";")),s.push("#include <fog_fragment>","#include <dithering_fragment>"),t=s.join("\n")}return t}},e$=class extends vX{constructor(){super("lambert"),this.nodeType="Lambert",this.color=new o_(FU),this.emissive=new o_(0),this.emissiveIntensity=new WX(1),this.previousModelViewMatrix=new m_,this.previouseProjectionMatrix=new m_,this.shadingAlpha=new WX(1),this.shadingBlend=new l_(0),this.occlusion=new c_(!0)}get category(){return"lambert"}build(e){let t;if(e.define("LAMBERT"),e.requires.lights=!0,e.extensions.derivatives=!0,e.isShader("vertex")){let n=this.position?this.position.analyzeAndFlow(e,"v3",{cache:"position"}):void 0;e.mergeUniform({frameIndex:Q_.frameIndex}),e.mergeUniform({resolution:Q_.resolution}),e.mergeUniform({previousModelViewMatrix:this.previousModelViewMatrix}),e.mergeUniform({previousProjectionMatrix:this.previouseProjectionMatrix}),e.mergeUniform(VO.merge([_O.fog,_O.lights])),e.addParsCode(["varying vec3 vViewPosition;","varying vec3 vWPosition;","varying vec3 vLightFront;","varying vec3 vIndirectFront;","#ifndef DOUBLE_SIDED","   #define DOUBLE_SIDED","#endif","#ifdef DOUBLE_SIDED","\tvarying vec3 vLightBack;","\tvarying vec3 vIndirectBack;","#endif","#include <bsdfs>","#include <lights_pars_begin>","#include <color_pars_vertex>","#include <fog_pars_vertex>","#include <normal_pars_vertex>","#include <shadowmap_pars_vertex>","#include <clipping_planes_pars_vertex>"].join("\n"));let r=["#include <beginnormal_vertex>","\n\t\t\t\t#ifndef USE_LAYER_DISPLACE\n\t\t\t\t\t#include <defaultnormal_vertex>\n\t\t\t\t#endif\n\n\t\t\t\tvec3 displaced_position = position;\n\t\t\t\tvec3 displaced_normal = normal;\n\n\t\t\t\t#ifdef USE_LAYER_DISPLACE\n\t\t\t\t\tvec3 transformed;\n\t\t\t\t\tvec3 transformedNormal;\n\t\t\t\t#endif\n\t\t\t\t","#include <normal_vertex>","\n\t\t\t\t#ifndef USE_LAYER_DISPLACE\n\t\t\t\t\t#include <begin_vertex>\n\t\t\t\t#endif\n\t\t\t\t"];n&&r.push(n.code,n.result?"displaced_position = "+n.result+";":""),r.push("transformed = displaced_position;","transformedNormal = normalMatrix * displaced_normal;","#ifndef FLAT_SHADED","    vNormal = transformedNormal;","#endif"),r.push("\t#include <project_vertex>","\t#include <clipping_planes_vertex>","\tvViewPosition = - mvPosition.xyz;","\t#include <worldpos_vertex>","\n\t\t\t\t\tvec3 diffuse = vec3( 1.0 );\n\t\t\t\t\tGeometricContext geometry;\n\t\t\t\t\tgeometry.position = mvPosition.xyz;\n\t\t\t\t\tgeometry.normal = normalize( transformedNormal );\n\t\t\t\t\tgeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );\n\t\t\t\t"),r.push("\n\t\t\t\t\tGeometricContext backGeometry;\n\t\t\t\t\tbackGeometry.position = geometry.position;\n\t\t\t\t\tbackGeometry.normal = -geometry.normal;\n\t\t\t\t\tbackGeometry.viewDir = geometry.viewDir;\n\t\t\t\t\tvLightFront = vec3( 0.0 );\n\t\t\t\t\tvIndirectFront = vec3( 0.0 );\n\t\t\t\t\t#ifdef DOUBLE_SIDED\n\t\t\t\t\t\tvLightBack = vec3( 0.0 );\n\t\t\t\t\t\tvIndirectBack = vec3( 0.0 );\n\t\t\t\t\t#endif\n\t\t\t\t\tIncidentLight directLight;\n\t\t\t\t\tfloat dotNL;\n\t\t\t\t\tvec3 directLightColor_Diffuse;\n\t\t\t\t\tvIndirectFront += getAmbientLightIrradiance( ambientLightColor );\n\t\t\t\t\tvIndirectFront += getLightProbeIrradiance( lightProbe, geometry.normal );\n\t\t\t\t\t#ifdef DOUBLE_SIDED\n\t\t\t\t\t\tvIndirectBack += getAmbientLightIrradiance( ambientLightColor );\n\t\t\t\t\t\tvIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry.normal );\n\t\t\t\t\t#endif\n\t\t\t\t\t#if NUM_POINT_LIGHTS > 0\n\t\t\t\t\t\t#pragma unroll_loop_start\n\t\t\t\t\t\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\t\t\t\t\t\tgetPointLightInfo( pointLights[ i ], geometry, directLight );\n\t\t\t\t\t\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\t\t\t\t\t\tdirectLightColor_Diffuse = directLight.color;\n\t\t\t\t\t\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t\t\t\t\t\t#ifdef DOUBLE_SIDED\n\t\t\t\t\t\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t}\n\t\t\t\t\t\t#pragma unroll_loop_end\n\t\t\t\t\t#endif\n\t\t\t\t\t#if NUM_SPOT_LIGHTS > 0\n\t\t\t\t\t\t#pragma unroll_loop_start\n\t\t\t\t\t\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\t\t\t\t\t\tgetSpotLightInfo( spotLights[ i ], geometry, directLight );\n\t\t\t\t\t\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\t\t\t\t\t\tdirectLightColor_Diffuse = directLight.color;\n\t\t\t\t\t\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t\t\t\t\t\t#ifdef DOUBLE_SIDED\n\t\t\t\t\t\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t}\n\t\t\t\t\t\t#pragma unroll_loop_end\n\t\t\t\t\t#endif\n\t\t\t\t\t#if NUM_DIR_LIGHTS > 0\n\t\t\t\t\t\t#pragma unroll_loop_start\n\t\t\t\t\t\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\t\t\t\t\t\tgetDirectionalLightInfo( directionalLights[ i ], geometry, directLight );\n\t\t\t\t\t\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\t\t\t\t\t\tdirectLightColor_Diffuse = directLight.color;\n\t\t\t\t\t\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t\t\t\t\t\t#ifdef DOUBLE_SIDED\n\t\t\t\t\t\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t}\n\t\t\t\t\t\t#pragma unroll_loop_end\n\t\t\t\t\t#endif\n\t\t\t\t\t#if NUM_HEMI_LIGHTS > 0\n\t\t\t\t\t\t#pragma unroll_loop_start\n\t\t\t\t\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\t\t\t\t\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\t\t\t\t\t\t\t#ifdef DOUBLE_SIDED\n\t\t\t\t\t\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry.normal );\n\t\t\t\t\t\t\t#endif\n\t\t\t\t\t\t}\n\t\t\t\t\t\t#pragma unroll_loop_end\n\t\t\t\t\t#endif\n\t\t\t\t","\t#include <shadowmap_vertex>","\t#include <fog_vertex>"),r.push("vWPosition = ( modelMatrix * vec4( transformed, 1.0 ) ).xyz;"),t=r.join("\n")}else{e.mergeUniform({penumbraSize:Q_.penumbraSize}),e.mergeUniform({frameIndex:Q_.frameIndex}),e.mergeUniform({aoMap:Q_.aoRenderTarget}),e.mergeUniform({aoEnabled:Q_.aoEnabled}),void 0===this.color&&(this.color=new o_(FU)),this.color.analyze(e,{slot:"color"}),this.shadingAlpha.analyze(e),this.shadingBlend.analyze(e),this.afterColor&&this.afterColor.analyze(e,{slot:"afterColor"}),this.alpha&&this.alpha.analyze(e);let n=this.color.flow(e,"c",{slot:"color"}),r=this.emissive.flow(e,"c",{slot:"emissive"}),i=this.emissiveIntensity.flow(e,"f",{slot:"emissive"}),a=this.occlusion.flow(e,"b",{slot:"occlusion"}),s=this.shadingAlpha.flow(e,"f"),o=this.shadingBlend.flow(e,"i"),l=this.afterColor?this.afterColor.flow(e,"c",{slot:"afterColor"}):void 0,c=this.alpha?this.alpha.flow(e,"f"):void 0,d=this.alphaOverride?this.alphaOverride.flow(e,"f"):void 0;e.requires.transparent=void 0!==c,e.addParsCode(["uniform float penumbraSize[".concat(5,"];"),"uniform sampler2D aoMap;","uniform bool aoEnabled;","varying vec3 vViewPosition;","varying vec3 vWPosition;","varying vec3 vLightFront;","varying vec3 vIndirectFront;","#ifndef DOUBLE_SIDED","   #define DOUBLE_SIDED","#endif","#include <normal_pars_fragment>","#ifdef DOUBLE_SIDED","\tvarying vec3 vLightBack;","\tvarying vec3 vIndirectBack;","#endif","#include <bsdfs>","#include <lights_pars_begin>","#include <fog_pars_fragment>","#include <shadowmap_pars_fragment>","#include <shadowmask_pars_fragment>","#include <clipping_planes_pars_fragment>","#include <dithering_pars_fragment>"].join("\n"));let h=["#include <normal_fragment_begin>","\n\t\t\t\t// NOTE: gl_FrontFacing alternative using face normal estimation.\n\t\t\t\tvec3 viewdx = dFdx(vViewPosition);\n\t\t\t\tvec3 viewdy = dFdy(vViewPosition);\n\t\t\t\tvec3 faceNormal = normalize(cross(viewdx, viewdy));\n\t\t\t\tbool isFrontFacing = (dot(normal, faceNormal) >= 0.0);\n\t\t\t\t","#include <clipping_planes_fragment>"];h.push(n.code,"vec3 diffuseColor = "+n.result+";","ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );"),c&&h.push(c.code,"#ifdef ALPHATEST","if ( "+c.result+" <= ALPHATEST ) discard;","#endif"),h.push("#ifdef DOUBLE_SIDED","\treflectedLight.indirectDiffuse += ( isFrontFacing ) ? vIndirectFront : vIndirectBack;","#else","\treflectedLight.indirectDiffuse += vIndirectFront;","#endif","#include <lightmap_fragment>","reflectedLight.indirectDiffuse *= BRDF_Lambert( diffuseColor.rgb );","#ifdef DOUBLE_SIDED","\treflectedLight.directDiffuse = ( isFrontFacing ) ? vLightFront : vLightBack;","#else","\treflectedLight.directDiffuse = vLightFront;","#endif","reflectedLight.directDiffuse *= BRDF_Lambert( diffuseColor.rgb ) * getShadowMask();"),r&&h.push(r.code,"reflectedLight.directDiffuse += "+r.result+" * "+i.result+";"),h.push("vec3 ao = aoEnabled && "+a.result+" ? tex2D(aoMap, gl_FragCoord.xy / resolution).rgb : vec3(1.0);","vec3 outgoingLight = (reflectedLight.directDiffuse + reflectedLight.indirectDiffuse) ;");let u="1.0";this.mask&&(this.mask.analyze(e),u="luminance(".concat(this.mask.flow(e,"v3").result,")")),h.push("\n\t\t\t\tif (outgoingLight != diffuseColor) {\n\t\t\t\t\tfloat lightAccu = clamp( length( reflectedLight.directSpecular + reflectedLight.indirectSpecular ), 0.0, 1.0 );\n\t\t\t\t\taccumAlpha += ( 1.0 - accumAlpha ) * ".concat(s.result," * ").concat(u," * lightAccu;\n\t\t\t\t\toutgoingLight = spe_blend( diffuseColor, outgoingLight, ").concat(s.result," * ").concat(u,", ").concat(o.result," );\n\n\t\t\t\t\toutgoingLight *= ao;\n\t\t\t\t}\n\t\t\t\t")),l&&h.push(l.code,"outgoingLight = spe_blend(outgoingLight, ".concat(l.result,", 1.0, SPE_BLENDING_NORMAL);")),c?h.push("gl_FragColor = vec4( outgoingLight, accumAlpha * ".concat(c.result," );")):h.push("gl_FragColor = vec4( outgoingLight, 1.0 );"),d&&h.push("gl_FragColor.a *= ".concat(d.result,";")),h.push("#include <encodings_fragment>","#include <fog_fragment>","#include <dithering_fragment>"),t=h.join("\n")}return t}},t$={dHdxy:new OX("vec2 dHdxy(sampler2D bumpMap, vec2 bumpMapUv, float bumpScale) {\n\n            // Gradient of UVs w.r.t. X coordinate (in screen-space)\n            vec2 dSTdx = dFdx(bumpMapUv);\n\n            // Gradient of UVs w.r.t. Y coordinate (in screen-space)\n            vec2 dSTdy = dFdy(bumpMapUv);\n            \n            // Forward differencing\n            float Hll = bumpScale * luminance(texture(bumpMap, bumpMapUv).rgb);\n            float dBx = bumpScale * luminance(texture(bumpMap, bumpMapUv + dSTdx).rgb) - Hll;\n            float dBy = bumpScale * luminance(texture(bumpMap, bumpMapUv + dSTdy).rgb) - Hll;\n            \n            return vec2( dBx, dBy );\n        }"),perturbNormalArb:new OX("vec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\n            vec3 vSigmaX = dFdx( surf_pos.xyz );\n            vec3 vSigmaY = dFdy( surf_pos.xyz );\n            vec3 vN = surf_norm; // normalized\n            \n            vN = normalize(vN);\n\n            vec3 R1 = cross( vSigmaY, vN );\n            vec3 R2 = cross( vN, vSigmaX );\n\n            R1 = normalize(R1);\n            R2 = normalize(R2);\n    \n            float fDet = dot( vSigmaX, R1 ) * faceDirection;\n    \n            vec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n            return normalize( abs( fDet ) * vN - vGrad );\n        }")},n$=class extends vX{constructor(){super("phong"),this.nodeType="Phong",this.color=new o_(FU),this.specular=new o_(1118481),this.shininess=new WX(30),this.previousModelViewMatrix=new m_,this.previouseProjectionMatrix=new m_,this.shadingAlpha=new WX(1),this.shadingBlend=new l_(0),this.occlusion=new c_(!0)}get category(){return"phong"}build(e){let t;if(e.define("PHONG"),e.requires.lights=!0,e.extensions.derivatives=!0,e.isShader("vertex")){let n=this.position?this.position.analyzeAndFlow(e,"v3",{cache:"position"}):void 0;e.mergeUniform({frameIndex:Q_.frameIndex}),e.mergeUniform({resolution:Q_.resolution}),e.mergeUniform({previousModelViewMatrix:this.previousModelViewMatrix}),e.mergeUniform({previousProjectionMatrix:this.previouseProjectionMatrix}),e.mergeUniform(VO.merge([_O.fog,_O.lights])),e.addParsCode(["varying vec3 vViewPosition;","varying vec3 vWPosition;","#include <fog_pars_vertex>","#include <skinning_pars_vertex>","#include <normal_pars_vertex>","#include <shadowmap_pars_vertex>","#include <clipping_planes_pars_vertex>"].join("\n"));let r=["#include <beginnormal_vertex>","\n\t\t\t\t#include <skinbase_vertex>\n\t\t\t\t#include <skinnormal_vertex>\n\t\t\t\t#ifndef USE_LAYER_DISPLACE\n\t\t\t\t\t#include <defaultnormal_vertex>\n\t\t\t\t#endif\n\n\n\t\t\t\tvec3 displaced_position = position;\n\t\t\t\tvec3 displaced_normal = objectNormal;\n\n\t\t\t\t#ifdef USE_LAYER_DISPLACE\n\t\t\t\t\tvec3 transformed;\n\t\t\t\t\tvec3 transformedNormal;\n\t\t\t\t#endif\n\t\t\t\t","#include <normal_vertex>","\n\t\t\t\t#ifndef USE_LAYER_DISPLACE\n\t\t\t\t\t#include <begin_vertex>\n\t\t\t\t#endif\n\t\t\t\t"];n&&r.push(n.code,n.result?"displaced_position = "+n.result+";":""),r.push("transformed = displaced_position;","#include <skinning_vertex>","transformedNormal = normalMatrix * displaced_normal;","#ifndef FLAT_SHADED","    vNormal = transformedNormal;","#endif"),r.push("\t#include <project_vertex>","\t#include <clipping_planes_vertex>","\tvViewPosition = - mvPosition.xyz;","\t#include <worldpos_vertex>","\t#include <shadowmap_vertex>","\t#include <fog_vertex>"),r.push("vWPosition = ( modelMatrix * vec4( transformed, 1.0 ) ).xyz;"),t=r.join("\n")}else{e.mergeUniform({penumbraSize:Q_.penumbraSize}),e.mergeUniform({frameIndex:Q_.frameIndex}),e.mergeUniform({aoMap:Q_.aoRenderTarget}),e.mergeUniform({aoEnabled:Q_.aoEnabled}),void 0===this.color&&(this.color=new o_(FU)),this.color.analyze(e,{slot:"color"}),this.specular.analyze(e),this.shininess.analyze(e);let n=this.occlusion.flow(e,"b",{slot:"occlusion"});this.shadingAlpha.analyze(e),this.shadingBlend.analyze(e),this.afterColor&&this.afterColor.analyze(e,{slot:"afterColor"}),this.alpha&&this.alpha.analyze(e);let r=this.color.flow(e,"c",{slot:"color"}),i=this.specular.flow(e,"c"),a=this.shininess.flow(e,"f"),s=this.shadingAlpha.flow(e,"f"),o=this.shadingBlend.flow(e,"i"),l=this.afterColor?this.afterColor.flow(e,"c",{slot:"afterColor"}):void 0,c=this.alpha?this.alpha.flow(e,"f"):void 0,d=this.alphaOverride?this.alphaOverride.flow(e,"f"):void 0;e.requires.transparent=void 0!==c,e.addParsCode(["varying vec3 vWPosition;","uniform vec3 emissive;","uniform float penumbraSize[".concat(5,"];"),"uniform sampler2D aoMap;","uniform bool aoEnabled;","#include <normal_pars_fragment>","#include <fog_pars_fragment>","#include <bsdfs>","#include <lights_pars_begin>","#include <lights_phong_pars_fragment>","#include <shadowmap_pars_fragment>","#include <dithering_pars_fragment>"].join("\n"));let h=["#include <normal_fragment_begin>","\n\t\t\t\t// NOTE: gl_FrontFacing alternative using face normal estimation.\n\t\t\t\tvec3 viewdx = dFdx(vViewPosition);\n\t\t\t\tvec3 viewdy = dFdy(vViewPosition);\n\t\t\t\tvec3 faceNormal = normalize(cross(viewdx,viewdy));\n\t\t\t\tif (dot(normal, faceNormal) < 0.0) {\n\t\t\t\t\tnormal *= -1.0;\n\t\t\t\t}\n\t\t\t\t","\tBlinnPhongMaterial material;"];if(this.bumpMap){e.include(t$.dHdxy),e.include(t$.perturbNormalArb);let t=this.bumpMap.texture.flow(e,"t"),n=this.bumpMap.flow(e,"v3"),r=this.bumpMapIntensity?this.bumpMapIntensity.flow(e,"f").result:"1.0",i="";i=4===this.bumpMap.projection.value?"\n\t\t\t\t\tvec3 bumpNormal = vec3(0.0);\n\t\t\t\t\t{\n\t\t\t\t\t\tvec2 uv0 = g".concat(this.bumpMap.uuid.toString().replace(/-/g,""),"_writeUvs0;\n\t\t\t\t\t\tvec2 uv1 = g").concat(this.bumpMap.uuid.toString().replace(/-/g,""),"_writeUvs1;\n\t\t\t\t\t\tvec2 uv2 = g").concat(this.bumpMap.uuid.toString().replace(/-/g,""),"_writeUvs2;\n\t\t\t\t\t\tvec3 weights = g").concat(this.bumpMap.uuid.toString().replace(/-/g,""),"_triplanarWeights;\n\n\t\t\t\t\t\tvec2 grad0 = dHdxy(").concat(t.result,", uv0, ").concat(r,");\n\t\t\t\t\t\tvec3 n0 = perturbNormalArb(-vViewPosition, normal, grad0, faceDirection);\n\n\t\t\t\t\t\tvec2 grad1 = dHdxy(").concat(t.result,", uv1, ").concat(r,");\n\t\t\t\t\t\tvec3 n1 = perturbNormalArb(-vViewPosition, normal, grad1, faceDirection);\n\n\t\t\t\t\t\tvec2 grad2 = dHdxy(").concat(t.result,", uv2, ").concat(r,");\n\t\t\t\t\t\tvec3 n2 = perturbNormalArb(-vViewPosition, normal, grad2, faceDirection);\n\t\t\t\t\t\t\n\t\t\t\t\t\tbumpNormal = n0 * weights.z + n1 * weights.x + n2 * weights.y;\n\t\t\t\t\t\tbumpNormal = normalize(bumpNormal);\n\t\t\t\t\t}\n\n\t\t\t\t\tnormal = bumpNormal;\n\t\t\t\t\t"):"\n\t\t\t\t\tvec2 bumpMapCachedUv = g".concat(this.bumpMap.uuid.toString().replace(/-/g,""),"_writeUvs;\n\t\t\t\t\tvec2 grad = dHdxy(").concat(t.result,", bumpMapCachedUv, ").concat(r,");\n\t\t\t\t\tnormal = perturbNormalArb( - vViewPosition, normal, grad, faceDirection );\n\t\t\t\t\t"),h.push("// Call the Texture Layer's function once here so that it writes out its procedural UV coordinates\n\t\t\t\t\t".concat(n.result,";\n\t\t\t\t\t").concat(i,"\n\t\t\t\t\t"))}h.push(r.code,"\tvec3 diffuseColor = "+r.result+";","\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );","\tvec3 totalEmissiveRadiance = emissive;",i.code,"\tvec3 specular = "+i.result+";",a.code,"\tfloat shininess = max( 0.0001, "+a.result+" );","\tfloat specularStrength = 1.0;"),c&&h.push(c.code,"#ifdef ALPHATEST","if ( "+c.result+" <= ALPHATEST ) discard;","#endif"),h.push("material.diffuseColor = diffuseColor;"),h.push("material.specularColor = specular;","material.specularShininess = shininess;","material.specularStrength = specularStrength;","#include <lights_fragment_begin>","#include <lights_fragment_end>"),h.push("vec3 ao = aoEnabled && "+n.result+" ? tex2D(aoMap, gl_FragCoord.xy / resolution).rgb : vec3(1.0);","vec3 outgoingLight = ((reflectedLight.directDiffuse + reflectedLight.indirectDiffuse)) + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;");let u="1.0";this.mask&&(this.mask.analyze(e),u="luminance(".concat(this.mask.flow(e,"v3").result,")")),h.push("\n\t\t\t\tif (outgoingLight != diffuseColor) {\n\t\t\t\t\tfloat lightAccu = clamp( length( reflectedLight.directSpecular + reflectedLight.indirectSpecular ), 0.0, 1.0 );\n\t\t\t\t\taccumAlpha += ( 1.0 - accumAlpha ) * ".concat(s.result," * ").concat(u," * lightAccu;\n\t\t\t\t\toutgoingLight = spe_blend( diffuseColor, outgoingLight, ").concat(s.result," * ").concat(u,", ").concat(o.result," );\n\t\t\t\t\t\n\t\t\t\t\toutgoingLight *= ao;\n\t\t\t\t}\n\t\t\t\t")),l&&h.push(l.code,"outgoingLight = spe_blend(outgoingLight, ".concat(l.result,", 1.0, SPE_BLENDING_NORMAL);")),c?h.push("gl_FragColor = vec4( outgoingLight, accumAlpha * ".concat(c.result,");")):h.push("gl_FragColor = vec4( outgoingLight, 1.0 );"),d&&h.push("gl_FragColor.a *= ".concat(d.result,";")),h.push("#include <encodings_fragment>","#include <fog_fragment>","#include <dithering_fragment>"),t=h.join("\n")}return t}},r$=class extends vX{constructor(){super("standard"),this.nodeType="Standard",this.color=new o_(FU),this.roughness=new WX(.3),this.metalness=new WX(0),this.reflectivity=new WX(.5),this.previousModelViewMatrix=new m_,this.previouseProjectionMatrix=new m_,this.shadingAlpha=new WX(1),this.shadingBlend=new l_(0),this.occlusion=new c_(!0)}get category(){return"physical"}build(e){let t;if(e.define("STANDARD"),e.requires.lights=!0,e.extensions.derivatives=!0,e.extensions.shaderTextureLOD=!0,e.isShader("vertex")){let n=this.position?this.position.analyzeAndFlow(e,"v3",{cache:"position"}):void 0;e.mergeUniform({frameIndex:Q_.frameIndex}),e.mergeUniform({resolution:Q_.resolution}),e.mergeUniform({previousModelViewMatrix:this.previousModelViewMatrix}),e.mergeUniform({previousProjectionMatrix:this.previouseProjectionMatrix}),e.mergeUniform(VO.merge([_O.fog,_O.lights])),_O.LTC_1&&(e.uniforms.ltc_1={value:void 0},e.uniforms.ltc_2={value:void 0}),e.addParsCode(["varying vec3 vViewPosition;","varying vec3 vWPosition;","#include <fog_pars_vertex>","#include <normal_pars_vertex>","#include <shadowmap_pars_vertex>","#include <clipping_planes_pars_vertex>"].join("\n"));let r=["#include <beginnormal_vertex>","\n\t\t\t\t#if !defined( USE_LAYER_DISPLACE )\n\t\t\t\t\t#include <defaultnormal_vertex>\n\t\t\t\t#endif\n\n\t\t\t\tvec3 displaced_position = position;\n\t\t\t\tvec3 displaced_normal = normal;\n\n\t\t\t\t#if defined( USE_LAYER_DISPLACE )\n\t\t\t\t\tvec3 transformed;\n\t\t\t\t\tvec3 transformedNormal;\n\t\t\t\t#endif\n\t\t\t\t","#include <normal_vertex>","\n\t\t\t\t#if !defined( USE_LAYER_DISPLACE )\n\t\t\t\t\t#include <begin_vertex>\n\t\t\t\t#endif /* !USE_LAYER_DISPLACE */\n\t\t\t\t"];n&&r.push(n.code,n.result?"displaced_position = "+n.result+";":""),r.push("transformed = displaced_position;","transformedNormal = normalMatrix * displaced_normal;","#ifndef FLAT_SHADED","    vNormal = transformedNormal;","#endif"),r.push("#include <project_vertex>","#include <fog_vertex>","#include <clipping_planes_vertex>","\tvViewPosition = - mvPosition.xyz;","#include <worldpos_vertex>","#include <shadowmap_vertex>"),r.push("vWPosition = ( modelMatrix * vec4( transformed, 1.0 ) ).xyz;"),t=r.join("\n")}else{e.mergeUniform({penumbraSize:Q_.penumbraSize}),e.mergeUniform({frameIndex:Q_.frameIndex}),e.mergeUniform({aoMap:Q_.aoRenderTarget}),e.mergeUniform({aoEnabled:Q_.aoEnabled});let n={gamma:!0};void 0===this.color&&(this.color=new o_(FU)),this.color.analyze(e,{slot:"color",context:n}),this.roughness.analyze(e),this.metalness.analyze(e);let r=this.occlusion.flow(e,"b",{slot:"occlusion"});this.shadingAlpha.analyze(e),this.shadingBlend.analyze(e),this.afterColor&&this.afterColor.analyze(e,{slot:"afterColor"}),this.alpha&&this.alpha.analyze(e),this.reflectivity&&this.reflectivity.analyze(e);let i=this.color.flow(e,"c",{slot:"color",context:n}),a=this.roughness.flow(e,"f"),s=this.metalness.flow(e,"f"),o=this.shadingAlpha.flow(e,"f"),l=this.shadingBlend.flow(e,"i"),c=this.afterColor?this.afterColor.flow(e,"c",{slot:"afterColor"}):void 0,d=this.alpha?this.alpha.flow(e,"f"):void 0,h=this.alphaOverride?this.alphaOverride.flow(e,"f"):void 0,u=this.reflectivity?this.reflectivity.flow(e,"f"):void 0;e.requires.transparent=void 0!==d,e.addParsCode(["varying vec3 vViewPosition;","varying vec3 vWPosition;","uniform float penumbraSize[".concat(5,"];"),"uniform sampler2D aoMap;","uniform bool aoEnabled;","#include <normal_pars_fragment>","#include <dithering_pars_fragment>","#include <fog_pars_fragment>","#include <bsdfs>","#include <lights_pars_begin>","#include <lights_physical_pars_fragment>","#include <shadowmap_pars_fragment>"].join("\n"));let p=["#include <clipping_planes_fragment>","\t#include <normal_fragment_begin>","\n\t\t\t\t// NOTE: gl_FrontFacing alternative using face normal estimation.\n\t\t\t\tvec3 viewdx = dFdx(vViewPosition);\n\t\t\t\tvec3 viewdy = dFdy(vViewPosition);\n\t\t\t\tvec3 faceNormal = normalize(cross(viewdx,viewdy));\n\t\t\t\tif (dot(normal, faceNormal) < 0.0) {\n\t\t\t\t\tnormal *= -1.0;\n\t\t\t\t}\n\t\t\t\t","\tPhysicalMaterial material;","\tmaterial.diffuseColor = vec3( 1.0 );"];if(this.bumpMap){e.include(t$.dHdxy),e.include(t$.perturbNormalArb);let t=this.bumpMap.texture.flow(e,"t"),n=this.bumpMap.flow(e,"v3"),r=this.bumpMapIntensity?this.bumpMapIntensity.flow(e,"f").result:"1.0",i="";i=4===this.bumpMap.projection.value?"\n\t\t\t\t\tvec3 bumpNormal = vec3(0.0);\n\t\t\t\t\t{\n\t\t\t\t\t\tvec2 uv0 = g".concat(this.bumpMap.uuid.toString().replace(/-/g,""),"_writeUvs0;\n\t\t\t\t\t\tvec2 uv1 = g").concat(this.bumpMap.uuid.toString().replace(/-/g,""),"_writeUvs1;\n\t\t\t\t\t\tvec2 uv2 = g").concat(this.bumpMap.uuid.toString().replace(/-/g,""),"_writeUvs2;\n\t\t\t\t\t\tvec3 weights = g").concat(this.bumpMap.uuid.toString().replace(/-/g,""),"_triplanarWeights;\n\n\t\t\t\t\t\tvec2 grad0 = dHdxy(").concat(t.result,", uv0, ").concat(r,");\n\t\t\t\t\t\tvec3 n0 = perturbNormalArb(-vViewPosition, normal, grad0, faceDirection);\n\n\t\t\t\t\t\tvec2 grad1 = dHdxy(").concat(t.result,", uv1, ").concat(r,");\n\t\t\t\t\t\tvec3 n1 = perturbNormalArb(-vViewPosition, normal, grad1, faceDirection);\n\n\t\t\t\t\t\tvec2 grad2 = dHdxy(").concat(t.result,", uv2, ").concat(r,");\n\t\t\t\t\t\tvec3 n2 = perturbNormalArb(-vViewPosition, normal, grad2, faceDirection);\n\t\t\t\t\t\t\n\t\t\t\t\t\tbumpNormal = n0 * weights.z + n1 * weights.x + n2 * weights.y;\n\t\t\t\t\t\tbumpNormal = normalize(bumpNormal);\n\t\t\t\t\t}\n\n\t\t\t\t\tnormal = bumpNormal;\n\t\t\t\t\t"):"\n\t\t\t\t\tvec2 bumpMapCachedUv = g".concat(this.bumpMap.uuid.toString().replace(/-/g,""),"_writeUvs;\n\t\t\t\t\tvec2 grad = dHdxy(").concat(t.result,", bumpMapCachedUv, ").concat(r,");\n\t\t\t\t\tnormal = perturbNormalArb( - vViewPosition, normal, grad, faceDirection );\n\t\t\t\t\t"),p.push("// Call the Texture Layer's function once here so that it writes out its procedural UV coordinates\n\t\t\t\t\t".concat(n.result,";\n\t\t\t\t\t").concat(i,"\n\t\t\t\t\t"))}if(p.push(i.code,"\tvec3 diffuseColor = "+i.result+";","\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );",s.code,"\tfloat metalnessFactor = "+s.result+";"),this.roughnessMap){let t=this.roughnessMap.texture.flow(e,"t"),n=this.roughnessMap.flow(e,"v3"),r="";r=4===this.roughnessMap.projection.value?"\n\t\t\t\t\tfloat roughnessChange = 1.0;\n\t\t\t\t\t{\n\t\t\t\t\t\tvec2 uv0 = g".concat(this.roughnessMap.uuid.toString().replace(/-/g,""),"_writeUvs0;\n\t\t\t\t\t\tvec2 uv1 = g").concat(this.roughnessMap.uuid.toString().replace(/-/g,""),"_writeUvs1;\n\t\t\t\t\t\tvec2 uv2 = g").concat(this.roughnessMap.uuid.toString().replace(/-/g,""),"_writeUvs2;\n\t\t\t\t\t\tvec3 weights = g").concat(this.roughnessMap.uuid.toString().replace(/-/g,""),"_triplanarWeights;\n\n\t\t\t\t\t\tfloat r0 = luminance(texture(").concat(t.result,", uv0).rgb) * roughnessScale;\n\t\t\t\t\t\tfloat r1 = luminance(texture(").concat(t.result,", uv1).rgb) * roughnessScale;\n\t\t\t\t\t\tfloat r2 = luminance(texture(").concat(t.result,", uv2).rgb) * roughnessScale;\n\n\t\t\t\t\t\troughnessChange = (r0 * weights.z + r1 * weights.x + r2 * weights.y);\n\t\t\t\t\t}\n\t\t\t\t\tfloat roughnessFactor = roughnessChange * ").concat(a.result,";\n\t\t\t\t\t"):"\n\t\t\t\t\tvec2 roughnessMapCachedUv = g".concat(this.roughnessMap.uuid.toString().replace(/-/g,""),"_writeUvs;\n\n\t\t\t\t\tvec4 vals = texture(").concat(t.result,",  roughnessMapCachedUv);\n\t\t\t\t\tfloat roughnessFactor = luminance(vals.rgb) * ").concat(a.result,";\n\t\t\t\t\t"),p.push("// Call the Texture Layer's function once here so that it writes out its procedural UV coordinates\n\t\t\t\t\t".concat(n.result,";\n\n\t\t\t\t\tconst float roughnessScale = 1.0;\n\n\t\t\t\t\t").concat(r,"\n\t\t\t\t"))}else p.push(a.code,"\tfloat roughnessFactor = "+a.result+";");d&&p.push(d.code,"#ifdef ALPHATEST","\tif ( "+d.result+" <= ALPHATEST ) discard;","#endif"),p.push("vec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );","float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );"),p.push("material.diffuseColor = diffuseColor * ( 1.0 - metalnessFactor );","material.roughness = max( roughnessFactor, 0.0525 );","material.roughness += geometryRoughness;","material.roughness = min( material.roughness, 1.0 );","material.roughness = clamp( roughnessFactor, 0.04, 1.0 );"),u?p.push(u.code,"material.specularColor = mix( vec3( 0.16 * pow2( "+u.result+" ) ), diffuseColor, metalnessFactor );"):p.push("material.specularColor = mix( vec3( 0.04 ), diffuseColor, metalnessFactor );"),p.push("#include <lights_fragment_begin>"),p.push("#include <lights_fragment_end>"),p.push("vec3 ao = aoEnabled && "+r.result+" ? tex2D(aoMap, gl_FragCoord.xy / resolution).rgb : vec3(1.0);","vec3 outgoingLight = ((reflectedLight.directDiffuse + reflectedLight.indirectDiffuse)) + reflectedLight.directSpecular + reflectedLight.indirectSpecular;");let f="1.0";this.mask&&(this.mask.analyze(e),f="luminance(".concat(this.mask.flow(e,"v3").result,")")),p.push("\n\t\t\t\tif (outgoingLight != diffuseColor) {\n\t\t\t\t\tfloat lightAccu = clamp( length( reflectedLight.directSpecular + reflectedLight.indirectSpecular ), 0.0, 1.0 );\n\t\t\t\t\taccumAlpha += ( 1.0 - accumAlpha ) * ".concat(o.result," * ").concat(f," * lightAccu;\n\t\t\t\t\toutgoingLight = spe_blend( diffuseColor, outgoingLight, ").concat(o.result," * ").concat(f,", ").concat(l.result," );\n\t\t\t\t\t\n\t\t\t\t\toutgoingLight *= ao;\n\t\t\t\t}\n\t\t\t\t")),c&&p.push(c.code,"outgoingLight = spe_blend(outgoingLight, ".concat(c.result,", 1.0, SPE_BLENDING_NORMAL);")),d?p.push("gl_FragColor = vec4( outgoingLight, accumAlpha * ".concat(d.result," );")):p.push("gl_FragColor = vec4( outgoingLight, 1.0 );"),h&&p.push("gl_FragColor.a *= ".concat(h.result,";")),p.push("#include <encodings_fragment>","#include <fog_fragment>","#include <dithering_fragment>"),t=p.join("\n")}return t}},i$=class extends vX{constructor(){super("toon"),this.nodeType="Toon",this.color=new o_(FU),this.specular=new o_(1118481),this.shininess=new WX(30),this.previousModelViewMatrix=new m_,this.previouseProjectionMatrix=new m_,this.shadingAlpha=new WX(1),this.shadingBlend=new l_(0)}get category(){return"toon"}build(e){let t;if(e.define("TOON"),e.requires.lights=!0,e.extensions.derivatives=!0,e.isShader("vertex")){let n=this.position?this.position.analyzeAndFlow(e,"v3",{cache:"position"}):void 0;e.mergeUniform({frameIndex:Q_.frameIndex}),e.mergeUniform({resolution:Q_.resolution}),e.mergeUniform({previousModelViewMatrix:this.previousModelViewMatrix}),e.mergeUniform({previousProjectionMatrix:this.previouseProjectionMatrix}),e.mergeUniform(VO.merge([_O.fog,_O.lights])),e.addParsCode(["varying vec3 vViewPosition;","varying vec3 vWPosition;","#include <fog_pars_vertex>","#include <normal_pars_vertex>","#include <shadowmap_pars_vertex>","#include <clipping_planes_pars_vertex>"].join("\n"));let r=["#include <beginnormal_vertex>","\n\t\t\t\t#ifndef USE_LAYER_DISPLACE\n\t\t\t\t\t#include <defaultnormal_vertex>\n\t\t\t\t#endif\n\n\t\t\t\tvec3 displaced_position = position;\n\t\t\t\tvec3 displaced_normal = normal;\n\n\t\t\t\t#ifdef USE_LAYER_DISPLACE\n\t\t\t\t\tvec3 transformed;\n\t\t\t\t\tvec3 transformedNormal;\n\t\t\t\t#endif\n\t\t\t\t","#include <normal_vertex>","\n\t\t\t\t#ifndef USE_LAYER_DISPLACE\n\t\t\t\t\t#include <begin_vertex>\n\t\t\t\t#endif\n\t\t\t\t"];n&&r.push(n.code,n.result?"displaced_position = "+n.result+";":""),r.push("transformed = displaced_position;","transformedNormal = normalMatrix * displaced_normal;","#ifndef FLAT_SHADED","    vNormal = transformedNormal;","#endif"),r.push("\t#include <project_vertex>","\t#include <fog_vertex>","\t#include <clipping_planes_vertex>","\tvViewPosition = - mvPosition.xyz;","\t#include <worldpos_vertex>","\t#include <shadowmap_vertex>","\t#include <fog_vertex>"),r.push("vWPosition = ( modelMatrix * vec4( transformed, 1.0 ) ).xyz;"),t=r.join("\n")}else{e.mergeUniform({penumbraSize:Q_.penumbraSize}),e.mergeUniform({frameIndex:Q_.frameIndex}),e.mergeUniform({aoMap:Q_.aoRenderTarget}),e.mergeUniform({aoEnabled:Q_.aoEnabled}),void 0===this.color&&(this.color=new o_(FU)),this.color.analyze(e,{slot:"color"}),this.specular.analyze(e),this.shininess.analyze(e),this.shadingAlpha.analyze(e),this.shadingBlend.analyze(e),this.afterColor&&this.afterColor.analyze(e,{slot:"afterColor"}),this.alpha&&this.alpha.analyze(e);let n=this.color.flow(e,"c",{slot:"color"}),r=this.specular.flow(e,"c"),i=this.shininess.flow(e,"f"),a=this.shadingAlpha.flow(e,"f"),s=this.shadingBlend.flow(e,"i"),o=this.afterColor?this.afterColor.flow(e,"c",{slot:"afterColor"}):void 0,l=this.alpha?this.alpha.flow(e,"f"):void 0,c=this.alphaOverride?this.alphaOverride.flow(e,"f"):void 0;e.requires.transparent=void 0!==l,e.addParsCode(["uniform float penumbraSize[".concat(5,"];"),"uniform sampler2D aoMap;","uniform bool aoEnabled;","varying vec3 vWPosition;","#include <normal_pars_fragment>","#include <gradientmap_pars_fragment>","#include <fog_pars_fragment>","#include <bsdfs>","#include <lights_pars_begin>","#include <dithering_pars_fragment>","\n\t\t\t\t\tvarying vec3 vViewPosition;\n\t\t\t\t\tstruct ToonMaterial {\n\t\t\t\t\t\tvec3\tdiffuseColor;\n\t\t\t\t\t\tvec3\tspecularColor;\n\t\t\t\t\t\tfloat\tspecularShininess;\n\t\t\t\t\t\tfloat\tspecularStrength;\n\t\t\t\t\t};\n\t\t\t\t\tvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\t\t\t\t\t\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\t\t\t\n\t\t\t\t\t\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\t\t\t\t\t\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;\n\t\t\t\t\t}\n\t\t\t\t\tvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\t\t\t\t\t\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\t\t\t\t\t}\n\t\t\t\t\t#define RE_Direct\t\t\t\tRE_Direct_Toon\n\t\t\t\t\t#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon\n\t\t\t\t\t#define Material_LightProbeLOD( material )\t(0)\n\t\t\t\t\t","#include <shadowmap_pars_fragment>","#include <bumpmap_pars_fragment>","#include <normalmap_pars_fragment>"].join("\n"));let d=["#include <normal_fragment_begin>","\n\t\t\t\t// NOTE: gl_FrontFacing alternative using face normal estimation.\n\t\t\t\tvec3 viewdx = dFdx(vViewPosition);\n\t\t\t\tvec3 viewdy = dFdy(vViewPosition);\n\t\t\t\tvec3 faceNormal = normalize(cross(viewdx,viewdy));\n\t\t\t\tif (dot(normal, faceNormal) < 0.0) {\n\t\t\t\t\tnormal *= -1.0;\n\t\t\t\t}\n\t\t\t\t","\tToonMaterial material;"];if(this.bumpMap){e.include(t$.dHdxy),e.include(t$.perturbNormalArb);let t=this.bumpMap.texture.flow(e,"t"),n=this.bumpMap.flow(e,"v3"),r=this.bumpMapIntensity?this.bumpMapIntensity.flow(e,"f").result:"1.0",i="";i=4===this.bumpMap.projection.value?"\n\t\t\t\t\tvec3 bumpNormal = vec3(0.0);\n\t\t\t\t\t{\n\t\t\t\t\t\tvec2 uv0 = g".concat(this.bumpMap.uuid.toString().replace(/-/g,""),"_writeUvs0;\n\t\t\t\t\t\tvec2 uv1 = g").concat(this.bumpMap.uuid.toString().replace(/-/g,""),"_writeUvs1;\n\t\t\t\t\t\tvec2 uv2 = g").concat(this.bumpMap.uuid.toString().replace(/-/g,""),"_writeUvs2;\n\t\t\t\t\t\tvec3 weights = g").concat(this.bumpMap.uuid.toString().replace(/-/g,""),"_triplanarWeights;\n\n\t\t\t\t\t\tvec2 grad0 = dHdxy(").concat(t.result,", uv0, ").concat(r,");\n\t\t\t\t\t\tvec3 n0 = perturbNormalArb(-vViewPosition, normal, grad0, faceDirection);\n\n\t\t\t\t\t\tvec2 grad1 = dHdxy(").concat(t.result,", uv1, ").concat(r,");\n\t\t\t\t\t\tvec3 n1 = perturbNormalArb(-vViewPosition, normal, grad1, faceDirection);\n\n\t\t\t\t\t\tvec2 grad2 = dHdxy(").concat(t.result,", uv2, ").concat(r,");\n\t\t\t\t\t\tvec3 n2 = perturbNormalArb(-vViewPosition, normal, grad2, faceDirection);\n\t\t\t\t\t\t\n\t\t\t\t\t\tbumpNormal = n0 * weights.z + n1 * weights.x + n2 * weights.y;\n\t\t\t\t\t\tbumpNormal = normalize(bumpNormal);\n\t\t\t\t\t}\n\n\t\t\t\t\tnormal = bumpNormal;\n\t\t\t\t\t"):"\n\t\t\t\t\tvec2 bumpMapCachedUv = g".concat(this.bumpMap.uuid.toString().replace(/-/g,""),"_writeUvs;\n\t\t\t\t\tvec2 grad = dHdxy(").concat(t.result,", bumpMapCachedUv, ").concat(r,");\n\t\t\t\t\tnormal = perturbNormalArb( - vViewPosition, normal, grad, faceDirection );\n\t\t\t\t\t"),d.push("// Call the Texture Layer's function once here so that it writes out its procedural UV coordinates\n\t\t\t\t\t".concat(n.result,";\n\t\t\t\t\t").concat(i,"\n\t\t\t\t\t"))}d.push(n.code,"\tvec3 diffuseColor = "+n.result+";","\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );",r.code,"\tvec3 specular = "+r.result+";",i.code,"\tfloat shininess = max( 0.0001, "+i.result+" );","\tfloat specularStrength = 1.0;"),l&&d.push(l.code,"#ifdef ALPHATEST","if ( "+l.result+" <= ALPHATEST ) discard;","#endif"),d.push("material.diffuseColor = diffuseColor;"),d.push("material.specularColor = specular;","material.specularShininess = shininess;","material.specularStrength = specularStrength;","#include <lights_fragment_begin>","#include <lights_fragment_end>"),d.push("vec3 ao = aoEnabled ? tex2D(aoMap, gl_FragCoord.xy / resolution).rgb : vec3(1.0);","vec3 outgoingLight = ((reflectedLight.directDiffuse + reflectedLight.indirectDiffuse) * ao) + reflectedLight.directSpecular;");let h="1.0";this.mask&&(this.mask.analyze(e),h="luminance(".concat(this.mask.flow(e,"v3").result,")")),d.push("\n\t\t\t\tif (outgoingLight != diffuseColor) {\n\t\t\t\t\tfloat lightAccu = clamp( length( reflectedLight.directSpecular + reflectedLight.indirectSpecular ), 0.0, 1.0 );\n\t\t\t\t\taccumAlpha += ( 1.0 - accumAlpha ) * ".concat(a.result," * ").concat(h," * lightAccu;\n\t\t\t\t\toutgoingLight = spe_blend( diffuseColor, outgoingLight, ").concat(a.result," * ").concat(h,", ").concat(s.result," );\n\t\t\t\t}\n\t\t\t\t")),o&&d.push(o.code,"outgoingLight = spe_blend(outgoingLight, ".concat(o.result,", 1.0, SPE_BLENDING_NORMAL);")),l?d.push("gl_FragColor = vec4( outgoingLight, accumAlpha * ".concat(l.result," );")):d.push("gl_FragColor = vec4( outgoingLight, 1.0 );"),c&&d.push("gl_FragColor.a *= ".concat(c.result,";")),d.push("#include <encodings_fragment>","#include <fog_fragment>","#include <dithering_fragment>"),t=d.join("\n")}return t}},a$=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1e4;this.timeout=e,this.cache=new Map,this.head={data:null,time:0,src:null,next:null,prev:null},this.tail={data:null,time:1/0,src:null,next:null,prev:null},this.hasClean=!1,this.head.next=this.tail,this.tail.prev=this.head}log(){}remove(e){let t=this.cache.get(e);t&&(this.dispose(e,t.data),this.cache.delete(e),t.prev.next=t.next,t.next.prev=t.prev)}scheduleCleanup(){this.hasClean||(this.log("scheduled cleanup"),this.hasClean=!0,setTimeout((()=>{this.hasClean=!1,this.log("cleaning");let e=Date.now(),t=this.head.next;for(;t.time<e-this.timeout;)this.dispose(t.src,t.data),this.cache.delete(t.src),t=t.next,t.prev=this.head,this.head.next=t;this.head.next!==this.tail?this.scheduleCleanup():this.log("no more cleanup")}),this.timeout+1e3))}has(e){var t;return null===(t=this.cache.get(e))||void 0===t?void 0:t.data}load(e){let t=Date.now(),n=this.cache.get(e);return void 0===n?(n={data:this.create(e),src:e,time:t,next:null,prev:null},this.cache.set(e,n)):(n.time=t,n.prev.next=n.next,n.next.prev=n.prev),n.prev=this.tail.prev,n.next=this.tail,this.tail.prev.next=n,this.tail.prev=n,this.scheduleCleanup(),n.data}},s$=class extends a${create(e){return URL.createObjectURL(new Blob([e]))}dispose(e,t){URL.revokeObjectURL(t)}};var o$=class{constructor(e,t){this.data=e,this.cache=t,this.refCount=0}deref(){this.refCount,this.refCount-=1,0===this.refCount&&(this.cache.remove(this),this.dispose())}dispose(){this.refCount,0}},l$=class{constructor(){this.cache=new Map}remove(e){this.cache.delete(e.data),0}load(e){let t=this.cache.get(e);return void 0===t&&(t=this.create(e),this.cache.set(e,t)),t.refCount+=1,t}},c$=class extends o${constructor(e,t){super(e,t.imageHolderCache),this.data=e,this.shared=t,this.loaded=!1,this.isVideo=!1,this.isCanvas=!1,this._cache={1e3:{},1001:{},1002:{}},this.isVideo="video"===e.type,this.isCanvas="CANVAS"===e.nodeName,this.updateSrc(this.isCanvas?e:e.data)}async updateSrc(e){if(typeof document>"u")return;this.disposeTextures(),this.loaded=!1;let t=()=>{this.loaded=!0;for(let e of Object.values(this._cache))for(let t of Object.values(e))t&&(t.image=this.img,t.needsUpdate=!0);this.shared.requestRender()};if(this.isCanvas)this.img=e,this.loaded=!0;else if(this.isVideo){if(this.img=document.createElement("video"),this.img.preload="auto",this.img.playsInline=!0,this.img.currentTime=.01,"string"!=typeof e){var n=new FileReader;let t;n.readAsDataURL(new Blob([e],{type:"video/mp4"})),await new Promise((e=>{n.onloadend=n=>{var r;t=null===(r=n.target)||void 0===r?void 0:r.result,e(null)}})),this.img.src=t}else this.img.src=e;this.img.onloadeddata=()=>{t()}}else this.img=new Image,this.img.src=function(e){return"string"==typeof e?e:(X_||(X_=new s$),X_.load(e))}(e),this.img.onload=t}getTexture(e){var t;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1008,r=null===(t=this._cache[e])||void 0===t?void 0:t[n];if(r)return r;{let t;return this.isCanvas&&(t=new nE(this.img,void 0,e,e,void 0,n)),t=this.isVideo?new tE(this.img,void 0,e,e):new EM(this.img,void 0,e,e,void 0,n),this.loaded&&(t.needsUpdate=!0),void 0===this._cache[e]&&(this._cache[e]={}),this._cache[e][n]=t,t}}setNeedsUpdate(e){for(let t of Object.values(this._cache))for(let n of Object.values(t))n&&(n.needsUpdate=e)}disposeTextures(){for(let[e,t]of Object.entries(this._cache))for(let[n,r]of Object.entries(t))null!==r&&void 0!==r&&r.dispose(),this._cache[e][n]=void 0}dispose(){super.dispose(),this.disposeTextures()}},d$=class extends c${};function h$(e,t){var n=function(e){if(!p$[e]){var t=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:"America/New_York",year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),n="06/25/2014, 00:00:00"===t||"\u200e06\u200e/\u200e25\u200e/\u200e2014\u200e \u200e00\u200e:\u200e00\u200e:\u200e00"===t;p$[e]=n?new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:e,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:e,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}return p$[e]}(t);return n.formatToParts?function(e,t){try{for(var n=e.formatToParts(t),r=[],i=0;i<n.length;i++){var a=u$[n[i].type];a>=0&&(r[a]=parseInt(n[i].value,10))}return r}catch(l){if(l instanceof RangeError)return[NaN];throw l}}(n,e):function(e,t){var n=e.format(t).replace(/\u200E/g,""),r=/(\d+)\/(\d+)\/(\d+),? (\d+):(\d+):(\d+)/.exec(n);return[r[3],r[1],r[2],r[4],r[5],r[6]]}(n,e)}var u$={year:0,month:1,day:2,hour:3,minute:4,second:5};var p$={};function f$(e,t,n,r,i,a,s){var o=new Date(0);return o.setUTCFullYear(e,t,n),o.setUTCHours(r,i,a,s),o}var m$=36e5,g$=6e4,y$={timezone:/([Z+-].*)$/,timezoneZ:/^(Z)$/,timezoneHH:/^([+-]\d{2})$/,timezoneHHMM:/^([+-]\d{2}):?(\d{2})$/};function v$(e,t,n){var r,i,a;if(!e||(r=y$.timezoneZ.exec(e)))return 0;if(r=y$.timezoneHH.exec(e))return S$(a=parseInt(r[1],10))?-a*m$:NaN;if(r=y$.timezoneHHMM.exec(e)){a=parseInt(r[1],10);var s=parseInt(r[2],10);return S$(a,s)?(i=Math.abs(a)*m$+s*g$,a>0?-i:i):NaN}if(function(e){if(A$[e])return!0;try{return new Intl.DateTimeFormat(void 0,{timeZone:e}),A$[e]=!0,!0}catch{return!1}}(e)){t=new Date(t||Date.now());var o=n?t:function(e){return f$(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())}(t),l=x$(o,e),c=n?l:function(e,t,n){var r=e.getTime(),i=r-t,a=x$(new Date(i),n);if(t===a)return t;i-=a-t;var s=x$(new Date(i),n);return a===s?a:Math.max(a,s)}(t,l,e);return-c}return NaN}function x$(e,t){var n=h$(e,t),r=f$(n[0],n[1]-1,n[2],n[3]%24,n[4],n[5],0).getTime(),i=e.getTime(),a=i%1e3;return r-(i-=a>=0?a:1e3+a)}function S$(e,t){return-23<=e&&e<=23&&(null==t||0<=t&&t<=59)}var A$={};var b$=Xb(rk(),1),k$=Xb(ik(),1),w$=36e5,j$=6e4,M$=2,P$={dateTimePattern:/^([0-9W+-]+)(T| )(.*)/,datePattern:/^([0-9W+-]+)(.*)/,plainTime:/:/,YY:/^(\d{2})$/,YYY:[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],YYYY:/^(\d{4})/,YYYYY:[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],MM:/^-(\d{2})$/,DDD:/^-?(\d{3})$/,MMDD:/^-?(\d{2})-?(\d{2})$/,Www:/^-?W(\d{2})$/,WwwD:/^-?W(\d{2})-?(\d{1})$/,HH:/^(\d{2}([.,]\d*)?)$/,HHMM:/^(\d{2}):?(\d{2}([.,]\d*)?)$/,HHMMSS:/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,timeZone:/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/};function O$(e,t){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(null===e)return new Date(NaN);var n=t||{},r=null==n.additionalDigits?M$:(0,b$.default)(n.additionalDigits);if(2!==r&&1!==r&&0!==r)throw new RangeError("additionalDigits must be 0, 1 or 2");if(e instanceof Date||"object"==typeof e&&"[object Date]"===Object.prototype.toString.call(e))return new Date(e.getTime());if("number"==typeof e||"[object Number]"===Object.prototype.toString.call(e))return new Date(e);if("string"!=typeof e&&"[object String]"!==Object.prototype.toString.call(e))return new Date(NaN);var i=function(e){var t,n={},r=P$.dateTimePattern.exec(e);if(r?(n.date=r[1],t=r[3]):(r=P$.datePattern.exec(e),r?(n.date=r[1],t=r[2]):(n.date=null,t=e)),t){var i=P$.timeZone.exec(t);i?(n.time=t.replace(i[1],""),n.timeZone=i[1].trim()):n.time=t}return n}(e),a=function(e,t){var n,r=P$.YYY[t],i=P$.YYYYY[t];if(n=P$.YYYY.exec(e)||i.exec(e),n){var a=n[1];return{year:parseInt(a,10),restDateString:e.slice(a.length)}}if(n=P$.YY.exec(e)||r.exec(e),n){var s=n[1];return{year:100*parseInt(s,10),restDateString:e.slice(s.length)}}return{year:null}}(i.date,r),s=a.year,o=function(e,t){if(null===t)return null;var n,r,i,a;if(0===e.length)return r=new Date(0),r.setUTCFullYear(t),r;if(n=P$.MM.exec(e),n)return r=new Date(0),i=parseInt(n[1],10)-1,V$(t,i)?(r.setUTCFullYear(t,i),r):new Date(NaN);if(n=P$.DDD.exec(e),n){r=new Date(0);var s=parseInt(n[1],10);return function(e,t){if(t<1)return!1;var n=E$(e);return!(n&&t>366||!n&&t>365)}(t,s)?(r.setUTCFullYear(t,0,s),r):new Date(NaN)}if(n=P$.MMDD.exec(e),n){r=new Date(0),i=parseInt(n[1],10)-1;var o=parseInt(n[2],10);return V$(t,i,o)?(r.setUTCFullYear(t,i,o),r):new Date(NaN)}if(n=P$.Www.exec(e),n)return a=parseInt(n[1],10)-1,R$(t,a)?T$(t,a):new Date(NaN);if(n=P$.WwwD.exec(e),n){a=parseInt(n[1],10)-1;var l=parseInt(n[2],10)-1;return R$(t,a,l)?T$(t,a,l):new Date(NaN)}return null}(a.restDateString,s);if(isNaN(o))return new Date(NaN);if(o){var l,c=o.getTime(),d=0;if(i.time&&(d=function(e){var t,n,r;if(t=P$.HH.exec(e),t)return n=parseFloat(t[1].replace(",",".")),D$(n)?n%24*w$:NaN;if(t=P$.HHMM.exec(e),t)return n=parseInt(t[1],10),r=parseFloat(t[2].replace(",",".")),D$(n,r)?n%24*w$+r*j$:NaN;if(t=P$.HHMMSS.exec(e),t){n=parseInt(t[1],10),r=parseInt(t[2],10);var i=parseFloat(t[3].replace(",","."));return D$(n,r,i)?n%24*w$+r*j$+1e3*i:NaN}return null}(i.time),isNaN(d)))return new Date(NaN);if(i.timeZone||n.timeZone){if(l=v$(i.timeZone||n.timeZone,new Date(c+d)),isNaN(l))return new Date(NaN)}else l=(0,k$.default)(new Date(c+d)),l=(0,k$.default)(new Date(c+d+l));return new Date(c+d+l)}return new Date(NaN)}function T$(e,t,n){t=t||0,n=n||0;var r=new Date(0);r.setUTCFullYear(e,0,4);var i=7*t+n+1-(r.getUTCDay()||7);return r.setUTCDate(r.getUTCDate()+i),r}var I$=[31,28,31,30,31,30,31,31,30,31,30,31],C$=[31,29,31,30,31,30,31,31,30,31,30,31];function E$(e){return e%400===0||e%4===0&&e%100!==0}function V$(e,t,n){if(t<0||t>11)return!1;if(null!=n){if(n<1)return!1;var r=E$(e);if(r&&n>C$[t]||!r&&n>I$[t])return!1}return!0}function R$(e,t,n){return!(t<0||t>52||null!=n&&(n<0||n>6))}function D$(e,t,n){return!(null!=e&&(e<0||e>=25)||null!=t&&(t<0||t>=60)||null!=n&&(n<0||n>=60))}function B$(e,t){return t.color(e)}function G$(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date,t=arguments.length>1?arguments[1]:void 0,n=t.format,r=e.getSeconds(),i=e;t&&null!==t.timeZone&&(i=function(e,t,n){var r=O$(e,n),i=v$(t,r,!0),a=new Date(r.getTime()-i),s=new Date(0);return s.setFullYear(a.getUTCFullYear(),a.getUTCMonth(),a.getUTCDate()),s.setHours(a.getUTCHours(),a.getUTCMinutes(),a.getUTCSeconds(),a.getUTCMilliseconds()),s}(new Date,t.timeZone));let a,s=i.getHours(),o=i.getMinutes();"12ampm"===t.format12h24h&&(a=s>=12?"PM":"AM");let l,c,d=s;switch("24"!==t.format12h24h&&(d=s%12,0===d&&(d=12)),n){case"HH:mm:ss":l=[d,o,r];break;case"HH:mm":l=[d,o];break;case"HH":l=[d],a=void 0;break;case"mm":l=[o],a=void 0;break;case"ss":l=[r],a=void 0;break;case"year":c=i.getFullYear();break;case"month":c=i.getMonth()+1;break;case"dayOfYear":c=Math.floor((i.getTime()-new Date(i.getFullYear(),0,0).getTime())/864e5);break;case"dayOfMonth":c=i.getDate();break;case"secondOfDay":c=60*s*60+60*o+r;break;default:console.error("Unknown time format",n),c=0}return void 0!==l?{textValue:l,suffix:a}:c}function q$(e,t){switch(e.type){case"fresnel":return function(e,t){let{bias:n,scale:r,intensity:i,factor:a,color:s}=e;return{...W$(e,t),color:B$(s,t),bias:n,scale:r,intensity:i,factor:a}}(e,t);case"gradient":return function(e,t){let{gradientType:n,smooth:r,colors:i,steps:a,angle:s,offset:o,morph:l}=e;return{...W$(e,t),gradientType:n,smooth:r,colors:i.map((e=>new VM(e[0],e[1],e[2],e[3]))),num:i.length,steps:a,offset:new cM(...o),morph:new cM(...l),angle:s}}(e,t);case"depth":return function(e,t){let{gradientType:n,near:r,far:i,isVector:a,isWorldSpace:s,origin:o,direction:l,colors:c,steps:d,smooth:h}=e;return{...W$(e,t),gradientType:n,near:r,far:i,isVector:a,isWorldSpace:s,origin:new qM(...o),direction:l?new qM(...l):new qM(1,0,0),colors:c.map((e=>void 0!==e?new VM(e[0],e[1],e[2],e[3]):new VM(0,0,0,0))),steps:d.slice(0,c.length),smooth:h}}(e,t);case"normal":return function(e,t){let{cnormal:n}=e;return{...W$(e,t),cnormal:new qM(n[0],n[1],n[2])}}(e,t);case"noise":return function(e,t){return{...W$(e,t),scale:e.scale,move:e.move,fA:new cM(...e.fA),fB:new cM(...e.fB),size:new qM(...e.size),distortion:new cM(...e.distortion),colorA:B$(e.colorA,t),colorB:B$(e.colorB,t),colorC:B$(e.colorC,t),colorD:B$(e.colorD,t),noiseType:e.noiseType,voronoiStyle:e.voronoiStyle,highCut:e.highCut,lowCut:e.lowCut,smoothness:e.smoothness,seed:e.seed,quality:e.quality}}(e,t);case"rainbow":return function(e,t){return{...W$(e,t),filmThickness:e.filmThickness,movement:e.movement,wavelengths:new qM(...e.wavelengths),noiseStrength:e.noiseStrength,noiseScale:e.noiseScale,offset:new qM(...e.offset)}}(e,t);case"toon":return function(e,t){return{...W$(e,t),positioning:e.positioning,colors:e.colors.map((e=>new VM(e[0],e[1],e[2],e[3]))),num:e.colors.length,steps:e.steps,source:new qM(...e.source),isWorldSpace:e.isWorldSpace,noiseStrength:e.noiseStrength,noiseScale:e.noiseScale,shadowColor:B$(e.shadowColor,t),offset:new qM(...e.offset)}}(e,t);case"outline":return function(e,t){return{...W$(e,t),outlineColor:B$(e.outlineColor,t),contourColor:B$(e.contourColor,t),outlineWidth:e.outlineWidth,contourWidth:e.contourWidth,outlineThreshold:e.outlineThreshold,contourThreshold:e.contourThreshold,outlineSmoothing:e.outlineSmoothing,contourFrequency:e.contourFrequency,contourDirection:new qM(...e.contourDirection),positionalLines:e.positionalLines,compensation:e.compensation}}(e,t);case"transmission":return function(e,t){return{...W$(e,t),thickness:e.thickness,ior:e.ior,roughness:e.roughness}}(e,t);case"color":return function(e,t){return{...W$(e,t),color:B$(e.color,t)}}(e,t);case"pattern":return function(e,t){return{...W$(e,t),style:e.style,projection:e.projection,axis:e.axis,blending:e.blending,offset:new cM(...e.offset),colorA:B$(e.colorA,t),colorB:B$(e.colorB,t),frequency:new cM(...e.frequency),size:e.size,variation:e.variation,smoothness:e.smoothness,zigzag:e.zigzag,rotation:e.rotation,vertical:new cM(...e.vertical),horizontal:new cM(...e.horizontal),sides:e.sides}}(e,t)}}function H$(e){return{type:e.type}}function W$(e,t){var n;let{alpha:r,mode:i,isMask:a}=e,s="string"==typeof r?(null!==(n=Number(t.getVariable(r)))&&void 0!==n?n:100)/100:r;return{...H$(e),alpha:s,mode:i,isMask:a}}var z$=class extends wX{},J$={noise:["noiseType"],texture:["projection","axis","side"],video:["projection","axis","side"],displace:["noiseType"],light:["roughnessMap","bumpMap"],depth:["smooth","isWorldSpace","gradientType","isVector"],pattern:["style","projection","axis"]},U$={depth:["colors"]};function N$(e,t,n){if("isMask"===t)return!0;let r=J$[e.type],i=U$[e.type];if(void 0!==i){let r=e.color;if(i.includes(t)){var a;let e=null===(a=r[t])||void 0===a||null===(a=a.value)||void 0===a?void 0:a.length;if(void 0!==e&&e!==n.length)return!0}}return void 0!==r&&r.includes(t)}function L$(e,t,n){let r=n.uniforms["f".concat(n.id,"_texture")];if(!r)return!1;let i=e;if("image"in i){let e=i.image,n=t.image(e),a=r;a.image instanceof d$||a.image.deref(),a.image=n}if("video"in i){let e=i.video,n=t.video(e),a=r;a.image instanceof d$||a.image.deref(),a.image=n}if("wrapping"in i){r.wrap=i.wrapping}if("minFilter"in i){r.minFilter=i.minFilter}if("repeat"in i||"offset"in i){let e="mat",t=n.uniforms["f".concat(n.id,"_").concat(e)];"repeat"in i&&(t.repeat=i.repeat),"offset"in i&&(t.offset=i.offset),t.updateMatrix()}return!1}var Y$=(e,t,n)=>{var r,i;return null!==(r=Math.max(0,Math.min(1,Number(null!==(i=t.getVariable("number"==typeof e?100*e:e,n))&&void 0!==i?i:100)/100)))&&void 0!==r?r:1},F$=class{constructor(e,t,n,r,i){this.id=e,this.uuid=t,this.data=n,this.uniforms={};for(let a in r)this.uniforms["f".concat(this.id,"_").concat(a)]=r[a];for(let a in n)_$(a,this,n,i)}get type(){return this.data.type}static create(e,t,n,r){if("light"===n.type)return Q$.createLigherLayer(e,t,n,r);if("texture"===n.type||"video"===n.type){var i,a,s,o,l,c,d,h;let u="texture"===n.type?null!==(i=r.canvas(n.texture.image))&&void 0!==i?i:r.image(n.texture.image):r.video(n.texture.video),p=new p_(u,n.texture.wrapping,null!==(a=n.texture.minFilter)&&void 0!==a?a:1008),f=new u_(u),m=new y_(n.texture.repeat,n.texture.offset),g=new WX(n.crop?1:0),y=new l_(null!==(s=n.projection)&&void 0!==s?s:0),v=new l_(null!==(o=["x","y","z"].indexOf(n.axis))&&void 0!==o?o:0),x=new l_(null!==(l=n.side)&&void 0!==l?l:0),S=new bX(n.size?new cM(n.size[0],n.size[1]):new cM(100,100)),A=new WX(null!==(c=n.blending)&&void 0!==c?c:0),b=new WX(Y$(n.alpha,r)),k=new l_(null!==(d=n.mode)&&void 0!==d?d:0),w=new c_(null!==(h=n.isMask)&&void 0!==h&&h),j=new j_(p,f,g,y,v,x,S,A,m,b,k,w),M=new qX(j.calpha,"f");return new Z$(e,t,n,{texture:p,textureSize:f,crop:g,projection:y,axis:v,side:x,size:S,blending:A,mat:m,alpha:b,mode:k,isMask:w},j,k,M,w,r)}if("matcap"===n.type){var u,p,f;let i=r.image(n.texture.image),a=new p_(i,n.texture.wrapping,null!==(u=n.texture.minFilter)&&void 0!==u?u:1008),s=new WX(Y$(n.alpha,r)),o=new l_(null!==(p=n.mode)&&void 0!==p?p:0),l=new c_(null!==(f=n.isMask)&&void 0!==f&&f),c=new E_(a,s,o,l),d=new qX(c.calpha,"f");return new Z$(e,t,n,{texture:a,alpha:s,mode:o,isMask:l},c,o,d,l,r)}if("displace"===n.type){if("noise"===n.displacementType){var m,g,y,v,x,S,A,b,k,w;let i=new kX(new qM(...n.offset)),a=new WX(null!==(m=n.scale)&&void 0!==m?m:10),s=new WX(null!==(g=n.intensity)&&void 0!==g?g:8),o=new WX(null!==(y=n.movement)&&void 0!==y?y:1),l=new l_(null!==(v=n.noiseType)&&void 0!==v?v:0),c=new l_(null!==(x=n.voronoiStyle)&&void 0!==x?x:0),d=new WX(null!==(S=n.smoothness)&&void 0!==S?S:.5),h=new WX(null!==(A=n.seed)&&void 0!==A?A:0),u=new WX(null!==(b=n.highCut)&&void 0!==b?b:1),p=new WX(null!==(k=n.lowCut)&&void 0!==k?k:0),f=new l_(null!==(w=n.quality)&&void 0!==w?w:1),j=new K_(s,o,i,c,d,h,u,p,f,a,l);return new K$(e,t,n,{offset:i,scale:a,intensity:s,movement:o,noiseType:l,voronoiStyle:c,smoothness:d,seed:h,highCut:u,lowCut:p,quality:f},j,r)}throw new Error}return function(e,t,n,r){let i=q$(n,r);return function(e,t,n,r,i){switch(e.type){case"color":{var a;let s=new o_(null!==(a=r.color)&&void 0!==a?a:FU),o=X$(r),l=new A_(s,o.alpha),c=new qX(l.calpha,"f");return new Z$(t,n,e,{color:s,...o},l,o.mode,c,o.isMask,i)}case"fresnel":{var s,o,l,c,d;let a=new o_(null!==(s=r.color)&&void 0!==s?s:16777215),h=new WX(null!==(o=r.bias)&&void 0!==o?o:.1),u=new WX(null!==(l=r.scale)&&void 0!==l?l:1),p=new WX(null!==(c=r.intensity)&&void 0!==c?c:2),f=new WX(null!==(d=r.factor)&&void 0!==d?d:1),m=X$(r),g=new O_(a,h,u,p,f,m.alpha,m.mode,m.isMask),y=new qX(g.calpha,"f");return new Z$(t,n,e,{color:a,bias:h,scale:u,intensity:p,factor:f,...m},g,m.mode,y,m.isMask,i)}case"rainbow":{var h,u,p,f,m,g;let a=new WX(null!==(h=r.filmThickness)&&void 0!==h?h:30),s=new WX(null!==(u=r.movement)&&void 0!==u?u:0),o=new kX(null!==(p=r.wavelengths)&&void 0!==p?p:new qM(0,0,0)),l=new WX(null!==(f=r.noiseStrength)&&void 0!==f?f:0),c=new WX(null!==(m=r.noiseScale)&&void 0!==m?m:1),d=new kX(null!==(g=r.offset)&&void 0!==g?g:new qM(0,0,0)),y=X$(r),v=new z_(a,s,o,l,c,d,y.alpha,y.isMask),x=new qX(v.calpha,"f");return new Z$(t,n,e,{filmThickness:a,movement:s,wavelengths:o,noiseStrength:l,noiseScale:c,offset:d,...y},v,y.mode,x,y.isMask,i)}case"transmission":{var y,v,x;let a=new WX(null!==(y=r.thickness)&&void 0!==y?y:10),s=new WX(null!==(v=r.ior)&&void 0!==v?v:1.5),o=new WX(null!==(x=r.roughness)&&void 0!==x?x:.5),l=Q_.transmissionSize,c=Q_.transmissionRenderTarget,d=Q_.transmissionRenderTargetDepth,h=window.innerWidth,u=window.innerHeight,p=h>=u?new bX(u/h,1):new bX(1,h/u),f=X$(r),m=new Y_(a,s,o,l,c,d,p,f.alpha),g=new qX(m.calpha,"f");return new Z$(t,n,e,{thickness:a,ior:s,roughness:o,aspectRatio:p,...f},m,f.mode,g,f.isMask,i)}case"toon":{var S,A,b,k,w,j;let a,s,o=new l_(null!==(S=r.positioning)&&void 0!==S?S:0);r.colors?a=new v_(r.colors.length,r.colors):(a=new v_(10,new VM(0,0,0,1)),a.value[1]=new VM(1,1,1,1)),r.steps?s=new d_(r.steps.length,r.steps):(s=new d_(10,1),s.value[0]=0);let l=new kX(null!==(A=r.source)&&void 0!==A?A:new qM(0,0,0)),c=new c_(null===(b=r.isWorldSpace)||void 0===b||b),d=new WX(null!==(k=r.noiseStrength)&&void 0!==k?k:0),h=new WX(null!==(w=r.noiseScale)&&void 0!==w?w:1),u=new jX(r.shadowColor),p=new kX(null!==(j=r.offset)&&void 0!==j?j:new qM(0,0,0)),f=X$(r),m=new U_(o,a,s,l,c,d,h,u,p,f.alpha),g=new qX(m.calpha,"f");return new Z$(t,n,e,{positioning:o,colors:a,steps:s,source:l,isWorldSpace:c,noiseStrength:d,noiseScale:h,shadowColor:u,offset:p,...f},m,f.mode,g,f.isMask,i)}case"outline":{var M,P,O,T,I,C,E,V,R,D,B;let a=new o_(null!==(M=r.outlineColor)&&void 0!==M?M:16777215),s=new o_(null!==(P=r.contourColor)&&void 0!==P?P:16777215),o=new WX(null!==(O=r.outlineWidth)&&void 0!==O?O:.1),l=new WX(null!==(T=r.contourWidth)&&void 0!==T?T:.1),c=new WX(null!==(I=r.outlineThreshold)&&void 0!==I?I:.1),d=new WX(null!==(C=r.contourThreshold)&&void 0!==C?C:.1),h=new WX(null!==(E=r.outlineSmoothing)&&void 0!==E?E:.1),u=new WX(null!==(V=r.contourFrequency)&&void 0!==V?V:.1),p=new kX(null!==(R=r.contourDirection)&&void 0!==R?R:new qM(0,1,0)),f=new c_(null!==(D=r.positionalLines)&&void 0!==D&&D),m=new c_(null===(B=r.compensation)||void 0===B||B),g=Q_.normalRenderTarget,y=Q_.normalRenderTargetDepth,v=Q_.pixelRatioNode,x=Q_.resolution,S=X$(r),A=new G_(a,s,o,l,c,d,h,u,p,f,m,x,g,y,v,S.alpha),b=new qX(A.calpha,"f");return new Z$(t,n,e,{outlineColor:a,contourColor:s,outlineWidth:o,contourWidth:l,outlineThreshold:c,contourThreshold:d,outlineSmoothing:h,contourFrequency:u,contourDirection:p,positionalLines:f,compensation:m,...S},A,S.mode,b,S.isMask,i)}case"depth":{var G,q,H,W,z,J,U,N;let a,s,o=new l_(null!==(G=r.gradientType)&&void 0!==G?G:0),l=new c_(null!==(q=r.smooth)&&void 0!==q&&q),c=new WX(null!==(H=r.near)&&void 0!==H?H:50),d=new WX(null!==(W=r.far)&&void 0!==W?W:200),h=new WX(null!==(z=r.isVector)&&void 0!==z?z:1),u=new WX(null!==(J=r.isWorldSpace)&&void 0!==J?J:0),p=new kX(null!==(U=r.origin)&&void 0!==U?U:new qM),f=new kX(null!==(N=r.direction)&&void 0!==N?N:new qM);r.colors?a=new v_(r.colors.length,r.colors):(a=new v_(2,new VM(0,0,0,1)),a.value[1]=new VM(1,1,1,1)),r.steps?s=new d_(r.steps.length,r.steps):(s=new d_(2,1),s.value[0]=0);let m=X$(r),g=new P_(o,l,c,d,h,u,p,f,a,s,m.alpha,m.isMask),y=new qX(g.calpha,"f");return new Z$(t,n,e,{gradientType:o,smooth:l,near:c,far:d,isVector:h,isWorldSpace:u,origin:p,direction:f,colors:a,steps:s,...m},g,m.mode,y,m.isMask,i)}case"noise":{var L,Y,F,Z,K,Q,X,_,$,ee,te,ne,re;let a=new WX(null!==(L=r.scale)&&void 0!==L?L:1),s=new kX(null!==(Y=r.size)&&void 0!==Y?Y:new qM(100,100,100)),o=new WX(null!==(F=r.move)&&void 0!==F?F:1),l=new bX(null!==(Z=r.fA)&&void 0!==Z?Z:new cM(1.7,9.2)),c=new bX(null!==(K=r.fB)&&void 0!==K?K:new cM(8.3,2.8)),d=new bX(null!==(Q=r.distortion)&&void 0!==Q?Q:new cM(1,1)),h=new jX(r.colorA),u=new jX(r.colorB),p=new jX(r.colorC),f=new jX(r.colorD),m=new l_(null!==(X=r.noiseType)&&void 0!==X?X:0),g=new l_(null!==(_=r.voronoiStyle)&&void 0!==_?_:0),y=new WX(null!==($=r.highCut)&&void 0!==$?$:1),v=new WX(null!==(ee=r.lowCut)&&void 0!==ee?ee:0),x=new WX(null!==(te=r.smoothness)&&void 0!==te?te:.5),S=new WX(null!==(ne=r.seed)&&void 0!==ne?ne:.5),A=new l_(null!==(re=r.quality)&&void 0!==re?re:1),b=X$(r),k=new D_(a,s,o,l,c,d,h,u,p,f,b.alpha,m,b.isMask,g,y,v,x,S,A),w=new qX(k.calpha,"f");return new Z$(t,n,e,{scale:a,size:s,move:o,fA:l,fB:c,distortion:d,colorA:h,colorB:u,colorC:p,colorD:f,noiseType:m,...b,voronoiStyle:g,highCut:y,lowCut:v,smoothness:x,seed:S,quality:A},k,b.mode,w,b.isMask,i)}case"normal":{var ie;let a=new kX(null!==(ie=r.cnormal)&&void 0!==ie?ie:new qM(1,1,1)),s=X$(r),o=new k_(a,s.alpha),l=new qX(o.calpha,"f");return new Z$(t,n,e,{cnormal:a,...s},o,s.mode,l,s.isMask,i)}case"gradient":{var ae,se,oe,le,ce;let a,s,o=new l_(null!==(ae=r.gradientType)&&void 0!==ae?ae:0),l=new c_(null!==(se=r.smooth)&&void 0!==se&&se);r.colors?a=new v_(r.colors.length,r.colors):(a=new v_(10,new VM(0,0,0,1)),a.value[1]=new VM(1,1,1,1)),r.steps?s=new d_(r.steps.length,r.steps):(s=new d_(10,1),s.value[0]=0);let c=new bX(null!==(oe=r.offset)&&void 0!==oe?oe:new cM(0,0)),d=new bX(null!==(le=r.morph)&&void 0!==le?le:new cM(0,0)),h=new WX(null!==(ce=r.angle)&&void 0!==ce?ce:0),u=X$(r),p=new I_(o,l,a,s,c,d,h,u.alpha,u.isMask),f=new qX(p.calpha,"f");return new Z$(t,n,e,{gradientType:o,smooth:l,colors:a,steps:s,offset:c,morph:d,angle:h,...u},p,u.mode,f,u.isMask,i)}case"pattern":{var de,he,ue,pe,fe,me,ge,ye,ve,xe,Se,Ae,be,ke;let a=new l_(null!==(de=r.style)&&void 0!==de?de:0),s=new l_(null!==(he=r.projection)&&void 0!==he?he:0),o=new l_(null!==(ue=["x","y","z"].indexOf(r.axis))&&void 0!==ue?ue:0),l=new WX(null!==(pe=r.blending)&&void 0!==pe?pe:0),c=new bX(null!==(fe=r.offset)&&void 0!==fe?fe:new cM(0,0)),d=new jX(r.colorA),h=new jX(r.colorB),u=new bX(null!==(me=r.frequency)&&void 0!==me?me:new cM(10,10)),p=new WX(null!==(ge=r.size)&&void 0!==ge?ge:.5),f=new WX(null!==(ye=r.variation)&&void 0!==ye?ye:0),m=new WX(null!==(ve=r.smoothness)&&void 0!==ve?ve:.5),g=new WX(null!==(xe=r.zigzag)&&void 0!==xe?xe:0),y=new WX(null!==(Se=r.rotation)&&void 0!==Se?Se:0),v=new bX(null!==(Ae=r.vertical)&&void 0!==Ae?Ae:new cM(0,1)),x=new bX(null!==(be=r.horizontal)&&void 0!==be?be:new cM(0,1)),S=new l_(null!==(ke=r.sides)&&void 0!==ke?ke:6),A=X$(r),b=new H_(a,s,o,l,c,d,h,u,p,f,m,g,y,v,x,S,A.alpha,A.isMask),k=new qX(b.calpha,"f");return new Z$(t,n,e,{style:a,projection:s,axis:o,blending:l,offset:c,colorA:d,colorB:h,frequency:u,size:p,variation:f,smoothness:m,zigzag:g,rotation:y,vertical:v,horizontal:x,sides:S,...A},b,A.mode,k,A.isMask,i)}default:{let a=new o_(1,0,0,1),s=X$(r),o=new A_(a,s.alpha),l=new qX(o.calpha,"f");return new Z$(t,n,e,{color:a,...s},o,s.mode,l,s.isMask,i)}}}(n,e,t,i,r)}(e,t,n,r)}updateByOp(e,t,n){let r=e;if(void 0===r.path[0]){if(0===r.type)return"type"in r.props||"category"in r.props||"visible"in r.props?(n.scene.markNeedsUpdateRendererDirty(),!0):function(e,t,n,r){let i=!1;for(let[a,s]of Object.entries(e)){if("bumpMap"===a||"roughnessMap"===a){i=!0;continue}if(!a||void 0===s)continue;if(_$(a,n,r,t)){"visible"===a&&"light"===n.type&&(i=!0);continue}n.visible=r.visible;let e=n.uniforms["f".concat(n.id,"_").concat(a)];if(e&&!(e instanceof h_))switch(i=i||N$(n,a,s),e.constructor){case o_:if("string"==typeof s){let n=t.getColor(s);n&&(e.value=n);break}{let t=s;e.value instanceof z$?e.value=new wX(t.r,t.g,t.b,t.a):e.setRGBA(t);break}case jX:if("string"==typeof s){let n=t.getColor(s);n&&(e.value=n);break}{let t=s;e.value instanceof z$?e.value=new wX(t.r,t.g,t.b,t.a):e.value.setRGBA(t.r,t.g,t.b,t.a);break}case bX:{let t=s;e.value.setX(t[0]),e.value.setY(t[1]);break}case kX:{let t=s;e.value.setX(t[0]),e.value.setY(t[1]),e.value.setZ(t[2]);break}case HX:L$(s,t,n);break;case v_:e.value=s.map((e=>new VM(...e)));break;default:e.value=s}}return i}(r.props,n.shared,this,t)}else if("texture"===r.path[0])return!("texture"in t)&&!("video"in t)||L$(r.props,n.shared,this);return!1}dispose(){if(function(e){let t=e instanceof F$?e.type:e;return"texture"===t||"video"===t||"displace_map"===t||"matcap"===t}(this)){let e=this.uniforms["f".concat(this.id,"_texture")];if(!e)return!1;let t=e;t.image instanceof d$||t.image.deref()}}hasValueByKey(e){return void 0!==this.uniforms[e]}hasValue(e){return this.hasValueByKey("f".concat(this.id,"_").concat(e))}setValue(e,t){let n="f".concat(this.id,"_").concat(e);this.hasValueByKey(n)&&void 0!==t&&(this.uniforms[n].value=t)}getNode(e){let t="f".concat(this.id,"_").concat(e);if(this.hasValueByKey(t))return this.uniforms[t]}getValue(e){let t="f".concat(this.id,"_").concat(e);if(this.hasValueByKey(t))return this.uniforms[t].value}getName(e){let t=/f\d+_(.*)/.exec(e);if(t&&t.length>1)return t[1];console.log("Layer.getName: error ".concat(e))}getNames(){let e=[];for(let t in this.uniforms){let n=this.getName(t);n&&e.push(n)}return e}},Z$=class extends F${constructor(e,t,n,r,i,a,s,o,l){super(e,t,n,r,l),this.params=r,this.color=i,this.mode=a,this.alpha=s,this.isMask=o}},K$=class extends F${constructor(e,t,n,r,i,a){super(e,t,n,r,a),this.position=i}},Q$=class extends F${constructor(e,t,n,r,i,a){super(e,t,n,i,a),this.node=r}static createLigherLayer(e,t,n,r){let i,a,s=new WX(Y$(n.alpha,r)),o=new l_(n.mode),l=new WX(n.bumpMapIntensity),c=new WX(Y$(n.alphaOverride,r));if(n.visible)if("lambert"===n.category){var d,h;i=new e$;let e=new o_(null!==(d=r.color(n.emissive))&&void 0!==d?d:0),t=new c_(null===(h=n.occlusion)||void 0===h||h);a={emissive:e,occlusion:t},i.emissive=e,i.occlusion=t}else if("toon"===n.category){var u,p;i=new i$;let e=new WX(null!==(u=n.shininess)&&void 0!==u?u:30),t=new o_(null!==(p=r.color(n.specular))&&void 0!==p?p:1118481);a={shininess:e,specular:t},i.shininess=e,i.specular=t}else if("physical"===n.category){var f,m,g,y;i=new r$;let e=new WX(null!==(f=n.roughness)&&void 0!==f?f:.3),t=new WX(null!==(m=n.metalness)&&void 0!==m?m:0),r=new WX(null!==(g=n.reflectivity)&&void 0!==g?g:.5),s=new c_(null===(y=n.occlusion)||void 0===y||y);a={roughness:e,metalness:t,reflectivity:r,occlusion:s},i.roughness=e,i.metalness=t,i.reflectivity=r,i.occlusion=s}else{var v,x,S;i=new n$;let e=new WX(null!==(v=n.shininess)&&void 0!==v?v:30),t=new o_(void 0!==n.specular&&null!==(x=r.color(n.specular))&&void 0!==x?x:1118481),s=new c_(null===(S=n.occlusion)||void 0===S||S);a={shininess:e,specular:t,occlusion:s},i.shininess=e,i.specular=t,i.occlusion=s}else i=new $_,a={};return i.alpha=new WX(1),i.shadingAlpha=s,i.shadingBlend=o,i.bumpMapIntensity=l,i.alphaOverride=c,a.alpha=i.shadingAlpha,a.mode=i.shadingBlend,a.bumpMapIntensity=i.bumpMapIntensity,a.alphaOverride=i.alphaOverride,new Q$(e,t,n,i,a,r)}get category(){return this.node.category}};function X$(e){var t,n,r;return{alpha:new WX(null!==(t=e.alpha)&&void 0!==t?t:1),mode:new l_(null!==(n=e.mode)&&void 0!==n?n:0),isMask:new c_(null!==(r=e.isMask)&&void 0!==r&&r)}}function _$(e,t,n,r){if("displace"===n.type&&("intensity"===e||"visible"===e)){let e=t.uniforms["f".concat(t.id,"_intensity")];return e?(e.value=n.intensity*(n.visible?1:0),e):void 0}if("displace"!==n.type&&("alpha"===e||"visible"===e)){let i=t.uniforms["f".concat(t.id,"_alpha")];if(!i)return;if(i.value=Y$(n.alpha,r)*(n.visible?1:0),"outline"===n.type&&"visible"===e){let e=t.uniforms["f".concat(t.id,"_compensation")];e&&(e.value=n.compensation&&n.visible)}return i}}function $$(e,t){let n=0,r=e.layers.find((e=>"light"===e.data.type));if(r){let e=r.data,n=Number(t.getVariable(e.alphaOverride));if(("string"==typeof e.alphaOverride?n/100:e.alphaOverride)<1)return!0}for(let a of e.layers){if("displace"!==a.data.type&&a.data.isMask)return!0;if("displace"!==a.data.type&&"alpha"in a.data&&"light"!==a.data.type&&"fresnel"!==a.data.type&&"texture"!==a.data.type&&"matcap"!==a.data.type&&"rainbow"!==a.data.type&&"outline"!==a.data.type&&"pattern"!==a.data.type){var i;let e=a.data.visible?a.data.alpha:0;if("string"==typeof e&&(e=Math.max(0,Math.min(1,Number(null!==(i=t.getVariable(e))&&void 0!==i?i:100)/100))),1===e&&"depth"===a.data.type||"gradient"===a.data.type){for(let t of a.data.colors)if(t[3]<1){e=t[3];break}}else if(1===e&&"noise"===a.data.type){let n=t.color(a.data.colorA).a,r=t.color(a.data.colorB).a,i=t.color(a.data.colorC).a,s=t.color(a.data.colorD).a,o=Math.min(n,Math.min(r,Math.min(i,s)));o<1&&(e=o)}n+=(1-n)*e}}return n<1}var e0=class extends RO{constructor(){super(void 0),this.flatShading=!1,this.needsJitter=!0,this.cacheKey="",this.fog=!0,this.dithering=!0,this.vertexColors=!0,this.transparent=!0}customProgramCacheKey(){return this.cacheKey}},t0=class extends e0{constructor(e,t,n,r){super(),this.flatShading=e,this.side=t,this.wireframe=n,this.root=r}updateAfterBuild(){let e=this.root;this.lights=e.lights,this.vertexShader=e.vertexShader,this.fragmentShader=e.fragmentShader,this.defines=e.defines,this.uniforms=e.uniforms,this.extensions=e.extensions,this.transparent=e.transparent,this.cacheKey=e.customProgramCacheKey()+"flat"+this.flatShading+this.side}onBeforeCompile(e,t){this.root.onBeforeCompile(e)}get data(){return this.root.data}get category(){return this.root.category}get hasAO(){return this.root.hasAO}getFlavor(e,t,n){return this.root.getFlavor(e,t,n)}get layers(){return this.root.layers}get fragment(){return this.root.fragment}getLayersOfType(e){return this.root.getLayersOfType(e)}getLayerByUuid(e){return this.root.getLayerByUuid(e)}updateByOp(e,t,n){this.root.updateByOp(e,t,n)}nodeMaterialDispose(){this.root.nodeMaterialDispose()}},n0=class extends e0{constructor(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(),this.data=e,this.allowVariableSaves=n,this.layerIdGen=0,this.flavors=[],this.masks={},this.type="NodeMaterial",this.updaters=[],this.reset0(e,t)}get nodeMaterial(){return this}getFlavor(e,t,n){let r=n?6:(e?3:0)+t;if(0===r)return this;void 0===this.flavors&&(this.flavors=[]),r-=1;let i=this.flavors[r];return void 0===i&&(i=new t0(e,t,n,this),this.flavors[r]=i,i.flatShading=e,i.side=t,i.updateAfterBuild()),i}get fragment(){return this.lightLayer.node}get category(){return this.lightLayer.category}get hasAO(){var e,t;return null!==(e=null===(t=this.lightLayer.getNode("occlusion"))||void 0===t?void 0:t.value)&&void 0!==e&&e}reset(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];(this.data!==e||n)&&this.reset0(e,t)}reset0(e,t){var n,r;this.data=e;let i=null!==(n=e.layers)&&void 0!==n?n:pN.defaultTwoLayerData("phong").layers;try{this.layers=i.map((e=>F$.create(this.layerIdGen++,e.id,e.data,t.shared)))}catch{this.layers=[]}this.layers.reverse(),this.name=null!==(r=e.name)&&void 0!==r?r:"Untitled Material",this.onUpdate(t.shared),this.transparent=$$(e,t.shared),this.saveVariableLocations(t)}onVariableUpdate(e,t,n){if("alphaOverride"===e[0])this.transparent=$$(this.data,n.shared),this.lightLayer.setValue("alphaOverride",Math.max(0,Math.min(Number(t)/100,1)));else if("layer"===e[0]){let r=e[1],i=e[2];if(r&&i){let e=this.layers.find((e=>e.uuid===r));(null===e||void 0===e?void 0:e.hasValue(i))&&("alpha"===i?(this.transparent=$$(this.data,n.shared),e.setValue(i,Math.max(0,Math.min(Number(t)/100,1)))):e.setValue(i,t))}}}saveVariableLocations(e){if(!this.allowVariableSaves)return;let t=this.data.layers.find((e=>"light"===e.data.type));t&&e.shared.getVariable(t.data.alphaOverride,["material",this.uuid,"alphaOverride"]),this.data.layers.forEach((t=>{"alpha"in t.data&&"string"==typeof t.data.alpha&&e.shared.getVariable(t.data.alpha,["material",this.uuid,"layer",t.id,"alpha"])}))}getLayersOfType(e){return this.layers.filter((t=>t.type===e))}getLayerByUuid(e){return this.layers.find((t=>t.uuid===e))}onUpdate(e){this.cacheKey=this.computeCacheKey(),this.lightLayer=this.layers.find((e=>e instanceof Q$)),void 0===this.lightLayer&&(this.lightLayer=new Q$(0,"",{...uN.defaultData("light","phong"),visible:!1},new $_,{},e)),this.dispose();for(let t of this.flavors)t&&t.dispose();this.applyTextureMaps(),this.applyMasks(),this.blendColors(),this.blendAfterColors(),this.blendPositions()}applyTextureMaps(){let e=this.layers.find((e=>e instanceof Q$));if(!e)return;let t=e.data,n=t.bumpMap,r=t.roughnessMap;e.node.bumpMap=void 0,e.node.roughnessMap=void 0;for(let i=0;i<this.layers.length;++i){let t=this.layers[i];t instanceof Z$&&t.color instanceof j_&&(t.uuid===n&&(e.node.bumpMap=t.color),t.uuid===r&&(e.node.roughnessMap=t.color))}}updateByOp(e,t,n){if(void 0!==t?this.data=t:t=this.data,this.transparent=$$(t,n.shared),"layers"===e.path[0]){this.data=t;let r=n.shared,i=e.path[1];if(void 0===i){if(this.layers.reverse(),4===e.type){let t=F$.create(this.layerIdGen++,e.id,e.data,n.shared);this.layers.splice(e.localIndex,0,t),n.scene.markNeedsUpdateRendererDirty()}else if(5===e.type)this.layers.splice(e.localIndex,1)[0].dispose(),n.scene.markNeedsUpdateRendererDirty();else if(6===e.type){let t=this.layers.findIndex((t=>t.uuid===e.id)),r=this.layers[t];this.layers.splice(t,1),this.layers.splice(e.localIndex,0,r),n.scene.markNeedsUpdateRendererDirty()}this.layers.reverse(),this.onUpdate(n.shared)}else{0===e.type&&void 0!==e.props.occlusion&&n.scene.markNeedsUpdateRendererDirty();let a=this.layers.find((e=>e.uuid===i));if(a){let s,o=t.layers.data(i);if(0===e.type&&("alpha"in e.props||"alphaOverride"in e.props)&&(s="alpha"in e.props?{...e.props,alpha:Y$(e.props.alpha,r,["material",this.uuid,"layer",i,"alpha"])}:{...e.props,alphaOverride:Y$(e.props.alphaOverride,r,["material",this.uuid,"alphaOverride"])}),a.updateByOp({...e,...s?{props:s}:{},path:e.path.slice(2)},o,n)){let e=F$.create(this.layerIdGen++,i,o,r);this.layers.splice(this.layers.findIndex((e=>e.uuid===i)),1,e),this.onUpdate(n.shared)}}}}else this.reset(t,n)}applyMasks(){for(let e=0;e<this.layers.length;++e){let t=this.layers[e];t instanceof Z$?t.color.mask=void 0:t instanceof Q$&&(t.node.mask=void 0)}for(let e=0;e<this.layers.length;++e){let t=this.layers[e];if(t instanceof Z$&&t.isMask.value&&t.data.visible&&e>0){let n=e-1,r=this.layers[n];r instanceof Q$?r.node.mask=new UX(t.color,t.alpha,UX.MUL):r instanceof Z$&&(r.isMask.value||(r.color.mask=new UX(t.color,t.alpha,UX.MUL)))}}}blendColors(){let e=this.layers.findIndex((e=>e instanceof Z$)),t=this.layers.findIndex((e=>e instanceof Q$));if(-1!==e&&e<t){let n=this.layers[e].color;for(let r=e+1;r<t;++r){let e=this.layers[r];if(e instanceof Z$){if(e.isMask.value)continue;n=new x_(n,e.color,e.alpha,e.mode)}}this.fragment.color=n}else this.fragment.color=void 0}blendAfterColors(){let e=new qX("outgoingLight","f"),t=this.layers.findIndex((e=>e instanceof Q$));if(this.layers.length>t+1){for(let n=t+1;n<this.layers.length;++n){let t=this.layers[n];if(t instanceof Z$){if(t.isMask.value)continue;e=new x_(e,t.color,t.alpha,t.mode)}}this.fragment.afterColor=e}else this.fragment.afterColor=void 0}blendPositions(){let e=this.layers.filter((e=>e instanceof K$));if(e.length>0){let t=e[0].position;for(let n=1;n<e.length;++n)e[n]&&(t=new UX(t,e[n].position,UX.ADD),t=new UX(t,new WX(.5).setReadonly(!0),UX.MUL));this.fragment.position=t}else this.fragment.position=void 0}getDefines(){return this.defines}getUniforms(){return this.uniforms}getVertexShader(){return this.vertexShader}getFragmentShader(){return this.fragmentShader}onBeforeCompile(e){this.build(),e.defines=this.defines,e.uniforms=this.uniforms,e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader,e.extensionDerivatives=!0===this.extensions.derivatives,e.extensionFragDepth=!0===this.extensions.fragDepth,e.extensionDrawBuffers=!0===this.extensions.drawBuffers,e.extensionShaderTextureLOD=!0===this.extensions.shaderTextureLOD}clampUniformsForPreview(e,t){let n=(e,t,n)=>Math.min(Math.max(e,t),n);for(let r of this.layers)if("displace"===r.type){let i=n(r.uniforms["f".concat(r.id,"_intensity")].value,e,t);r.uniforms["f".concat(r.id,"_intensity")].value=i}}computeCacheKey(){let e="[";for(let{data:r}of this.data.layers)if("light"===r.type)e+='"'.concat(r.visible?r.category.toUpperCase():"Basic",'"');else{var t,n;let i=(null!==(t=J$[r.type])&&void 0!==t?t:[]).map((e=>r[e])),a=(null!==(n=U$[r.type])&&void 0!==n?n:[]).map((e=>{var t,n;return null!==(t=null===(n=r[e])||void 0===n?void 0:n.length)&&void 0!==t?t:0})),s=[...i,...a],o="isMask"in r&&r.isMask,l='"'.concat(r.type,"-").concat(r.visible,"-").concat(o,'"');s.length?e+="[".concat(l,', "').concat(s.join('","'),'"],'):e+=l}return e=e.slice(0,-1)+"]",e}updateFrame(e){for(let t=0;t<this.updaters.length;++t)e.updateNode(this.updaters[t])}build(){let e=new s_;e.needsJitter=this.needsJitter,this.lights=this.lightLayer.data.visible,e.build(this.fragment,this.fragment),this.vertexShader=e.getCode("vertex"),this.fragmentShader=e.getCode("fragment"),this.defines=e.defines,this.uniforms=e.uniforms,this.extensions=e.extensions,this.updaters=e.updaters;for(let t of this.flavors)t&&t.updateAfterBuild();return this}nodeMaterialDispose(){this.layers.forEach((e=>e.dispose())),super.dispose();for(let e of this.flavors)e&&e.dispose()}assetsLoaded(){for(let e of this.layers)if(e instanceof Z$){let t=e.params.texture;if(t instanceof p_&&!t.image.loaded)return!1}return!0}getHash(){let e="{";return e+='"fragment":'+this.fragment.getHash(),e+="}",e}};Object.defineProperties(e0.prototype,{properties:{get:function(){return this.fragment.properties}}});var r0=class extends n0{constructor(e,t,n){super(e,t,!1),this.uuid=n,this.allowVariableSaves=!0,this.saveVariableLocations(t)}},i0=Xb(ak()),a0=new Map;function s0(e){if("string"==typeof e)return e;let t=a0.get(e);return t||(t={url:URL.createObjectURL(new Blob([e]))},a0.set(e,t)),t.url}var o0,l0,c0=class{constructor(e){let t,{src:n,volume:r,delay:i,loop:a}=e;this._volume=1,this.delay=0,this._loop=1,this.loopsRemaining=0,this._status="stopped",this.onEnd=()=>{this.loopsRemaining===1/0?this.replay():this.loopsRemaining>1?(this.replay(),this.loopsRemaining--):(this._status="stopped",this.loopsRemaining=this._loop)},t="string"==typeof n?{src:n}:{src:s0(n),format:"wav"},this.sound=new i0.Howl(t),this.sound.on("end",this.onEnd),this.src=n,void 0!==r&&(this.volume=r),void 0!==i&&(this.delay=i),void 0!==a&&(this.loop=a)}get status(){return this._status}get volume(){return this._volume}set volume(e){this._volume=e,this.sound.volume(e)}get loop(){return this._loop}set loop(e){this._loop=e,this.loopsRemaining=e}replay(){this.clearDelay(),this.delayTimerId=window.setTimeout((()=>{this.sound.play(),this.clearDelay()}),this.delay)}fade(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;e?(this.sound.volume(this._volume),this.clearFade(),this.fadeTimerId=window.setTimeout((()=>{this.sound.fade(this._volume,0,t),this.clearFade()}),e)):this.sound.fade(this._volume,0,t)}on(e,t,n){this.sound.on(e,t,n)}off(e,t,n){this.sound.off(e,t,n)}play(){"playing"===this._status||this.sound.playing()||("paused"===this._status?(0===this.sound.seek()?this.replay():this.sound.play(),this._status="playing"):"stopped"===this._status&&(this.replay(),this._status="playing"))}pause(){"playing"===this._status&&(this.sound.pause(),this.clearFade(),this.clearDelay(),this._status="paused")}stop(){this.sound.stop(),this.loopsRemaining=this._loop,this.clearFade(),this.clearDelay(),this._status="stopped"}clearFade(){this.fadeTimerId&&(clearTimeout(this.fadeTimerId),delete this.fadeTimerId)}clearDelay(){this.delayTimerId&&(clearTimeout(this.delayTimerId),delete this.delayTimerId)}dispose(){this.off(),this.stop(),this.clearFade(),this.clearDelay()}},d0=class{constructor(){this.type="ShapePath",this.color=new MM,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new AE,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t),this}lineTo(e,t){var n;return null!==(n=this.currentPath)&&void 0!==n&&n.lineTo(e,t),this}quadraticCurveTo(e,t,n,r){var i;return null!==(i=this.currentPath)&&void 0!==i&&i.quadraticCurveTo(e,t,n,r),this}bezierCurveTo(e,t,n,r,i,a){var s;return null!==(s=this.currentPath)&&void 0!==s&&s.bezierCurveTo(e,t,n,r,i,a),this}splineThru(e){var t;return null!==(t=this.currentPath)&&void 0!==t&&t.splineThru(e),this}toShapes(){let e=0,t=1,n=2,r=3,i=4,a=5,s=6,o={loc:e,t:0};function l(t,r,i,a){let s=t.x,l=r.x,d=i.x,h=a.x,u=t.y,p=r.y,f=i.y,m=a.y,g=(h-d)*(u-f)-(m-f)*(s-d),y=(m-f)*(l-s)-(h-d)*(p-u),v=g/y,x=((l-s)*(u-f)-(p-u)*(s-d))/y;if(0===y&&0!==g||v<=0||v>=1||x<0||x>1)return null;if(0===g&&0===y){for(let d=0;d<2;d++){if(c(0===d?i:a,t,r),o.loc===e){let e=0===d?i:a;return{x:e.x,y:e.y,t:o.t}}if(o.loc===n){return{x:+(s+o.t*(l-s)).toPrecision(10),y:+(u+o.t*(p-u)).toPrecision(10),t:o.t}}}return null}for(let n=0;n<2;n++)if(c(0===n?i:a,t,r),o.loc===e){let e=0===n?i:a;return{x:e.x,y:e.y,t:o.t}}return{x:+(s+v*(l-s)).toPrecision(10),y:+(u+v*(p-u)).toPrecision(10),t:v}}function c(l,c,d){let h,u=d.x-c.x,p=d.y-c.y,f=l.x-c.x,m=l.y-c.y,g=u*m-f*p;return l.x===c.x&&l.y===c.y?(o.loc=e,void(o.t=0)):l.x===d.x&&l.y===d.y?(o.loc=t,void(o.t=1)):void(g<-Number.EPSILON?o.loc=r:g>Number.EPSILON?o.loc=i:u*f<0||p*m<0?o.loc=a:Math.sqrt(u*u+p*p)<Math.sqrt(f*f+m*m)?o.loc=s:(h=0!==u?f/u:m/p,o.loc=n,o.t=h))}function d(e,t,n){let r=new cM;t.getCenter(r);let i=[];return n.forEach((t=>{t.boundingBox.containsPoint(r)&&function(e,t){let n=[],r=[];for(let i=1;i<e.length;i++){let a=e[i-1],s=e[i];for(let e=1;e<t.length;e++){let i=l(a,s,t[e-1],t[e]);null!==i&&void 0===n.find((e=>e.t<=i.t+Number.EPSILON&&e.t>=i.t-Number.EPSILON))&&(n.push(i),r.push(new cM(i.x,i.y)))}}return r}(e,t.points).forEach((e=>{i.push({identifier:t.identifier,isCW:t.isCW,point:e})}))})),i.sort(((e,t)=>e.point.x-t.point.x)),i}let h=0,u=999999999,p=-999999999,f=[];this.subPaths.forEach((e=>{let t=e.getPoints(),n=-999999999,r=999999999,i=-999999999,a=999999999;for(let s=0;s<t.length;s++){let e=t[s];e.y>n&&(n=e.y),e.y<r&&(r=e.y),e.x>i&&(i=e.x),e.x<a&&(a=e.x)}p<=i&&(p=i+1),u>=a&&(u=a-1),t.length&&f.push({curves:e.curves,points:t,isCW:$E.isClockWise(t),identifier:h++,boundingBox:new AR(new cM(a,r),new cM(i,n))})}));let m=f.map((e=>{var t;return function(e,t,n,r,i){(null==i||""===i)&&(i="nonzero");let a=new cM;e.boundingBox.getCenter(a);let s=d([new cM(n,a.y),new cM(r,a.y)],e.boundingBox,t);s.sort(((e,t)=>e.point.x-t.point.x));let o=[],l=[];s.forEach((t=>{t.identifier===e.identifier?o.push(t):l.push(t)}));let c=o[0].point.x,h=[],u=0;for(;u<l.length&&l[u].point.x<c;)h.length>0&&h[h.length-1]===l[u].identifier?h.pop():h.push(l[u].identifier),u++;if(h.push(e.identifier),"evenodd"===i){let t=h.length%2===0,n=h[h.length-2];return{identifier:e.identifier,isHole:t,for:n}}if("nonzero"===i){let n=!0,r=null,i=null;for(let e=0;e<h.length;e++){let a=h[e];t[a]&&(n?(i=t[a].isCW,n=!1,r=a):i!==t[a].isCW&&(i=t[a].isCW,n=!0))}return{identifier:e.identifier,isHole:n,for:r}}console.warn('fill-rule: "'+i+'" is currently not implemented.')}(e,f,u,p,null===(t=this.userData)||void 0===t?void 0:t.style.fillRule)})),g=[];return f.forEach((e=>{let t=m[e.identifier];if(t&&!t.isHole){let t=new PE;t.curves=e.curves,m.filter((t=>(null===t||void 0===t?void 0:t.isHole)&&t.for===e.identifier)).forEach((e=>{if(e){let n=f[e.identifier],r=new AE;r.curves=n.curves,t.holes.push(r)}})),g.push(t)}})),g}},h0=!1,u0=new Promise((e=>{o0=e})),p0=!1;function f0(){if(h0=!0,!p0)return l0||(l0=async function(){let e=await __webpack_require__.e(946).then(__webpack_require__.bind(__webpack_require__,946));o0(e),p0=!0}(),l0)}var m0=new class{async load(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:()=>{},{load:r}=await u0;r(e,((e,r)=>{e||!r?n(null!==e&&void 0!==e?e:"Something went wrong"):t(r)}))}async parse(e){let{parse:t,Bidi:n}=await u0;try{let r=t(e),i=new n,a=e=>r.charToGlyphIndex(e.char);return i.registerModifier("glyphIndex",null,a),i.applyFeatures(r,r.defaultRenderOptions.features),{font:r,bidi:i}}catch(o){console.error(o)}}};async function g0(e){let t,n,r=!1;if(e.url?(t=await async function(e){return await(await fetch(e)).arrayBuffer()}(e.url),n=e.url,r=e.url.startsWith("/")):e.data&&(t=e.data.buffer.slice(e.data.byteOffset,e.data.byteOffset+e.data.byteLength)),t){if(!h0)return{font:void 0,url:n,intercepted:r,arr:t,bidi:null};{let e=await m0.parse(t);if(e)return{font:e.font,url:n,intercepted:r,arr:t,bidi:e.bidi}}}}function y0(e,t){return t.state.glyphIndex===e||t.state.fina===e||t.state.medi===e||t.state.init===e}var v0=class{constructor(e){var t;this._arrayBuffer=new ArrayBuffer(1),this._isLoaded=!1,this._intercepted=!1,this._isUserFont=null!==(t=e.isUserFont)&&void 0!==t&&t,this._loadingPromise=g0(e).then((e=>{e&&(this._arrayBuffer=e.arr,this._url=e.url,this.font=e.font,this._intercepted=e.intercepted,this._isLoaded=!0,this._bidi=e.bidi)}))}update(e){var t;this._isLoaded=!1,this._isUserFont=null!==(t=e.isUserFont)&&void 0!==t&&t,this._loadingPromise=g0(e).then((e=>{e&&(this._arrayBuffer=e.arr,this._url=e.url,this.font=e.font,this._intercepted=e.intercepted,this._isLoaded=!0,this._bidi=e.bidi)}))}get url(){return this._url}get intercepted(){return this._intercepted}get isLoaded(){return this._isLoaded}get loadingPromise(){return this._loadingPromise}reverseLigaturesTable(e,t,n){if(!this._bidi)return[];let r=this._bidi;r.getTextGlyphs(t);let i=r.tokenizer.tokens,a=[],s=0,o=n.length===i.length;for(let l=0;l<n.length;l++){let r=n[l].index,c=String.fromCharCode(n[l].unicode),d=i[s];if(y0(r,d)||o)a.push({char:c,index:r,replacements:[d.state.glyphIndex],replacementChars:[d.char]}),s++;else{let n=d.char,i="",o=[d.state.glyphIndex],l=[],h=!1;for(;!h;)s++,i=t.charAt(s),n+=i,o.push(e.charToGlyphIndex(i)),l=e.stringToGlyphs(n),1===l.length&&l[0].index===r&&(h=!0),s>t.length&&(h=!0);a.push({char:c,index:r,replacements:o,replacementChars:Array.from(n)}),s++}}return a}generateShapes(e,t){if(!this._isLoaded)return;let n,r=this.font,i=t.fontSize/this.unitsPerEm,a=t.fontSize*t.lineHeight,s=e.map((e=>this.getTextWidth(e,t))),o=t.width,l=this.getCharWidth("\n",t),c=1===t.horizontalAlign?l:0,d=this.computeSpaceWidthForLine(e,0,t),h=this.getLineInitialOffsetX(s[0],o,t.horizontalAlign,e[0],l),u=this.getLineInitialOffsetY(a,e.length,t.height,i,t.verticalAlign),p=[],f=e.map((e=>[])),m=e.map((e=>[]));for(let y=0;y<e.length;y++){let g=e[y],v={features:{liga:!0}},x=[];try{x=r.stringToGlyphs(g,v)}catch(D){console.warn(D)}h=this.getLineInitialOffsetX(s[y],o,t.horizontalAlign,g,l);let S=[];try{S=this.reverseLigaturesTable(r,g,x)}catch(D){console.warn(D)}d=this.computeSpaceWidthForLine(e,y,t);for(let e=0;e<x.length;e++){let a=x[e],s=0===a.index?"\n":a.unicode?String.fromCharCode(a.unicode):void 0,o=S[e],l=0,g=0;0===e&&2===t.horizontalAlign&&void 0!==a.leftSideBearing&&(g=-a.leftSideBearing*i),n&&(l=r.getKerningValue(a,n)*i),h+=g+l;let v=0;if("\n"===s)v=c;else if(" "===s)v=d;else{let e=this.createPath(a,i,h,u,t);e&&(v=e.offsetX-(l+g),p.push(e.path))}if(1===o.replacements.length)m[y].push([h,u]),f[y].push(v);else{let e=o.replacements.map((e=>{var t;return(null!==(t=r.glyphs.get(e).advanceWidth)&&void 0!==t?t:0)*i})),t=e.reduce(((e,t)=>e+t),0),n=e.map((e=>e/t)),a=h;for(let r=0;r<n.length;r++){let e=v*n[r];m[y].push([a,u]),f[y].push(e),a+=e}}h+=v,n=a}u-=a}let g=[];for(let y=0,v=p.length;y<v;y++)g.push(...p[y].toShapes());return{shapes:g,charWidths:f,lineWidths:s,charCoords:m}}get isUserFont(){return this._isUserFont}get arrayBuffer(){return this._arrayBuffer}get ascender(){var e,t;return null!==(e=null===(t=this.font)||void 0===t?void 0:t.ascender)&&void 0!==e?e:0}get descender(){var e,t;return null!==(e=null===(t=this.font)||void 0===t?void 0:t.descender)&&void 0!==e?e:0}get familyName(){var e,t;return null!==(e=null===(t=this.font)||void 0===t?void 0:t.names.fontFamily)&&void 0!==e?e:""}get subfamilyName(){var e,t;return null!==(e=null===(t=this.font)||void 0===t?void 0:t.names.fontSubfamily)&&void 0!==e?e:""}get unitsPerEm(){var e,t;return null!==(e=null===(t=this.font)||void 0===t?void 0:t.unitsPerEm)&&void 0!==e?e:1}getLineInitialOffsetX(e,t,n,r,i){return(3===n||2===n)&&r.indexOf("\n")>=0&&(e-=i),3===n?.5*t-.5*e:2===n?t-e:0}getLineInitialOffsetY(e,t,n,r,i){let a=t*e,s=e-Math.abs(this.ascender-this.descender)*r,o=-this.ascender*r-s/2;return 3===i?-(n-a-o):2===i?-(.5*n-.5*a-o):o}createPath(e,t,n,r,i){var a;let s=e.getPath(n,-r,i.fontSize,{kerning:!1,letterSpacing:i.letterSpacing});if(!s)return void console.error('THREE.Font: character "'+e+'" does not exists in font family '+this.familyName+".");let o=new d0,l=(null!==(a=e.advanceWidth)&&void 0!==a?a:1)*t;if(e)for(let d of s.commands){var c;let e=null===(c=o.currentPath)||void 0===c?void 0:c.currentPoint;if(!e||"Z"===d.type||e.x!==d.x||-e.y!==d.y)switch(d.type){case"M":o.moveTo(d.x,-d.y);break;case"L":o.lineTo(d.x,-d.y);break;case"Q":o.quadraticCurveTo(d.x1,-d.y1,d.x,-d.y);break;case"C":o.bezierCurveTo(d.x1,-d.y1,d.x2,-d.y2,d.x,-d.y)}}return o.subPaths.forEach((e=>{let t=function(e){if(e.length){let t=e[0];if(t instanceof mE)return t.v1;if(t instanceof pE||t instanceof yE)return t.v0}}(e.curves);void 0!==t&&e.currentPoint.distanceTo(t)>0&&e.lineTo(t.x,t.y)})),{offsetX:l+i.fontSize*i.letterSpacing,path:o}}getCharWidth(e,t){var n,r;return null!==(n=null===(r=this.font)||void 0===r?void 0:r.getAdvanceWidth(e,t.fontSize,{kerning:!0,letterSpacing:t.letterSpacing}))&&void 0!==n?n:0}getTextWidth(e,t){var n,r;return null!==(n=null===(r=this.font)||void 0===r?void 0:r.getAdvanceWidth(e,t.fontSize,{kerning:!0,letterSpacing:t.letterSpacing}))&&void 0!==n?n:0}computeSpaceWidthForLine(e,t,n){let r=this.getCharWidth(" ",n),i=e[t];if(i){let a=this.countSpaces(i.trimEnd());if(4===n.horizontalAlign&&t<e.length-1&&a){return(n.width-(this.getTextWidth(i,n)-a*r))/a}}return r}countSpaces(e){return(e.match(/ /g)||[]).length}};var x0=class{constructor(){this.objects=new Map,this.unreachable=new Set}getCached(e){return this.objects.get(e)}get size(){return this.objects.size}get(e,t,n){let r=this.objects.get(e);return void 0===r?(r=this.createObject(e,t,n),this.objects.set(e,r)):r.isShared=!0,r}forceDelete(e){let t=this.objects.get(e);t&&(this.disposeObject(t),this.objects.delete(e))}mutateIfUnique(e,t){let n=this.objects.get(e);if(n&&!0!==n.isShared)return this.objects.delete(e),this.objects.set(t,n),n}startGc(){this.unreachable=new Set(this.objects.keys())}markAsReachable(e,t){t===this.objects.get(e)&&this.unreachable.delete(e)}endGc(){this.unreachable.forEach((e=>{this.disposeObject(this.objects.get(e)),this.objects.delete(e)})),this.unreachable.clear()}dispose(){this.objects.forEach((e=>{this.disposeObject(e)})),this.objects.clear()}},S0=class extends x0{constructor(e){super(),this.flatShading=e}disposeObject(e){e.dispose()}createObject(e,t,n){let r=IQ(e,t,this.flatShading,n);return r.computeBoundingSphere(),r}},A0={markNeedsUpdateRendererDirty:()=>{}},b0=class extends l${constructor(e){super(),this.shared=e}create(e){return new c$(e,this.shared)}},k0=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.data=e,this.geometryCache=new S0(!0),this.geometryCache2=new S0(!1),this.imageHolderCache=new b0(this),this.thisContext={scene:A0,shared:this},this.deletedMaterial=new r0(pN.defaultTwoLayerData("phong"),this.thisContext,""),this.deletedImage=new d$(rL.emptyImage,this),this.deletedVideo=new d$(rN.defaultVideo,this),this.materials={},this.images={},this.canvases={},this.videos={},this.colors={},this.audios={},this.particles={},this.fonts={},this.variables={},this.mouseProperty=null,this.raycastProperty=null,this.requestRender=()=>{this._requestRender&&this._requestRender()},t.images)for(let[n,r]of Object.entries(t.images))this.addImage(n,r);if(t.videos)for(let[n,r]of Object.entries(t.videos))this.addVideo(n,r);if(t.audios)for(let[n,r]of Object.entries(t.audios))this.addAudio(n,r);if(t.particles)for(let[n,r]of Object.entries(t.particles))this.addParticle(n,r);this.reset(e)}setRequestRender(e){this._requestRender=e}setEntityOpContext(e){this.entityOpContext=e}reset(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.resetLib(e.lib);for(let{id:n,data:r}of e.variables)this.addVariableHolder(n,r),t&&this.updateVariableHolder(n,r);for(let[n,r]of Object.entries(e.images))this.addImage(n,r);for(let[n,r]of Object.entries(e.videos))this.addVideo(n,r);for(let[n,r]of Object.entries(e.colors))this.addColor(n,r);for(let[n,r]of Object.entries(e.materials))this.addMaterial(n,r);for(let[n,r]of Object.entries(e.audios))this.addAudio(n,r);for(let[n,r]of Object.entries(e.particles))this.addParticle(n,r);for(let[n,r]of Object.entries(e.fonts))this.addFont(n,r)}addMaterial(e,t){if(this.materials[e]){let n=this.materials[e];n.reset(t,this.thisContext),n.dispose()}else{let n=new r0(t,this.thisContext,e);this.materials[e]=n}}deleteMaterial(e){this.materials[e]&&(this.materials[e].nodeMaterialDispose(),delete this.materials[e])}getMaterial(e){return this.materials[e]}getMaterialOrDeletedPlaceholder(e){var t;return null!==(t=this.materials[e])&&void 0!==t?t:this.deletedMaterial}material(e){return"string"==typeof e?this.getMaterialOrDeletedPlaceholder(e):null==e?(console.error("material is undefined or null"),this.deletedMaterial):new n0(e,this.thisContext)}getMaterials(){return this.materials}addImage(e,t){return this.images[e]?(this.onColorOrImageUpdate&&this.onColorOrImageUpdate(),this.images[e].updateSrc(t.data),!0):(this.images[e]=new d$(t,this),!1)}deleteImage(e){let t=this.images[e];t&&(t.dispose(),delete this.images[e])}getDefaultImage(){return this.images.image_0}getImage(e){var t;return null!==(t=this.images[e])&&void 0!==t?t:this.deletedImage}image(e){return"string"==typeof e?this.getImage(e):this.imageHolderCache.load(e)}addCanvas(e,t){return this.canvases[e]?(this.onColorOrImageUpdate&&this.onColorOrImageUpdate(),this.canvases[e].updateSrc(t),!0):(this.canvases[e]=new d$(t,this),!1)}canvas(e){return this.canvases[e]}addVideo(e,t){return this.videos[e]?(this.videos[e].updateSrc(t.data),!0):(this.videos[e]=new d$(t,this),!1)}deleteVideo(e){let t=this.videos[e];t&&(t.dispose(),delete this.videos[e])}getVideo(e){var t;return null!==(t=this.videos[e])&&void 0!==t?t:this.deletedVideo}video(e){return"string"==typeof e?this.getVideo(e):this.imageHolderCache.load(e)}addColor(e,t){return this.colors[e]?(this.onColorOrImageUpdate&&this.onColorOrImageUpdate(),"a"in t?this.colors[e].setRGBA(t.r,t.g,t.b,t.a):this.colors[e].setRGBA(t.r,t.g,t.b,1),!0):(this.colors[e]=new z$(t.r,t.g,t.b,"a"in t?t.a:1),!1)}updateColor(e,t){if(this.colors[e]){var n,r,i,a;this.onColorOrImageUpdate&&this.onColorOrImageUpdate();let s=this.colors[e];return this.colors[e].r=null!==(n=t.r)&&void 0!==n?n:s.r,this.colors[e].g=null!==(r=t.g)&&void 0!==r?r:s.g,this.colors[e].b=null!==(i=t.b)&&void 0!==i?i:s.b,this.colors[e].a=null!==(a=t.a)&&void 0!==a?a:s.a,!0}return!1}deleteColor(e){this.colors[e]&&delete this.colors[e]}getColor(e){return this.colors[e]}color(e){let t;if("string"!=typeof e)return new wX(e.r,e.g,e.b,"a"in e?e.a:1);{let n=this.getColor(e);n?t=n:(console.warn("Tried to create color layer params with a color key that does not exist in the assets manager"),t=new wX(0,0,0,0))}return t}addAudio(e,t){this.audios[e]=t}getAudio(e){let t=this.audios[e];if(t instanceof c0)return t;{let n=new c0({src:t.data});return this.audios[e]=n,n}}addParticle(e,t){this.particles[e]=t}getParticle(e){return this.particles[e]}deleteParticle(e){this.particles[e]&&delete this.particles[e]}deleteAudio(e){let t=this.audios[e];t&&(t instanceof c0&&t.dispose(),delete this.audios[e])}addFont(e,t){this.fonts[e]=new v0(t),this.fonts[e].loadingPromise.then((()=>this.requestRender()))}getFont(e){return this.fonts[e]}deleteFont(e){this.fonts[e]&&delete this.fonts[e]}dispose(){Object.keys(this.materials).forEach((e=>this.deleteMaterial(e))),this._requestRender=void 0,Object.values(this.audios).forEach((e=>{e instanceof c0&&e.dispose()})),this.audios={},this.particles={},this.geometryCache.dispose(),this.geometryCache2.dispose()}addVariableHolder(e,t){return void 0===this.variables[e]?(this.variables[e]={value:t.value,locations:[]},"dynamicVariableType"in t&&(this.variables[e].dynamicVariablePlayState="Playing",this.variables[e].dynamicVariableToggleIsForward=void 0),!0):(this.variables[e].value=t.value,!1)}resetDynamicVariablePlayState(){for(let e in this.variables)void 0!==this.variables[e].dynamicVariablePlayState&&(this.variables[e].dynamicVariablePlayState="Playing",this.variables[e].dynamicVariableToggleIsForward=void 0)}updateVariableHolder(e,t){this.updateVariable(e,t.value)}updateVariable(e,t){if(void 0===this.variables[e])return!1;this.variables[e].value=t;let n=t;for(;"string"==typeof n;)n=this.variables[n].value;let r=this.entityOpContext.scene;for(let i=this.variables[e].locations.length-1;i>=0;i--){let t=this.variables[e].locations[i];if("material"===t[0]){let e=t[1],i=n,a={scene:r,shared:this},s=t.slice(2);r.traverseMaterial((t=>{var n;let r=null!==(n=t.root)&&void 0!==n?n:t;r.uuid===e&&r.onVariableUpdate(s,i,a)}));let o=this.materials[e];o&&o.onVariableUpdate(s,i,a)}else{let a=r.find(t[0]);if(void 0===a){this.variables[e].locations.splice(i,1);continue}if("geometry"!==t[1]&&"particles"!==t[1]){for(let e=1;e<t.length-1;e++)a=a[t[e]];"rotation"===t[1]?a[t[t.length-1]]=n*lM.DEG2RAD:a[t[t.length-1]]=n}if(a=r.find(t[0]),"ParticleEmitter"===a.type&&a.updateVariableState(n,t),EF.is(a))if("position"===t[1]||"rotation"===t[1]||"scale"===t[1])a.onVariableUpdate();else if("geometry"===t[1]){let e=a;a.component&&(e=a.component);let t=e.dataPatched;e.chooseGeoemtryCache(this).forceDelete(t.geometry),e.createGeometryDelayed(this.entityOpContext),e.onVariableUpdate(!0),e.instances.forEach((e=>{let t=e.dataPatched;e.chooseGeoemtryCache(this).forceDelete(t.geometry),e.createGeometryDelayed(this.entityOpContext),e.onVariableUpdate(!0)}))}}}return this.requestRender(),!0}deleteVariable(e){this.variables[e]&&delete this.variables[e]}getVariable(e,t){if(Array.isArray(e)){var n,r,i,a;if("mouse"===e[0])return null!==(n=null===(r=this.mouseProperty)||void 0===r?void 0:r[e[1]])&&void 0!==n?n:0;if("raycast"===e[0])return null!==(i=null===(a=this.raycastProperty)||void 0===a?void 0:a[e[1]])&&void 0!==i?i:0;let t=this.entityOpContext.scene.find(e[0]);if("width"===e[1]||"height"===e[1]||"depth"===e[1])return t.geometry.userData.parameters[e[1]];for(let n=1;n<e.length;n++)t=t[e[n]];return"rotation"===e[1]&&(t*=lM.RAD2DEG),t}for(let o in this.variables){var s;if(void 0===t)break;let e=this.variables[o],n=null===(s=e.locations)||void 0===s?void 0:s.findIndex((e=>Rz.equal(e,t)));void 0!==n&&-1!==n&&e.locations.splice(n,1)}if("string"==typeof e){let n=e,r=e;do{if(r=n,void 0===this.variables[n])break;n=this.variables[n].value}while("string"==typeof n);return t&&void 0!==this.variables[r]&&this.variables[r].locations.push(t),n}return e}getVariables(){return this.variables}getDynamicVariablePlayState(e){var t;return null===(t=this.variables[e])||void 0===t?void 0:t.dynamicVariablePlayState}setDynamicVariablePlayState(e,t){void 0!==this.variables[e]&&(this.variables[e].dynamicVariablePlayState=t)}getDynamicVariableToggleIsForward(e){var t;return null===(t=this.variables[e])||void 0===t?void 0:t.dynamicVariableToggleIsForward}setDynamicVariableToggleIsForward(e,t){void 0!==this.variables[e]&&(this.variables[e].dynamicVariableToggleIsForward=t)}resetLib(e){for(let[t,n]of Object.entries(e.images))this.addImage(t,n.asset);for(let[t,n]of Object.entries(e.audios))this.addAudio(t,n.asset);for(let[t,n]of Object.entries(e.particles))this.addParticle(t,n.asset);for(let[t,n]of Object.entries(e.colors))this.addColor(t,n.asset);for(let[t,n]of Object.entries(e.fonts))this.addFont(t,n.asset);for(let[t,n]of Object.entries(e.materials))this.addMaterial(t,n.asset);for(let[t,n]of Object.entries(e.videos))this.addVideo(t,n.asset);for(let[t,n]of Object.entries(e.variables))this.addVariableHolder(t,n.asset)}updateLibByOp(e,t){"images"===e.path[0]?1===e.path.length&&1===e.type?this.addImage(e.id,e.data.asset):1===e.path.length&&2===e.type&&this.deleteImage(e.id):"videos"===e.path[0]?1===e.path.length&&1===e.type?this.addVideo(e.id,e.data.asset):1===e.path.length&&2===e.type&&this.deleteVideo(e.id):"audios"===e.path[0]?1===e.path.length&&1===e.type?this.addAudio(e.id,e.data.asset):1===e.path.length&&2===e.type&&this.deleteAudio(e.id):"particles"===e.path[0]?1===e.path.length&&1===e.type?this.addParticle(e.id,e.data.asset):1===e.path.length&&2===e.type&&this.deleteParticle(e.id):"colors"===e.path[0]?1===e.path.length&&1===e.type?this.addColor(e.id,e.data.asset):1===e.path.length&&2===e.type&&this.deleteColor(e.id):"materials"===e.path[0]?1===e.path.length&&1===e.type?this.addMaterial(e.id,e.data.asset):1===e.path.length&&2===e.type&&this.deleteMaterial(e.id):"fonts"===e.path[0]?1===e.path.length&&1===e.type?this.addFont(e.id,e.data.asset):1===e.path.length&&2===e.type&&this.deleteFont(e.id):"variables"===e.path[0]?1===e.path.length&&1===e.type?this.addVariableHolder(e.id,e.data.asset):1===e.path.length&&2===e.type&&this.deleteVariable(e.id):"components"===e.path[0]&&t.updateByLibOp(e,this)}updateByOp(e,t,n){this.data=t,"images"===e.path[0]?2===e.path.length&&0===e.type?e.props.data&&this.getImage(e.path[1]).updateSrc(e.props.data):1===e.path.length&&1===e.type?this.addImage(e.id,e.data):1===e.path.length&&2===e.type&&this.deleteImage(e.id):"videos"===e.path[0]?2===e.path.length&&0===e.type?e.props.data&&this.getVideo(e.path[1]).updateSrc(e.props.data):1===e.path.length&&1===e.type?this.addVideo(e.id,e.data):1===e.path.length&&2===e.type&&this.deleteVideo(e.id):"audios"===e.path[0]?2===e.path.length&&0===e.type?e.props.data&&this.addAudio(e.path[1],t.audios[e.path[1]]):1===e.path.length&&1===e.type?this.addAudio(e.id,e.data):1===e.path.length&&2===e.type&&this.deleteAudio(e.id):"particles"===e.path[0]?2===e.path.length&&0===e.type?e.props.data&&this.addParticle(e.path[1],t.particles[e.path[1]]):1===e.path.length&&1===e.type?this.addParticle(e.id,e.data):1===e.path.length&&2===e.type&&this.deleteParticle(e.id):"colors"===e.path[0]?2===e.path.length&&0===e.type?this.updateColor(e.path[1],e.props):1===e.path.length&&1===e.type?this.addColor(e.id,e.data):1===e.path.length&&2===e.type&&this.deleteColor(e.id):"materials"===e.path[0]?1===e.path.length&&1===e.type?this.addMaterial(e.id,e.data):1===e.path.length&&2===e.type?this.deleteMaterial(e.id):e.path.length>1&&this.getMaterial(e.path[1]).updateByOp(hz.drop(e,2),t.materials[e.path[1]],{shared:this,scene:n}):"fonts"===e.path[0]?2===e.path.length&&0===e.type?this.updateFont(e.path[1],e,n):1===e.path.length&&1===e.type?this.addFont(e.id,e.data):1===e.path.length&&2===e.type&&this.deleteFont(e.id):"variables"===e.path[0]?2===e.path.length&&0===e.type&&"value"in e.props?this.updateVariable(e.path[1],e.props.value):1===e.path.length&&4===e.type?this.addVariableHolder(e.id,e.data):1===e.path.length&&5===e.type&&this.deleteVariable(e.id):"lib"===e.path[0]&&this.updateLibByOp(hz.drop(e,1),n)}updateFont(e,t,n){if(t.props.url){let r=this.getFont(e),i={...this.data.fonts[e],url:t.props.url};r.update(i),r.loadingPromise.then((()=>this.requestRender())),n.updateFont(e,this)}}},w0=(new k0(cL.emptyData()),class extends gX{updateByPatchedOp(e,t,n){if(super.updateByPatchedOp(e,t,n),null!==function(e,t){let n=[];if(t.length!==e.length)return null;for(var r=0;r<e.length;){if("*"===t[r])n.push(e[r]);else if(e[r]!==t[r])return null;r+=1}return n}(e.path,["materials"])&&0===e.type&&Array.isArray(this.material))for(let[r,i]of Object.entries(e.props)){let e=n.shared.material(i);this.material[Number(r)]=e}else if(Wz(e.path,["material"])&&this.material instanceof e0)"material"in t&&"string"!=typeof t.material&&this.material.updateByOp(hz.drop(e,1),t.material,n);else if(Wz(e.path,["materials","*"])&&Array.isArray(this.material)){let r=e.path[1];if("materials"in t&&r<this.material.length){let i=t.materials[r];"string"!=typeof i&&this.material[r].updateByOp(hz.drop(e,2),i,n)}}}get needsAO(){return void 0!==this.material&&(Array.isArray(this.material)?this.material[0]:this.material).hasAO}updateState(e,t){var n,r;super.updateState(e,t),void 0!==e.castShadow&&(this.castShadow=e.castShadow),void 0!==e.receiveShadow&&(this.receiveShadow=e.receiveShadow);let i=this.dataPatched;if("NonParametricGeometry"!==(null===(n=e.geometry)||void 0===n?void 0:n.type)&&"material"in e&&void 0!==e.material&&(this.disposeMaterial(),this.material=t.shared.material(e.material).getFlavor(i.flatShading,i.side,i.wireframe),t.scene.markNeedsUpdateRendererDirty()),("NonParametricGeometry"===(null===(r=e.geometry)||void 0===r?void 0:r.type)||"materials"in e)&&("materials"in e&&void 0!==e.materials?(this.disposeMaterial(),this.material=e.materials.map((e=>t.shared.material(e).getFlavor(i.flatShading,i.side,i.wireframe))),t.scene.markNeedsUpdateRendererDirty()):"material"in e&&void 0!==e.material&&(this.disposeMaterial(),this.material=[t.shared.material(e.material).getFlavor(i.flatShading,i.side,i.wireframe)],t.scene.markNeedsUpdateRendererDirty())),void 0!==e.flatShading||void 0!==e.wireframe||void 0!==e.side)if(Array.isArray(this.material))for(let a=0;a<this.material.length;a++)this.material[a]=this.material[a].getFlavor(i.flatShading,i.side,i.wireframe);else this.material=this.material.getFlavor(i.flatShading,i.side,i.wireframe)}disposeMaterial(){this.material&&IW(this.material).forEach((e=>{e instanceof e0&&(e instanceof r0||e.nodeMaterialDispose())}))}dispose(){this.disposeMaterial(),super.dispose()}}),j0=new qM,M0=new VM,P0=new VM,O0=new qM,T0=new fP,I0=class extends w0{constructor(e,t,n){super(e,t),this.data=t,this.isSkinnedMesh=!1,this.localGeometry=void 0,t.bindMode&&t.bindMatrix&&(this.bindMode=t.bindMode,this.bindMatrix=(new fP).fromArray(t.bindMatrix),this.bindMatrixInverse=new fP)}chooseGeoemtryCache(e){return e.geometryCache}markGeometryAsReachable(e){this.geometryCreateDeleyed instanceof pO&&this.chooseGeoemtryCache(e).markAsReachable(this.dataPatched.geometry,this.geometryCreateDeleyed)}get geometry(){if(void 0!==this.localGeometry)return this.localGeometry;if(this.geometryCreateDeleyed instanceof k0){let e=this.geometryCreateDeleyed,t=this.chooseGeoemtryCache(e);this.geometryCreateDeleyed=t.get(this.dataPatched.geometry,e,this)}return this.geometryCreateDeleyed}set geometry(e){this.localGeometry=e}get is2DAndNoDepth(){let e=this.dataPatched.geometry;return SN.is2DParametricMesh(e.type)&&0===e.depth}get is2DType(){return SN.is2DParametricMesh(this.geometry.userData.type)}get isNonParametric(){return"NonParametricGeometry"===this.geometry.userData.type}updateByPatchedOp(e,t,n){super.updateByPatchedOp(e,t,n),Wz(e.path,["geometry"])&&this.updateByPatchedOpGeometry(hz.drop(e,1),t.geometry,n)}removeInteractionGeometry(e){var t;null!==(t=this.localGeometry)&&void 0!==t&&t.dispose(),this.localGeometry=void 0}updateGeometryInteractions(e,t){this.invalidateDownstreamBooleanData();let n=this.data.geometry.type;if("NonParametricGeometry"===n||"SubdivGeometry"===n){let n,r,i,a=e;if(void 0===this.localGeometry){let e={...this.data.geometry,...a};this.localGeometry=IQ(e,t,this.data.flatShading,this)}a.scaleBaked?[n,r,i]=a.scaleBaked:({width:n,height:r,depth:i}=a);let s=this.localGeometry.userData;void 0!==s.sxPrev&&EQ(this.localGeometry.attributes,n/s.sxPrev,r/s.syPrev,i/s.szPrev),s.sxPrev=n,s.syPrev=r,s.szPrev=i}else{var r;let n={...this.data.geometry,...e};null!==(r=this.localGeometry)&&void 0!==r&&r.dispose(),this.localGeometry=IQ(n,t,this.data.flatShading,this)}}refreshAttachedCloners(e){for(let t of this.attachedSurfaceCloners)e.scene.addPendingUpdateCloner(t.object)}refreshAttachedPaths(e){for(let t of this.attachedPaths)e.scene.addPendingCommand((()=>t.updateShape()))}createGeometryDelayed(e){this.geometryCreateDeleyed=e.shared,this.refreshAttachedCloners(e),this.refreshAttachedPaths(e)}updateByPatchedOpGeometry(e,t,n){var r;let i=!1;0===e.type&&0===e.path.length&&Object.keys(e.props).includes("scaleBaked")&&this.geometryCreateDeleyed instanceof HQ&&this.chooseGeoemtryCache(n.shared).mutateIfUnique(this.geometryCreateDeleyed.data,t)===this.geometryCreateDeleyed&&(i=!0,this.geometryCreateDeleyed.mutateDirectlyScaleBaked(t,e.props.scaleBaked),this.refreshAttachedCloners(n),this.refreshAttachedPaths(n)),i||(null!==(r=n.scene)&&void 0!==r&&r.markGeometryCacheDirty(),this.createGeometryDelayed(n)),this.resetBBoxNeedsUpdate(),this.invalidateDownstreamBooleanData()}updateGeometryOnStateUpdate(e,t){this.createGeometryDelayed(t)}updateState(e,t){void 0!==e.geometry&&this.updateGeometryOnStateUpdate(e.geometry,t),super.updateState(e,t)}updateGeometryGroupsIfNeeded(){var e,t;Array.isArray(this.material)&&0===this.geometry.groups.length&&this.geometry.addGroup(0,Math.max(null!==(e=null===(t=this.geometry.getIndex())||void 0===t?void 0:t.count)&&void 0!==e?e:0,this.geometry.getAttribute("position").count),0)}updateEntityBoxSize(e,t){var n,r;let i=this.geometry.userData.parameters;this.is2DType?e.set(0,0,.5*i.depth):this.isNonParametric?(e.setScalar(0),this.geometry.boundingSphere&&e.copy(this.geometry.boundingSphere.center),t.set(i.width,i.height,null!==(n=i.depth)&&void 0!==n?n:0).multiplyScalar(.5)):e.setScalar(0),t.set(i.width,i.height,null!==(r=i.depth)&&void 0!==r?r:0).multiplyScalar(.5)}updateMatrixWorld(e){super.updateMatrixWorld(e),"attached"===this.bindMode?this.bindMatrixInverse.copy(this.matrixWorld).invert():"detached"===this.bindMode&&this.bindMatrixInverse.copy(this.bindMatrix).invert()}bind(e,t){this.skeleton=e,this.isSkinnedMesh=!0,void 0===t&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),t=this.matrixWorld),this.bindMatrix.copy(t),this.bindMatrixInverse.copy(t).invert()}pose(){this.skeleton.pose()}normalizeSkinWeights(e){let t=new VM,n=this.geometry.attributes.skinWeight;for(let r=0,i=n.count;r<i;r++){t.fromBufferAttribute(n,r);let e=1/t.manhattanLength();e!==1/0?t.multiplyScalar(e):t.set(1,0,0,0),n.setXYZW(r,t.x,t.y,t.z,t.w)}}boneTransform(e,t){let n=this.skeleton;if(void 0===n)return;let r=this.geometry;M0.fromBufferAttribute(r.attributes.skinIndex,e),P0.fromBufferAttribute(r.attributes.skinWeight,e),j0.copy(t).applyMatrix4(this.bindMatrix),t.set(0,0,0);for(let i=0;i<4;i++){let e=P0.getComponent(i);if(0!==e){let r=M0.getComponent(i);T0.multiplyMatrices(n.bones[r].matrixWorld,n.boneInverses[r]),t.addScaledVector(O0.copy(j0).applyMatrix4(T0),e)}}return t.applyMatrix4(this.bindMatrixInverse)}};function C0(e){if(Array.isArray(e.material)){for(let t of e.material)if(0===t.getLayersOfType("outline").length)return}else if(!(e.material instanceof e0)||0===e.material.getLayersOfType("outline").length)return;e instanceof I0&&e.is2DAndNoDepth?function(e){if(e.geometry.attributes.extrudeNormals||!e.geometry.attributes.position)return;let t=e.geometry.attributes.position.array,n=new Float32Array(t.length),r=new qM;for(let i=0;i<t.length;i+=3)r.set(t[i],t[i+1],t[i+2]).normalize(),n[i]=r.x,n[i+1]=r.y,n[i+2]=r.z;e.geometry.setAttribute("extrudeNormal",new aO(n,3))}(e):function(e){if(e.geometry.attributes.extrudeNormal||!e.geometry.attributes.position||!e.geometry.attributes.normal)return;let t=new Map,n=e.geometry.attributes,r=n.position.array,i=n.normal.array,a=new Float32Array(r.length);for(let l=0;l<r.length;l+=3){var s;let e="".concat(r[l],"_").concat(r[l+1],"_").concat(r[l+2]),n=new qM(i[l],i[l+1],i[l+2]);t.has(e)?null===(s=t.get(e))||void 0===s||s.normals.push(n):t.set(e,{normals:[n],result:new qM})}t.forEach(((e,t)=>{for(let n of e.normals)e.result.add(n);e.result.divideScalar(e.normals.length)}));for(let l=0;l<r.length;l+=3){var o;let e="".concat(r[l],"_").concat(r[l+1],"_").concat(r[l+2]),n=null===(o=t.get(e))||void 0===o?void 0:o.result;n&&(a[l]=n.x,a[l+1]=n.y,a[l+2]=n.z)}e.geometry.setAttribute("extrudeNormal",new aO(a,3))}(e)}function E0(e){if(!e.geometry.attributes.position)return;let t=e.geometry.attributes.position.array,n=new Float32Array(t.length),r=parseInt(e.uuid.replace(/\D/g,"")),i=[lM.seededRandom(r),lM.seededRandom(r+1e4),lM.seededRandom(r+2e4)];for(let a=0;a<t.length;a++)n[a]=i[a%3];e.geometry.setAttribute("randomColor",new nO(n,3))}var V0=new zM,R0=new qM;function D0(e){let t=!1;return e.scene.objects.traverse(((e,n)=>{"Mesh"===n.type&&"SubdivGeometry"===n.geometry.type&&(t=!0)})),t}var B0=class extends I0{constructor(e,t,n){super(e,t,n),this.data=t,this.hiddenMatrixOld=new fP,this.smoothShading=!0,this.skipReactionUpdate=!1}chooseGeoemtryCache(e){return this.dataPatched.flatShading?e.geometryCache:e.geometryCache2}get subdivPointerNew(){return void 0!==this.localGeometry?this.subdivPointer:this.geometry.ensureSubdivPointer()}get originalGeometryNew(){return void 0!==this.localGeometry?this.originalGeometry:this.geometry.originalGeometry}get phongAngle(){var e;return null!==(e=this.data.geometry.phongAngle)&&void 0!==e?e:45}updateEntityBoxSize(e,t){var n;let r=this.geometry.userData.parameters;e.copy(this.originalGeometryNew.boundingSphere.center),t.set(r.width,r.height,null!==(n=r.depth)&&void 0!==n?n:0).multiplyScalar(.5)}createGeometryByControls(e){var t,n,r,i;if(!0===this.skipReactionUpdate)return;let a=null===(t=this.localGeometry)||void 0===t?void 0:t.uuid,{originalGeometry:s,subdividedGeometry:o,subdivPointer:l}=HQ.build(e,this.subdivPointer,this.smoothShading,this.hasNonUniformScale?this.shearScale:void 0);this.subdivPointer=l,void 0!==s&&(null!==(n=this.originalGeometry)&&void 0!==n&&n.dispose(),this.originalGeometry=s),void 0!==o&&(null!==(r=this.subdividedGeometry)&&void 0!==r&&r.dispose(),this.subdividedGeometry=null!==o&&void 0!==o?o:void 0),this.localGeometry=null!==(i=this.subdividedGeometry)&&void 0!==i?i:this.originalGeometry,C0(this),E0(this),this.calcBoundingBox(),a&&(this.localGeometry.uuid=a)}updateState(e,t){if(super.updateState(e,t),void 0!==e.flatShading){let n=this.material;this.material=Array.isArray(n)?n.map((e=>e.getFlavor(!1,e.side,e.wireframe))):n.getFlavor(!1,n.side,n.wireframe),this.smoothShading=!e.flatShading,this.createGeometryDelayed(t)}}updateMesh(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];HQ.buildLevel(this.subdivPointer,!0,this.smoothShading?this.phongAngle:-1,this.originalGeometry,e&&this.hasNonUniformScale?this.shearScaleInv:void 0),this.subdividedGeometry&&HQ.buildLevel(this.subdivPointer,!1,this.smoothShading?this.phongAngle:-1,this.subdividedGeometry,e&&this.hasNonUniformScale?this.shearScaleInv:void 0)}updateTopology(){var e;this.originalGeometry.dispose(),this.originalGeometry=HQ.buildLevel(this.subdivPointer,!0,this.smoothShading?this.phongAngle:-1),this.subdividedGeometry&&(this.subdividedGeometry.dispose(),this.subdividedGeometry=HQ.buildLevel(this.subdivPointer,!1,this.smoothShading?this.phongAngle:-1)),this.localGeometry=null!==(e=this.subdividedGeometry)&&void 0!==e?e:this.originalGeometry}raycast(e,t){let n=this.localGeometry;this.localGeometry=this.originalGeometryNew,gX.prototype.raycast.call(this,e,t),this.localGeometry=n}activateSVDCompensation(){!this.hasNonUniformScale||(this.matrix.copy(this.matrixWorldRigid),this.hiddenMatrixOld.copy(this.hiddenMatrix),this.hiddenMatrix.copy(this.parent.matrixWorld).invert())}deactivateSVDCompensation(){!this.hasNonUniformScale||(this.updateMatrix(),this.hasNonUniformScale=void 0,this.hiddenMatrix.copy(this.hiddenMatrixOld))}calcBoundingBox(){let e=this.originalGeometry;null===e.boundingSphere&&(e.boundingSphere=new aP,this.subdividedGeometry&&(this.subdividedGeometry.boundingSphere=e.boundingSphere));let t=e.attributes.position,n=e.boundingSphere.center;V0.setFromBufferAttribute(t),V0.getCenter(n),e.boundingSphere.radius=n.distanceTo(V0.max),isNaN(e.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',this),V0.getSize(R0),this.hasNonUniformScale&&R0.divide(this.scale);let r={width:R0.x,height:R0.y,depth:R0.z};return this.geometry.userData.parameters=r,r}updateBoundingSphere(e){let t=this.originalGeometry;V0.min.set(e[0],e[2],e[4]),V0.max.set(e[1],e[3],e[5]),this.hasNonUniformScale&&(V0.min.applyMatrix4(this.shearScaleInv),V0.max.applyMatrix4(this.shearScaleInv)),null===t.boundingSphere&&(t.boundingSphere=new aP);let n=t.boundingSphere.center;V0.getCenter(n),t.boundingSphere.radius=n.distanceTo(V0.max)}freeSubdivPointer(){var e,t;this.subdivPointer&&(HQ.freeSubdivPointer(this.subdivPointer),this.subdivPointer=0),this.localGeometry=void 0,null!==(e=this.originalGeometry)&&void 0!==e&&e.dispose(),null===(t=this.subdividedGeometry)||void 0===t||t.dispose()}dispose(){super.dispose(),this.freeSubdivPointer()}updateByPatchedOpGeometry(e,t,n){super.updateByPatchedOpGeometry(e,t,n),this.localGeometry&&this.createGeometryByControls(t)}},G0={x:[1,0,0],"-x":[-1,0,0],y:[0,1,0],"-y":[0,-1,0],z:[0,0,1],"-z":[0,0,-1]},q0={polygon_center:0,edge:1,vertex:2},H0=(e,t)=>(n,r)=>t&&0!==n&&0!==e?e*r/100:0,W0=(e,t)=>{let n=Math.abs(t),r=-1*n;return(e- -1)*(n-r)/2+r};var z0=new qM,J0=new qM,U0=new qM,N0=new qM;function L0(e,t){let n=U0.fromArray(e),r=N0.fromArray(t);J0.copy(r).sub(n);let i=J0.length();return J0.normalize().multiplyScalar(.5*i),z0.copy(n).add(J0).toArray()}var Y0=new QP,F0=new qM,Z0=new qM,K0=new qM;var Q0=e=>.5*(1-Math.cos(e*Math.PI)),X0=class{constructor(){this.perlin=new Array(4096)}noise(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(null==this.perlin){this.perlin=new Array(4096);for(let e=0;e<4096;e++)this.perlin[e]=Math.random()}e<0&&(e=-e),t<0&&(t=-t),n<0&&(n=-n);let r,i,a,s,o,l=Math.floor(e),c=Math.floor(t),d=Math.floor(n),h=e-l,u=t-c,p=n-d,f=0,m=.5;for(let g=0;g<4;g++){let e=l+(c<<4)+(d<<8);r=Q0(h),i=Q0(u),a=this.perlin[4095&e],a+=r*(this.perlin[e+1&4095]-a),s=this.perlin[e+16&4095],s+=r*(this.perlin[e+16+1&4095]-s),a+=i*(s-a),e+=256,s=this.perlin[4095&e],s+=r*(this.perlin[e+1&4095]-s),o=this.perlin[e+16&4095],o+=r*(this.perlin[e+16+1&4095]-o),s+=i*(o-s),a+=Q0(p)*(s-a),f+=a*m,m*=.5,l<<=1,h*=2,c<<=1,u*=2,d<<=1,p*=2,h>=1&&(l++,h--),u>=1&&(c++,u--),p>=1&&(d++,p--)}return f}noiseSeed(e){let t=(()=>{let e,t;return{setSeed(n){t=e=(null!==n&&void 0!==n?n:4294967296*Math.random())>>>0},getSeed:()=>e,rand:()=>(t=(1664525*t+1013904223)%4294967296,t/4294967296)}})();t.setSeed(e),this.perlin=new Array(4096);for(let n=0;n<4096;n++)this.perlin[n]=t.rand()}},_0=new qM,$0=new fP,e1=new pP;function t1(e){let t=!1;return e.scene.objects.traverse(((e,n)=>{"Mesh"===n.type&&"TextGeometry"===n.geometry.type&&(t=!0)})),t}var n1,r1,i1,a1,s1=class extends I0{constructor(e,t,n){super(e,t,n),this.data=t}get textGeometry(){return this.geometry}get charWidths(){return this.textGeometry.charWidths}get charCoords(){return this.textGeometry.charCoords}get wrappedText(){return this.textGeometry.wrappedText}get font(){return this.textGeometry.font}get initialOffsetY(){var e,t;let n=this.dataPatched;return null!==(e=null===(t=this.font)||void 0===t?void 0:t.getLineInitialOffsetY(this.lineHeight,this.wrappedText.length,n.geometry.height,this.fontScale,n.geometry.verticalAlign))&&void 0!==e?e:0}get fontScale(){let e=this.dataPatched;return this.font?e.geometry.fontSize/this.font.unitsPerEm:1}get AD(){return Math.abs(this.ascender-this.descender)}get ascender(){var e,t;return(null!==(e=null===(t=this.font)||void 0===t?void 0:t.ascender)&&void 0!==e?e:1)*this.fontScale}get descender(){var e,t;return(null!==(e=null===(t=this.font)||void 0===t?void 0:t.descender)&&void 0!==e?e:1)*this.fontScale}get lineHeight(){let e=this.dataPatched;return e.geometry.fontSize*e.geometry.lineHeight}raycast(e,t){let{matrixWorld:n}=this;if(!isNaN(e.ray.origin.x)&&0!==this.scale.x&&0!==this.scale.y&&0!==this.scale.z&&($0.copy(n).invert(),e1.copy(e.ray).applyMatrix4($0),e1.intersectBox(this.singleBBox,_0))){let r=_0.applyMatrix4(n),i=e.ray.origin.distanceTo(r);t.push({distance:i,point:r.clone(),object:this})}}},o1=1e-4,l1=new qM,c1=new qM;MQ.then((e=>{r1=[(n1=e).get_face_center,n1.get_edge_midpoint,n1.get_vertex_position],i1=[n1.get_face_normal,n1.get_edge_normal,n1.get_vertex_normal],a1=[n1.face_count,n1.edge_count,n1.vertex_count]}));var d1=new fP,h1=new fP,u1=new qM,p1=new qM,f1=new qM,m1=new qM,g1=new qM,y1=new qM,v1=new X0,x1=class extends(VF(HP)){constructor(e,t){super(),this.parameters=t,this.objectForSample=void 0,this._pendingMediaLoad=!1,this.object=e}resetOnMove(){this.removeFromParent(),this.parent=null}expandClones(e){if(null===this.parent)this.updateState(this.parameters,e);else for(let t of this.children)t instanceof DF&&t.expand()}invalidateTransform(e){this.matrixWorldNeedsUpdate=!0,this.traverse((t=>{t instanceof DF&&t.object===e&&(t.matrixWorldNeedsUpdate=!0)}))}onObjUpdateMatrix(){"toObject"!==this.parameters.type&&(this.matrixWorldNeedsUpdate=!0)}update(){switch(this._updateCount(),this.parameters.type){case"radial":this._updateRadial(this.parameters);break;case"linear":this._updateLinear(this.parameters);break;case"grid":this._updateGrid(this.parameters);break;case"toObject":this._updateToObject(this.parameters)}for(let e of this.children)e.updateMatrix(),e.hasNonUniformScale&&(e.updateMatrixWorld(),e.updateMatrixWorldSVD())}_updateCount(e){let t;if(t=void 0!==e?e:"grid"===this.parameters.type?Math.round(this.parameters.grid.count[0])*Math.round(this.parameters.grid.count[1])*Math.round(this.parameters.grid.count[2]):this.parameters.count,"toObject"===this.parameters.type&&!this.parameters.toObject.object&&(t=0),"toObject"===this.parameters.type&&this.objectForSample){for(let t=0,n=this.children.length;t<n;++t)this.remove(this.children[0]);let e=this.children;if(e.length===t)return;if(e.length<t)for(let n=0,r=t-e.length;n<r;++n){let e=new DF(this.object);e.expand(),this.add(e)}else for(let n=0,r=e.length-t;n<r;++n)this.remove(e[n])}else{if(this.children.length===t)return;if(this.children.length<t)for(let e=0,n=t-this.children.length;e<n;++e){let e=new DF(this.object);e.expand(),this.add(e)}else for(let e=0,n=this.children.length-t;e<n;++e)this.remove(this.children[0])}}_updateRadial(e){var t;let n,r=e.radial,i=r.start*lM.DEG2RAD,a=i-r.end*lM.DEG2RAD,s=new wP(r.rotation[0],r.rotation[1],r.rotation[2]);switch(r.axis){case"z":n=new qM(0,0,1);break;case"y":n=new qM(0,1,0);break;default:n=new qM(1,0,0)}let o=null!==(t=e.randomnessObject)&&void 0!==t?t:UU.defaultData([1,1,1]).randomnessObject,l="perlin"===o.noiseType;v1.noiseSeed(o.seed);let c=kF((0,gF.default)(o.seed)),d=H0(o.strength,this.parameters.randomness);for(let[h,u]of this.children.entries()){let t=h*(o.freqScale/10)+o.movement,p=l?v1.noise(t):c(t,t),f=h+1;u.scale.x=r.scale[0]+d(f,W0(p,o.scale[0]))||o1,u.scale.y=r.scale[1]+d(f,W0(p,o.scale[1]))||o1,u.scale.z=r.scale[2]+d(f,W0(p,o.scale[2]))||o1,u.position.setScalar(0);let m=a/e.count*h-i;switch(r.axis){case"x":u.rotation.set(0,m,0);break;case"y":u.rotation.set(0,0,m);break;case"z":u.rotation.set(m,0,0)}u.translateOnAxis(n,r.radius),u.position.x+=r.position[0]+d(f,W0(p,o.position[0])),u.position.y+=r.position[1]+d(f,W0(p,o.position[1])),u.position.z+=r.position[2]+d(f,W0(p,o.position[2]));let g=d(f,W0(p,o.rotation[0])),y=d(f,W0(p,o.rotation[1])),v=d(f,W0(p,o.rotation[2]));!0===r.alignment?(u.rotation.x+=s.x+g,u.rotation.y+=s.y+y,u.rotation.z+=s.z+v):u.rotation.set(s.x+g,s.y+y,s.z+v)}}_updateLinear(e){var t;if("linear"!==e.type)throw new Error;let n=e.linear,r=new wP(n.rotation[0],n.rotation[1],n.rotation[2]),i=null!==(t=e.randomnessObject)&&void 0!==t?t:UU.defaultData([1,1,1]).randomnessObject,a="perlin"===i.noiseType;v1.noiseSeed(i.seed);let s=kF((0,gF.default)(i.seed)),o=H0(i.strength,this.parameters.randomness);for(let[l,c]of this.children.entries()){let e=l*(i.freqScale/10)+i.movement,t=a?v1.noise(e):s(e,e),d=l+1,h=o(d,W0(t,i.rotation[0])),u=o(d,W0(t,i.rotation[1])),p=o(d,W0(t,i.rotation[2]));c.scale.x=1+(n.scale[0]-1)*l+o(d,W0(t,i.scale[0]))||o1,c.scale.y=1+(n.scale[1]-1)*l+o(d,W0(t,i.scale[1]))||o1,c.scale.z=1+(n.scale[2]-1)*l+o(d,W0(t,i.scale[2]))||o1,c.rotation.x=r.x*l+h,c.rotation.y=r.y*l+u,c.rotation.z=r.z*l+p,c.position.x=n.position[0]*l+o(d,W0(t,i.position[0])),c.position.y=n.position[1]*l+o(d,W0(t,i.position[1])),c.position.z=n.position[2]*l+o(d,W0(t,i.position[2]))}}_updateGrid(e){var t;let n=0,r=e.grid,i=null!==(t=e.randomnessObject)&&void 0!==t?t:UU.defaultData([1,1,1]).randomnessObject,a=H0(i.strength,this.parameters.randomness),s="perlin"===i.noiseType;v1.noiseSeed(i.seed);let o=function(){let e=wF(arguments.length>0&&void 0!==arguments[0]?arguments[0]:Math.random),t=new Float64Array(e).map((e=>bF[e%12*3])),n=new Float64Array(e).map((e=>bF[e%12*3+1])),r=new Float64Array(e).map((e=>bF[e%12*3+2]));return function(i,a,s){let o,l,c,d,h,u,p,f,m,g,y=.3333333333333333*(i+a+s),v=SF(i+y),x=SF(a+y),S=SF(s+y),A=(v+x+S)*xF,b=i-(v-A),k=a-(x-A),w=s-(S-A);b>=k?k>=w?(h=1,u=0,p=0,f=1,m=1,g=0):b>=w?(h=1,u=0,p=0,f=1,m=0,g=1):(h=0,u=0,p=1,f=1,m=0,g=1):k<w?(h=0,u=0,p=1,f=0,m=1,g=1):b<w?(h=0,u=1,p=0,f=0,m=1,g=1):(h=0,u=1,p=0,f=1,m=1,g=0);let j=b-h+xF,M=k-u+xF,P=w-p+xF,O=b-f+2*xF,T=k-m+2*xF,I=w-g+2*xF,C=b-1+.5,E=k-1+.5,V=w-1+.5,R=255&v,D=255&x,B=255&S,G=.6-b*b-k*k-w*w;if(G<0)o=0;else{let i=R+e[D+e[B]];G*=G,o=G*G*(t[i]*b+n[i]*k+r[i]*w)}let q=.6-j*j-M*M-P*P;if(q<0)l=0;else{let i=R+h+e[D+u+e[B+p]];q*=q,l=q*q*(t[i]*j+n[i]*M+r[i]*P)}let H=.6-O*O-T*T-I*I;if(H<0)c=0;else{let i=R+f+e[D+m+e[B+g]];H*=H,c=H*H*(t[i]*O+n[i]*T+r[i]*I)}let W=.6-C*C-E*E-V*V;if(W<0)d=0;else{let i=R+1+e[D+1+e[B+1]];W*=W,d=W*W*(t[i]*C+n[i]*E+r[i]*V)}return 32*(o+l+c+d)}}((0,gF.default)(i.seed));if(!0===r.useCenter){let e={x:r.count[0]%2===0?2:1,y:r.count[1]%2===0?2:1,z:r.count[2]%2===0?2:1},t=new qM(r.size[0]*(r.count[0]-e.x)*.5,r.size[1]*(r.count[1]-e.y)*.5,r.size[2]*(r.count[2]-e.z)*.5);for(let l=0;l<r.count[0];l++)for(let e=0;e<r.count[1];e++)for(let c=0;c<r.count[2];c++){let d=[(l+1)*(i.freqScale/10)+i.movement,(e+1)*(i.freqScale/10)+i.movement,(c+1)*(i.freqScale/10)+i.movement],h=s?v1.noise(...d):o(...d),u=this.children[n++];u.scale.x=1+a(n,W0(h,i.scale[0]))||o1,u.scale.y=1+a(n,W0(h,i.scale[1]))||o1,u.scale.z=1+a(n,W0(h,i.scale[2]))||o1;let p=a(n,W0(h,i.rotation[0])),f=a(n,W0(h,i.rotation[1])),m=a(n,W0(h,i.rotation[2]));u.rotation.set(p,f,m),u.position.x=r.size[0]*l-t.x+a(n,W0(h,i.position[0])),u.position.y=r.size[1]*e-t.y+a(n,W0(h,i.position[1])),u.position.z=r.size[2]*c-t.z+a(n,W0(h,i.position[2]))}}else for(let l=0;l<r.count[0];l++)for(let e=0;e<r.count[1];e++)for(let t=0;t<r.count[2];t++){let c=[(l+1)*(i.freqScale/10)+i.movement,(e+1)*(i.freqScale/10)+i.movement,(t+1)*(i.freqScale/10)+i.movement],d=s?v1.noise(...c):o(...c),h=this.children[n++];h.scale.x=1+a(n,W0(d,i.scale[0]))||o1,h.scale.y=1+a(n,W0(d,i.scale[1]))||o1,h.scale.z=1+a(n,W0(d,i.scale[2]))||o1;let u=a(n,W0(d,i.rotation[0])),p=a(n,W0(d,i.rotation[1])),f=a(n,W0(d,i.rotation[2]));h.rotation.set(u,p,f),h.position.x=r.size[0]*l+a(n,W0(d,i.position[0])),h.position.y=-r.size[1]*e+a(n,W0(d,i.position[1])),h.position.z=-r.size[2]*t+a(n,W0(d,i.position[2]))}}_updateToObject(e){var t,n;if("toObject"!==e.type)throw new Error;let{toObject:r}=e,i=new wP(r.rotation[0],r.rotation[1],r.rotation[2]),a=null!==(t=e.randomnessObject)&&void 0!==t?t:UU.defaultData([1,1,1]).randomnessObject,s="perlin"===a.noiseType;v1.noiseSeed(a.seed);let o=kF((0,gF.default)(a.seed)),l=H0(a.strength,this.parameters.randomness);if(!r.object){for(let[,e]of this.children.entries())e.position.set(0,0,0),e.scale.setScalar(1),e.rotation.set(0,0,0);return void(this.objectForSample=void 0)}if(!this.objectForSample)return;if(this.objectForSample instanceof s1){if(null===(n=this.objectForSample.font)||void 0===n||!n.isLoaded||void 0===this.objectForSample.geometry.attributes.position)return void(this._pendingMediaLoad=!0);this._pendingMediaLoad=!1}if(void 0===this.objectForSample.geometry&&this.objectForSample.isAncestorOf(this.object.uuid))return void console.warn('Oh no! The object "'.concat(this.object.name,'" (').concat(this.object.uuid,") seem to be a child/descendant of the object it's being cloned to. Please re-parent it so that they are siblings instead."));let c=this.getSubdivData(),d=[],h=e=>{let t=e.length,n=e.map((e=>e[0])).reduce(((e,t)=>e+t),0),r=e.map((e=>e[1])).reduce(((e,t)=>e+t),0),i=e.map((e=>e[2])).reduce(((e,t)=>e+t),0);return[n/t,r/t,i/t]},u=e=>Math.round(1e6*e)/1e6;c.forEach((e=>{let t=c.filter((t=>u(e.pos[0])===u(t.pos[0])&&u(e.pos[1])===u(t.pos[1])&&u(e.pos[2])===u(t.pos[2])));t.length>1?d.push({pos:e.pos,norm:h(t.map((e=>e.norm)))}):d.push(e)}));let p=function(e){let t=[],n={};for(var r=0,i=e.length;r<i;r++){var a=JSON.stringify(e[r].pos.map((e=>Math.round(1e4*e)/1e4)));n[a]||(t.push(e[r]),n[a]=!0)}return t}(d);if(p.length>0){let e=Math.round(p.length*r.count/100);this._updateCount(e)}else{let e=this.objectForSample.geometry.getAttribute("position");if(!e||isNaN(e.count)||0===e.count)return void console.warn('Oh no! The object "'.concat(this.object.name,'" (').concat(this.object.uuid,') cannot be cloned on the surface of "').concat(this.objectForSample.name,'" (').concat(this.objectForSample.uuid,") because the latter does not have a valid geometry."))}this.objectForSample.updateMatrixWorld();let f=new PF(this.objectForSample).build(),m=G0[r.axis],g=this.children;f.setRandomGenerator((0,gF.default)(this.object.uuid+r.seed));for(let[y,v]of g.entries()){let e=y*(a.freqScale/10)+a.movement,t=s?v1.noise(e):o(e,e),n=y+1,c=l(n,W0(t,a.rotation[0])),d=l(n,W0(t,a.rotation[1])),h=l(n,W0(t,a.rotation[2]));"random"===r.spreadType?f.sample(f1,m1):(p.length&&(f1.fromArray(p[y].pos),m1.fromArray(p[y].norm)),this.objectForSample instanceof B0&&f1.applyMatrix4(d1.copy(this.objectForSample.matrixWorld).invert())),f1.applyMatrix4(this.object.hiddenMatrix.clone().invert()),v.position.copy(f1),u1.fromArray(m);let u="normal"===r.align?m1:this.object.getWorldDirection(y1),g=p1.fromArray(r.position);p1.x+=l(n,W0(t,a.position[0])),p1.y+=l(n,W0(t,a.position[1])),p1.z+=l(n,W0(t,a.position[2]));let x=Math.acos(u.dot(u1)),S=g1.crossVectors(u1,u).normalize(),A=h1.makeRotationAxis(S,x),b=u.clone().cross(this.object.up).normalize(),k=b.clone().cross(u).normalize(),w=(new fP).makeBasis(b,u,k),j=new qM(u1.y,u1.z,u1.x).normalize(),M=j.clone().cross(u1).normalize(),P=(new fP).makeBasis(j,u1,M).invert(),O=(new fP).multiplyMatrices(w,P);v.rotation.setFromRotationMatrix(O),g.applyMatrix4(A),v.position.add(g),v.rotation.x=v.rotation.x+i.x+c,v.rotation.y=v.rotation.y+i.y+d,v.rotation.z=v.rotation.z+i.z+h,v.scale.setScalar(1),v.scale.x=v.scale.x+r.scale[0]+l(n,W0(t,a.scale[0]))||o1,v.scale.y=v.scale.y+r.scale[1]+l(n,W0(t,a.scale[1]))||o1,v.scale.z=v.scale.z+r.scale[2]+l(n,W0(t,a.scale[2]))||o1,v.scale.multiply(this.object.scale),v.hiddenMatrix=this.object.hiddenMatrix}}getSubdivData(){if(!this.objectForSample)return[];let e=this.parameters.toObject.spreadType;if("random"===e)return[];if(this.objectForSample instanceof B0){let t=this.objectForSample,n=q0[e],r=a1[n],i=r1[n],a=i1[n],s=[],o=r(t.subdivPointerNew);for(let e=0;e<=o-1;e++){let n=i(t.subdivPointerNew,e),r=a(t.subdivPointerNew,e);l1.fromArray(n).applyMatrix4(t.matrixWorld),c1.fromArray(r),s.push({pos:l1.toArray(),norm:c1.toArray()})}return s}return(this.objectForSample.geometry.index?function(e){let t=[];for(let n=0;n<=e.index.count;n++)if(F0.fromArray(e.index.array,3*n),Y0.setFromAttributeAndIndices(e.attributes.position,F0.x,F0.y,F0.z),Y0.getNormal(Z0),Y0.getMidpoint(K0),!(isNaN(K0.x)||isNaN(K0.y)||isNaN(K0.z))){let{a:e,b:n,c:r}=Y0,i=e.toArray(),a=n.toArray(),s=r.toArray(),o=e.distanceTo(n),l=n.distanceTo(r),c=r.distanceTo(e),d=L0(i,a),h=L0(a,s),u=L0(s,i),p=[o,l,c],f=Math.max(...p),m=p.filter((e=>Math.round(e)===Math.round(f))).length>1,g=[],y=Y0.getMidpoint(K0).toArray();f===o&&!m&&(g=[h,u,u],y=d),f===l&&!m&&(g=[d,u,u],y=h),f===c&&!m&&(g=[d,h,h],y=u),m&&(g=[d,h,u]),t.push({vertices:[i,a,s],faceCenters:g,midpoint:y,norm:Y0.getNormal(Z0).toArray()})}return t}(this.objectForSample.geometry):function(e){let t=[],{position:n}=e.attributes;for(let r=0;r<n.count;r++){Y0.setFromAttributeAndIndices(n,3*r,3*r+1,3*r+2),Y0.getNormal(Z0),Y0.getMidpoint(K0);let e=Y0.a.toArray(),i=Y0.b.toArray(),a=Y0.c.toArray();t.push({vertices:[e,i,a],faceCenters:[L0(e,i),L0(i,a),L0(a,e)],midpoint:K0.toArray(),norm:Z0.toArray()})}return t}(this.objectForSample.geometry)).map(((t,n)=>"polygon_center"===e?{pos:t.midpoint,norm:t.norm}:"vertex"===e?[{pos:t.vertices[0],norm:t.norm},{pos:t.vertices[1],norm:t.norm},{pos:t.vertices[2],norm:t.norm}]:"edge"===e?[{pos:t.faceCenters[0],norm:t.norm},{pos:t.faceCenters[1],norm:t.norm},{pos:t.faceCenters[2],norm:t.norm}]:[])).flat()}updateState(e,t){var n;if(this.parameters=DH(e),"toObject"!==this.parameters.type)(null===this.parent||this.parent!==this.object)&&(this.removeFromParent(),null!==(n=this.object.parent)&&void 0!==n&&n.add(this),this.matrix=this.object.matrix,this.hiddenMatrix=this.object.hiddenMatrix,this.matrixWorldNeedsUpdate=!0,this.matrixAutoUpdate=!1);else if(null===this.parent||this.parent.uuid!==this.parameters.toObject.object){this.removeFromParent();let e=t.find(this.parameters.toObject.object);this.objectForSample=e instanceof gX?e:void 0,this.matrix=new fP,this.hiddenMatrix=new fP,this.matrixWorldNeedsUpdate=!0,this.matrixAutoUpdate=!1,e&&e.add(this)}this.update()}get pendingMediaLoad(){return this._pendingMediaLoad}},S1=e=>{var t;return(t=class extends e{}).geometryHelper=new TO(30,30,30),t},A1=new pP,b1=new aP,k1=new fP,w1=function(e,t,n,r){let i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=t,s=e.matrixWorld;if(null===a.boundingSphere&&a.computeBoundingSphere(),b1.copy(a.boundingSphere),b1.applyMatrix4(s),!1===n.ray.intersectsSphere(b1)||(k1.copy(s).invert(),A1.copy(n.ray).applyMatrix4(k1),null!==a.boundingBox&&!1===A1.intersectsBox(a.boundingBox)))return;let o,l,c,d,h,u,p=a.index,f=a.attributes.position,m=a.drawRange;if(!1===i){for(h=Math.max(0,m.start),u=Math.min(p.count,m.start+m.count);h<u;h+=3)if(l=p.getX(h),c=p.getX(h+1),d=p.getX(h+2),o=g(e,n,A1,f,l,c,d),o)return o.faceIndex=Math.floor(h/3),void r.push(o)}else{let t=a.attributes.position,i=new qM,s=new qM,o=new qM,l=new qM,c=2,d=1/((e.scale.x+e.scale.y+e.scale.z)/3),h=d*d;for(let a=Math.max(0,m.start),u=Math.min(t.count,m.start+m.count)-1;a<u;a+=c){if(i.fromBufferAttribute(t,a),s.fromBufferAttribute(t,a+1),A1.distanceSqToSegment(i,s,l,o)>h)continue;l.applyMatrix4(e.matrixWorld);let c=n.ray.origin.distanceTo(l);c<n.near||c>n.far||r.push({distance:c,point:o.clone().applyMatrix4(e.matrixWorld),object:e})}}function g(e,t,n,r,i,a,s){let o=new qM,l=new qM,c=new qM,d=new qM,h=new qM;if(o.fromBufferAttribute(r,i),l.fromBufferAttribute(r,a),c.fromBufferAttribute(r,s),null===n.intersectTriangle(o,l,c,!1,d))return null;h.copy(d),h.applyMatrix4(e.matrixWorld);let u=t.ray.origin.distanceTo(h);return u<t.near||u>t.far?null:{faceIndex:1,distance:u,point:h.clone(),object:e}}},j1=new qM,M1=new DO,P1=class extends eE{constructor(e){let t=new pO,n=new LC({color:16777215,vertexColors:!0,toneMapped:!1}),r=[],i=[],a={},s=new MM(15711266),o=new MM(15711266),l=new MM(2857471);function c(e,t,n){d(e,n),d(t,n)}function d(e,t){r.push(0,0,0),i.push(t.r,t.g,t.b),void 0===a[e]&&(a[e]=[]),a[e].push(r.length/3-1)}c("n1","n2",s),c("n2","n4",s),c("n4","n3",s),c("n3","n1",s),c("f1","f2",s),c("f2","f4",s),c("f4","f3",s),c("f3","f1",s),c("n1","f1",s),c("n2","f2",s),c("n3","f3",s),c("n4","f4",s),c("p","n1",o),c("p","n2",o),c("p","n3",o),c("p","n4",o),c("u1","u2",l),c("u2","u3",l),c("u3","u1",l),t.setAttribute("position",new aO(r,3)),t.setAttribute("color",new aO(i,3)),super(t,n),this.type="CameraHelper",this.camera=e,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=a,this.update()}update(){let e=this.geometry,t=this.pointMap;M1.projectionMatrixInverse.elements=[.5112609807824982,-0,-0,-0,-0,.41421356237309503,-0,-0,-0,-0,-0,-.099999,-0,-0,-1.0000000000000002,.100001];let n=.8;O1("n1",t,e,M1,-1,-1,n),O1("n2",t,e,M1,1,-1,n),O1("n3",t,e,M1,-1,1,n),O1("n4",t,e,M1,1,1,n);let r=n;O1("f1",t,e,M1,-1,-1,r),O1("f2",t,e,M1,1,-1,r),O1("f3",t,e,M1,-1,1,r),O1("f4",t,e,M1,1,1,r);O1("u1",t,e,M1,.35,1.1,.8),O1("u2",t,e,M1,-.35,1.1,.8),O1("u3",t,e,M1,0,1.55,.8),e.getAttribute("position").needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}};function O1(e,t,n,r,i,a,s){j1.set(i,a,s).unproject(r);let o=t[e];if(void 0!==o){let e=n.getAttribute("position");for(let t=0,n=o.length;t<n;t++)e.setXYZ(o[t],j1.x,j1.y,j1.z)}}var T1,I1=class extends(S1(P1)){constructor(e){super(e),this.object=e,this.object=e,this.name="CombinedCameraHelper: ".concat(e.uuid)}updateMatrixWorld(e){super.updateMatrixWorld(e),this.updateTarget()}updateTarget(){let e=this.object.getTarget();this.updateWorldMatrix(!0,!1),this.worldToLocal(e)}raycast(e,t){w1(this.object,this.geometry,e,t,!0)}};(e=>{e.is=e=>"objectHelper"in e})(T1||(T1={}));var C1=(e,t)=>class extends(tZ(e)){constructor(){super(...arguments),this.objectHelper=new t(this),this.gizmos={}}get geometryHelper(){return t.geometryHelper}raycast(e,t){this.objectHelper.raycast(e,t)}showGizmos(){for(let e in this.gizmos){let t=this.gizmos[e];t instanceof BR&&(t.visible=!0)}}updateEntityBoxSize(e,t){this.objectHelper.visible&&this.geometryHelper instanceof TO?(e.setScalar(0),t.set(this.geometryHelper.parameters.width,this.geometryHelper.parameters.height,this.geometryHelper.parameters.height).multiplyScalar(.5)):super.updateEntityBoxSize(e,t)}hideGizmos(){for(let e in this.gizmos){let t=this.gizmos[e];t instanceof BR&&(t.visible=!1)}}},E1=new qM,V1=new qM,R1=new GM,D1=new qM,B1=new qM,G1=new qM,q1=class extends(C1(DO,I1)){constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{...JN.defaultData,name:""};super(),this._cameraType="OrthographicCamera",this.targetOffset=JU.DefaultTargetOffset,this.isUpVectorFlipped=!1,this.angleOffsetFromUp=0,this.wasMovedByUser=!1,this.wasMovedBySwitchCameraAction=!1,this.super_Entity(e,t),this.previousProjectionMatrix=new fP,this.matrixAutoUpdate=!0,this.width=window.innerWidth,this.height=window.innerHeight;let n=this.width,r=this.height;this.orthoCamera=new oT(-.5*n,.5*n,.5*r,-.5*r,-5e4,1e4),this.perspCamera=new BO(45,n/r,50,1e4),this.left=this.orthoCamera.left,this.right=this.orthoCamera.right,this.top=this.orthoCamera.top,this.bottom=this.orthoCamera.bottom,this.far=this.orthoCamera.far,this.view=this.orthoCamera.view,this.aspect=this.perspCamera.aspect,this.focus=this.perspCamera.focus,this.filmGauge=this.perspCamera.filmGauge,this.filmOffset=this.perspCamera.filmOffset,this.objectHelper.update()}get isPerspectiveCamera(){return"PerspectiveCamera"===this.cameraType}get isOrthographicCamera(){return!this.isPerspectiveCamera}get cameraType(){return this._cameraType}set fov(e){this.perspCamera.fov=e}get fov(){return this.perspCamera.fov}setNear(e,t){"PerspectiveCamera"===e?this.perspCamera.near=t:this.orthoCamera.near=t}setZoom(e,t){t>=0&&("PerspectiveCamera"===e?this.perspCamera.zoom=t:this.orthoCamera.zoom=t)}set cameraType(e){"PerspectiveCamera"===e?this.toPerspective():"OrthographicCamera"===e&&this.toOrthographic()}get near(){return"PerspectiveCamera"===this._cameraType?this.perspCamera.near:this.orthoCamera.near}set near(e){"PerspectiveCamera"===this._cameraType?this.perspCamera.near=e:this.orthoCamera.near=e}get zoom(){return"PerspectiveCamera"===this._cameraType?this.perspCamera.zoom:this.orthoCamera.zoom}set zoom(e){e>=0&&("PerspectiveCamera"===this._cameraType?this.perspCamera.zoom=e:this.orthoCamera.zoom=e)}lookAt(e,t,n){"number"==typeof e&&(e=new qM(e,t,n)),super.lookAt(e),this.getWorldPosition(E1),this.targetOffset=E1.distanceTo(e)}getTarget(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new qM;return this.getWorldDirection(V1),this.getWorldPosition(E1),V1.multiplyScalar(this.targetOffset),e.copy(E1).add(V1),e}getDistanceToTarget(){let e=this.getTarget();return this.getWorldPosition(E1),E1.distanceTo(e)}updateUp(){this.getWorldQuaternion(R1),D1.set(0,0,1).applyQuaternion(R1),B1.copy(HP.DEFAULT_UP),this.isUpVectorFlipped&&B1.negate(),B1.applyQuaternion(R1),G1.copy(HP.DEFAULT_UP).projectOnPlane(D1),this.angleOffsetFromUp=G1.angleTo(B1),this.angleOffsetFromUp*=G1.cross(B1).dot(D1)>=0?1:-1}updateTransformState(e,t){let n=super.updateTransformState(e,t);return void 0!==e.isUpVectorFlipped&&(this.isUpVectorFlipped=e.isUpVectorFlipped),this.updateUp(),n}getViewFrontToObject(e){let t=e.getWorldPosition(new qM),n=e.getWorldDirection(new qM).multiplyScalar(this.targetOffset);return{position:t.clone().add(n),target:t}}getViewToTarget(e){let t=this.getWorldDirection(new qM).multiplyScalar(this.targetOffset);return{position:e.clone().sub(t),target:e}}getViewToObject(e){let t=new qM;e.getWorldPosition(t);return this.getViewToTarget(t)}setViewplaneSize(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.aspect=e/t,n){let n=e>t?this.aspect:1,r=e>t?1:this.aspect;this.left=-395*n,this.right=395*n,this.top=1/r*395,this.bottom=1/r*-395}else this.left=.5*-e,this.right=.5*e,this.top=.5*t,this.bottom=.5*-t;this.updateProjectionMatrix()}copyViewPlaneSize(e){this.aspect=e.aspect,this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.updateProjectionMatrix()}toOrthographic(){this.orthoCamera.left=this.left,this.orthoCamera.right=this.right,this.orthoCamera.top=this.top,this.orthoCamera.bottom=this.bottom,this.orthoCamera.view=this.view,this.orthoCamera.far=this.far,this.orthoCamera.updateProjectionMatrix(),this.projectionMatrix=this.orthoCamera.projectionMatrix,this.projectionMatrixInverse=this.orthoCamera.projectionMatrixInverse,this._cameraType="OrthographicCamera",this.objectHelper&&this.objectHelper.update()}toPerspective(){this.perspCamera.aspect=this.aspect,this.perspCamera.fov=this.fov,this.perspCamera.view=this.view,this.perspCamera.far=this.far,this.perspCamera.updateProjectionMatrix(),this.projectionMatrix=this.perspCamera.projectionMatrix,this.projectionMatrixInverse=this.perspCamera.projectionMatrixInverse,this._cameraType="PerspectiveCamera",this.objectHelper&&this.objectHelper.update()}setFocalLength(e){this.perspCamera.setFocalLength(e),this.toPerspective()}getFocalLength(){return this.perspCamera.getFocalLength()}getEffectiveFOV(){return this.perspCamera.getEffectiveFOV()}getFilmWidth(){return this.perspCamera.getFilmWidth()}getFilmHeight(){return this.perspCamera.getFilmHeight()}setViewOffset(e,t,n,r,i,a){"PerspectiveCamera"===this._cameraType?this.perspCamera.setViewOffset(e,t,n,r,i,a):this.orthoCamera.setViewOffset(e,t,n,r,i,a)}clearViewOffset(){"PerspectiveCamera"===this._cameraType?(this.perspCamera.clearViewOffset(),this.toPerspective()):(this.orthoCamera.clearViewOffset(),this.toOrthographic())}copyHistory(){this.previousProjectionMatrix&&this.previousProjectionMatrix.copy(this.projectionMatrix)}updateProjectionMatrix(){"PerspectiveCamera"===this._cameraType?this.toPerspective():"OrthographicCamera"===this._cameraType&&this.toOrthographic()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}copy(e,t){return super.copy(e,t),this.parent=e.parent,this.orthoCamera.copy(e.orthoCamera),this.perspCamera.copy(e.perspCamera),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.far=e.far,this.view=null===e.view?null:Object.assign({},e.view),this._cameraType=e._cameraType,this.aspect=e.aspect,this.fov=e.fov,this.focus=e.focus,this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this.targetOffset=e.targetOffset,this.updateProjectionMatrix(),this}toCameraState(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t={type:this.cameraType,far:this.far,orthographic:{near:this.orthoCamera.near,zoom:this.orthoCamera.zoom},perspective:{near:this.perspCamera.near,fov:this.perspCamera.fov,zoom:this.perspCamera.zoom},up:this.up.toArray(),targetOffset:this.targetOffset,isUpVectorFlipped:this.isUpVectorFlipped};return mW(t,e)}updateCameraSubtype(e,t){let n="perspective"===e?"PerspectiveCamera":"OrthographicCamera";void 0!==t.zoom&&this.setZoom(n,t.zoom),void 0!==t.near&&this.setNear(n,t.near),void 0!==t.fov&&"PerspectiveCamera"===n&&(this.fov=t.fov)}updateState(e,t){this.updateCameraState(e,t)}updateCameraState(e,t){this.updateState_Entity(e,t),void 0!==e.far&&(this.far=e.far),void 0!==e.orthographic&&this.updateCameraSubtype("orthographic",e.orthographic),void 0!==e.perspective&&this.updateCameraSubtype("perspective",e.perspective),void 0!==e.type&&(this.cameraType=e.type),void 0!==e.up&&this.up.fromArray(e.up),void 0!==e.targetOffset&&(this.targetOffset=e.targetOffset),void 0!==e.isUpVectorFlipped&&(this.isUpVectorFlipped=e.isUpVectorFlipped),this.updateProjectionMatrix()}updateByPatchedOp(e,t,n){super.updateByPatchedOp(e,t,n),1===e.path.length&&0===e.type&&this.updateCameraSubtype(e.path[0],e.props)}toState(e){return{...super.toState(e),...this.toCameraState(e),type:this.cameraType}}},H1=new fP,W1=new fP;function z1(e){let t=!1;return e.scene.objects.traverse(((e,n)=>{var r;"BooleanGeometry"===(null===(r=n.geometry)||void 0===r?void 0:r.type)&&(t=!0)})),t}var J1,U1=class extends w0{constructor(e,t,n){super(e,t),this.data=t,this.meshSetAddresses=[],this.needsTransformForDownstream=!1,this.geometry=new pO,this.onAfterRender=(e,t,n,r,i,a)=>{super.onAfterRender(e,t,n,r,i,a),this.recomputeBoolean()},this.geometry.userData.parameters={width:0,height:0,depth:0}}get booleanOp(){return this.data.geometry.operation}get phongAngle(){var e;return null!==(e=this.data.geometry.phongAngle)&&void 0!==e?e:45}get isLOD(){return this.recomputeBoolean(),!1}updateByPatchedOp(e,t,n){super.updateByPatchedOp(e,t,n),1===e.path.length&&"geometry"===e.path[0]&&0===e.type&&void 0!==e.props.operation&&(this.freeBooleanPointer(),this.resetBBoxNeedsUpdate())}freeBooleanPointer(){super.freeBooleanPointer(),this.geometry.dispose()}recomputeBoolean(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(-1!==this.booleanMeshSetAddress&&!e)return;for(let a=0;a<this.children.length;a++){let n=this.children[a];n instanceof U1&&!0===n.dataPatched.visible&&n.recomputeBoolean(!0===e,t)}this.meshSetAddresses=[];for(let a=0;a<this.children.length;a++){var n;let i=this.children[a];if(i instanceof gX&&!0===i.dataPatched.visible&&(null===(n=i.geometry.attributes.position)||void 0===n?void 0:n.count)>0&&i.geometry.drawRange.count>0&&0!==i.booleanMeshSetAddress){H1.multiplyMatrices(i.hiddenMatrix,i.matrix);try{if(-1===i.booleanMeshSetAddress){var r;if((null!==(r=i.geometry.index)&&void 0!==r?r:i.geometry.getAttribute("position")).count/3<15e5&&(i.booleanMeshSetAddress=FQ.getMeshSet(i.geometry,!0===e,t)),-1===i.booleanMeshSetAddress)return;FQ.transformMeshSet(i.booleanMeshSetAddress,H1),i.booleanMatrixInvOld.copy(H1).invert(),i.booleanWasTransformed=!1}else i instanceof U1&&!0===i.needsTransformForDownstream?(FQ.transformMeshSet(i.booleanMeshSetAddress,H1),i.needsTransformForDownstream=!1):!0===i.booleanWasTransformed&&(FQ.transformMeshSet(i.booleanMeshSetAddress,W1.multiplyMatrices(H1,i.booleanMatrixInvOld)),i.booleanMatrixInvOld.copy(H1).invert(),i.booleanWasTransformed=!1)}catch(d){console.error(d),i.booleanMeshSetAddress=0,i.geometry.userData.booleanOperationDidFail=!0;continue}!1===FQ.hasOpenEdges(i.booleanMeshSetAddress)||a===this.children.length-1&&2===this.booleanOp?(this.meshSetAddresses.push(i.booleanMeshSetAddress),i.geometry.userData.booleanOperationDidFail=!1):i.geometry.userData.booleanOperationDidFail="openEdges"}}if(0===this.meshSetAddresses.length)return this.geometry.setAttribute("position",new aO([],0)),void this.geometry.setDrawRange(0,0);if(!0===e)return FQ.calcBooleanTopological(this.meshSetAddresses,this.booleanOp);let i=this.geometry;i.dispose(),this.geometry=new pO,this.geometry.userData=i.userData,this.geometry.boundingSphere=i.boundingSphere;try{this.booleanMeshSetAddress=FQ.calcBoolean(this.meshSetAddresses,this.booleanOp,this.geometry,this.phongAngle)}catch(p){this.booleanMeshSetAddress=0,this.geometry.userData.booleanOperationDidFail=!0,console.error(p)}this.booleanMatrixInvOld.copy(this.matrix).invert(),this.needsTransformForDownstream=!0,C0(this),E0(this)}dispose(){super.dispose(),this.geometry.dispose()}};(e=>{e.is=function(e){return EF.is(e)&&e instanceof DV}})(J1||(J1={}));var N1=(e,t)=>class extends(C1(e,t)){updateState_Light(e,t){this.updateState_Entity(e,t),void 0!==e.color&&(this.color=t.shared.color(e.color)),void 0!==e.intensity&&(this.intensity=e.intensity),void 0!==e.depth&&(this.shadow.camera.far=e.depth,this.shadow.needsUpdate=!0),void 0!==e.shadows&&(this.castShadow=e.shadows)}},L1=e=>e instanceof gX,Y1=e=>null!==e&&e instanceof U1,F1=e=>T1.is(e),Z1=class extends(S1(GR)){constructor(e){super(arguments.length>1&&void 0!==arguments[1]?arguments[1]:15),this.object=e,this.object.updateMatrixWorld(),this.name="EmptyObjectHelper: ".concat(e.uuid),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.object.isBone&&(this.visible=!1)}raycast(e,t){w1(this.object,Z1.geometryHelper,e,t)}update(){}},K1=class extends(C1(SC,Z1)){constructor(e,t){super(),this.super_Entity(e,t),this.objectHelper.update()}updateState(e,t){this.updateState_Entity(e,t),"buffer"in e&&1===Object.keys(e).length&&t.scene.reloadSplats()}},Q1=class extends(C1(SC,Z1)){constructor(e,t,n){super(),this.super_Entity(e,t),this.context=n,this.objectHelper.update()}updateState(e,t){this.updateState_Entity(e,t)}},X1=0,_1=1,$1="varying vec2 vUv;void main(){vUv=position.xy*0.5+0.5;gl_Position=vec4(position.xy,1.0,1.0);}",e2=class extends RO{constructor(){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];super({name:"BokehMaterial",defines:{PASS:arguments.length>0&&void 0!==arguments[0]&&arguments[0]?"2":"1"},uniforms:{kernel64:new mR(null),kernel16:new mR(null),inputBuffer:new mR(null),cocBuffer:new mR(null),texelSize:new mR(new cM),scale:new mR(1)},blending:Ck,depthWrite:!1,depthTest:!1,fragmentShader:"#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\nuniform lowp sampler2D cocBuffer;uniform vec2 texelSize;uniform float scale;\n#if PASS == 1\nuniform vec4 kernel64[32];\n#else\nuniform vec4 kernel16[8];\n#endif\nvarying vec2 vUv;void main(){\n#ifdef FOREGROUND\nvec2 CoCNearFar=texture2D(cocBuffer,vUv).rg;float CoC=CoCNearFar.r*scale;\n#else\nfloat CoC=texture2D(cocBuffer,vUv).g*scale;\n#endif\nif(CoC==0.0){gl_FragColor=texture2D(inputBuffer,vUv);}else{\n#ifdef FOREGROUND\nvec2 step=texelSize*max(CoC,CoCNearFar.g*scale);\n#else\nvec2 step=texelSize*CoC;\n#endif\n#if PASS == 1\nvec4 acc=vec4(0.0);for(int i=0;i<32;++i){vec4 kernel=kernel64[i];vec2 uv=step*kernel.xy+vUv;acc+=texture2D(inputBuffer,uv);uv=step*kernel.zw+vUv;acc+=texture2D(inputBuffer,uv);}gl_FragColor=acc/64.0;\n#else\nvec4 maxValue=texture2D(inputBuffer,vUv);for(int i=0;i<8;++i){vec4 kernel=kernel16[i];vec2 uv=step*kernel.xy+vUv;maxValue=max(texture2D(inputBuffer,uv),maxValue);uv=step*kernel.zw+vUv;maxValue=max(texture2D(inputBuffer,uv),maxValue);}gl_FragColor=maxValue;\n#endif\n}}",vertexShader:$1}),this.toneMapped=!1,e&&(this.defines.FOREGROUND="1"),this.generateKernel()}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.uniforms.inputBuffer.value=e}set cocBuffer(e){this.uniforms.cocBuffer.value=e}setCoCBuffer(e){this.uniforms.cocBuffer.value=e}get scale(){return this.uniforms.scale.value}set scale(e){this.uniforms.scale.value=e}getScale(e){return this.uniforms.scale.value=e}setScale(e){this.uniforms.scale.value=e}generateKernel(){let e=new Float32Array(128),t=new Float32Array(32),n=0,r=0;for(let s=0;s<80;++s){let i=2.39996323*s,a=Math.sqrt(s)/Math.sqrt(80),o=a*Math.cos(i),l=a*Math.sin(i);s%5===0?(t[r++]=o,t[r++]=l):(e[n++]=o,e[n++]=l)}let i=[],a=[];for(let s=0;s<128;)i.push(new VM(e[s++],e[s++],e[s++],e[s++]));for(let s=0;s<32;)a.push(new VM(t[s++],t[s++],t[s++],t[s++]));this.uniforms.kernel64.value=i,this.uniforms.kernel16.value=a}setTexelSize(e,t){this.uniforms.texelSize.value.set(e,t)}setSize(e,t){this.uniforms.texelSize.value.set(1/e,1/t)}};function t2(e,t,n){return e*(t-n)-t}function n2(e,t,n){return Math.min(Math.max((e+t)/(t-n),0),1)}var r2=class extends RO{constructor(e){super({name:"CircleOfConfusionMaterial",defines:{DEPTH_PACKING:"0"},uniforms:{depthBuffer:new mR(null),focusDistance:new mR(0),focusRange:new mR(0),cameraNear:new mR(.3),cameraFar:new mR(1e3)},blending:Ck,depthWrite:!1,depthTest:!1,fragmentShader:"#include <common>\n#include <packing>\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nuniform highp sampler2D depthBuffer;\n#else\nuniform mediump sampler2D depthBuffer;\n#endif\nuniform float focusDistance;uniform float focusRange;uniform float cameraNear;uniform float cameraFar;varying vec2 vUv;float readDepth(const in vec2 uv){\n#if DEPTH_PACKING == 3201\nreturn unpackRGBAToDepth(texture2D(depthBuffer,uv));\n#else\nreturn texture2D(depthBuffer,uv).r;\n#endif\n}void main(){float depth=readDepth(vUv);\n#ifdef PERSPECTIVE_CAMERA\nfloat viewZ=perspectiveDepthToViewZ(depth,cameraNear,cameraFar);float linearDepth=viewZToOrthographicDepth(viewZ,cameraNear,cameraFar);\n#else\nfloat linearDepth=depth;\n#endif\nfloat signedDistance=linearDepth-focusDistance;float magnitude=smoothstep(0.0,focusRange,abs(signedDistance));gl_FragColor.rg=magnitude*vec2(step(signedDistance,0.0),step(0.0,signedDistance));}",vertexShader:$1}),this.toneMapped=!1,this.uniforms.focalLength=this.uniforms.focusRange,this.adoptCameraSettings(e)}get near(){return this.uniforms.cameraNear.value}get far(){return this.uniforms.cameraFar.value}set depthBuffer(e){this.uniforms.depthBuffer.value=e}set depthPacking(e){this.defines.DEPTH_PACKING=e.toFixed(0),this.needsUpdate=!0}setDepthBuffer(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:qj;this.depthBuffer=e,this.depthPacking=t}get focusDistance(){return this.uniforms.focusDistance.value}set focusDistance(e){this.uniforms.focusDistance.value=e}get worldFocusDistance(){return-t2(this.focusDistance,this.near,this.far)}set worldFocusDistance(e){this.focusDistance=n2(-e,this.near,this.far)}getFocusDistance(e){this.uniforms.focusDistance.value=e}setFocusDistance(e){this.uniforms.focusDistance.value=e}get focalLength(){return this.focusRange}set focalLength(e){this.focusRange=e}get focusRange(){return this.uniforms.focusRange.value}set focusRange(e){this.uniforms.focusRange.value=e}get worldFocusRange(){return-t2(this.focusRange,this.near,this.far)}set worldFocusRange(e){this.focusRange=n2(-e,this.near,this.far)}getFocalLength(e){return this.focusRange}setFocalLength(e){this.focusRange=e}adoptCameraSettings(e){e&&(this.uniforms.cameraNear.value=e.near,this.uniforms.cameraFar.value=e.far,e instanceof BO?this.defines.PERSPECTIVE_CAMERA="1":delete this.defines.PERSPECTIVE_CAMERA,this.needsUpdate=!0)}},i2=class extends RO{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new cM;super({name:"KawaseBlurMaterial",uniforms:{inputBuffer:new mR(null),texelSize:new mR(new cM),halfTexelSize:new mR(new cM),kernel:new mR(0),scale:new mR(1)},blending:Ck,depthWrite:!1,depthTest:!1,fragmentShader:"#include <common>\n#include <dithering_pars_fragment>\n#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\nvarying vec2 vUv0;varying vec2 vUv1;varying vec2 vUv2;varying vec2 vUv3;void main(){vec4 sum=texture2D(inputBuffer,vUv0);sum+=texture2D(inputBuffer,vUv1);sum+=texture2D(inputBuffer,vUv2);sum+=texture2D(inputBuffer,vUv3);gl_FragColor=sum*0.25;\n#include <encodings_fragment>\n#include <dithering_fragment>\n}",vertexShader:"uniform vec2 texelSize;uniform vec2 halfTexelSize;uniform float kernel;uniform float scale;varying vec2 vUv0;varying vec2 vUv1;varying vec2 vUv2;varying vec2 vUv3;void main(){vec2 uv=position.xy*0.5+0.5;vec2 dUv=(texelSize*vec2(kernel)+halfTexelSize)*scale;vUv0=vec2(uv.x-dUv.x,uv.y+dUv.y);vUv1=vec2(uv.x+dUv.x,uv.y+dUv.y);vUv2=vec2(uv.x+dUv.x,uv.y-dUv.y);vUv3=vec2(uv.x-dUv.x,uv.y-dUv.y);gl_Position=vec4(position.xy,1.0,1.0);}"}),this.toneMapped=!1,this.setTexelSize(e.x,e.y)}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.inputBuffer=e}get scale(){return this.uniforms.scale.value}set scale(e){this.uniforms.scale.value=e}getScale(){return this.uniforms.scale.value}setScale(e){this.uniforms.scale.value=e}getKernel(){return null}get kernel(){return this.uniforms.kernel.value}set kernel(e){this.uniforms.kernel.value=e}setKernel(e){this.kernel=e}setTexelSize(e,t){this.uniforms.texelSize.value.set(e,t),this.uniforms.halfTexelSize.value.set(e,t).multiplyScalar(.5)}setSize(e,t){let n=this.uniforms;n.texelSize.value.set(1/e,1/t),n.halfTexelSize.value.copy(n.texelSize.value).multiplyScalar(.5)}},a2=class extends RO{constructor(){super({name:"CopyMaterial",uniforms:{inputBuffer:new mR(null),opacity:new mR(1)},blending:Ck,depthWrite:!1,depthTest:!1,fragmentShader:"#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\nuniform float opacity;varying vec2 vUv;void main(){vec4 texel=texture2D(inputBuffer,vUv);gl_FragColor=opacity*texel;\n#include <encodings_fragment>\n}",vertexShader:$1}),this.toneMapped=!1}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.uniforms.inputBuffer.value=e}getOpacity(e){return this.uniforms.opacity.value}setOpacity(e){this.uniforms.opacity.value=e}},s2={DEPTH:0,LUMA:1,COLOR:2},o2={DISABLED:0,DEPTH:1,CUSTOM:2},l2=class extends RO{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new cM,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s2.COLOR;super({name:"EdgeDetectionMaterial",defines:{THREE_REVISION:yk.replace(/\D+/g,""),LOCAL_CONTRAST_ADAPTATION_FACTOR:"2.0",EDGE_THRESHOLD:"0.1",DEPTH_THRESHOLD:"0.01",PREDICATION_MODE:"0",PREDICATION_THRESHOLD:"0.01",PREDICATION_SCALE:"2.0",PREDICATION_STRENGTH:"1.0",DEPTH_PACKING:"0"},uniforms:{inputBuffer:new mR(null),depthBuffer:new mR(null),predicationBuffer:new mR(null),texelSize:new mR(e)},blending:Ck,depthWrite:!1,depthTest:!1,fragmentShader:"varying vec2 vUv;varying vec2 vUv0;varying vec2 vUv1;\n#if THREE_REVISION < 143\n#define luminance(v) linearToRelativeLuminance(v)\n#endif\n#if EDGE_DETECTION_MODE != 0\nvarying vec2 vUv2;varying vec2 vUv3;varying vec2 vUv4;varying vec2 vUv5;\n#endif\n#if EDGE_DETECTION_MODE == 1\n#include <common>\n#endif\n#if EDGE_DETECTION_MODE == 0 || PREDICATION_MODE == 1\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nuniform highp sampler2D depthBuffer;\n#else\nuniform mediump sampler2D depthBuffer;\n#endif\nfloat readDepth(const in vec2 uv){\n#if DEPTH_PACKING == 3201\nreturn unpackRGBAToDepth(texture2D(depthBuffer,uv));\n#else\nreturn texture2D(depthBuffer,uv).r;\n#endif\n}vec3 gatherNeighbors(){float p=readDepth(vUv);float pLeft=readDepth(vUv0);float pTop=readDepth(vUv1);return vec3(p,pLeft,pTop);}\n#elif PREDICATION_MODE == 2\nuniform sampler2D predicationBuffer;vec3 gatherNeighbors(){float p=texture2D(predicationBuffer,vUv).r;float pLeft=texture2D(predicationBuffer,vUv0).r;float pTop=texture2D(predicationBuffer,vUv1).r;return vec3(p,pLeft,pTop);}\n#endif\n#if PREDICATION_MODE != 0\nvec2 calculatePredicatedThreshold(){vec3 neighbours=gatherNeighbors();vec2 delta=abs(neighbours.xx-neighbours.yz);vec2 edges=step(PREDICATION_THRESHOLD,delta);return PREDICATION_SCALE*EDGE_THRESHOLD*(1.0-PREDICATION_STRENGTH*edges);}\n#endif\n#if EDGE_DETECTION_MODE != 0\nuniform sampler2D inputBuffer;\n#endif\nvoid main(){\n#if EDGE_DETECTION_MODE == 0\nconst vec2 threshold=vec2(DEPTH_THRESHOLD);\n#elif PREDICATION_MODE != 0\nvec2 threshold=calculatePredicatedThreshold();\n#else\nconst vec2 threshold=vec2(EDGE_THRESHOLD);\n#endif\n#if EDGE_DETECTION_MODE == 0\nvec3 neighbors=gatherNeighbors();vec2 delta=abs(neighbors.xx-vec2(neighbors.y,neighbors.z));vec2 edges=step(threshold,delta);if(dot(edges,vec2(1.0))==0.0){discard;}gl_FragColor=vec4(edges,0.0,1.0);\n#elif EDGE_DETECTION_MODE == 1\nfloat l=luminance(texture2D(inputBuffer,vUv).rgb);float lLeft=luminance(texture2D(inputBuffer,vUv0).rgb);float lTop=luminance(texture2D(inputBuffer,vUv1).rgb);vec4 delta;delta.xy=abs(l-vec2(lLeft,lTop));vec2 edges=step(threshold,delta.xy);if(dot(edges,vec2(1.0))==0.0){discard;}float lRight=luminance(texture2D(inputBuffer,vUv2).rgb);float lBottom=luminance(texture2D(inputBuffer,vUv3).rgb);delta.zw=abs(l-vec2(lRight,lBottom));vec2 maxDelta=max(delta.xy,delta.zw);float lLeftLeft=luminance(texture2D(inputBuffer,vUv4).rgb);float lTopTop=luminance(texture2D(inputBuffer,vUv5).rgb);delta.zw=abs(vec2(lLeft,lTop)-vec2(lLeftLeft,lTopTop));maxDelta=max(maxDelta.xy,delta.zw);float finalDelta=max(maxDelta.x,maxDelta.y);edges.xy*=step(finalDelta,LOCAL_CONTRAST_ADAPTATION_FACTOR*delta.xy);gl_FragColor=vec4(edges,0.0,1.0);\n#elif EDGE_DETECTION_MODE == 2\nvec4 delta;vec3 c=texture2D(inputBuffer,vUv).rgb;vec3 cLeft=texture2D(inputBuffer,vUv0).rgb;vec3 t=abs(c-cLeft);delta.x=max(max(t.r,t.g),t.b);vec3 cTop=texture2D(inputBuffer,vUv1).rgb;t=abs(c-cTop);delta.y=max(max(t.r,t.g),t.b);vec2 edges=step(threshold,delta.xy);if(dot(edges,vec2(1.0))==0.0){discard;}vec3 cRight=texture2D(inputBuffer,vUv2).rgb;t=abs(c-cRight);delta.z=max(max(t.r,t.g),t.b);vec3 cBottom=texture2D(inputBuffer,vUv3).rgb;t=abs(c-cBottom);delta.w=max(max(t.r,t.g),t.b);vec2 maxDelta=max(delta.xy,delta.zw);vec3 cLeftLeft=texture2D(inputBuffer,vUv4).rgb;t=abs(c-cLeftLeft);delta.z=max(max(t.r,t.g),t.b);vec3 cTopTop=texture2D(inputBuffer,vUv5).rgb;t=abs(c-cTopTop);delta.w=max(max(t.r,t.g),t.b);maxDelta=max(maxDelta.xy,delta.zw);float finalDelta=max(maxDelta.x,maxDelta.y);edges*=step(finalDelta,LOCAL_CONTRAST_ADAPTATION_FACTOR*delta.xy);gl_FragColor=vec4(edges,0.0,1.0);\n#endif\n}",vertexShader:"uniform vec2 texelSize;varying vec2 vUv;varying vec2 vUv0;varying vec2 vUv1;\n#if EDGE_DETECTION_MODE != 0\nvarying vec2 vUv2;varying vec2 vUv3;varying vec2 vUv4;varying vec2 vUv5;\n#endif\nvoid main(){vUv=position.xy*0.5+0.5;vUv0=vUv+texelSize*vec2(-1.0,0.0);vUv1=vUv+texelSize*vec2(0.0,-1.0);\n#if EDGE_DETECTION_MODE != 0\nvUv2=vUv+texelSize*vec2(1.0,0.0);vUv3=vUv+texelSize*vec2(0.0,1.0);vUv4=vUv+texelSize*vec2(-2.0,0.0);vUv5=vUv+texelSize*vec2(0.0,-2.0);\n#endif\ngl_Position=vec4(position.xy,1.0,1.0);}"}),this.toneMapped=!1,this.edgeDetectionMode=t}set depthBuffer(e){this.uniforms.depthBuffer.value=e}set depthPacking(e){this.defines.DEPTH_PACKING=e.toFixed(0),this.needsUpdate=!0}setDepthBuffer(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:qj;this.depthBuffer=e,this.depthPacking=t}get edgeDetectionMode(){return Number(this.defines.EDGE_DETECTION_MODE)}set edgeDetectionMode(e){this.defines.EDGE_DETECTION_MODE=e.toFixed(0),this.needsUpdate=!0}getEdgeDetectionMode(){return this.edgeDetectionMode}setEdgeDetectionMode(e){this.edgeDetectionMode=e}get localContrastAdaptationFactor(){return Number(this.defines.LOCAL_CONTRAST_ADAPTATION_FACTOR)}set localContrastAdaptationFactor(e){this.defines.LOCAL_CONTRAST_ADAPTATION_FACTOR=e.toFixed("6"),this.needsUpdate=!0}getLocalContrastAdaptationFactor(){return this.localContrastAdaptationFactor}setLocalContrastAdaptationFactor(e){this.localContrastAdaptationFactor=e}get edgeDetectionThreshold(){return Number(this.defines.EDGE_THRESHOLD)}set edgeDetectionThreshold(e){this.defines.EDGE_THRESHOLD=e.toFixed("6"),this.defines.DEPTH_THRESHOLD=(.1*e).toFixed("6"),this.needsUpdate=!0}getEdgeDetectionThreshold(){return this.edgeDetectionThreshold}setEdgeDetectionThreshold(e){this.edgeDetectionThreshold=e}get predicationMode(){return Number(this.defines.PREDICATION_MODE)}set predicationMode(e){this.defines.PREDICATION_MODE=e.toFixed(0),this.needsUpdate=!0}getPredicationMode(){return this.predicationMode}setPredicationMode(e){this.predicationMode=e}set predicationBuffer(e){this.uniforms.predicationBuffer.value=e}setPredicationBuffer(e){this.uniforms.predicationBuffer.value=e}get predicationThreshold(){return Number(this.defines.PREDICATION_THRESHOLD)}set predicationThreshold(e){this.defines.PREDICATION_THRESHOLD=e.toFixed("6"),this.needsUpdate=!0}getPredicationThreshold(){return this.predicationThreshold}setPredicationThreshold(e){this.predicationThreshold=e}get predicationScale(){return Number(this.defines.PREDICATION_SCALE)}set predicationScale(e){this.defines.PREDICATION_SCALE=e.toFixed("6"),this.needsUpdate=!0}getPredicationScale(){return this.predicationScale}setPredicationScale(e){this.predicationScale=e}get predicationStrength(){return Number(this.defines.PREDICATION_STRENGTH)}set predicationStrength(e){this.defines.PREDICATION_STRENGTH=e.toFixed("6"),this.needsUpdate=!0}getPredicationStrength(){return this.predicationStrength}setPredicationStrength(e){this.predicationStrength=e}setSize(e,t){this.uniforms.texelSize.value.set(1/e,1/t)}},c2={FRAGMENT_HEAD:"FRAGMENT_HEAD",FRAGMENT_MAIN_UV:"FRAGMENT_MAIN_UV",FRAGMENT_MAIN_IMAGE:"FRAGMENT_MAIN_IMAGE",VERTEX_HEAD:"VERTEX_HEAD",VERTEX_MAIN_SUPPORT:"VERTEX_MAIN_SUPPORT"},d2=class extends RO{constructor(e,t,n,r){let i=arguments.length>4&&void 0!==arguments[4]&&arguments[4];super({name:"EffectMaterial",defines:{THREE_REVISION:yk.replace(/\D+/g,""),DEPTH_PACKING:"0",ENCODE_OUTPUT:"1"},uniforms:{inputBuffer:new mR(null),depthBuffer:new mR(null),resolution:new mR(new cM),texelSize:new mR(new cM),cameraNear:new mR(.3),cameraFar:new mR(1e3),aspect:new mR(1),time:new mR(0)},blending:Ck,depthWrite:!1,depthTest:!1,dithering:i}),this.toneMapped=!1,e&&this.setShaderParts(e),t&&this.setDefines(t),n&&this.setUniforms(n),this.adoptCameraSettings(r)}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.uniforms.inputBuffer.value=e}get depthBuffer(){return this.uniforms.depthBuffer.value}set depthBuffer(e){this.uniforms.depthBuffer.value=e}get depthPacking(){return Number(this.defines.DEPTH_PACKING)}set depthPacking(e){this.defines.DEPTH_PACKING=e.toFixed(0),this.needsUpdate=!0}setDepthBuffer(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:qj;this.depthBuffer=e,this.depthPacking=t}setShaderParts(e){return this.fragmentShader="#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#define packFloatToRGBA(v) packDepthToRGBA(v)\n#define unpackRGBAToFloat(v) unpackRGBAToDepth(v)\n#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nuniform highp sampler2D depthBuffer;\n#else\nuniform mediump sampler2D depthBuffer;\n#endif\nuniform vec2 resolution;uniform vec2 texelSize;uniform float cameraNear;uniform float cameraFar;uniform float aspect;uniform float time;varying vec2 vUv;\n#if THREE_REVISION < 143\n#define luminance(v) linearToRelativeLuminance(v)\n#endif\n#if THREE_REVISION >= 137\nvec4 sRGBToLinear(const in vec4 value){return vec4(mix(pow(value.rgb*0.9478672986+vec3(0.0521327014),vec3(2.4)),value.rgb*0.0773993808,vec3(lessThanEqual(value.rgb,vec3(0.04045)))),value.a);}\n#endif\nfloat readDepth(const in vec2 uv){\n#if DEPTH_PACKING == 3201\nreturn unpackRGBAToDepth(texture2D(depthBuffer,uv));\n#else\nreturn texture2D(depthBuffer,uv).r;\n#endif\n}float getViewZ(const in float depth){\n#ifdef PERSPECTIVE_CAMERA\nreturn perspectiveDepthToViewZ(depth,cameraNear,cameraFar);\n#else\nreturn orthographicDepthToViewZ(depth,cameraNear,cameraFar);\n#endif\n}FRAGMENT_HEADvoid main(){FRAGMENT_MAIN_UVvec4 color0=texture2D(inputBuffer,UV);vec4 color1=vec4(0.0);FRAGMENT_MAIN_IMAGEgl_FragColor=color0;\n#ifdef ENCODE_OUTPUT\n#include <encodings_fragment>\n#endif\n#include <dithering_fragment>\n}".replace(c2.FRAGMENT_HEAD,e.get(c2.FRAGMENT_HEAD)).replace(c2.FRAGMENT_MAIN_UV,e.get(c2.FRAGMENT_MAIN_UV)).replace(c2.FRAGMENT_MAIN_IMAGE,e.get(c2.FRAGMENT_MAIN_IMAGE)),this.vertexShader="uniform vec2 resolution;uniform vec2 texelSize;uniform float cameraNear;uniform float cameraFar;uniform float aspect;uniform float time;varying vec2 vUv;VERTEX_HEADvoid main(){vUv=position.xy*0.5+0.5;VERTEX_MAIN_SUPPORTgl_Position=vec4(position.xy,1.0,1.0);}".replace(c2.VERTEX_HEAD,e.get(c2.VERTEX_HEAD)).replace(c2.VERTEX_MAIN_SUPPORT,e.get(c2.VERTEX_MAIN_SUPPORT)),this.needsUpdate=!0,this}setDefines(e){for(let t of e.entries())this.defines[t[0]]=t[1];return this.needsUpdate=!0,this}setUniforms(e){for(let t of e.entries())this.uniforms[t[0]]=t[1];return this}setExtensions(e){this.extensions={};for(let t of e)this.extensions[t]=!0;return this}get encodeOutput(){return void 0!==this.defines.ENCODE_OUTPUT}set encodeOutput(e){this.encodeOutput!==e&&(e?this.defines.ENCODE_OUTPUT="1":delete this.defines.ENCODE_OUTPUT,this.needsUpdate=!0)}isOutputEncodingEnabled(e){return this.encodeOutput}setOutputEncodingEnabled(e){this.encodeOutput=e}get time(){return this.uniforms.time.value}set time(e){this.uniforms.time.value=e}setDeltaTime(e){this.uniforms.time.value+=e}adoptCameraSettings(e){e&&(this.uniforms.cameraNear.value=e.near,this.uniforms.cameraFar.value=e.far,e instanceof BO?this.defines.PERSPECTIVE_CAMERA="1":delete this.defines.PERSPECTIVE_CAMERA,this.needsUpdate=!0)}setSize(e,t){let n=this.uniforms;n.resolution.value.set(e,t),n.texelSize.value.set(1/e,1/t),n.aspect.value=e/t}static get Section(){return c2}},h2=class extends RO{constructor(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;super({name:"LuminanceMaterial",defines:{THREE_REVISION:yk.replace(/\D+/g,"")},uniforms:{inputBuffer:new mR(null),threshold:new mR(0),smoothing:new mR(1),range:new mR(null)},blending:Ck,depthWrite:!1,depthTest:!1,fragmentShader:"#include <common>\n#if THREE_REVISION < 143\n#define luminance(v) linearToRelativeLuminance(v)\n#endif\n#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\n#ifdef RANGE\nuniform vec2 range;\n#elif defined(THRESHOLD)\nuniform float threshold;uniform float smoothing;\n#endif\nvarying vec2 vUv;void main(){vec4 texel=texture2D(inputBuffer,vUv);float l=luminance(texel.rgb);\n#ifdef RANGE\nfloat low=step(range.x,l);float high=step(l,range.y);l*=low*high;\n#elif defined(THRESHOLD)\nl=smoothstep(threshold,threshold+smoothing,l);\n#endif\n#ifdef COLOR\ngl_FragColor=vec4(texel.rgb*l,l);\n#else\ngl_FragColor=vec4(l);\n#endif\n}",vertexShader:$1}),this.toneMapped=!1,this.colorOutput=e,this.luminanceRange=t}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.uniforms.inputBuffer.value=e}get threshold(){return this.uniforms.threshold.value}set threshold(e){this.smoothing>0||e>0?this.defines.THRESHOLD="1":delete this.defines.THRESHOLD,this.uniforms.threshold.value=e}getThreshold(){return this.threshold}setThreshold(e){this.threshold=e}get smoothing(){return this.uniforms.smoothing.value}set smoothing(e){this.threshold>0||e>0?this.defines.THRESHOLD="1":delete this.defines.THRESHOLD,this.uniforms.smoothing.value=e}getSmoothingFactor(){return this.smoothing}setSmoothingFactor(e){this.smoothing=e}get useThreshold(){return this.threshold>0||this.smoothing>0}set useThreshold(e){}get colorOutput(){return void 0!==this.defines.COLOR}set colorOutput(e){e?this.defines.COLOR="1":delete this.defines.COLOR,this.needsUpdate=!0}isColorOutputEnabled(e){return this.colorOutput}setColorOutputEnabled(e){this.colorOutput=e}get useRange(){return null!==this.luminanceRange}set useRange(e){this.luminanceRange=null}get luminanceRange(){return this.uniforms.range.value}set luminanceRange(e){null!==e?this.defines.RANGE="1":delete this.defines.RANGE,this.uniforms.range.value=e,this.needsUpdate=!0}getLuminanceRange(){return this.luminanceRange}setLuminanceRange(e){this.luminanceRange=e}},u2=0,p2=1,f2=class extends RO{constructor(){super({name:"MaskMaterial",uniforms:{maskTexture:new mR(arguments.length>0&&void 0!==arguments[0]?arguments[0]:null),inputBuffer:new mR(null),strength:new mR(1)},blending:Ck,depthWrite:!1,depthTest:!1,fragmentShader:"#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\n#ifdef MASK_PRECISION_HIGH\nuniform mediump sampler2D maskTexture;\n#else\nuniform lowp sampler2D maskTexture;\n#endif\n#if MASK_FUNCTION != 0\nuniform float strength;\n#endif\nvarying vec2 vUv;void main(){\n#if COLOR_CHANNEL == 0\nfloat mask=texture2D(maskTexture,vUv).r;\n#elif COLOR_CHANNEL == 1\nfloat mask=texture2D(maskTexture,vUv).g;\n#elif COLOR_CHANNEL == 2\nfloat mask=texture2D(maskTexture,vUv).b;\n#else\nfloat mask=texture2D(maskTexture,vUv).a;\n#endif\n#if MASK_FUNCTION == 0\n#ifdef INVERTED\nmask=step(mask,0.0);\n#else\nmask=1.0-step(mask,0.0);\n#endif\n#else\nmask=clamp(mask*strength,0.0,1.0);\n#ifdef INVERTED\nmask=1.0-mask;\n#endif\n#endif\n#if MASK_FUNCTION == 2\ngl_FragColor=vec4(mask*texture2D(inputBuffer,vUv).rgb,mask);\n#else\ngl_FragColor=mask*texture2D(inputBuffer,vUv);\n#endif\n}",vertexShader:$1}),this.toneMapped=!1,this.setColorChannel(X1),this.setMaskFunction(u2)}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.uniforms.inputBuffer.value=e}set maskTexture(e){this.uniforms.maskTexture.value=e,delete this.defines.MASK_PRECISION_HIGH,e.type!==Iw&&(this.defines.MASK_PRECISION_HIGH="1"),this.needsUpdate=!0}setMaskTexture(e){this.maskTexture=e}set colorChannel(e){this.defines.COLOR_CHANNEL=e.toFixed(0),this.needsUpdate=!0}setColorChannel(e){this.colorChannel=e}set maskFunction(e){this.defines.MASK_FUNCTION=e.toFixed(0),this.needsUpdate=!0}setMaskFunction(e){this.maskFunction=e}get inverted(){return void 0!==this.defines.INVERTED}set inverted(e){this.inverted&&!e?delete this.defines.INVERTED:e&&(this.defines.INVERTED="1"),this.needsUpdate=!0}isInverted(){return this.inverted}setInverted(e){this.inverted=e}get strength(){return this.uniforms.strength.value}set strength(e){this.uniforms.strength.value=e}getStrength(){return this.strength}setStrength(e){this.strength=e}},m2=class extends RO{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new cM,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new cM;super({name:"SMAAWeightsMaterial",defines:{MAX_SEARCH_STEPS_INT:"16",MAX_SEARCH_STEPS_FLOAT:"16.0",MAX_SEARCH_STEPS_DIAG_INT:"8",MAX_SEARCH_STEPS_DIAG_FLOAT:"8.0",CORNER_ROUNDING:"25",CORNER_ROUNDING_NORM:"0.25",AREATEX_MAX_DISTANCE:"16.0",AREATEX_MAX_DISTANCE_DIAG:"20.0",AREATEX_PIXEL_SIZE:"(1.0 / vec2(160.0, 560.0))",AREATEX_SUBTEX_SIZE:"(1.0 / 7.0)",SEARCHTEX_SIZE:"vec2(66.0, 33.0)",SEARCHTEX_PACKED_SIZE:"vec2(64.0, 16.0)"},uniforms:{inputBuffer:new mR(null),searchTexture:new mR(null),areaTexture:new mR(null),resolution:new mR(t),texelSize:new mR(e)},blending:Ck,depthWrite:!1,depthTest:!1,fragmentShader:"#define sampleLevelZeroOffset(t, coord, offset) texture2D(t, coord + offset * texelSize)\n#if __VERSION__ < 300\n#define round(v) floor(v + 0.5)\n#endif\n#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D inputBuffer;\n#else\nuniform lowp sampler2D inputBuffer;\n#endif\nuniform lowp sampler2D areaTexture;uniform lowp sampler2D searchTexture;uniform vec2 texelSize;uniform vec2 resolution;varying vec2 vUv;varying vec4 vOffset[3];varying vec2 vPixCoord;void movec(const in bvec2 c,inout vec2 variable,const in vec2 value){if(c.x){variable.x=value.x;}if(c.y){variable.y=value.y;}}void movec(const in bvec4 c,inout vec4 variable,const in vec4 value){movec(c.xy,variable.xy,value.xy);movec(c.zw,variable.zw,value.zw);}vec2 decodeDiagBilinearAccess(in vec2 e){e.r=e.r*abs(5.0*e.r-5.0*0.75);return round(e);}vec4 decodeDiagBilinearAccess(in vec4 e){e.rb=e.rb*abs(5.0*e.rb-5.0*0.75);return round(e);}vec2 searchDiag1(const in vec2 texCoord,const in vec2 dir,out vec2 e){vec4 coord=vec4(texCoord,-1.0,1.0);vec3 t=vec3(texelSize,1.0);for(int i=0;i<MAX_SEARCH_STEPS_INT;++i){if(!(coord.z<float(MAX_SEARCH_STEPS_DIAG_INT-1)&&coord.w>0.9)){break;}coord.xyz=t*vec3(dir,1.0)+coord.xyz;e=texture2D(inputBuffer,coord.xy).rg;coord.w=dot(e,vec2(0.5));}return coord.zw;}vec2 searchDiag2(const in vec2 texCoord,const in vec2 dir,out vec2 e){vec4 coord=vec4(texCoord,-1.0,1.0);coord.x+=0.25*texelSize.x;vec3 t=vec3(texelSize,1.0);for(int i=0;i<MAX_SEARCH_STEPS_INT;++i){if(!(coord.z<float(MAX_SEARCH_STEPS_DIAG_INT-1)&&coord.w>0.9)){break;}coord.xyz=t*vec3(dir,1.0)+coord.xyz;e=texture2D(inputBuffer,coord.xy).rg;e=decodeDiagBilinearAccess(e);coord.w=dot(e,vec2(0.5));}return coord.zw;}vec2 areaDiag(const in vec2 dist,const in vec2 e,const in float offset){vec2 texCoord=vec2(AREATEX_MAX_DISTANCE_DIAG,AREATEX_MAX_DISTANCE_DIAG)*e+dist;texCoord=AREATEX_PIXEL_SIZE*texCoord+0.5*AREATEX_PIXEL_SIZE;texCoord.x+=0.5;texCoord.y+=AREATEX_SUBTEX_SIZE*offset;return texture2D(areaTexture,texCoord).rg;}vec2 calculateDiagWeights(const in vec2 texCoord,const in vec2 e,const in vec4 subsampleIndices){vec2 weights=vec2(0.0);vec4 d;vec2 end;if(e.r>0.0){d.xz=searchDiag1(texCoord,vec2(-1.0,1.0),end);d.x+=float(end.y>0.9);}else{d.xz=vec2(0.0);}d.yw=searchDiag1(texCoord,vec2(1.0,-1.0),end);if(d.x+d.y>2.0){vec4 coords=vec4(-d.x+0.25,d.x,d.y,-d.y-0.25)*texelSize.xyxy+texCoord.xyxy;vec4 c;c.xy=sampleLevelZeroOffset(inputBuffer,coords.xy,vec2(-1,0)).rg;c.zw=sampleLevelZeroOffset(inputBuffer,coords.zw,vec2(1,0)).rg;c.yxwz=decodeDiagBilinearAccess(c.xyzw);vec2 cc=vec2(2.0)*c.xz+c.yw;movec(bvec2(step(0.9,d.zw)),cc,vec2(0.0));weights+=areaDiag(d.xy,cc,subsampleIndices.z);}d.xz=searchDiag2(texCoord,vec2(-1.0,-1.0),end);if(sampleLevelZeroOffset(inputBuffer,texCoord,vec2(1,0)).r>0.0){d.yw=searchDiag2(texCoord,vec2(1.0),end);d.y+=float(end.y>0.9);}else{d.yw=vec2(0.0);}if(d.x+d.y>2.0){vec4 coords=vec4(-d.x,-d.x,d.y,d.y)*texelSize.xyxy+texCoord.xyxy;vec4 c;c.x=sampleLevelZeroOffset(inputBuffer,coords.xy,vec2(-1,0)).g;c.y=sampleLevelZeroOffset(inputBuffer,coords.xy,vec2(0,-1)).r;c.zw=sampleLevelZeroOffset(inputBuffer,coords.zw,vec2(1,0)).gr;vec2 cc=vec2(2.0)*c.xz+c.yw;movec(bvec2(step(0.9,d.zw)),cc,vec2(0.0));weights+=areaDiag(d.xy,cc,subsampleIndices.w).gr;}return weights;}float searchLength(const in vec2 e,const in float offset){vec2 scale=SEARCHTEX_SIZE*vec2(0.5,-1.0);vec2 bias=SEARCHTEX_SIZE*vec2(offset,1.0);scale+=vec2(-1.0,1.0);bias+=vec2(0.5,-0.5);scale*=1.0/SEARCHTEX_PACKED_SIZE;bias*=1.0/SEARCHTEX_PACKED_SIZE;return texture2D(searchTexture,scale*e+bias).r;}float searchXLeft(in vec2 texCoord,const in float end){vec2 e=vec2(0.0,1.0);for(int i=0;i<MAX_SEARCH_STEPS_INT;++i){if(!(texCoord.x>end&&e.g>0.8281&&e.r==0.0)){break;}e=texture2D(inputBuffer,texCoord).rg;texCoord=vec2(-2.0,0.0)*texelSize+texCoord;}float offset=-(255.0/127.0)*searchLength(e,0.0)+3.25;return texelSize.x*offset+texCoord.x;}float searchXRight(vec2 texCoord,const in float end){vec2 e=vec2(0.0,1.0);for(int i=0;i<MAX_SEARCH_STEPS_INT;++i){if(!(texCoord.x<end&&e.g>0.8281&&e.r==0.0)){break;}e=texture2D(inputBuffer,texCoord).rg;texCoord=vec2(2.0,0.0)*texelSize.xy+texCoord;}float offset=-(255.0/127.0)*searchLength(e,0.5)+3.25;return-texelSize.x*offset+texCoord.x;}float searchYUp(vec2 texCoord,const in float end){vec2 e=vec2(1.0,0.0);for(int i=0;i<MAX_SEARCH_STEPS_INT;++i){if(!(texCoord.y>end&&e.r>0.8281&&e.g==0.0)){break;}e=texture2D(inputBuffer,texCoord).rg;texCoord=-vec2(0.0,2.0)*texelSize.xy+texCoord;}float offset=-(255.0/127.0)*searchLength(e.gr,0.0)+3.25;return texelSize.y*offset+texCoord.y;}float searchYDown(vec2 texCoord,const in float end){vec2 e=vec2(1.0,0.0);for(int i=0;i<MAX_SEARCH_STEPS_INT;i++){if(!(texCoord.y<end&&e.r>0.8281&&e.g==0.0)){break;}e=texture2D(inputBuffer,texCoord).rg;texCoord=vec2(0.0,2.0)*texelSize.xy+texCoord;}float offset=-(255.0/127.0)*searchLength(e.gr,0.5)+3.25;return-texelSize.y*offset+texCoord.y;}vec2 area(const in vec2 dist,const in float e1,const in float e2,const in float offset){vec2 texCoord=vec2(AREATEX_MAX_DISTANCE)*round(4.0*vec2(e1,e2))+dist;texCoord=AREATEX_PIXEL_SIZE*texCoord+0.5*AREATEX_PIXEL_SIZE;texCoord.y=AREATEX_SUBTEX_SIZE*offset+texCoord.y;return texture2D(areaTexture,texCoord).rg;}void detectHorizontalCornerPattern(inout vec2 weights,const in vec4 texCoord,const in vec2 d){\n#if !defined(DISABLE_CORNER_DETECTION)\nvec2 leftRight=step(d.xy,d.yx);vec2 rounding=(1.0-CORNER_ROUNDING_NORM)*leftRight;rounding/=leftRight.x+leftRight.y;vec2 factor=vec2(1.0);factor.x-=rounding.x*sampleLevelZeroOffset(inputBuffer,texCoord.xy,vec2(0,1)).r;factor.x-=rounding.y*sampleLevelZeroOffset(inputBuffer,texCoord.zw,vec2(1,1)).r;factor.y-=rounding.x*sampleLevelZeroOffset(inputBuffer,texCoord.xy,vec2(0,-2)).r;factor.y-=rounding.y*sampleLevelZeroOffset(inputBuffer,texCoord.zw,vec2(1,-2)).r;weights*=clamp(factor,0.0,1.0);\n#endif\n}void detectVerticalCornerPattern(inout vec2 weights,const in vec4 texCoord,const in vec2 d){\n#if !defined(DISABLE_CORNER_DETECTION)\nvec2 leftRight=step(d.xy,d.yx);vec2 rounding=(1.0-CORNER_ROUNDING_NORM)*leftRight;rounding/=leftRight.x+leftRight.y;vec2 factor=vec2(1.0);factor.x-=rounding.x*sampleLevelZeroOffset(inputBuffer,texCoord.xy,vec2(1,0)).g;factor.x-=rounding.y*sampleLevelZeroOffset(inputBuffer,texCoord.zw,vec2(1,1)).g;factor.y-=rounding.x*sampleLevelZeroOffset(inputBuffer,texCoord.xy,vec2(-2,0)).g;factor.y-=rounding.y*sampleLevelZeroOffset(inputBuffer,texCoord.zw,vec2(-2,1)).g;weights*=clamp(factor,0.0,1.0);\n#endif\n}void main(){vec4 weights=vec4(0.0);vec4 subsampleIndices=vec4(0.0);vec2 e=texture2D(inputBuffer,vUv).rg;if(e.g>0.0){\n#if !defined(DISABLE_DIAG_DETECTION)\nweights.rg=calculateDiagWeights(vUv,e,subsampleIndices);if(weights.r==-weights.g){\n#endif\nvec2 d;vec3 coords;coords.x=searchXLeft(vOffset[0].xy,vOffset[2].x);coords.y=vOffset[1].y;d.x=coords.x;float e1=texture2D(inputBuffer,coords.xy).r;coords.z=searchXRight(vOffset[0].zw,vOffset[2].y);d.y=coords.z;d=round(resolution.xx*d+-vPixCoord.xx);vec2 sqrtD=sqrt(abs(d));float e2=sampleLevelZeroOffset(inputBuffer,coords.zy,vec2(1,0)).r;weights.rg=area(sqrtD,e1,e2,subsampleIndices.y);coords.y=vUv.y;detectHorizontalCornerPattern(weights.rg,coords.xyzy,d);\n#if !defined(DISABLE_DIAG_DETECTION)\n}else{e.r=0.0;}\n#endif\n}if(e.r>0.0){vec2 d;vec3 coords;coords.y=searchYUp(vOffset[1].xy,vOffset[2].z);coords.x=vOffset[0].x;d.x=coords.y;float e1=texture2D(inputBuffer,coords.xy).g;coords.z=searchYDown(vOffset[1].zw,vOffset[2].w);d.y=coords.z;d=round(resolution.yy*d-vPixCoord.yy);vec2 sqrtD=sqrt(abs(d));float e2=sampleLevelZeroOffset(inputBuffer,coords.xz,vec2(0,1)).g;weights.ba=area(sqrtD,e1,e2,subsampleIndices.x);coords.x=vUv.x;detectVerticalCornerPattern(weights.ba,coords.xyxz,d);}gl_FragColor=weights;}",vertexShader:"uniform vec2 texelSize;uniform vec2 resolution;varying vec2 vUv;varying vec4 vOffset[3];varying vec2 vPixCoord;void main(){vUv=position.xy*0.5+0.5;vPixCoord=vUv*resolution;vOffset[0]=vUv.xyxy+texelSize.xyxy*vec4(-0.25,-0.125,1.25,-0.125);vOffset[1]=vUv.xyxy+texelSize.xyxy*vec4(-0.125,-0.25,-0.125,1.25);vOffset[2]=vec4(vOffset[0].xz,vOffset[1].yw)+vec4(-2.0,2.0,-2.0,2.0)*texelSize.xxyy*MAX_SEARCH_STEPS_FLOAT;gl_Position=vec4(position.xy,1.0,1.0);}"}),this.toneMapped=!1}set inputBuffer(e){this.uniforms.inputBuffer.value=e}setInputBuffer(e){this.uniforms.inputBuffer.value=e}get searchTexture(){return this.uniforms.searchTexture.value}set searchTexture(e){this.uniforms.searchTexture.value=e}get areaTexture(){return this.uniforms.areaTexture.value}set areaTexture(e){this.uniforms.areaTexture.value=e}setLookupTextures(e,t){this.searchTexture=e,this.areaTexture=t}get orthogonalSearchSteps(){return Number(this.defines.MAX_SEARCH_STEPS_INT)}set orthogonalSearchSteps(e){let t=Math.min(Math.max(e,0),112);this.defines.MAX_SEARCH_STEPS_INT=t.toFixed("0"),this.defines.MAX_SEARCH_STEPS_FLOAT=t.toFixed("1"),this.needsUpdate=!0}setOrthogonalSearchSteps(e){this.orthogonalSearchSteps=e}get diagonalSearchSteps(){return Number(this.defines.MAX_SEARCH_STEPS_DIAG_INT)}set diagonalSearchSteps(e){let t=Math.min(Math.max(e,0),20);this.defines.MAX_SEARCH_STEPS_DIAG_INT=t.toFixed("0"),this.defines.MAX_SEARCH_STEPS_DIAG_FLOAT=t.toFixed("1"),this.needsUpdate=!0}setDiagonalSearchSteps(e){this.diagonalSearchSteps=e}get diagonalDetection(){return void 0===this.defines.DISABLE_DIAG_DETECTION}set diagonalDetection(e){e?delete this.defines.DISABLE_DIAG_DETECTION:this.defines.DISABLE_DIAG_DETECTION="1",this.needsUpdate=!0}isDiagonalDetectionEnabled(){return this.diagonalDetection}setDiagonalDetectionEnabled(e){this.diagonalDetection=e}get cornerRounding(){return Number(this.defines.CORNER_ROUNDING)}set cornerRounding(e){let t=Math.min(Math.max(e,0),100);this.defines.CORNER_ROUNDING=t.toFixed("4"),this.defines.CORNER_ROUNDING_NORM=(t/100).toFixed("4"),this.needsUpdate=!0}setCornerRounding(e){this.cornerRounding=e}get cornerDetection(){return void 0===this.defines.DISABLE_CORNER_DETECTION}set cornerDetection(e){e?delete this.defines.DISABLE_CORNER_DETECTION:this.defines.DISABLE_CORNER_DETECTION="1",this.needsUpdate=!0}isCornerRoundingEnabled(){return this.cornerDetection}setCornerRoundingEnabled(e){this.cornerDetection=e}setSize(e,t){let n=this.uniforms;n.texelSize.value.set(1/e,1/t),n.resolution.value.set(e,t)}},g2=new DO,y2=null;var v2=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Pass",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new TC,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:g2;this.name=e,this.renderer=null,this.scene=t,this.camera=n,this.screen=null,this.rtt=!0,this.needsSwap=!0,this.needsDepthTexture=!1,this.enabled=!0}get renderToScreen(){return!this.rtt}set renderToScreen(e){if(this.rtt===e){let t=this.getFullscreenMaterial();null!==t&&(t.needsUpdate=!0),this.rtt=!e}}setRenderer(e){this.renderer=e}isEnabled(){return this.enabled}setEnabled(e){this.enabled=e}get fullscreenMaterial(){return null!==this.screen?this.screen.material:null}set fullscreenMaterial(e){let t=this.screen;null!==t?t.material=e:(t=new PO(function(){if(null===y2){let e=new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),t=new Float32Array([0,0,2,0,0,2]);void 0!==(y2=new pO).setAttribute?(y2.setAttribute("position",new nO(e,3)),y2.setAttribute("uv",new nO(t,2))):(y2.addAttribute("position",new nO(e,3)),y2.addAttribute("uv",new nO(t,2)))}return y2}(),e),t.frustumCulled=!1,null===this.scene&&(this.scene=new TC),this.scene.add(t),this.screen=t)}getFullscreenMaterial(){return this.fullscreenMaterial}setFullscreenMaterial(e){this.fullscreenMaterial=e}getDepthTexture(){return null}setDepthTexture(e){}render(e,t,n,r,i){throw new Error("Render method not implemented!")}setSize(e,t){}initialize(e,t,n){}dispose(){for(let e of Object.keys(this)){let t=this[e];if(null!==t&&"function"==typeof t.dispose){if(t instanceof TC||t===this.renderer)continue;this[e].dispose()}}}},x2=class extends v2{constructor(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];super("CopyPass"),this.fullscreenMaterial=new a2,this.needsSwap=!1,this.renderTarget=e,void 0===e&&(this.renderTarget=new RM(1,1,{minFilter:Pw,magFilter:Pw,stencilBuffer:!1,depthBuffer:!1}),this.renderTarget.texture.name="CopyPass.Target"),this.autoResize=t}get resize(){return this.autoResize}set resize(e){this.autoResize=e}get texture(){return this.renderTarget.texture}getTexture(){return this.renderTarget.texture}setAutoResizeEnabled(e){this.autoResize=e}render(e,t,n,r,i){this.fullscreenMaterial.inputBuffer=t.texture,e.setRenderTarget(this.renderToScreen?null:this.renderTarget),e.render(this.scene,this.camera)}setSize(e,t){this.autoResize&&this.renderTarget.setSize(e,t)}initialize(e,t,n){void 0!==n&&(this.renderTarget.texture.type=n,n!==Iw?this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1":e.outputEncoding===Gj&&(this.renderTarget.texture.encoding=Gj))}},S2=class extends v2{constructor(){super("ClearMaskPass",null,null),this.needsSwap=!1}render(e,t,n,r,i){let a=e.state.buffers.stencil;a.setLocked(!1),a.setTest(!1)}},A2=new MM,b2=class extends v2{constructor(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];super("ClearPass",null,null),this.needsSwap=!1,this.color=e,this.depth=t,this.stencil=n,this.overrideClearColor=null,this.overrideClearAlpha=-1}setClearFlags(e,t,n){this.color=e,this.depth=t,this.stencil=n}getOverrideClearColor(){return this.overrideClearColor}setOverrideClearColor(e){this.overrideClearColor=e}getOverrideClearAlpha(){return this.overrideClearAlpha}setOverrideClearAlpha(e){this.overrideClearAlpha=e}render(e,t,n,r,i){let a=this.overrideClearColor,s=this.overrideClearAlpha,o=e.getClearAlpha(),l=null!==a,c=s>=0;l?(A2.copy(e.getClearColor(A2)),e.setClearColor(a,c?s:o)):c&&e.setClearAlpha(s),e.setRenderTarget(this.renderToScreen?null:t),e.clear(this.color,this.depth,this.stencil),l?e.setClearColor(A2,o):c&&e.setClearAlpha(o)}},k2=-1,w2=class extends Zj{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:k2,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:k2,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;super(),this.resizable=e,this.base=new cM(1,1),this.preferred=new cM(t,n),this.target=this.preferred,this.s=r}get width(){let e,{base:t,preferred:n,scale:r}=this;return e=n.width!==k2?n.width:n.height!==k2?Math.round(n.height*(t.width/Math.max(t.height,1))):Math.round(t.width*r),e}set width(e){this.preferredWidth=e}get height(){let e,{base:t,preferred:n,scale:r}=this;return e=n.height!==k2?n.height:n.width!==k2?Math.round(n.width/Math.max(t.width/Math.max(t.height,1),1)):Math.round(t.height*r),e}set height(e){this.preferredHeight=e}getWidth(){return this.width}getHeight(){return this.height}get scale(){return this.s}set scale(e){this.s!==e&&(this.s=e,this.preferred.setScalar(k2),this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}getScale(){return this.scale}setScale(e){this.scale=e}get baseWidth(){return this.base.width}set baseWidth(e){this.base.width!==e&&(this.base.width=e,this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}getBaseWidth(){return this.base.width}setBaseWidth(e){this.base.width!==e&&(this.base.width=e,this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}get baseHeight(){return this.base.height}set baseHeight(e){this.base.height!==e&&(this.base.height=e,this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}getBaseHeight(){return this.baseHeight}setBaseHeight(e){this.baseHeight=e}setBaseSize(e,t){(this.base.width!==e||this.base.height!==t)&&(this.base.set(e,t),this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}get preferredWidth(){return this.preferred.width}set preferredWidth(e){this.preferred.width!==e&&(this.preferred.width=e,this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}getPreferredWidth(){return this.preferredWidth}setPreferredWidth(e){this.preferredWidth=e}get preferredHeight(){return this.preferred.height}set preferredHeight(e){this.preferred.height!==e&&(this.preferred.height=e,this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}getPreferredHeight(){return this.preferredHeight}setPreferredHeight(e){this.preferredHeight=e}setPreferredSize(e,t){(this.preferred.width!==e||this.preferred.height!==t)&&(this.preferred.set(e,t),this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height))}copy(e){this.base.set(e.getBaseWidth(),e.getBaseHeight()),this.preferred.set(e.getPreferredWidth(),e.getPreferredHeight()),this.dispatchEvent({type:"change"}),this.resizable.setSize(this.base.width,this.base.height)}static get AUTO_SIZE(){return k2}},j2=!1,M2=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.originalMaterials=new Map,this.material=null,this.materials=null,this.materialsBackSide=null,this.materialsDoubleSide=null,this.materialsFlatShaded=null,this.materialsFlatShadedBackSide=null,this.materialsFlatShadedDoubleSide=null,this.setMaterial(e),this.meshCount=0,this.replaceMaterial=e=>{if(e.isMesh){let t;if(e.material.flatShading)switch(e.material.side){case Ik:t=this.materialsFlatShadedDoubleSide;break;case Tk:t=this.materialsFlatShadedBackSide;break;default:t=this.materialsFlatShaded}else switch(e.material.side){case Ik:t=this.materialsDoubleSide;break;case Tk:t=this.materialsBackSide;break;default:t=this.materials}this.originalMaterials.set(e,e.material),e.isSkinnedMesh?e.material=t[2]:e.isInstancedMesh?e.material=t[1]:e.material=t[0],++this.meshCount}}}setMaterial(e){if(this.disposeMaterials(),this.material=e,null!==e){let t=this.materials=[e.clone(),e.clone(),e.clone()];for(let n of t)n.uniforms=Object.assign({},e.uniforms),n.side=Ok;t[2].skinning=!0,this.materialsBackSide=t.map((t=>{let n=t.clone();return n.uniforms=Object.assign({},e.uniforms),n.side=Tk,n})),this.materialsDoubleSide=t.map((t=>{let n=t.clone();return n.uniforms=Object.assign({},e.uniforms),n.side=Ik,n})),this.materialsFlatShaded=t.map((t=>{let n=t.clone();return n.uniforms=Object.assign({},e.uniforms),n.flatShading=!0,n})),this.materialsFlatShadedBackSide=t.map((t=>{let n=t.clone();return n.uniforms=Object.assign({},e.uniforms),n.flatShading=!0,n.side=Tk,n})),this.materialsFlatShadedDoubleSide=t.map((t=>{let n=t.clone();return n.uniforms=Object.assign({},e.uniforms),n.flatShading=!0,n.side=Ik,n}))}}render(e,t,n){let r=e.shadowMap.enabled;if(e.shadowMap.enabled=!1,j2){let r=this.originalMaterials;this.meshCount=0,t.traverse(this.replaceMaterial),e.render(t,n);for(let e of r)e[0].material=e[1];this.meshCount!==r.size&&r.clear()}else{let r=t.overrideMaterial;t.overrideMaterial=this.material,e.render(t,n),t.overrideMaterial=r}e.shadowMap.enabled=r}disposeMaterials(){if(null!==this.material){let e=this.materials.concat(this.materialsBackSide).concat(this.materialsDoubleSide).concat(this.materialsFlatShaded).concat(this.materialsFlatShadedBackSide).concat(this.materialsFlatShadedDoubleSide);for(let t of e)t.dispose()}}dispose(){this.originalMaterials.clear(),this.disposeMaterials()}static get workaroundEnabled(){return j2}static set workaroundEnabled(e){j2=e}},P2=class extends v2{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;super("RenderPass",e,t),this.needsSwap=!1,this.clearPass=new b2,this.overrideMaterialManager=null===n?null:new M2(n),this.ignoreBackground=!1,this.skipShadowMapUpdate=!1,this.selection=null}get renderToScreen(){return super.renderToScreen}set renderToScreen(e){super.renderToScreen=e,this.clearPass.renderToScreen=e}get overrideMaterial(){let e=this.overrideMaterialManager;return null!==e?e.material:null}set overrideMaterial(e){let t=this.overrideMaterialManager;null!==e?null!==t?t.setMaterial(e):this.overrideMaterialManager=new M2(e):null!==t&&(t.dispose(),this.overrideMaterialManager=null)}getOverrideMaterial(){return this.overrideMaterial}setOverrideMaterial(e){this.overrideMaterial=e}get clear(){return this.clearPass.enabled}set clear(e){this.clearPass.enabled=e}getSelection(){return this.selection}setSelection(e){this.selection=e}isBackgroundDisabled(){return this.ignoreBackground}setBackgroundDisabled(e){this.ignoreBackground=e}isShadowMapDisabled(){return this.skipShadowMapUpdate}setShadowMapDisabled(e){this.skipShadowMapUpdate=e}getClearPass(){return this.clearPass}render(e,t,n,r,i){let a=this.scene,s=this.camera,o=this.selection,l=s.layers.mask,c=a.background,d=e.shadowMap.autoUpdate,h=this.renderToScreen?null:t;null!==o&&s.layers.set(o.getLayer()),this.skipShadowMapUpdate&&(e.shadowMap.autoUpdate=!1),(this.ignoreBackground||null!==this.clearPass.overrideClearColor)&&(a.background=null),this.clearPass.enabled&&this.clearPass.render(e,t),e.setRenderTarget(h),null!==this.overrideMaterialManager?this.overrideMaterialManager.render(e,a,s):e.render(a,s),s.layers.mask=l,a.background=c,e.shadowMap.autoUpdate=d}},O2=class extends v2{constructor(e,t){let{resolutionScale:n=1,width:r=w2.AUTO_SIZE,height:i=w2.AUTO_SIZE,renderTarget:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};super("DepthPass"),this.needsSwap=!1,this.renderPass=new P2(e,t,new hC({depthPacking:Hj}));let s=this.renderPass;s.skipShadowMapUpdate=!0,s.ignoreBackground=!0;let o=s.getClearPass();o.overrideClearColor=new MM(16777215),o.overrideClearAlpha=1,this.renderTarget=a,void 0===this.renderTarget&&(this.renderTarget=new RM(1,1,{minFilter:ww,magFilter:ww,stencilBuffer:!1}),this.renderTarget.texture.name="DepthPass.Target");let l=this.resolution=new w2(this,r,i,n);l.addEventListener("change",(e=>this.setSize(l.baseWidth,l.baseHeight)))}get texture(){return this.renderTarget.texture}getTexture(){return this.renderTarget.texture}getResolution(){return this.resolution}getResolutionScale(){return this.resolution.scale}setResolutionScale(e){this.resolution.scale=e}render(e,t,n,r,i){let a=this.renderToScreen?null:this.renderTarget;this.renderPass.render(e,a)}setSize(e,t){let n=this.resolution;n.setBaseSize(e,t),this.renderTarget.setSize(n.width,n.height)}},T2=(new Float32Array([255/256/256**3,255/256/65536,255/256/256,255/256]),{SKIP:0,ADD:1,ALPHA:2,AVERAGE:3,COLOR_BURN:4,COLOR_DODGE:5,DARKEN:6,DIFFERENCE:7,EXCLUSION:8,LIGHTEN:9,MULTIPLY:10,DIVIDE:11,NEGATION:12,NORMAL:13,OVERLAY:14,REFLECT:15,SCREEN:16,SOFT_LIGHT:17,SUBTRACT:18}),I2=new Map([[T2.SKIP,null],[T2.ADD,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return min(x+y,1.0)*opacity+x*(1.0-opacity);}"],[T2.ALPHA,"vec3 blend(const in vec3 x,const in vec3 y,const in float opacity){return y*opacity+x*(1.0-opacity);}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){float a=min(y.a,opacity);return vec4(blend(x.rgb,y.rgb,a),max(x.a,a));}"],[T2.AVERAGE,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return(x+y)*0.5*opacity+x*(1.0-opacity);}"],[T2.COLOR_BURN,"float blend(const in float x,const in float y){return(y==0.0)?y:max(1.0-(1.0-x)/y,0.0);}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){vec4 z=vec4(blend(x.r,y.r),blend(x.g,y.g),blend(x.b,y.b),blend(x.a,y.a));return z*opacity+x*(1.0-opacity);}"],[T2.COLOR_DODGE,"float blend(const in float x,const in float y){return(y==1.0)?y:min(x/(1.0-y),1.0);}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){vec4 z=vec4(blend(x.r,y.r),blend(x.g,y.g),blend(x.b,y.b),blend(x.a,y.a));return z*opacity+x*(1.0-opacity);}"],[T2.DARKEN,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return min(x,y)*opacity+x*(1.0-opacity);}"],[T2.DIFFERENCE,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return abs(x-y)*opacity+x*(1.0-opacity);}"],[T2.EXCLUSION,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return(x+y-2.0*x*y)*opacity+x*(1.0-opacity);}"],[T2.LIGHTEN,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return max(x,y)*opacity+x*(1.0-opacity);}"],[T2.MULTIPLY,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return x*y*opacity+x*(1.0-opacity);}"],[T2.DIVIDE,"float blend(const in float x,const in float y){return(y>0.0)?min(x/y,1.0):1.0;}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){vec4 z=vec4(blend(x.r,y.r),blend(x.g,y.g),blend(x.b,y.b),blend(x.a,y.a));return z*opacity+x*(1.0-opacity);}"],[T2.NEGATION,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return(1.0-abs(1.0-x-y))*opacity+x*(1.0-opacity);}"],[T2.NORMAL,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return y*opacity+x*(1.0-opacity);}"],[T2.OVERLAY,"float blend(const in float x,const in float y){return(x<0.5)?(2.0*x*y):(1.0-2.0*(1.0-x)*(1.0-y));}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){vec4 z=vec4(blend(x.r,y.r),blend(x.g,y.g),blend(x.b,y.b),blend(x.a,y.a));return z*opacity+x*(1.0-opacity);}"],[T2.REFLECT,"float blend(const in float x,const in float y){return(y==1.0)?y:min(x*x/(1.0-y),1.0);}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){vec4 z=vec4(blend(x.r,y.r),blend(x.g,y.g),blend(x.b,y.b),blend(x.a,y.a));return z*opacity+x*(1.0-opacity);}"],[T2.SCREEN,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return(1.0-(1.0-x)*(1.0-y))*opacity+x*(1.0-opacity);}"],[T2.SOFT_LIGHT,"float blend(const in float x,const in float y){return(y<0.5)?(2.0*x*y+x*x*(1.0-2.0*y)):(sqrt(x)*(2.0*y-1.0)+2.0*x*(1.0-y));}vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){vec4 z=vec4(blend(x.r,y.r),blend(x.g,y.g),blend(x.b,y.b),blend(x.a,y.a));return z*opacity+x*(1.0-opacity);}"],[T2.SUBTRACT,"vec4 blend(const in vec4 x,const in vec4 y,const in float opacity){return max(x+y-1.0,0.0)*opacity+x*(1.0-opacity);}"]]),C2=class extends Zj{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;super(),this.f=e,this.opacity=new mR(t)}getOpacity(){return this.opacity.value}setOpacity(e){this.opacity.value=e}get blendFunction(){return this.f}set blendFunction(e){this.f=e,this.dispatchEvent({type:"change"})}getBlendFunction(){return this.blendFunction}setBlendFunction(e){this.blendFunction=e}getShaderCode(){return I2.get(this.blendFunction)}},E2={NONE:0,DEPTH:1,CONVOLUTION:2},V2=class extends Zj{constructor(e,t){let{attributes:n=E2.NONE,blendFunction:r=T2.SCREEN,defines:i=new Map,uniforms:a=new Map,extensions:s=null,vertexShader:o=null}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};super(),this.name=e,this.renderer=null,this.attributes=n,this.fragmentShader=t,this.vertexShader=o,this.defines=i,this.uniforms=a,this.extensions=s,this.blendMode=new C2(r),this.blendMode.addEventListener("change",(e=>this.setChanged()))}getName(){return this.name}setRenderer(e){this.renderer=e}getDefines(){return this.defines}getUniforms(){return this.uniforms}getExtensions(){return this.extensions}getBlendMode(){return this.blendMode}getAttributes(){return this.attributes}setAttributes(e){this.attributes=e,this.setChanged()}getFragmentShader(){return this.fragmentShader}setFragmentShader(e){this.fragmentShader=e,this.setChanged()}getVertexShader(){return this.vertexShader}setVertexShader(e){this.vertexShader=e,this.setChanged()}setChanged(){this.dispatchEvent({type:"change"})}setDepthTexture(e){}update(e,t,n){}setSize(e,t){}initialize(e,t,n){}dispose(){for(let e of Object.keys(this)){let t=this[e];if(null!==t&&"function"==typeof t.dispose){if(t instanceof TC||t===this.renderer)continue;this[e].dispose()}}}};function R2(e,t,n){for(let r of t){let t="$1"+e+r.charAt(0).toUpperCase()+r.slice(1),i=new RegExp("([^\\.])(\\b"+r+"\\b)","g");for(let e of n.entries())null!==e[1]&&n.set(e[0],e[1].replace(i,t))}}function D2(e,t,n,r,i,a,s){let o=new Map([["fragment",t.getFragmentShader()],["vertex",t.getVertexShader()]]),l=void 0!==o.get("fragment")&&/mainImage/.test(o.get("fragment")),c=void 0!==o.get("fragment")&&/mainUv/.test(o.get("fragment")),d=[],h=[],u=!1,p=!1;if(void 0===o.get("fragment"))console.error("Missing fragment shader",t);else if(c&&0!==(s&E2.CONVOLUTION))console.error("Effects that transform UV coordinates are incompatible with convolution effects",t);else if(l||c){let f=/(?:\w+\s+(\w+)\([\w\s,]*\)\s*{[^}]+})/g,m=d2.Section;if(c){let t="\t".concat(e,"MainUv(UV);\n");n.set(m.FRAGMENT_MAIN_UV,n.get(m.FRAGMENT_MAIN_UV)+t),u=!0}if(null!==o.get("vertex")&&/mainSupport/.test(o.get("vertex"))){let t="\t".concat(e,"MainSupport(");t+=/mainSupport *\([\w\s]*?uv\s*?\)/.test(o.get("vertex"))?"vUv);\n":");\n",n.set(m.VERTEX_MAIN_SUPPORT,n.get(m.VERTEX_MAIN_SUPPORT)+t),d=d.concat([...o.get("vertex").matchAll(/(?:varying\s+\w+\s+(\w*))/g)].map((e=>e[1]))),h=h.concat(d).concat([...o.get("vertex").matchAll(f)].map((e=>e[1])))}h=h.concat([...o.get("fragment").matchAll(f)].map((e=>e[1]))),h=h.concat([...t.defines.keys()].map((e=>e.replace(/\([\w\s,]*\)/g,"")))),h=h.concat([...t.uniforms.keys()]),t.uniforms.forEach(((t,n)=>a.set(e+n.charAt(0).toUpperCase()+n.slice(1),t))),t.defines.forEach(((t,n)=>i.set(e+n.charAt(0).toUpperCase()+n.slice(1),t))),R2(e,h,i),R2(e,h,o);let g=t.blendMode;if(r.set(g.blendFunction,g),l){let t=/MainImage *\([\w\s,]*?depth[\w\s,]*?\)/,r="".concat(e,"MainImage(color0, UV, ");0!==(s&E2.DEPTH)&&t.test(o.get("fragment"))&&(r+="depth, ",p=!0),r+="color1);\n\t";let i=e+"BlendOpacity";a.set(i,g.opacity),r+="color0 = blend".concat(g.blendFunction,"(color0, color1, ").concat(i,");\n\n\t"),n.set(m.FRAGMENT_MAIN_IMAGE,n.get(m.FRAGMENT_MAIN_IMAGE)+r),r="uniform float ".concat(i,";\n\n"),n.set(m.FRAGMENT_HEAD,n.get(m.FRAGMENT_HEAD)+r)}n.set(m.FRAGMENT_HEAD,n.get(m.FRAGMENT_HEAD)+o.get("fragment")+"\n"),null!==o.get("vertex")&&n.set(m.VERTEX_HEAD,n.get(m.VERTEX_HEAD)+o.get("vertex")+"\n")}else console.error("The fragment shader contains neither a mainImage nor a mainUv function",t);return{varyings:d,transformedUv:u,readDepth:p}}var B2=class extends v2{constructor(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];super("EffectPass"),this.fullscreenMaterial=new d2(null,null,null,e),this.effects=n.sort(((e,t)=>t.attributes-e.attributes)),this.skipRendering=!1,this.uniformCount=0,this.varyingCount=0,this.minTime=1,this.maxTime=Number.POSITIVE_INFINITY}get encodeOutput(){return this.fullscreenMaterial.encodeOutput}set encodeOutput(e){this.fullscreenMaterial.encodeOutput=e}get dithering(){return this.fullscreenMaterial.dithering}set dithering(e){let t=this.fullscreenMaterial;t.dithering=e,t.needsUpdate=!0}verifyResources(){let e=this.renderer.capabilities,t=Math.min(e.maxFragmentUniforms,e.maxVertexUniforms);this.uniformCount>t&&console.warn("The current rendering context doesn't support more than "+t+" uniforms, but "+this.uniformCount+" were defined"),t=e.maxVaryings,this.varyingCount>t&&console.warn("The current rendering context doesn't support more than "+t+" varyings, but "+this.varyingCount+" were defined")}updateMaterial(){let e=d2.Section,t=new Map([[e.FRAGMENT_HEAD,""],[e.FRAGMENT_MAIN_UV,""],[e.FRAGMENT_MAIN_IMAGE,""],[e.VERTEX_HEAD,""],[e.VERTEX_MAIN_SUPPORT,""]]),n=new Map,r=new Map,i=new Map,a=new Set,s=0,o=0,l=0,c=!1,d=!1;for(let u of this.effects)if(u.blendMode.blendFunction===T2.SKIP)l|=u.getAttributes()&E2.DEPTH;else if(0!==(l&u.getAttributes()&E2.CONVOLUTION))console.error("Convolution effects cannot be merged",u);else{l|=u.getAttributes();let e=D2("e"+s++,u,t,n,r,i,l);if(o+=e.varyings.length,c=c||e.transformedUv,d=d||e.readDepth,null!==u.extensions)for(let t of u.extensions)a.add(t)}let h=/\bblend\b/g;for(let u of n.values()){let n=u.getShaderCode().replace(h,"blend".concat(u.blendFunction));t.set(e.FRAGMENT_HEAD,t.get(e.FRAGMENT_HEAD)+n+"\n")}if(0!==(l&E2.DEPTH)){if(d){let n="float depth = readDepth(UV);\n\n\t";t.set(e.FRAGMENT_MAIN_IMAGE,n+t.get(e.FRAGMENT_MAIN_IMAGE))}this.needsDepthTexture=null===this.getDepthTexture()}else this.needsDepthTexture=!1;if(c){let n="vec2 transformedUv = vUv;\n";t.set(e.FRAGMENT_MAIN_UV,n+t.get(e.FRAGMENT_MAIN_UV)),r.set("UV","transformedUv")}else r.set("UV","vUv");t.forEach(((e,t,n)=>n.set(t,e.trim().replace(/^#/,"\n#")))),this.uniformCount=i.size,this.varyingCount=o,this.skipRendering=0===s,this.needsSwap=!this.skipRendering,this.fullscreenMaterial.setShaderParts(t).setExtensions(a).setUniforms(i).setDefines(r)}recompile(){this.updateMaterial(),this.verifyResources()}getDepthTexture(){return this.fullscreenMaterial.depthBuffer}setDepthTexture(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:qj;this.fullscreenMaterial.depthBuffer=e,this.fullscreenMaterial.depthPacking=t;for(let n of this.effects)n.setDepthTexture(e,t)}render(e,t,n,r,i){for(let a of this.effects)a.update(e,t,r);if(!this.skipRendering||this.renderToScreen){let i=this.fullscreenMaterial;i.inputBuffer=t.texture,i.time+=r,e.setRenderTarget(this.renderToScreen?null:n),e.render(this.scene,this.camera)}}setSize(e,t){this.fullscreenMaterial.setSize(e,t);for(let n of this.effects)n.setSize(e,t)}initialize(e,t,n){this.renderer=e;for(let r of this.effects)r.initialize(e,t,n),r.addEventListener("change",(e=>this.handleEvent(e)));this.updateMaterial(),this.verifyResources(),void 0!==n&&n!==Iw&&(this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1")}dispose(){super.dispose();for(let e of this.effects)e.dispose()}handleEvent(e){if("change"===e.type)this.recompile()}},G2=[new Float32Array([0,0]),new Float32Array([0,1,1]),new Float32Array([0,1,1,2]),new Float32Array([0,1,2,2,3]),new Float32Array([0,1,2,3,4,4,5]),new Float32Array([0,1,2,3,4,5,7,8,9,10])],q2=class extends v2{constructor(){let{resolutionScale:e=.5,width:t=w2.AUTO_SIZE,height:n=w2.AUTO_SIZE,kernelSize:r=N2.LARGE}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super("KawaseBlurPass"),this.renderTargetA=new RM(1,1,{minFilter:Pw,magFilter:Pw,stencilBuffer:!1,depthBuffer:!1}),this.renderTargetA.texture.name="Blur.Target.A",this.renderTargetB=this.renderTargetA.clone(),this.renderTargetB.texture.name="Blur.Target.B";let i=this.resolution=new w2(this,t,n,e);i.addEventListener("change",(e=>this.setSize(i.baseWidth,i.baseHeight))),this.blurMaterial=new i2,this.ditheredBlurMaterial=new i2,this.ditheredBlurMaterial.uniforms.scale=this.blurMaterial.uniforms.scale,this.ditheredBlurMaterial.dithering=!0,this.dithering=!1,this.kernelSize=r}getResolution(){return this.resolution}get width(){return this.resolution.width}set width(e){this.resolution.preferredWidth=e}get height(){return this.resolution.height}set height(e){this.resolution.preferredHeight=e}get scale(){return this.blurMaterial.scale}set scale(e){this.blurMaterial.scale=e}getScale(){return this.blurMaterial.scale}setScale(e){this.blurMaterial.scale=e}getKernelSize(){return this.kernelSize}setKernelSize(e){this.kernelSize=e}getResolutionScale(){return this.resolution.scale}setResolutionScale(e){this.resolution.scale=e}render(e,t,n,r,i){let a,s,o=this.scene,l=this.camera,c=this.renderTargetA,d=this.renderTargetB,h=G2[this.kernelSize],u=this.blurMaterial,p=t;for(this.fullscreenMaterial=u,a=0,s=h.length-1;a<s;++a){let t=0===(1&a)?c:d;u.kernel=h[a],u.inputBuffer=p.texture,e.setRenderTarget(t),e.render(o,l),p=t}this.dithering&&(u=this.ditheredBlurMaterial,this.fullscreenMaterial=u),u.kernel=h[a],u.inputBuffer=p.texture,e.setRenderTarget(this.renderToScreen?null:n),e.render(o,l)}setSize(e,t){let n=this.resolution;n.setBaseSize(e,t);let r=n.width,i=n.height;this.renderTargetA.setSize(r,i),this.renderTargetB.setSize(r,i),this.blurMaterial.setSize(r,i),this.ditheredBlurMaterial.setSize(r,i)}initialize(e,t,n){void 0!==n&&(this.renderTargetA.texture.type=n,this.renderTargetB.texture.type=n,n!==Iw?(this.blurMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1",this.ditheredBlurMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1"):e.outputEncoding===Gj&&(this.renderTargetA.texture.encoding=Gj,this.renderTargetB.texture.encoding=Gj))}static get AUTO_SIZE(){return w2.AUTO_SIZE}},H2=class extends v2{constructor(){let{width:e=w2.AUTO_SIZE,height:t=w2.AUTO_SIZE,renderTarget:n,luminanceRange:r,colorOutput:i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super("LuminancePass"),this.fullscreenMaterial=new h2(i,r),this.needsSwap=!1,this.renderTarget=n,void 0===this.renderTarget&&(this.renderTarget=new RM(1,1,{minFilter:Pw,magFilter:Pw,stencilBuffer:!1,depthBuffer:!1}),this.renderTarget.texture.name="LuminancePass.Target",this.renderTarget.texture.generateMipmaps=!1);let a=this.resolution=new w2(this,e,t);a.addEventListener("change",(e=>this.setSize(a.baseWidth,a.baseHeight)))}get texture(){return this.renderTarget.texture}getTexture(){return this.renderTarget.texture}getResolution(){return this.resolution}render(e,t,n,r,i){this.fullscreenMaterial.inputBuffer=t.texture,e.setRenderTarget(this.renderToScreen?null:this.renderTarget),e.render(this.scene,this.camera)}setSize(e,t){let n=this.resolution;n.setBaseSize(e,t),this.renderTarget.setSize(n.width,n.height)}initialize(e,t,n){void 0!==n&&n!==Iw&&(this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1")}},W2=class extends v2{constructor(e,t){super("MaskPass",e,t),this.needsSwap=!1,this.clearPass=new b2(!1,!1,!0),this.inverse=!1}get inverted(){return this.inverse}set inverted(e){this.inverse=e}get clear(){return this.clearPass.enabled}set clear(e){this.clearPass.enabled=e}getClearPass(){return this.clearPass}isInverted(){return this.inverted}setInverted(e){this.inverted=e}render(e,t,n,r,i){let a=e.getContext(),s=e.state.buffers,o=this.scene,l=this.camera,c=this.clearPass,d=this.inverted?0:1,h=1-d;s.color.setMask(!1),s.depth.setMask(!1),s.color.setLocked(!0),s.depth.setLocked(!0),s.stencil.setTest(!0),s.stencil.setOp(a.REPLACE,a.REPLACE,a.REPLACE),s.stencil.setFunc(a.ALWAYS,d,4294967295),s.stencil.setClear(h),s.stencil.setLocked(!0),this.clearPass.enabled&&(this.renderToScreen?c.render(e,null):(c.render(e,t),c.render(e,n))),this.renderToScreen?(e.setRenderTarget(null),e.render(o,l)):(e.setRenderTarget(t),e.render(o,l),e.setRenderTarget(n),e.render(o,l)),s.color.setLocked(!1),s.depth.setLocked(!1),s.stencil.setLocked(!1),s.stencil.setFunc(a.EQUAL,1,4294967295),s.stencil.setOp(a.KEEP,a.KEEP,a.KEEP),s.stencil.setLocked(!0)}},z2=class extends v2{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"inputBuffer";super("ShaderPass"),this.fullscreenMaterial=e,this.inputBufferUniform=null,this.setInput(t)}setInput(e){if(this.inputBufferUniform=null,null!==this.fullscreenMaterial){let t=this.fullscreenMaterial.uniforms;void 0!==t&&void 0!==t[e]&&(this.inputBufferUniform=t[e])}}render(e,t,n,r,i){null!==this.inputBufferUniform&&null!==t&&(this.inputBufferUniform.value=t.texture),e.setRenderTarget(this.renderToScreen?null:n),e.render(this.scene,this.camera)}initialize(e,t,n){void 0!==n&&n!==Iw&&(this.fullscreenMaterial.defines.FRAMEBUFFER_PRECISION_HIGH="1")}},J2=.001,U2=class{constructor(){this.previousTime=0,this.currentTime=0,this.delta=0,this.fixedDelta=1e3/60,this.elapsed=0,this.timescale=1,this.fixedDeltaEnabled=!1,this.autoReset=!1}setFixedDeltaEnabled(e){return this.fixedDeltaEnabled=e,this}isAutoResetEnabled(e){return this.autoReset}setAutoResetEnabled(e){return typeof document<"u"&&void 0!==document.hidden&&(e?document.addEventListener("visibilitychange",this):document.removeEventListener("visibilitychange",this),this.autoReset=e),this}getDelta(){return this.delta*J2}getFixedDelta(){return this.fixedDelta*J2}setFixedDelta(e){return this.fixedDelta=1e3*e,this}getElapsed(){return this.elapsed*J2}getTimescale(){return this.timescale}setTimescale(e){return this.timescale=e,this}update(e){return this.fixedDeltaEnabled?this.delta=this.fixedDelta:(this.previousTime=this.currentTime,this.currentTime=void 0!==e?e:performance.now(),this.delta=this.currentTime-this.previousTime),this.delta*=this.timescale,this.elapsed+=this.delta,this}reset(){return this.delta=0,this.elapsed=0,this.currentTime=performance.now(),this}handleEvent(e){document.hidden||(this.currentTime=performance.now())}dispose(){this.setAutoResetEnabled(!1)}},N2={VERY_SMALL:0,SMALL:1,MEDIUM:2,LARGE:3,VERY_LARGE:4,HUGE:5},L2=class extends V2{constructor(){let{blendFunction:e=T2.SCREEN,luminanceThreshold:t=.9,luminanceSmoothing:n=.025,resolutionScale:r=.5,intensity:i=1,width:a=w2.AUTO_SIZE,height:s=w2.AUTO_SIZE,kernelSize:o=N2.LARGE}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super("BloomEffect","#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D map;\n#else\nuniform lowp sampler2D map;\n#endif\nuniform float intensity;void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){outputColor=clamp(texture2D(map,uv)*intensity,0.0,1.0);}",{blendFunction:e,uniforms:new Map([["map",new mR(null)],["intensity",new mR(i)]])}),this.renderTarget=new RM(1,1,{minFilter:Pw,magFilter:Pw,stencilBuffer:!1,depthBuffer:!1}),this.renderTarget.texture.name="Bloom.Target",this.renderTarget.texture.generateMipmaps=!1,this.uniforms.get("map").value=this.renderTarget.texture,this.luminancePass=new H2({renderTarget:this.renderTarget,colorOutput:!0}),this.luminanceMaterial.threshold=t,this.luminanceMaterial.smoothingFactor=n,this.blurPass=new q2({resolutionScale:r,width:a,height:s,kernelSize:o});let l=this.blurPass.getResolution();l.addEventListener("change",(e=>this.setSize(l.baseWidth,l.baseHeight)))}get texture(){return this.renderTarget.texture}getTexture(){return this.renderTarget.texture}get resolution(){return this.blurPass.resolution}getResolution(){return this.blurPass.resolution}getBlurPass(){return this.blurPass}getLuminancePass(){return this.luminancePass}get luminanceMaterial(){return this.luminancePass.fullscreenMaterial}getLuminanceMaterial(){return this.luminancePass.fullscreenMaterial}get width(){return this.resolution.width}set width(e){this.resolution.preferredWidth=e}get height(){return this.resolution.height}set height(e){this.resolution.preferredHeight=e}get dithering(){return this.blurPass.dithering}set dithering(e){this.blurPass.dithering=e}get kernelSize(){return this.blurPass.kernelSize}set kernelSize(e){this.blurPass.kernelSize=e}get distinction(){return console.warn(this.name,"distinction was removed"),1}set distinction(e){console.warn(this.name,"distinction was removed")}get intensity(){return this.uniforms.get("intensity").value}set intensity(e){this.uniforms.get("intensity").value=e}getIntensity(){return this.intensity}setIntensity(e){this.intensity=e}getResolutionScale(){return this.resolution.scale}setResolutionScale(e){this.resolution.scale=e}update(e,t,n){let r=this.renderTarget;this.luminancePass.enabled?(this.luminancePass.render(e,t,r),this.blurPass.render(e,r,r)):this.blurPass.render(e,t,r)}setSize(e,t){let n=this.resolution;n.setBaseSize(e,t),this.renderTarget.setSize(n.width,n.height),this.luminancePass.resolution.copy(n)}initialize(e,t,n){this.blurPass.initialize(e,t,n),void 0!==n&&(this.renderTarget.texture.type=n,e.outputEncoding===Gj&&(this.renderTarget.texture.encoding=Gj))}},Y2=class extends V2{constructor(){let{blendFunction:e=T2.NORMAL,brightness:t=0,contrast:n=0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super("BrightnessContrastEffect","uniform float brightness;uniform float contrast;void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){vec3 color=inputColor.rgb+vec3(brightness-0.5);if(contrast>0.0){color/=vec3(1.0-contrast);}else{color*=vec3(1.0+contrast);}outputColor=vec4(min(color+vec3(0.5),1.0),inputColor.a);}",{blendFunction:e,uniforms:new Map([["brightness",new mR(t)],["contrast",new mR(n)]])})}get brightness(){return this.uniforms.get("brightness").value}set brightness(e){this.uniforms.get("brightness").value=e}getBrightness(e){return this.brightness}setBrightness(e){this.brightness=e}get contrast(){return this.uniforms.get("contrast").value}set contrast(e){this.uniforms.get("contrast").value=e}getContrast(e){return this.contrast}setContrast(e){this.contrast=e}},F2=class extends V2{constructor(){super("ColorAverageEffect","void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){outputColor=vec4(vec3(average(inputColor.rgb)),inputColor.a);}",{blendFunction:arguments.length>0&&void 0!==arguments[0]?arguments[0]:T2.NORMAL})}},Z2=class extends V2{constructor(){let{blendFunction:e=T2.NORMAL,offset:t=new cM(.001,5e-4)}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super("ChromaticAberrationEffect","varying vec2 vUvR;varying vec2 vUvB;void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){vec2 ra=texture2D(inputBuffer,vUvR).ra;vec2 ba=texture2D(inputBuffer,vUvB).ba;outputColor=vec4(ra.x,inputColor.g,ba.x,max(max(ra.y,ba.y),inputColor.a));}",{vertexShader:"uniform vec2 offset;varying vec2 vUvR;varying vec2 vUvB;void mainSupport(const in vec2 uv){vec2 shift=offset*vec2(1.0,aspect);vUvR=uv+shift;vUvB=uv-shift;}",blendFunction:e,attributes:E2.CONVOLUTION,uniforms:new Map([["offset",new mR(t)]])})}get offset(){return this.uniforms.get("offset").value}set offset(e){this.uniforms.get("offset").value=e}getOffset(){return this.offset}setOffset(e){this.offset=e}},K2=class extends V2{constructor(e){let{blendFunction:t=T2.NORMAL,worldFocusDistance:n,worldFocusRange:r,focusDistance:i=0,focalLength:a=.1,focusRange:s=a,bokehScale:o=1,width:l=w2.AUTO_SIZE,height:c=w2.AUTO_SIZE}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super("DepthOfFieldEffect","#ifdef FRAMEBUFFER_PRECISION_HIGH\nuniform mediump sampler2D nearColorBuffer;uniform mediump sampler2D farColorBuffer;\n#else\nuniform lowp sampler2D nearColorBuffer;uniform lowp sampler2D farColorBuffer;\n#endif\nuniform lowp sampler2D nearCoCBuffer;uniform float scale;void mainImage(const in vec4 inputColor,const in vec2 uv,const in float depth,out vec4 outputColor){vec4 colorNear=texture2D(nearColorBuffer,uv);vec4 colorFar=texture2D(farColorBuffer,uv);float CoCNear=texture2D(nearCoCBuffer,uv).r;CoCNear=min(CoCNear*scale,1.0);vec4 result=inputColor*(1.0-colorFar.a)+colorFar;result=mix(result,colorNear,CoCNear);outputColor=result;}",{blendFunction:t,attributes:E2.DEPTH,uniforms:new Map([["nearColorBuffer",new mR(null)],["farColorBuffer",new mR(null)],["nearCoCBuffer",new mR(null)],["scale",new mR(1)]])}),this.camera=e,this.renderTarget=new RM(1,1,{minFilter:Pw,magFilter:Pw,stencilBuffer:!1,depthBuffer:!1}),this.renderTarget.texture.name="DoF.Intermediate",this.renderTarget.texture.generateMipmaps=!1,this.renderTargetMasked=this.renderTarget.clone(),this.renderTargetMasked.texture.name="DoF.Masked.Far",this.renderTargetNear=this.renderTarget.clone(),this.renderTargetNear.texture.name="DoF.Bokeh.Near",this.uniforms.get("nearColorBuffer").value=this.renderTargetNear.texture,this.renderTargetFar=this.renderTarget.clone(),this.renderTargetFar.texture.name="DoF.Bokeh.Far",this.uniforms.get("farColorBuffer").value=this.renderTargetFar.texture,this.renderTargetCoC=this.renderTarget.clone(),this.renderTargetCoC.texture.name="DoF.CoC",this.renderTargetCoCBlurred=this.renderTargetCoC.clone(),this.renderTargetCoCBlurred.texture.name="DoF.CoC.Blurred",this.uniforms.get("nearCoCBuffer").value=this.renderTargetCoCBlurred.texture,this.cocPass=new z2(new r2(e));let d=this.cocMaterial;d.focusDistance=i,d.focusRange=s,void 0!==n&&(d.worldFocusDistance=n),void 0!==r&&(d.worldFocusRange=r),this.blurPass=new q2({kernelSize:N2.MEDIUM,width:l,height:c});let h=this.blurPass.getResolution();h.addEventListener("change",(e=>this.setSize(h.getBaseWidth(),h.getBaseHeight()))),this.maskPass=new z2(new f2(this.renderTargetCoC.texture));let u=this.maskPass.fullscreenMaterial;u.maskFunction=p2,u.colorChannel=_1,this.bokehNearBasePass=new z2(new e2(!1,!0)),this.bokehNearBasePass.fullscreenMaterial.cocBuffer=this.renderTargetCoCBlurred.texture,this.bokehNearFillPass=new z2(new e2(!0,!0)),this.bokehNearFillPass.fullscreenMaterial.cocBuffer=this.renderTargetCoCBlurred.texture,this.bokehFarBasePass=new z2(new e2(!1,!1)),this.bokehFarBasePass.fullscreenMaterial.cocBuffer=this.renderTargetCoC.texture,this.bokehFarFillPass=new z2(new e2(!0,!1)),this.bokehFarFillPass.fullscreenMaterial.cocBuffer=this.renderTargetCoC.texture,this.target=null,this.bokehScale=o}get cocTexture(){return this.renderTargetCoC.texture}get cocMaterial(){return this.cocPass.fullscreenMaterial}get circleOfConfusionMaterial(){return this.cocMaterial}getCircleOfConfusionMaterial(){return this.circleOfConfusionMaterial}getBlurPass(){return this.blurPass}get resolution(){return this.blurPass.getResolution()}getResolution(){return this.blurPass.getResolution()}get bokehScale(){return this.uniforms.get("scale").value}set bokehScale(e){let t=[this.bokehNearBasePass,this.bokehNearFillPass,this.bokehFarBasePass,this.bokehFarFillPass];for(let n of t)n.fullscreenMaterial.setScale(e);this.maskPass.fullscreenMaterial.setStrength(e),this.uniforms.get("scale").value=e}getBokehScale(){return this.bokehScale}setBokehScale(e){this.bokehScale=e}getTarget(){return this.target}setTarget(e){this.target=e}calculateFocusDistance(e){let t=this.camera;return n2(-t.position.distanceTo(e),t.near,t.far)}setDepthTexture(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:qj;this.circleOfConfusionMaterial.depthBuffer=e,this.circleOfConfusionMaterial.depthPacking=t}update(e,t,n){let r=this.renderTarget,i=this.renderTargetCoC,a=this.renderTargetCoCBlurred,s=this.renderTargetMasked;if(null!==this.target){let e=this.calculateFocusDistance(this.target);this.circleOfConfusionMaterial.focusDistance=e}this.cocPass.render(e,null,i),this.blurPass.render(e,i,a),this.maskPass.render(e,t,s),this.bokehFarBasePass.render(e,s,r),this.bokehFarFillPass.render(e,r,this.renderTargetFar),this.bokehNearBasePass.render(e,t,r),this.bokehNearFillPass.render(e,r,this.renderTargetNear)}setSize(e,t){let n=this.resolution;n.setBaseSize(e,t);let r=n.width,i=n.height,a=[this.cocPass,this.blurPass,this.maskPass,this.bokehNearBasePass,this.bokehNearFillPass,this.bokehFarBasePass,this.bokehFarFillPass];a.push(this.renderTargetCoC,this.renderTargetMasked),a.forEach((n=>n.setSize(e,t))),a=[this.renderTarget,this.renderTargetNear,this.renderTargetFar,this.renderTargetCoCBlurred],a.forEach((e=>e.setSize(r,i))),[this.bokehNearBasePass,this.bokehNearFillPass,this.bokehFarBasePass,this.bokehFarFillPass].forEach((e=>e.fullscreenMaterial.setSize(r,i)))}initialize(e,t,n){[this.cocPass,this.maskPass,this.bokehNearBasePass,this.bokehNearFillPass,this.bokehFarBasePass,this.bokehFarFillPass].forEach((r=>r.initialize(e,t,n))),this.blurPass.initialize(e,t,Iw),void 0!==n&&(this.renderTarget.texture.type=n,this.renderTargetNear.texture.type=n,this.renderTargetFar.texture.type=n,this.renderTargetMasked.texture.type=n,e.outputEncoding===Gj&&(this.renderTarget.texture.encoding=Gj,this.renderTargetNear.texture.encoding=Gj,this.renderTargetFar.texture.encoding=Gj,this.renderTargetMasked.texture.encoding=Gj))}},Q2=(new qM,new fP,class extends V2{constructor(){let{blendFunction:e=T2.NORMAL,hue:t=0,saturation:n=0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super("HueSaturationEffect","uniform vec3 hue;uniform float saturation;void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){vec3 color=vec3(dot(inputColor.rgb,hue.xyz),dot(inputColor.rgb,hue.zxy),dot(inputColor.rgb,hue.yzx));float average=(color.r+color.g+color.b)/3.0;vec3 diff=average-color;if(saturation>0.0){color+=diff*(1.0-1.0/(1.001-saturation));}else{color+=diff*-saturation;}outputColor=vec4(min(color,1.0),inputColor.a);}",{blendFunction:e,uniforms:new Map([["hue",new mR(new qM)],["saturation",new mR(n)]])}),this.hue=t}get saturation(){return this.uniforms.get("saturation").value}set saturation(e){this.uniforms.get("saturation").value=e}getSaturation(){return this.saturation}setSaturation(e){this.saturation=e}get hue(){let e=this.uniforms.get("hue").value;return Math.acos((3*e.x-1)/2)}set hue(e){let t=Math.sin(e),n=Math.cos(e);this.uniforms.get("hue").value.set((2*n+1)/3,(-Math.sqrt(3)*t-n+1)/3,(Math.sqrt(3)*t-n+1)/3)}getHue(){return this.hue}setHue(e){this.hue=e}}),X2=(new MM,class extends V2{constructor(){let{blendFunction:e=T2.SCREEN,premultiply:t=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super("NoiseEffect","void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){vec3 noise=vec3(rand(uv*time));\n#ifdef PREMULTIPLY\noutputColor=vec4(min(inputColor.rgb*noise,vec3(1.0)),inputColor.a);\n#else\noutputColor=vec4(noise,inputColor.a);\n#endif\n}",{blendFunction:e}),this.premultiply=t}get premultiply(){return this.defines.has("PREMULTIPLY")}set premultiply(e){this.premultiply!==e&&(e?this.defines.set("PREMULTIPLY","1"):this.defines.delete("PREMULTIPLY"),this.setChanged())}isPremultiplied(){return this.premultiply}setPremultiplied(e){this.premultiply=e}}),_2=class extends V2{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:30;super("PixelationEffect","uniform bool active;uniform vec2 d;void mainUv(inout vec2 uv){if(active){uv=vec2(d.x*(floor(uv.x/d.x)+0.5),d.y*(floor(uv.y/d.y)+0.5));}}",{uniforms:new Map([["active",new mR(!1)],["d",new mR(new cM)]])}),this.resolution=new cM,this.d=0,this.granularity=e}get granularity(){return this.d}set granularity(e){let t=Math.floor(e);t%2>0&&(t+=1),this.d=t,this.uniforms.get("active").value=t>0,this.setSize(this.resolution.width,this.resolution.height)}getGranularity(){return this.granularity}setGranularity(e){this.granularity=e}setSize(e,t){this.resolution.set(e,t),this.uniforms.get("d").value.setScalar(this.d).divide(this.resolution)}},$2=(Math.PI,new qM,new qM,"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAQCAYAAACm53kpAAAAeElEQVRYR+2XSwqAMAxEJ168ePEqwRSKhIIiuHjJqiU0gWE+1CQdApcVAMUAuARaMGCX1MIL/Ow13++9lW2s3mW9MWvsnWc/2fvGygwPAN4E8QzAA4CXAB6AHjG4JTHYI1ey3pcx6FHnEfhLDOIBKAmUBK6/ANUDTlROXAHd9EC1AAAAAElFTkSuQmCC"),e3="data:image/png;base64,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",t3={LOW:0,MEDIUM:1,HIGH:2,ULTRA:3},n3=class extends V2{constructor(){let e,t,{preset:n=t3.MEDIUM,edgeDetectionMode:r=s2.COLOR,predicationMode:i=o2.DISABLED}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super("SMAAEffect","uniform sampler2D weightMap;varying vec2 vOffset0;varying vec2 vOffset1;void movec(const in bvec2 c,inout vec2 variable,const in vec2 value){if(c.x){variable.x=value.x;}if(c.y){variable.y=value.y;}}void movec(const in bvec4 c,inout vec4 variable,const in vec4 value){movec(c.xy,variable.xy,value.xy);movec(c.zw,variable.zw,value.zw);}void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){vec4 a;a.x=texture2D(weightMap,vOffset0).a;a.y=texture2D(weightMap,vOffset1).g;a.wz=texture2D(weightMap,uv).rb;vec4 color=inputColor;if(dot(a,vec4(1.0))>=1e-5){bool h=max(a.x,a.z)>max(a.y,a.w);vec4 blendingOffset=vec4(0.0,a.y,0.0,a.w);vec2 blendingWeight=a.yw;movec(bvec4(h),blendingOffset,vec4(a.x,0.0,a.z,0.0));movec(bvec2(h),blendingWeight,a.xz);blendingWeight/=dot(blendingWeight,vec2(1.0));vec4 blendingCoord=blendingOffset*vec4(texelSize,-texelSize)+uv.xyxy;color=blendingWeight.x*texture2D(inputBuffer,blendingCoord.xy);color+=blendingWeight.y*texture2D(inputBuffer,blendingCoord.zw);}outputColor=color;}",{vertexShader:"varying vec2 vOffset0;varying vec2 vOffset1;void mainSupport(const in vec2 uv){vOffset0=uv+texelSize*vec2(1.0,0.0);vOffset1=uv+texelSize*vec2(0.0,1.0);}",blendFunction:T2.NORMAL,attributes:E2.CONVOLUTION|E2.DEPTH,uniforms:new Map([["weightMap",new mR(null)]])}),arguments.length>1&&(e=arguments[0],t=arguments[1],arguments.length>2&&(n=arguments[2]),arguments.length>3&&(r=arguments[3])),this.renderTargetEdges=new RM(1,1,{minFilter:Pw,stencilBuffer:!1,depthBuffer:!1}),this.renderTargetEdges.texture.name="SMAA.Edges",this.renderTargetWeights=this.renderTargetEdges.clone(),this.renderTargetWeights.texture.name="SMAA.Weights",this.uniforms.get("weightMap").value=this.renderTargetWeights.texture,this.clearPass=new b2(!0,!1,!1),this.clearPass.overrideClearColor=new MM(0),this.clearPass.overrideClearAlpha=1,this.edgeDetectionPass=new z2(new l2),this.edgeDetectionMaterial.edgeDetectionMode=r,this.edgeDetectionMaterial.predicationMode=i,this.weightsPass=new z2(new m2);let a=new PV;a.onLoad=()=>{let n=new EM(e);n.name="SMAA.Search",n.magFilter=ww,n.minFilter=ww,n.generateMipmaps=!1,n.needsUpdate=!0,n.flipY=!0,this.weightsMaterial.searchTexture=n;let r=new EM(t);r.name="SMAA.Area",r.magFilter=Pw,r.minFilter=Pw,r.generateMipmaps=!1,r.needsUpdate=!0,r.flipY=!1,this.weightsMaterial.areaTexture=r,this.dispatchEvent({type:"load"})},a.itemStart("search"),a.itemStart("area"),void 0!==e&&void 0!==t?(a.itemEnd("search"),a.itemEnd("area")):typeof Image<"u"&&(e=new Image,t=new Image,e.addEventListener("load",(()=>a.itemEnd("search"))),t.addEventListener("load",(()=>a.itemEnd("area"))),e.src=$2,t.src=e3),this.applyPreset(n)}get edgesTexture(){return this.renderTargetEdges.texture}getEdgesTexture(){return this.edgesTexture}get weightsTexture(){return this.renderTargetWeights.texture}getWeightsTexture(){return this.weightsTexture}get edgeDetectionMaterial(){return this.edgeDetectionPass.fullscreenMaterial}get colorEdgesMaterial(){return this.edgeDetectionMaterial}getEdgeDetectionMaterial(){return this.edgeDetectionMaterial}get weightsMaterial(){return this.weightsPass.fullscreenMaterial}getWeightsMaterial(){return this.weightsMaterial}setEdgeDetectionThreshold(e){this.edgeDetectionMaterial.edgeDetectionThreshold=e}setOrthogonalSearchSteps(e){this.weightsMaterial.orthogonalSearchSteps=e}applyPreset(e){let t=this.edgeDetectionMaterial,n=this.weightsMaterial;switch(e){case t3.LOW:t.edgeDetectionThreshold=.15,n.orthogonalSearchSteps=4,n.diagonalDetection=!1,n.cornerDetection=!1;break;case t3.MEDIUM:t.edgeDetectionThreshold=.1,n.orthogonalSearchSteps=8,n.diagonalDetection=!1,n.cornerDetection=!1;break;case t3.HIGH:t.edgeDetectionThreshold=.1,n.orthogonalSearchSteps=16,n.diagonalSearchSteps=8,n.cornerRounding=25,n.diagonalDetection=!0,n.cornerDetection=!0;break;case t3.ULTRA:t.edgeDetectionThreshold=.05,n.orthogonalSearchSteps=32,n.diagonalSearchSteps=16,n.cornerRounding=25,n.diagonalDetection=!0,n.cornerDetection=!0}}setDepthTexture(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:qj;this.edgeDetectionMaterial.depthBuffer=e,this.edgeDetectionMaterial.depthPacking=t}update(e,t,n){this.clearPass.render(e,this.renderTargetEdges),this.edgeDetectionPass.render(e,t,this.renderTargetEdges),this.weightsPass.render(e,this.renderTargetEdges,this.renderTargetWeights)}setSize(e,t){this.edgeDetectionMaterial.setSize(e,t),this.weightsMaterial.setSize(e,t),this.renderTargetEdges.setSize(e,t),this.renderTargetWeights.setSize(e,t)}dispose(){let{searchTexture:e,areaTexture:t}=this.weightsMaterial;null!==e&&null!==t&&(e.dispose(),t.dispose()),super.dispose()}static get searchImageDataURL(){return $2}static get areaImageDataURL(){return e3}},r3={DEFAULT:0,ESKIL:1},i3=class extends V2{constructor(){let{blendFunction:e=T2.NORMAL,technique:t=r3.DEFAULT,eskil:n=!1,offset:r=.5,darkness:i=.5}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super("VignetteEffect","uniform float offset;uniform float darkness;void mainImage(const in vec4 inputColor,const in vec2 uv,out vec4 outputColor){const vec2 center=vec2(0.5);vec3 color=inputColor.rgb;\n#if VIGNETTE_TECHNIQUE == 0\nfloat d=distance(uv,center);color*=smoothstep(0.8,offset*0.799,d*(darkness+offset));\n#else\nvec2 coord=(uv-center)*vec2(offset);color=mix(color,vec3(1.0-darkness),dot(coord,coord));\n#endif\noutputColor=vec4(color,inputColor.a);}",{blendFunction:e,defines:new Map([["VIGNETTE_TECHNIQUE",t.toFixed(0)]]),uniforms:new Map([["offset",new mR(r)],["darkness",new mR(i)]])})}get technique(){return Number(this.defines.get("VIGNETTE_TECHNIQUE"))}set technique(e){this.technique!==e&&(this.defines.set("VIGNETTE_TECHNIQUE",e.toFixed(0)),this.setChanged())}get eskil(){return this.technique===r3.ESKIL}set eskil(e){this.technique=e?r3.ESKIL:r3.DEFAULT}getTechnique(){return this.technique}setTechnique(e){this.technique=e}get offset(){return this.uniforms.get("offset").value}set offset(e){this.uniforms.get("offset").value=e}getOffset(){return this.offset}setOffset(e){this.offset=e}get darkness(){return this.uniforms.get("darkness").value}set darkness(e){this.uniforms.get("darkness").value=e}getDarkness(){return this.darkness}setDarkness(e){this.darkness=e}};new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array(3),new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1]),new Float32Array([0,0,0]),new Float32Array([1,0,0]),new Float32Array([1,0,1]),new Float32Array([1,1,1]),new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([1,0,1]),new Float32Array([1,1,1]),new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([1,1,0]),new Float32Array([1,1,1]),new Float32Array([0,0,0]),new Float32Array([0,1,0]),new Float32Array([0,1,1]),new Float32Array([1,1,1]),new Float32Array([0,0,0]),new Float32Array([0,0,1]),new Float32Array([0,1,1]),new Float32Array([1,1,1]),new Float32Array(2),new Float32Array(2),new Float32Array([0,-.25,.25,-.125,.125,-.375,.375]),new Float32Array([0,0]),new Float32Array([.25,-.25]),new Float32Array([-.25,.25]),new Float32Array([.125,-.125]),new Float32Array([-.125,.125]),new Uint8Array([0,0]),new Uint8Array([3,0]),new Uint8Array([0,3]),new Uint8Array([3,3]),new Uint8Array([1,0]),new Uint8Array([4,0]),new Uint8Array([1,3]),new Uint8Array([4,3]),new Uint8Array([0,1]),new Uint8Array([3,1]),new Uint8Array([0,4]),new Uint8Array([3,4]),new Uint8Array([1,1]),new Uint8Array([4,1]),new Uint8Array([1,4]),new Uint8Array([4,4]),new Uint8Array([0,0]),new Uint8Array([1,0]),new Uint8Array([0,2]),new Uint8Array([1,2]),new Uint8Array([2,0]),new Uint8Array([3,0]),new Uint8Array([2,2]),new Uint8Array([3,2]),new Uint8Array([0,1]),new Uint8Array([1,1]),new Uint8Array([0,3]),new Uint8Array([1,3]),new Uint8Array([2,1]),new Uint8Array([3,1]),new Uint8Array([2,3]),new Uint8Array([3,3]),new Map([[s3(0,0,0,0),new Float32Array([0,0,0,0])],[s3(0,0,0,1),new Float32Array([0,0,0,1])],[s3(0,0,1,0),new Float32Array([0,0,1,0])],[s3(0,0,1,1),new Float32Array([0,0,1,1])],[s3(0,1,0,0),new Float32Array([0,1,0,0])],[s3(0,1,0,1),new Float32Array([0,1,0,1])],[s3(0,1,1,0),new Float32Array([0,1,1,0])],[s3(0,1,1,1),new Float32Array([0,1,1,1])],[s3(1,0,0,0),new Float32Array([1,0,0,0])],[s3(1,0,0,1),new Float32Array([1,0,0,1])],[s3(1,0,1,0),new Float32Array([1,0,1,0])],[s3(1,0,1,1),new Float32Array([1,0,1,1])],[s3(1,1,0,0),new Float32Array([1,1,0,0])],[s3(1,1,0,1),new Float32Array([1,1,0,1])],[s3(1,1,1,0),new Float32Array([1,1,1,0])],[s3(1,1,1,1),new Float32Array([1,1,1,1])]]);function a3(e,t,n){return e+(t-e)*n}function s3(e,t,n,r){let i=a3(e,t,.75),a=a3(n,r,.75);return a3(i,a,.875)}var o3=class{constructor(e,t){this.enabled=!1,this.effect=new e(t),Object.defineProperty(this,"opacity",{enumerable:!0,set(e){this.effect.blendMode.opacity.value=e},get(){return this.effect.blendMode.opacity.value}}),Object.defineProperty(this,"blendFunction",{enumerable:!0,set(e){this.effect.blendMode.setBlendFunction(Number(e))},get(){return this.effect.blendMode.blendFunction}}),this.blendFunction=T2.NORMAL}},l3=class extends o3{constructor(){super(L2),this.blendFunction=T2.SCREEN}set intensity(e){this.effect.intensity=e}get intensity(){return this.effect.intensity}set luminanceThreshold(e){this.effect.luminanceMaterial.threshold=e}get luminanceThreshold(){return this.effect.luminanceMaterial.threshold}set luminanceSmoothing(e){this.effect.luminanceMaterial.smoothing=e}get luminanceSmoothing(){return this.effect.luminanceMaterial.smoothing}set blurScale(e){this.effect.blurPass.scale=e}get blurScale(){return this.effect.blurPass.scale}set kernelSize(e){this.effect.blurPass.kernelSize=e}get kernelSize(){return this.effect.blurPass.kernelSize}},c3=class extends o3{constructor(){super(Y2)}set contrast(e){this.effect.uniforms.get("contrast").value=e}get contrast(){return this.effect.uniforms.get("contrast").value}set brightness(e){this.effect.uniforms.get("brightness").value=e}get brightness(){return this.effect.uniforms.get("brightness").value}},d3=class extends o3{constructor(){super(Z2),this.effect.offset=new cM(.01,.01)}set offset(e){this.effect.offset.set(e[0]/1e3,e[1]/1e3)}get offset(){return[1e3*this.effect.offset.x,1e3*this.effect.offset.y]}},h3=class extends o3{constructor(){super(F2)}},u3=class extends o3{constructor(){super(Q2),this._hue=0}set hue(e){this._hue=e,this.effect.setHue(e)}get hue(){return this._hue}set saturation(e){this.effect.uniforms.get("saturation").value=e}get saturation(){return this.effect.uniforms.get("saturation").value}},p3=class extends o3{constructor(){super(X2),this.blendFunction=T2.OVERLAY}},f3=class extends o3{constructor(){super(i3)}get eskil(){return this.effect.eskil}set eskil(e){this.effect.eskil=e}get darkness(){return this.effect.uniforms.get("darkness").value}set darkness(e){this.effect.uniforms.get("darkness").value=e}get offset(){return this.effect.uniforms.get("offset").value}set offset(e){this.effect.uniforms.get("offset").value=e}},m3=class extends o3{constructor(e){super(K2,e)}set focalLength(e){this.effect.circleOfConfusionMaterial.uniforms.focalLength.value=e}get focalLength(){return this.effect.circleOfConfusionMaterial.uniforms.focalLength.value}set focusDistance(e){this.effect.circleOfConfusionMaterial.uniforms.focusDistance.value=e}get focusDistance(){return this.effect.circleOfConfusionMaterial.uniforms.focusDistance.value}get bokehScale(){return this.effect.bokehScale}set bokehScale(e){this.effect.bokehScale=e}},g3=class extends o3{constructor(){super(_2)}get granularity(){return this.effect.getGranularity()}set granularity(e){this.effect.setGranularity(e)}},y3=class extends RO{constructor(){super({name:"PassthroughMaterial",uniforms:{inputBuffer:new mR(null)},blending:Ck,depthWrite:!1,depthTest:!1,vertexShader:"#define GLSLIFY 1\nvarying vec2 vUv;void main(){gl_Position=vec4(position.xy,1.0,1.0);vUv=position.xy*0.5+0.5;}",fragmentShader:"#define GLSLIFY 1\nlayout(location=1)out vec4 gVelocity;varying vec2 vUv;uniform sampler2D inputBuffer;void main(){gl_FragColor=texture2D(inputBuffer,vUv);gVelocity=vec4(0.0);}"})}set inputBuffer(e){this.uniforms.inputBuffer.value=e}},v3=class extends v2{constructor(){super("TAAResolvePass"),this.MRTCompatible=!0,this.needsSwap=!1,this.passThroughMaterial=new y3,this.resolutionVector=new cM,this.resolveMaterial=new RO({name:"TAAResolveMaterial",uniforms:{inputBuffer:new mR(null),historyBuffer:new mR(null),velocityBuffer:new mR(null),depthBuffer:new mR(null),resolution:new mR(new cM)},blending:Ck,depthWrite:!1,depthTest:!1,vertexShader:"#define GLSLIFY 1\nvarying vec2 vUv;varying vec2 vTexCoords[9];uniform vec2 resolution;void main(){vUv=position.xy*0.5+0.5;vec2 texelSize=vec2(1.0)/resolution;vTexCoords[0]=vUv+vec2(-texelSize.x,-texelSize.y);vTexCoords[1]=vUv+vec2(0.0,-texelSize.y);vTexCoords[2]=vUv+vec2(texelSize.x,-texelSize.y);vTexCoords[3]=vUv+vec2(-texelSize.x,0.0);vTexCoords[4]=vUv+vec2(0.0,0.0);vTexCoords[5]=vUv+vec2(texelSize.x,0.0);vTexCoords[6]=vUv+vec2(-texelSize.x,texelSize.y);vTexCoords[7]=vUv+vec2(0.0,texelSize.y);vTexCoords[8]=vUv+vec2(texelSize.x,texelSize.y);gl_Position=vec4(position.xy,1.0,1.0);}",fragmentShader:"#define GLSLIFY 1\n#include <common>\nvarying vec2 vUv;varying vec2 vTexCoords[9];uniform sampler2D inputBuffer;uniform sampler2D historyBuffer;uniform sampler2D velocityBuffer;uniform sampler2D depthBuffer;uniform vec2 resolution;\n#define USE_YCOCG\n#define USE_CATMULL_ROM\nconst float feedback_min=0.5;const float feedback_max=0.95;vec3 RGB_YCoCg(vec3 c){return vec3(c.x/4.0+c.y/2.0+c.z/4.0,c.x/2.0-c.z/2.0,-c.x/4.0+c.y/2.0-c.z/4.0);}vec3 YCoCg_RGB(vec3 c){return clamp(vec3(c.x+c.y-c.z,c.x+c.z,c.x-c.y-c.z),vec3(0.0),vec3(1.0));}vec4 sample_color(sampler2D tex,vec2 uv){\n#ifdef USE_YCOCG\nvec4 c=texture(tex,uv);return vec4(RGB_YCoCg(c.rgb),c.a);\n#else\nreturn texture(tex,uv);\n#endif\n}vec4 sample_catmull_rom(sampler2D tex,vec2 uv,vec2 texSize){vec2 samplePos=uv*texSize;vec2 texPos1=floor(samplePos-0.5)+0.5;vec2 f=samplePos-texPos1;vec2 w0=f*(-0.5+f*(1.0-0.5*f));vec2 w1=1.0+f*f*(-2.5+1.5*f);vec2 w2=f*(0.5+f*(2.0-1.5*f));vec2 w3=f*f*(-0.5+0.5*f);vec2 w12=w1+w2;vec2 offset12=w2/(w1+w2);vec2 texPos0=texPos1-1.0;vec2 texPos3=texPos1+2.0;vec2 texPos12=texPos1+offset12;texPos0/=texSize;texPos3/=texSize;texPos12/=texSize;vec4 result=vec4(0.0);result+=texture2D(tex,vec2(texPos12.x,texPos0.y))*w12.x*w0.y;result+=texture2D(tex,vec2(texPos0.x,texPos12.y))*w0.x*w12.y;result+=texture2D(tex,vec2(texPos12.x,texPos12.y))*w12.x*w12.y;result+=texture2D(tex,vec2(texPos3.x,texPos12.y))*w3.x*w12.y;result+=texture2D(tex,vec2(texPos12.x,texPos3.y))*w12.x*w3.y;return result;}vec3 choose_motion_vector(){\n#ifdef CHOOSE_LONGEST_MOTION_VECTOR\nfloat longest=-1.0;vec3 v_choose=vec3(-1.0);for(int i=0;i<9;i++){vec3 v=texture2D(velocityBuffer,vTexCoords[i]).rgb;float l=length(v.xy);if(l>longest){longest=l;v_choose=v;}}return v_choose;\n#else\nfloat closest_depth=1000.0;vec2 closest_uv_offset=vec2(0.0);for(int i=0;i<9;i++){float neighbor_depth=texture2D(depthBuffer,vTexCoords[i]).r;if(neighbor_depth<closest_depth){closest_uv_offset=vTexCoords[i];closest_depth=neighbor_depth;}}return texture2D(velocityBuffer,closest_uv_offset).rgb;\n#endif\n}vec4 clipAabb(vec3 aabb_min,vec3 aabb_max,vec4 avg,vec4 input_texel){const float FLT_EPS=0.00000001;vec3 p_clip=0.5*(aabb_max+aabb_min);vec3 e_clip=0.5*(aabb_max-aabb_min)+FLT_EPS;vec4 v_clip=input_texel-vec4(p_clip,avg.w);vec3 v_unit=v_clip.xyz/e_clip;vec3 a_unit=abs(v_unit);float ma_unit=max(a_unit.x,max(a_unit.y,a_unit.z));if(ma_unit>1.0){return vec4(p_clip,avg.w)+v_clip/ma_unit;}else{return input_texel;}}vec3 clip_aabb_variance(in vec3 cOld,in vec3 cNew,in vec3 centre,in vec3 halfSize){if(all(lessThanEqual(abs(cOld-centre),halfSize))){return cOld;}vec3 dir=(cNew-cOld);vec3 near=centre-sign(dir)*halfSize;vec3 tAll=(near-cOld)/dir;float t=0.0001;for(int i=0;i<3;i++){if(tAll[i]>=0.0&&tAll[i]<t){t=tAll[i];}}if(t>=0.0001){return cOld;}return cOld+dir*t;}void main(){vec3 v=choose_motion_vector();vec2 velocity=v.rg;vec2 previousPixelPos=vUv-velocity;vec4 currentColor=sample_color(inputBuffer,vUv);\n#ifdef USE_CATMULL_ROM\nvec4 previousColor=sample_catmull_rom(historyBuffer,previousPixelPos,resolution);\n#else\nvec4 previousColor=sample_color(historyBuffer,previousPixelPos);\n#endif\n#ifdef USE_YCOCG\npreviousColor=vec4(RGB_YCoCg(previousColor.rgb),previousColor.a);\n#endif\nvec4 ctl=sample_color(inputBuffer,vTexCoords[0]);vec4 ctc=sample_color(inputBuffer,vTexCoords[1]);vec4 ctr=sample_color(inputBuffer,vTexCoords[2]);vec4 cml=sample_color(inputBuffer,vTexCoords[3]);vec4 cmc=sample_color(inputBuffer,vTexCoords[4]);vec4 cmr=sample_color(inputBuffer,vTexCoords[5]);vec4 cbl=sample_color(inputBuffer,vTexCoords[6]);vec4 cbc=sample_color(inputBuffer,vTexCoords[7]);vec4 cbr=sample_color(inputBuffer,vTexCoords[8]);vec4 cmin=min(ctl,min(ctc,min(ctr,min(cml,min(cmc,min(cmr,min(cbl,min(cbc,cbr))))))));vec4 cmax=max(ctl,max(ctc,max(ctr,max(cml,max(cmc,max(cmr,max(cbl,max(cbc,cbr))))))));vec4 cavg=(ctl+ctc+ctr+cml+cmc+cmr+cbl+cbc+cbr)/9.0;vec4 cmin5=min(ctc,min(cml,min(cmc,min(cmr,cbc))));vec4 cmax5=max(ctc,max(cml,max(cmc,max(cmr,cbc))));vec4 cavg5=(ctc+cml+cmc+cmr+cbc)/5.0;cmin=0.5*(cmin+cmin5);cmax=0.5*(cmax+cmax5);cavg=0.5*(cavg+cavg5);\n#ifdef USE_YCOCG\nvec2 chroma_extent=vec2(0.25*0.5*(cmax.r-cmin.r));vec2 chroma_center=currentColor.gb;cmin.yz=chroma_center-chroma_extent;cmax.yz=chroma_center+chroma_extent;cavg.yz=chroma_center;\n#endif\nvec4 previousColorClipped=clamp(previousColor,cmin,cmax);\n#ifdef LUMINANCE_DIFFERENCES\n#ifdef USE_YCOCG\nfloat lum0=currentColor.r;float lum1=previousColorClipped.r;\n#else\nfloat lum0=luminance(currentColor.rgb);float lum1=luminance(previousColorClipped.rgb);\n#endif\nfloat unbiased_diff=abs(lum0-lum1)/max(lum0,max(lum1,0.2));float unbiased_weight=1.0-unbiased_diff;float unbiased_weight_sqr=unbiased_weight*unbiased_weight;float k_feedback=mix(feedback_min,feedback_max,unbiased_weight_sqr);vec4 result=mix(currentColor,previousColorClipped,vec4(k_feedback));\n#else\nconst float alpha=0.1;vec4 result=mix(currentColor,previousColorClipped,1.0-alpha);\n#endif\n#ifdef USE_YCOCG\ngl_FragColor=vec4(YCoCg_RGB(result.rgb).rgb,result.a);\n#else\ngl_FragColor=result;\n#endif\n}"}),this.historyRenderTarget=new RM(1024,1024,{minFilter:Pw,stencilBuffer:!1,depthBuffer:!1}),this.historyRenderTarget.texture.name="TAA.History",this.resultRenderTarget=new RM(1024,1024,{minFilter:Pw,stencilBuffer:!1,depthBuffer:!1}),this.resultRenderTarget.texture.name="TAA.Output"}setSize(e,t){this.historyRenderTarget.setSize(e,t),this.resultRenderTarget.setSize(e,t)}render(e,t){this.fullscreenMaterial=this.resolveMaterial,this.resolveMaterial.uniforms.inputBuffer.value=t.texture[0],this.resolveMaterial.uniforms.velocityBuffer.value=t.texture[1],this.resolveMaterial.uniforms.depthBuffer.value=t.depthTexture,this.resolveMaterial.uniforms.historyBuffer.value=this.historyRenderTarget.texture,this.resolveMaterial.uniforms.resolution.value.set(t.width,t.height),e.setRenderTarget(this.resultRenderTarget),e.render(this.scene,this.camera),this.fullscreenMaterial=this.passThroughMaterial,this.passThroughMaterial.inputBuffer=this.resultRenderTarget.texture,e.setRenderTarget(this.historyRenderTarget),e.render(this.scene,this.camera);let n=this.renderToScreen?null:t;this.fullscreenMaterial=this.passThroughMaterial,this.passThroughMaterial.inputBuffer=this.resultRenderTarget.texture,e.setRenderTarget(n),e.render(this.scene,this.camera)}dispose(){this.resultRenderTarget.dispose(),this.historyRenderTarget.dispose(),this.resolveMaterial.dispose(),this.passThroughMaterial.dispose()}},x3=class extends v2{constructor(e,t,n){super("TransmissionPass",void 0,t),this.MRTCompatible=!0,this.depthPass=new O2(e,t,{renderTarget:n.transmissionDepthTarget}),this.passThroughMaterial=new y3,this.splineScene=e,this.needsSwap=!1}updatePasses(e){this.passThroughMaterial=new y3,this.depthPass=new O2(this.splineScene,this.camera,{renderTarget:e.transmissionDepthTarget})}setCamera(e){this.camera=e}setScene(e){this.splineScene=e}render(e,t,n){let r=this.camera.layers.mask,i=e;i.setRenderTarget(i.transmissionRenderTarget),this.fullscreenMaterial=this.passThroughMaterial,this.passThroughMaterial.inputBuffer=t.texture[0],i.clear(),i.render(this.scene,this.camera),this.camera.layers.disable(3),this.depthPass.render(e,t,n),i.shadowMap.needsUpdate=!1,i.shadowMap.autoUpdate=!1;let a=this.renderToScreen?null:t;this.camera.layers.set(3),e.setRenderTarget(a),e.render(this.splineScene,this.camera),this.camera.layers.mask=r}},S3=new TC,A3=new RO({transparent:!0,vertexShader:"\n        void main() {\n            gl_Position = vec4(0.0);\n        }\n    ",fragmentShader:"\n        layout(location = 1) out vec4 gVelocity;\n\n        void main() {\n            gl_FragColor = vec4(0.0);\n\t\t\tgVelocity = vec4(0.0);\n        }\n    "}),b3=class extends v2{constructor(e,t,n){super("OpaquePass",null!==t&&void 0!==t?t:S3,n),this.MRTCompatible=!0,this.hasTransmissionPass=!1,this.clear=!0,this.clearColorOnly=!1,this.clearDepth=!1,this.needsSwap=!1,this.originalMaterials=new Map,this.MRTCompatible=e}set splatViewer(e){this._splatViewer=e}get splatViewer(){return this._splatViewer}setCamera(e){this.camera=e}setScene(e){this.scene=null!==e&&void 0!==e?e:S3}getScene(){return this.scene}render(e,t){var n;this.camera.layers.enable(3),this.hasTransmissionPass&&(this.originalMaterials.clear(),this.scene.traverse((e=>{e.layers.isEnabled(3)&&e instanceof gX&&(this.originalMaterials.set(e.id,e.material),e.material=A3)})),e.shadowMap.needsUpdate=!0,e.shadowMap.autoUpdate=!0),this.camera.layers.enable(8);let r=this.renderToScreen?null:t;if(e.setRenderTarget(r),this.clearColorOnly&&e.clear(!0,!1,!0),this.clear&&e.clear(),!0===(null===(n=this._splatViewer)||void 0===n?void 0:n.splatRenderingInitialized)){let t=e.autoClear;e.autoClear=!1,e.render(this.scene,this.camera),this._splatViewer.update(),e.render(this._splatViewer.splatMesh,this.camera),e.autoClear=t}else e.render(this.scene,this.camera);this.clearDepth&&e.clear(!1,!0,!1),this.hasTransmissionPass&&this.originalMaterials.forEach(((e,t)=>{let n=this.scene.getObjectById(t);n&&(n.material=e)}))}},k3=class{constructor(e){let{depthBuffer:t=!0,stencilBuffer:n=!1,multisampling:r=0,frameBufferType:i=0}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.renderer=e,this.helperStartIndex=0,this.copyPass=new x2,this.depthTexture=null,this.timer=new U2,this._width=1,this._height=1,this.passes=[],this.helperPasses=[],this.autoRenderToScreen=!0,this.inputBuffer=this.createBuffer(t,n,i,r,!0,"input buffer mrt"),this.inputBufferSingle=this.createBuffer(t,n,i,r,!1," input buffer single"),this.inputBufferSingle.texture.dispose(),this.inputBufferSingle.depthTexture.dispose(),this.inputBufferSingle.texture=this.inputBuffer.texture[0],this.inputBufferSingle.depthTexture=this.inputBuffer.depthTexture,this.outputBuffer=this.inputBuffer.clone(),this.outputBuffer.name="output buffer mrt",this.outputBufferSingle=this.createBuffer(t,n,i,r,!1,"output buffer single"),this.outputBufferSingle.texture.dispose(),this.outputBufferSingle.depthTexture.dispose(),this.outputBufferSingle.texture=this.outputBuffer.texture[0],this.outputBufferSingle.depthTexture=this.outputBuffer.depthTexture,this.setRenderer(e)}get multisampling(){return this.inputBuffer.samples||0}set multisampling(e){let t=this.inputBuffer,n=this.multisampling;n>0&&e>0?(this.inputBuffer.samples=e,this.outputBuffer.samples=e,this.inputBuffer.dispose(),this.outputBuffer.dispose()):n!==e&&(this.inputBuffer.dispose(),this.outputBuffer.dispose(),console.log("creating new input buffer"),this.inputBuffer=this.createBuffer(t.depthBuffer,t.stencilBuffer,t.texture.type,e,!0,"new input buffer"),this.inputBuffer.depthTexture=this.depthTexture,this.outputBuffer=this.inputBuffer.clone())}getTimer(){return this.timer}getRenderer(){return this.renderer}setRenderer(e){if(this.renderer=e,null!==e){var t,n;let r=e.getSize(new cM),i=null!==(t=null===(n=e.getContext().getContextAttributes())||void 0===n?void 0:n.alpha)&&void 0!==t&&t,a=this.inputBuffer.texture[0].type;a===Iw&&e.outputEncoding===Gj&&(this.inputBuffer.texture[0].encoding=Gj,this.outputBuffer.texture[0].encoding=Gj,this.inputBuffer.dispose(),this.outputBuffer.dispose(),console.log("doing some kinda dispose??")),e.autoClear=!1,this.setSize(r.width,r.height,!1);for(let t of this.passes)t.initialize(e,i,a)}}replaceRenderer(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this.renderer,r=n.domElement.parentNode;return this.setRenderer(e),t&&null!==r&&(r.removeChild(n.domElement),r.appendChild(e.domElement)),n}createDepthTexture(){let e=this.depthTexture=new kC(this._width,this._height);return this.inputBuffer.depthTexture=e,this.inputBuffer.dispose(),this.inputBuffer.stencilBuffer?(e.format=Yw,e.type=Ww):e.type=Dw,e}deleteDepthTexture(){if(null!==this.depthTexture){this.depthTexture.dispose(),this.depthTexture=null,this.inputBuffer.depthTexture=null,this.inputBuffer.dispose();for(let e of this.passes)e.setDepthTexture(null)}}createBuffer(e,t,n,r,i,a){let s,o=this.renderer,l=null===o?new cM:o.getDrawingBufferSize(new cM),c={minFilter:Pw,magFilter:Pw,wrapS:bw,wrapT:bw,stencilBuffer:t,depthBuffer:e};return r>0?(s=new RM(l.width,l.height,c),s.samples=r):(i?(s=new BM(l.width,l.height,2,c),s.texture[1].type=Gw):s=new RM(l.width,l.height,c),s.depthTexture=new kC(2048,2048),s.depthTexture.type=Bw),n===Iw&&null!==o&&o.outputEncoding===Gj&&(Array.isArray(s.texture)?s.texture.forEach((e=>e.encoding=Gj)):s.texture.encoding=Gj),Array.isArray(s.texture)?s.texture.forEach(((e,t)=>{e.name="EffectComposer.Buffer ".concat(i," ").concat(t),e.generateMipmaps=!1})):(s.texture.name="EffectComposer.Buffer ".concat(i),s.texture.generateMipmaps=!1),s.name=a,s}addPass(e,t){var n,r;let i,a=this.passes,s=this.renderer,o=s.getDrawingBufferSize(new cM),l=null!==(n=null===(r=s.getContext().getContextAttributes())||void 0===r?void 0:r.alpha)&&void 0!==n&&n;if(e.MRTCompatible&&(i=this.inputBuffer.texture[0].type),e.MRTCompatible||(i=this.inputBuffer.texture.type),e.setRenderer(s),e.setSize(o.width,o.height),e.initialize(s,l,i),this.autoRenderToScreen&&(a.length>0&&(a[a.length-1].renderToScreen=!1),e.renderToScreen&&(this.autoRenderToScreen=!1)),void 0!==t?a.splice(t,0,e):a.push(e),this.autoRenderToScreen&&(a[a.length-1].renderToScreen=!0),e.needsDepthTexture||null!==this.depthTexture)if(null===this.depthTexture){let t=this.createDepthTexture();for(e of a)e.setDepthTexture(t)}else e.setDepthTexture(this.depthTexture)}setHelperStartIndex(e){this.helperStartIndex=e}removePass(e){let t=this.passes,n=t.indexOf(e);if(-1!==n&&t.splice(n,1).length>0){if(null!==this.depthTexture){let n=(e,t)=>e||t.needsDepthTexture;t.reduce(n,!1)||(e.getDepthTexture()===this.depthTexture&&e.setDepthTexture(null),this.deleteDepthTexture())}this.autoRenderToScreen&&n===t.length&&(e.renderToScreen=!1,t.length>0&&(t[t.length-1].renderToScreen=!0))}}removeAllPasses(){let e=this.passes;this.deleteDepthTexture(),e.length>0&&(this.autoRenderToScreen&&(e[e.length-1].renderToScreen=!1),this.passes=[])}render(e){let t,n,r,i,a=this.renderer,s=this.copyPass,o=this.inputBuffer,l=this.outputBuffer,c=this.inputBufferSingle,d=this.outputBufferSingle,h=!1;void 0===e&&(e=this.timer.update().getDelta());for(let u of this.passes)u.enabled&&(u.MRTCompatible?u.render(a,o,l,e,h):u.render(a,c,d,e,h),u.needsSwap&&(h&&(s.renderToScreen=u.renderToScreen,t=a.getContext(),n=a.state.buffers.stencil,n.setFunc(t.NOTEQUAL,1,4294967295),s.render(a,o,l,e,h),n.setFunc(t.EQUAL,1,4294967295)),r=o,i=c,o=l,c=d,l=r,d=i),u instanceof W2?h=!0:u instanceof S2&&(h=!1))}setSize(e,t,n){let r=this.renderer;if(this._width=e,this._height=t,void 0===e||void 0===t){let n=r.getSize(new cM);e=n.width,t=n.height}r.setSize(e,t,n);let i=r.getDrawingBufferSize(new cM);this.inputBuffer.setSize(i.width,i.height),this.outputBuffer.setSize(i.width,i.height),this.inputBufferSingle.setSize(i.width,i.height),this.outputBufferSingle.setSize(i.width,i.height);for(let a of this.passes)a.setSize(i.width,i.height)}reset(){let e=this.timer.isAutoResetEnabled();this.dispose(),this.autoRenderToScreen=!0,this.timer.setAutoResetEnabled(e)}dispose(){for(let e of this.passes)e.dispose();this.passes=[],null!==this.inputBuffer&&this.inputBuffer.dispose(),null!==this.outputBuffer&&this.outputBuffer.dispose(),null!==this.inputBufferSingle&&this.inputBufferSingle.dispose(),null!==this.outputBufferSingle&&this.outputBufferSingle.dispose(),this.deleteDepthTexture(),this.copyPass.dispose(),this.timer.dispose()}},w3=new RO({name:"CombineMaterial",uniforms:{inputBufferA:new mR(null),inputBufferB:new mR(null)},blending:Ck,depthWrite:!1,depthTest:!1,vertexShader:"\nvarying vec2 vUv;\nvoid main() {\n    gl_Position = vec4(position.xy, 1.0, 1.0);\n    vUv = position.xy * 0.5 + 0.5;\n}\n",fragmentShader:"\n    varying vec2 vUv;\n    uniform sampler2D inputBufferA;\n    uniform sampler2D inputBufferB;\n\n    // TODO: Why do we need these when postpro of framemode is enabled???\n    layout(location = 1) out vec4 gVelocity;\n\n    void main() {\n\tvec4 resA = texture2D(inputBufferA, vUv);\n\tvec4 resB = texture2D(inputBufferB, vUv);\n    float a = resA.a + resB.a * ( 1.0 - resA.a );\n\n\tvec4 res;\n\tres.rgb =  resA.rgb + (resB.rgb * (1.0 - resA.a));\n\tres.a = resA.a + resB.a * (1.0 - resA.a);\n\tgl_FragColor = res;\n    gVelocity = vec4(0.0);\n    }\n"}),j3=class extends v2{constructor(e){super("HelperPass",void 0,e),this.MRTCompatible=!1,this.fullscreenMaterial=w3,this.helperPass=new b3(!1,void 0,this.camera),this.helperPass.hasTransmissionPass=!1,this.helperPass.clear=!1,this.helperPass.renderToScreen=!1,this.helperPassOnTop=new b3(!1,void 0,this.camera),this.helperPassOnTop.hasTransmissionPass=!1,this.helperPassOnTop.clear=!1,this.helperPassOnTop.renderToScreen=!1;let t=new n3({preset:t3.LOW,edgeDetectionMode:s2.COLOR});this.effectPass=new B2(this.camera,t),this.rt=new RM(10,10,{minFilter:Pw,magFilter:Pw,wrapS:bw,wrapT:bw,depthBuffer:!0})}setSize(e,t){this.rt.setSize(e,t),this.effectPass.setSize(e,t)}set sceneHelpers(e){this.helperPass.setScene(e)}get sceneHelpers(){return this.helperPass.getScene()}set sceneHelpersOnTop(e){this.helperPassOnTop.setScene(e)}get sceneHelpersOnTop(){return this.helperPassOnTop.getScene()}setCamera(e){this.helperPass.setCamera(e),this.helperPassOnTop.setCamera(e)}initialize(e,t,n){super.initialize(e,t,n),this.effectPass.initialize(e,t,n)}dispose(){super.dispose(),this.rt.dispose(),this.effectPass.dispose()}render(e,t,n){this.rt.depthTexture=t.depthTexture;let r=e.getClearAlpha();e.setClearAlpha(0),this.helperPass.clearDepth=!0,this.helperPass.clearColorOnly=!0,this.helperPass.render(e,this.rt),this.helperPassOnTop.render(e,this.rt),this.effectPass.renderToScreen=!1,this.effectPass.render(e,this.rt,n),this.fullscreenMaterial.uniforms.inputBufferA.value=n.texture,this.fullscreenMaterial.uniforms.inputBufferB.value=t.texture,e.setClearAlpha(r),e.setRenderTarget(null),e.clear(),e.render(this.scene,this.camera)}},M3=[[.478712,.875764],[-.337956,-.793959],[-.955259,-.028164],[.864527,.325689],[.209342,-.395657],[-.106779,.672585],[.156213,.235113],[-.413644,-.082856],[-.415667,.323909],[.141896,-.93998],[.954932,-.182516],[-.766184,.410799],[-.434912,-.458845],[.415242,-.078724],[.728335,-.491777],[-.058086,-.066401],[.20299,.686837],[-.808362,-.556402],[.507386,-.640839],[-.723494,-.22924],[.48974,.317826],[-.622663,.765301],[-.01064,.929347],[.663146,.647618],[-.096674,-.413835],[.525945,-.321063],[-.122533,.366019],[.195235,-.687983],[-.563203,.098748],[.418563,.561335],[-.378595,.800367],[.826922,.001024],[-.085372,-.766651],[-.92192,.183673],[-.590008,-.721799],[.167751,-.164393],[.032961,-.56253],[.6329,-.107059],[-.46408,.569669],[-.173676,-.958758],[-.242648,-.234303],[-.275362,.157163],[.382295,-.795131],[.562955,.115562],[.190586,.470121],[.770764,-.297576],[.237281,.93105],[-.666642,-.455871],[-.905649,-.298379],[.33952,.157829],[.701438,-.7041],[-.062758,.160346],[-.220674,.957141],[.642692,.432706],[-.77339,-.015272],[-.671467,.24688],[.158051,.062859],[.806009,.527232],[-.05762,-.247071],[.333436,-.51671],[-.550658,-.315773],[-.652078,.589846],[.008818,.530556],[-.210004,.519896]],P3=new RO({vertexShader:"#define GLSLIFY 1\n#include <skinning_pars_vertex>\nout vec3 n;void main(){\n#include <beginnormal_vertex>\n#include <skinbase_vertex>\n#include <skinnormal_vertex>\n#include <defaultnormal_vertex>\n#include <begin_vertex>\n#include <skinning_vertex>\nvec4 view_space=viewMatrix*modelMatrix*vec4(transformed,1.0);gl_Position=projectionMatrix*view_space;n=normalize(transformedNormal);}",fragmentShader:"#define GLSLIFY 1\nin vec3 n;void main(){gl_FragColor=vec4(n,1.0);}"}),O3=new RO({vertexShader:"#define GLSLIFY 1\nout vec2 v_uv;void main(){gl_Position=vec4(position.xy,1.0,1.0);v_uv=uv;}",fragmentShader:"#define GLSLIFY 1\nin vec2 v_uv;uniform sampler2D texture_ao_lrez;uniform sampler2D texture_depth_lrez;uniform sampler2D texture_depth_hrez;uniform float near;uniform float far;float linearize_depth(float depth_sampled){float z=depth_sampled*2.0-1.0;return(2.0*near*far)/(far+near-z*(far-near));}vec2 nearest_depth_filter(in vec2 uv){vec2 resolution=vec2(textureSize(texture_depth_lrez,0));vec2 texel_size=1.0/resolution;vec2 offset=uv-0.5*texel_size;float d_hrez=texture(texture_depth_hrez,uv).r;float a=abs(d_hrez-texture(texture_depth_lrez,offset).r);float b=abs(d_hrez-texture(texture_depth_lrez,offset+vec2(texel_size.x,0.0)).r);float c=abs(d_hrez-texture(texture_depth_lrez,offset+vec2(0.0,texel_size.y)).r);float d=abs(d_hrez-texture(texture_depth_lrez,offset+vec2(texel_size.x,texel_size.y)).r);float min_diff=min(a,min(b,min(c,d)));if(min_diff==a)return offset;if(min_diff==b)return offset+vec2(texel_size.x,0.0);if(min_diff==c)return offset+vec2(0.0,texel_size.y);if(min_diff==d)return offset+vec2(texel_size.x,texel_size.y);}void main(){\n#ifdef DEBUG\nfloat d_lrez=texture(texture_depth_lrez,v_uv).r;float d_hrez=texture(texture_depth_hrez,v_uv).r;float output_d=mix(linearize_depth(d_lrez)/far,linearize_depth(d_hrez)/far,step(0.5,v_uv.x));gl_FragColor=vec4(vec3(output_d),1.0);\n#else\nvec2 filtered_uv=nearest_depth_filter(v_uv);vec4 ao=texture(texture_ao_lrez,filtered_uv);gl_FragColor=vec4(ao.rgb,1.0);gl_FragColor=ao;\n#endif\n}",uniforms:{texture_ao_lrez:new mR(null),texture_depth_lrez:new mR(null),texture_depth_hrez:new mR(null),near:new mR(null),far:new mR(null)}}),T3=class extends v2{constructor(e,t){super("AmbientOcclusionPass",void 0,t),this.fogEnabled=!1,this.fogNear=1,this.fogFar=1e3,this.frameIndex=0,this._runHalfRes=!0,this._width=1,this._height=1;let n=1024,r=1024;this.gBuffer=new RM(n,r,{type:Bw,depthTexture:new kC(n,r),minFilter:Pw,magFilter:Pw}),this.depthBufferHighRes=new RM(n,r,{depthTexture:new kC(n,r)}),this.aoBuffer=new RM(n,r,{minFilter:Pw,magFilter:Pw}),this.splineScene=e,this.splineCamera=t;let i=new Float32Array(2*M3.length);for(let s=0;s<M3.length;s++){let e=2*s;i[e+0]=M3[s][0],i[e+1]=M3[s][1]}this.blueNoiseInDiskTexture=new RC(i,M3.length,1,Kw,Bw),this.blueNoiseInDiskTexture.wrapS=Aw,this.blueNoiseInDiskTexture.wrapT=Aw,this.blueNoiseInDiskTexture.needsUpdate=!0,this.hbaoMaterial=new RO({vertexShader:"#define GLSLIFY 1\nout vec2 v_uv;void main(){v_uv=uv;gl_Position=vec4(position.xy,1.0,1.0);}",fragmentShader:"#define GLSLIFY 1\nin vec2 v_uv;const float pi=3.14159265;const float num_steps=4.0;const float num_directions=4.0;uniform float near;uniform float far;uniform float fov;uniform vec4 proj_info;uniform bool is_ortho;uniform vec2 resolution;uniform float radius_of_influence;uniform float radius_in_screen_space;uniform float exponent;uniform vec3 ao_color;uniform float bias;uniform sampler2D texture_depth;uniform sampler2D texture_normals;uniform sampler2D texture_blue_noise;uniform sampler2D texture_blue_noise_in_disk;uniform sampler2D texture_color_pass;uniform int frame_index;uniform bool fog_enabled;uniform float fog_near;uniform float fog_far;vec3 uv_to_view_space(vec2 uv,float eye_z){return vec3((uv*proj_info.xy+proj_info.zw)*(is_ortho ? 1.0 : eye_z),eye_z);}float linearize_depth(float depth_sampled){float z=is_ortho ? depth_sampled : depth_sampled*2.0-1.0;return mix((2.0*near*far)/(far+near-z*(far-near)),near+z*(far-near),float(is_ortho));}vec3 get_view_position(vec2 uv_coords){float linear_depth=linearize_depth(texture(texture_depth,uv_coords).x);return uv_to_view_space(uv_coords,linear_depth);}vec3 min_difference(vec3 p,vec3 right,vec3 left){vec3 v1=right-p;vec3 v2=p-left;return(dot(v1,v1)<dot(v2,v2))? v1 : v2;}vec3 rebuild_normal(in vec2 uv,in vec3 p){vec2 one_over_resolution=1.0/resolution;vec3 r=get_view_position(uv+vec2(one_over_resolution.x,0));vec3 l=get_view_position(uv+vec2(-one_over_resolution.x,0));vec3 t=get_view_position(uv+vec2(0,one_over_resolution.y));vec3 b=get_view_position(uv+vec2(0,-one_over_resolution.y));return normalize(cross(min_difference(p,r,l),min_difference(p,t,b)));}float falloff(float distance_squared){float neg_inv_r2=-1.0/(radius_of_influence*radius_of_influence);return distance_squared*neg_inv_r2+1.0;}float ao_contribution(vec3 P,vec3 N,vec3 S){vec3 to_sample=S-P;float norm_squared=dot(to_sample,to_sample);float norm=sqrt(norm_squared);float cos_theta=dot(N,to_sample)/norm;return clamp(cos_theta-bias,0.0,1.0)*clamp(falloff(norm_squared),0.0,1.0);}float compute_ambient_occlusion(vec2 uv,float radius_in_screen_space,vec3 pc,vec3 view_space_n){vec2 one_over_resolution=1.0/resolution;ivec2 noise_uv=ivec2(int(mod(gl_FragCoord.x,128.0)),int(mod(gl_FragCoord.y,128.0)));float noise=texelFetch(texture_blue_noise,noise_uv,0).r;noise=fract(noise+0.61803398875*float(frame_index));float theta=noise*2.0*3.1415;float ct=cos(theta);float st=sin(theta);float step_size=radius_in_screen_space/(num_steps+1.0);const float angle_step=2.0*pi/num_directions;float contribution=0.0;for(int i=0;i<int(num_directions);++i){float current_pixel=step_size+1.0;for(int j=0;j<int(num_steps);++j){int index=i*int(num_steps)+j;vec2 blue_noise_sample=texelFetch(texture_blue_noise_in_disk,ivec2(index,0),0).rg;vec2 disk_point;disk_point.x=blue_noise_sample.x*ct-blue_noise_sample.y*st;disk_point.y=blue_noise_sample.x*st+blue_noise_sample.y*ct;vec2 sample_direction=disk_point;vec2 snapped_uv=round(current_pixel*sample_direction)*one_over_resolution+uv;vec3 ps=get_view_position(snapped_uv);current_pixel+=step_size;contribution+=ao_contribution(pc,view_space_n,ps);}}float mult=1.0/(1.0-bias);contribution*=mult/(num_directions*num_steps);return clamp(1.0-contribution*2.0,0.0,1.0);}\n#define USE_GBUFFER_NORMALS\nvoid main(){vec3 view_space_p=get_view_position(v_uv);\n#ifdef USE_GBUFFER_NORMALS\nvec3 view_space_n=texture(texture_normals,v_uv).rgb;view_space_n.z*=-1.0;\n#else\nvec3 view_space_n=-rebuild_normal(v_uv,view_space_p);\n#endif\nfloat radius_ss=radius_in_screen_space/(is_ortho ? 1.0 : view_space_p.z);float ao=compute_ambient_occlusion(v_uv,radius_ss,view_space_p,view_space_n);float final=pow(ao,exponent);if(view_space_p.z>=far){final=1.0;}vec3 color=mix(ao_color,vec3(1.0),final);if(fog_enabled){float fog_factor=smoothstep(fog_near,fog_far,view_space_p.z);color=mix(color,vec3(1.0),fog_factor);}gl_FragColor=vec4(color,1.0);}",uniforms:{near:new mR(null),far:new mR(null),fov:new mR(null),proj_info:new mR(new VM),is_ortho:new mR(!1),resolution:new mR(new cM),radius_of_influence:new mR(8),radius_in_screen_space:new mR(1),exponent:new mR(1),ao_color:new mR(new qM),bias:new mR(.5),texture_depth:new mR(null),texture_normals:new mR(null),texture_blue_noise:new mR(null),texture_blue_noise_in_disk:new mR(this.blueNoiseInDiskTexture),frame_index:new mR(0),fog_enabled:new mR(!1),fog_near:new mR(1),fog_far:new mR(1e3)}}),this.radius=128,this.aoColor={r:0,g:0,b:0},this.bias=.5,this.hbaoMaterial.uniforms.texture_depth.value=this.gBuffer.depthTexture,this.hbaoMaterial.uniforms.texture_normals.value=this.gBuffer.texture,this.needsSwap=!0,this.aaBuffer=new RM(n,r,{minFilter:Pw,magFilter:Pw,wrapS:bw,wrapT:bw,depthBuffer:!1,type:Bw});let a=new n3({preset:t3.ULTRA,edgeDetectionMode:s2.COLOR});this.effectPass=new B2(this.camera,a)}initialize(e,t,n){super.initialize(e,t,n),this.effectPass.initialize(e,t,n)}setBlueNoiseTexture(e){this.hbaoMaterial.uniforms.texture_blue_noise.value=e}setSize(e,t){this._width=e,this._height=t,this.depthBufferHighRes.setSize(e,t);let n=this._runHalfRes?.5:1,r=e*n,i=t*n;this.gBuffer.setSize(r,i),this.aoBuffer.setSize(r,i),this.hbaoMaterial.uniforms.resolution.value.set(r,i),this.aaBuffer.setSize(r,i),this.effectPass.setSize(r,i)}get runHalfRes(){return this._runHalfRes}set runHalfRes(e){this._runHalfRes=e,this.setSize(this._width,this._height)}setCamera(e){this.splineCamera=e}setScene(e){this.splineScene=e}render(e,t,n){this.splineScene.overrideMaterial=P3;let r=this.splineCamera.layers.mask;if(this.splineCamera.layers.set(5),e.setRenderTarget(this.gBuffer),e.clear(),e.render(this.splineScene,this.splineCamera),e.setRenderTarget(this.depthBufferHighRes),e.clear(),e.render(this.splineScene,this.splineCamera),this.splineScene.overrideMaterial=null,this.splineCamera.layers.mask=r,this.hbaoMaterial.uniforms.radius_of_influence.value=this.radius,this.hbaoMaterial.uniforms.ao_color.value.set(this.aoColor.r,this.aoColor.g,this.aoColor.b),this.hbaoMaterial.uniforms.bias.value=this.bias,this.hbaoMaterial.uniforms.fog_enabled.value=this.fogEnabled,this.hbaoMaterial.uniforms.fog_near.value=this.fogNear,this.hbaoMaterial.uniforms.fog_far.value=this.fogFar,this.hbaoMaterial.uniforms.frame_index.value=this.frameIndex,this.frameIndex++,this.splineCamera.isPerspectiveCamera){this.hbaoMaterial.uniforms.near.value=this.splineCamera.perspCamera.near,this.hbaoMaterial.uniforms.far.value=this.splineCamera.perspCamera.far;let e=this.splineCamera.perspCamera.projectionMatrix.elements,t=2/e[0],n=2/e[5],r=-(1-e[8])/e[0],i=-(1+e[9])/e[5];this.hbaoMaterial.uniforms.proj_info.value.set(t,n,r,i);let a=this.splineCamera.perspCamera.fov*(Math.PI/180),s=this.hbaoMaterial.uniforms.resolution.value.y/(2*Math.tan(.5*a)),o=.5*this.hbaoMaterial.uniforms.radius_of_influence.value*s;this.hbaoMaterial.uniforms.radius_in_screen_space.value=o,this.hbaoMaterial.uniforms.is_ortho.value=!1}else{this.hbaoMaterial.uniforms.near.value=this.splineCamera.orthoCamera.near,this.hbaoMaterial.uniforms.far.value=this.splineCamera.orthoCamera.far;let e=this.splineCamera.orthoCamera.projectionMatrix.elements,t=2/e[0],n=2/e[5],r=-(1+e[12])/e[0],i=-(1-e[13])/e[5];this.hbaoMaterial.uniforms.proj_info.value.set(t,n,r,i);let a=this.hbaoMaterial.uniforms.resolution.value.y/n*.5,s=this.hbaoMaterial.uniforms.radius_of_influence.value*a;this.hbaoMaterial.uniforms.radius_in_screen_space.value=s,this.hbaoMaterial.uniforms.is_ortho.value=!0}this.runHalfRes?(this.fullscreenMaterial=this.hbaoMaterial,e.setRenderTarget(this.aoBuffer),e.clear(),e.render(this.scene,this.camera),this.fullscreenMaterial=O3,O3.uniforms.texture_ao_lrez.value=this.aoBuffer.texture,O3.uniforms.texture_depth_lrez.value=this.gBuffer.depthTexture,O3.uniforms.texture_depth_hrez.value=this.depthBufferHighRes.depthTexture,e.setRenderTarget(e.aoRenderTarget),e.clear(),e.render(this.scene,this.camera)):(this.fullscreenMaterial=this.hbaoMaterial,e.setRenderTarget(this.aaBuffer),e.clear(),e.render(this.scene,this.camera),this.effectPass.renderToScreen=!1,this.effectPass.render(e,this.aaBuffer,e.aoRenderTarget))}dispose(){this.gBuffer.dispose(),this.depthBufferHighRes.dispose(),this.aoBuffer.dispose()}},I3=class extends z2{constructor(){super(new RO({vertexShader:"\nvarying vec2 vUv;\nvoid main() {\n    vUv = uv;\n    gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"\nuniform sampler2D tInput;\nuniform sampler2D tMap;\nuniform vec2 resolution;\nvarying vec2 vUv;\n\nuniform vec2 uResolution;\nuniform vec2 uCoords;\n\n// Draws a rectangle at center <st> with size <size>\nfloat rectangle(vec2 st, vec2 size) {\n    size = vec2(0.5) - size * 0.5;\n    vec2 uv = vec2(step(size.x, st.x), step(size.y, st.y));\n    uv *= vec2(step(size.x, 1.0 - st.x), step(size.y, 1.0 - st.y));\n\n    return uv.x * uv.y;\n}\n\nuniform vec2 uSize;\nuniform float uScale;\nuniform float uDPR;\nuniform float uCurrent;\nuniform vec3 uSceneColor;\n\nvoid main() {\n    vec2 screenUv = gl_FragCoord.xy / uResolution.xy;\n    screenUv *= 1.0 / uDPR;\n\n    vec2 center = vec2(0.5, -0.5);\n    vec2 outsideUv = screenUv;\n    outsideUv += center;\n    outsideUv -= uCoords.xy / uResolution.xy;\n    outsideUv = (outsideUv - 0.5) + 0.5;\n    outsideUv -= center;\n    vec2 s = (uSize / uResolution) * uScale;\n    float isOutside = 1.0 - rectangle(outsideUv, s);\n    \n    vec2 mid = vec2(0.5);\n    vec2 insideUv = (screenUv - mid + s * mid) / s;\n    vec4 background = texture2D(tInput, screenUv);\n    vec4 image = texture2D(tMap, insideUv);\n    gl_FragColor = mix(image, background, isOutside);\n}\n",uniforms:{tInput:new mR(null),tMap:new mR(null),uResolution:new mR(new cM),uSize:new mR(new cM),uCoords:new mR(new cM),uScale:new mR(1),uSceneColor:new mR(new MM(16711680)),uDPR:new mR(1),uCurrent:new mR(0)}}),"tInput"),this.needsSwap=!0}get uniforms(){return this.fullscreenMaterial.uniforms}get texture(){return this.uniforms.tMap.value}set texture(e){this.uniforms.tMap.value=e}},C3=[],E3=class extends z2{constructor(){super(new RO({vertexShader:"\nvoid main() {\n    gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"\nuniform sampler2D toScene;\nuniform sampler2D fromScene;\nuniform vec2 resolution;\n\nuniform vec2 uResolution;\nuniform float uDPR;\n\nuniform float mixRatio;\nuniform sampler2D tMixTexture;\nuniform int useTexture;\nuniform float threshold;\n\nvoid main() {\n\tvec2 screenUv = gl_FragCoord.xy / uResolution.xy;\n\tscreenUv *= 1.0 / uDPR;\n\n\tvec4 texel1 = texture2D( fromScene, screenUv );\n\tvec4 texel2 = texture2D( toScene, screenUv );\n\n\tif (useTexture==1) {\n\t\t\n\t\tvec4 transitionTexel = texture2D( tMixTexture, screenUv );\n\t\tfloat r = mixRatio * (1.0 + threshold * 2.0) - threshold;\n\t\tfloat mixf=clamp((transitionTexel.r - r)*(1.0/threshold), 0.0, 1.0);\n\t\t\n\t\tgl_FragColor = mix( texel1, texel2, mixf );\n\t} else {\n\t\t\n\t\tgl_FragColor = mix( texel1, texel2, mixRatio );\n\t\t\n\t}\n}\n",uniforms:{toScene:new mR(null),fromScene:new mR(null),uResolution:new mR(new cM),uDPR:new mR(1),mixRatio:new mR(0),threshold:new mR(.1),useTexture:new mR(0),tMixTexture:{value:C3[0]}}}),"toScene"),this.needsSwap=!0}get uniforms(){return this.fullscreenMaterial.uniforms}get texture(){return this.uniforms.fromScene.value}set texture(e){this.uniforms.fromScene.value=e}},V3=class extends z2{constructor(){super(new RO({vertexShader:"\nvoid main() {\n    gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"\nuniform sampler2D inputBuffer;\nuniform sampler2D blurredInputBuffer;\nuniform sampler2D overlay;\nuniform float blurIntensity;\n\nuniform vec2 uResolution;\nuniform float uDPR;\n\nvoid main() {\n\tvec2 screenUv = gl_FragCoord.xy / uResolution.xy;\n\tscreenUv *= 1.0 / uDPR;\n\n\tvec4 texel1 = texture2D( overlay, screenUv );\n\tvec4 texel2 = texture2D( inputBuffer, screenUv );\n\tvec4 texel3 = texture2D( blurredInputBuffer, screenUv );\n\n\tfloat blurMask2 = max(sign(texel1.a), 0.0) * blurIntensity;\n    gl_FragColor = mix( mix(texel2, texel3, blurMask2), texel1, texel1.a );\n\tgl_FragColor.a = 1.0;\n}\n",uniforms:{inputBuffer:new mR(null),blurredInputBuffer:new mR(null),overlay:new mR(null),uResolution:new mR(new cM),uDPR:new mR(1),blurIntensity:new mR(0)}})),this._blurEnabled=!1,this.blurTarget=new RM(1,1,{minFilter:Pw,magFilter:Pw,wrapS:bw,wrapT:bw}),this.blurPass=new q2({width:window.innerWidth,height:window.innerHeight,kernelSize:N2.HUGE,resolutionScale:.25}),this.blurPass.renderToScreen=!1,this.uniforms.blurredInputBuffer.value=this.blurTarget.texture}get uniforms(){return this.fullscreenMaterial.uniforms}get texture(){return this.uniforms.overlay.value}set texture(e){this.uniforms.overlay.value=e}setResolution(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;this.uniforms.uResolution.value.set(e,t).divideScalar(n),this.uniforms.uDPR.value=n,this.blurPass.setSize(e,t),this.blurTarget.setSize(e,t),this.blurPass.setSize(e,t)}get uiCanvas(){return this._uiCanvas}set uiCanvas(e){this._uiCanvas=e,e.texture&&(this.uniforms.overlay.value=e.texture);let t=e.frame;if(t){let e=t.data.backgroundBlur,n=e.radius;this._blurEnabled=e.enabled,this.uniforms.blurIntensity.value=this._blurEnabled?1:0,this.blurPass.scale=n/3}}render(e,t,n,r,i){this._blurEnabled&&(this.blurPass.setDepthTexture(this.getDepthTexture()),this.blurPass.render(e,t,this.blurTarget,r,i)),super.render(e,t,n,r,i)}};function R3(e,t){return t&&t.enabled&&e.push(t.effect),e}var D3=e=>Object.values(T2).includes(e)?e:T2.NORMAL,B3=class extends Zj{constructor(e){super(),this.postprocessingState=MN.defaultData,this._scene=new TC,this._camera=new q1,this.effects=new Map,this.blueNoiseTexture=new RC,this._renderToScreen=!0,this._isUIOverlayEnabled=!1,this.clock=new _V,this.renderer=e,this.debug=!1,this.effects.set("bloom",new l3),this.effects.set("chromaticAberration",new d3),this.effects.set("vignette",new f3),this.effects.set("noise",new p3),this.effects.set("colorAverage",new h3),this.effects.set("hueSaturation",new u3),this.effects.set("brightnessContrast",new c3),this.effects.set("depthOfField",new m3),this.effects.set("pixelation",new g3),this.effectComposer=new k3(this.renderer),this.effectComposer.autoRenderToScreen=!1,this.opaquePass=new b3(!0,this.scene,this.camera),this.opaquePass.clear=!0,this.transmissionPass=new x3(this.scene,this.camera,this.renderer),this.aoPass=new T3(this.scene,this.camera),this.taaPass=new v3,this.taaPass.renderToScreen=!1,this.helperPass=new j3(this.camera),this.helperPass.renderToScreen=!1,this.stylesOverlayPass=new I3,this.stylesOverlayPass.enabled=!1,this.uiOverlayPass=new V3,this.uiOverlayPass.enabled=!1,this.sceneTransitionPass=new E3,this.sceneTransitionPass.enabled=!1,this._initCopyPass(),this._initPasses()}set overlayTexture(e){void 0!==e?(this.stylesOverlayPass.texture=e,this.stylesOverlayPass.enabled=!0):this.stylesOverlayPass.enabled=!1}get overlayTexture(){return this.stylesOverlayPass.texture}set sceneHelpers(e){this.helperPass.sceneHelpers=e}get sceneHelpers(){return this.helperPass.sceneHelpers}set sceneHelpersOnTop(e){this.helperPass.sceneHelpersOnTop=e}get sceneHelpersOnTop(){return this.helperPass.sceneHelpersOnTop}get scene(){return this._scene}set scene(e){this._scene=e,this.opaquePass.setScene(e),this.transmissionPass.setScene(e),this.aoPass.setScene(e)}get camera(){return this._camera}set camera(e){this._camera=e,this.opaquePass.setCamera(e),this.transmissionPass.setCamera(e),this.aoPass.setCamera(e),this.helperPass.setCamera(e)}updateRenderToScreen(){let e=!1;for(let t=this.effectComposer.passes.length-1;t>=0;t--){let n=this.effectComposer.passes[t];!0!==n.enabled||e||!this._renderToScreen?n.renderToScreen=!1:(n.renderToScreen=!0,e=!0)}}get isUIOverlayEnabled(){return this._isUIOverlayEnabled}disableUIOverlay(){this._isUIOverlayEnabled=!1}enableUIOverlay(){this._isUIOverlayEnabled=!0}disableHelpers(){this.helperPass.enabled=!1,this.updateRenderToScreen()}enableHelpers(){this.helperPass.enabled=!0,this.updateRenderToScreen()}updateBlueNoiseTexture(e){this.blueNoiseTexture=new RC(e,128,128),this.blueNoiseTexture.wrapS=Aw,this.blueNoiseTexture.wrapT=Aw,this.blueNoiseTexture.minFilter=ww,this.blueNoiseTexture.magFilter=ww,this.blueNoiseTexture.needsUpdate=!0}setAmbientOcclusionParams(e,t,n,r,i,a,s,o){this.aoPass.enabled=e,this.aoPass.radius=t,this.aoPass.bias=n,this.aoPass.aoColor=r,this.aoPass.fogEnabled=i,this.aoPass.fogNear=a,this.aoPass.fogFar=s,this.aoPass.runHalfRes!==!o&&(this.aoPass.runHalfRes=!o)}setTransmissionPassEnabled(e){this.transmissionPass.enabled=e,this.opaquePass.hasTransmissionPass=e}_initPasses(){var e,t;if(null!==(e=this.uvEffectPass)&&void 0!==e&&e.dispose(),null!==(t=this.effectPass)&&void 0!==t&&t.dispose(),this.effectComposer.removeAllPasses(),this.transmissionPass.updatePasses(this.renderer),this.effectComposer.addPass(this.aoPass),this.effectComposer.addPass(this.opaquePass),this.effectComposer.addPass(this.transmissionPass),this.effectComposer.addPass(this.taaPass),this.postprocessingState.enabled){let e=[this.effects.get("pixelation")].reduce(R3,[]);e.length>0&&(this.uvEffectPass=new B2(this.camera,...e),this.uvEffectPass.renderToScreen=!1,this.effectComposer.addPass(this.uvEffectPass));let t=[this.effects.get("chromaticAberration"),this.effects.get("bloom"),this.effects.get("colorAverage"),this.effects.get("hueSaturation"),this.effects.get("brightnessContrast"),this.effects.get("vignette"),this.effects.get("noise")].reduce(R3,[]);t.length>0&&(this.effectPass=new B2(this.camera,...t),this.effectPass.renderToScreen=!1,this.effectComposer.addPass(this.effectPass))}this.effectComposer.addPass(this.stylesOverlayPass),this.effectComposer.addPass(this.uiOverlayPass),this.effectComposer.addPass(this.sceneTransitionPass),this.effectComposer.addPass(this.helperPass)}_initCopyPass(){if(this._savePass)return;let e=new cM;this.renderer.getDrawingBufferSize(e),this._rt=new RM(e.x,e.y,{depthBuffer:!1,stencilBuffer:!1,wrapS:Aw,wrapT:Aw}),this._rt.samples=0,this._savePass=new x2(this._rt,!1),this._savePass.renderToScreen=!1}setCopyPass(e){this._rt=e,this._savePass=new x2(this._rt,!1),this.renderToScreen=!1}get renderToScreen(){return this._renderToScreen}set renderToScreen(e){if(this._renderToScreen===e)return;let t=this.effectComposer;!t||(!0===e?t.removePass(this._savePass):t.addPass(this._savePass),this._renderToScreen=e,this.updateRenderToScreen())}set sceneTransitionFromTexture(e){e!==this.sceneTransitionPass.texture&&(null!==e?this.sceneTransitionPass.enabled=!0:(this.sceneTransitionPass.enabled=!1,this.updateRenderToScreen()),this.sceneTransitionPass.texture=e)}get texture(){return this._rt&&this._rt.texture}get renderTarget(){return this._rt}updatePostprocessing(e){let{enabled:t,...n}=e,r=!1;t!==this.postprocessingState.enabled&&(r=!0);for(let i of Object.entries(n)){let e=i[1],t=this.effects.get(i[0]);if(t){t.enabled!==e.enabled&&(r=!0),t.enabled=e.enabled;for(let[n,r]of Object.entries(e))"blendFunction"===n?t.blendFunction=D3(r):t[n]=r}}this.postprocessingState=e,r&&this._initPasses()}render(){this.effectComposer.render(this.clock.getDelta())}setScissor(e,t,n,r){e instanceof VM?(this.effectComposer.inputBuffer.scissor.set(e.x,e.y,e.z,e.w),this.effectComposer.outputBuffer.scissor.set(e.x,e.y,e.z,e.w)):(this.effectComposer.inputBuffer.scissor.set(e,t,n,r),this.effectComposer.outputBuffer.scissor.set(e,t,n,r));let i=this.renderer.getPixelRatio();this.effectComposer.inputBuffer.scissor.multiplyScalar(i),this.effectComposer.outputBuffer.scissor.multiplyScalar(i),this.renderer.setScissor(e,t,n,r)}setScissorTest(e){this.effectComposer.inputBuffer.scissorTest=e,this.effectComposer.outputBuffer.scissorTest=e,this.renderer.setScissorTest(e)}setViewport(e,t,n,r){e instanceof VM?(this.effectComposer.inputBuffer.viewport.copy(e),this.effectComposer.outputBuffer.viewport.copy(e)):(this.effectComposer.inputBuffer.viewport.set(e,t,n,r),this.effectComposer.outputBuffer.viewport.set(e,t,n,r))}resize(e,t,n){if(this.effectComposer.setSize(e,t,n),this._rt){let n=this.renderer.getPixelRatio();this._rt.setSize(e*n,t*n)}}dispose(){var e,t;null!==(e=this.uvEffectPass)&&void 0!==e&&e.dispose(),null!==(t=this.effectPass)&&void 0!==t&&t.dispose(),this.effectComposer.dispose()}},G3=XO.lights_fragment_begin,q3=XO.shadowmask_pars_fragment,H3=null,W3=new RO({vertexShader:"\nattribute vec3 randomColor;\nvarying vec3 vNormal;\nflat out vec3 vColor;\n\nvoid main()\n{\nvNormal = normal;\nvColor = randomColor;\ngl_Position = projectionMatrix * (modelViewMatrix * vec4(position, 1.0));\n}\n",fragmentShader:"\nuniform float depthContrast;\nvarying vec3 vNormal;\nflat in vec3 vColor;\nvoid main()\n{\nvec3 normal = (normalize(vNormal)).rgb;\n\nfloat contrastDepth = (gl_FragCoord.z - 0.5) * depthContrast + 0.5;\n\nvec3 resultColor = mix(mix(vColor, normal, 0.2), vec3(contrastDepth), 0.4);\ngl_FragColor = vec4(resultColor, vColor.r);\ngl_FragColor = vec4(resultColor, vColor.r);\n}\n",uniforms:{depthContrast:{value:1}}}),z3=new EM,J3=class extends PC{constructor(e){var t;super(e),t=this,this._pixelRatio=this.getPixelRatio(),this.viewportWidth=1,this.viewportHeight=1,this.resolution=new cM,this.pipeline=new B3(this),this.dummyCamera=new q1,this.sceneTransitionDuration=0,this.sceneTransitionTimeRemaining=-1,this.isXRCopyPassSet=!1,this.clear=function(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=t.getContext(),a=0;e&&(a|=i.COLOR_BUFFER_BIT),n&&(a|=i.DEPTH_BUFFER_BIT),r&&(a|=i.STENCIL_BUFFER_BIT),i.clear(a),i.clearBufferfv(i.COLOR,1,[0,0,0,1])},this.autoClear=!1;let n=this.setPixelRatio.bind(this),r=this.setSize.bind(this);this.shadowMap.enabled=!0,this.shadowMap.type=jk,this.dummyCamera.matrixAutoUpdate=!1;let i=this.getContext();if(i&&"drawingBufferColorSpace"in i)try{i.drawingBufferColorSpace="display-p3"}catch(l){console.warn(l)}this.setPixelRatio=e=>{this._pixelRatio!==e&&(this._pixelRatio=e,n(e))},this.setSize=function(e,n){var i,a;let s=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];(t.viewportWidth!==e||t.viewportHeight!==n)&&(t.viewportWidth=e,t.viewportHeight=n,r(e,n,s),null!==(i=t.normalRenderTarget)&&void 0!==i&&i.setSize(e*t._pixelRatio,n*t._pixelRatio),t._resizeTransmission(e,n),null!==(a=t.transmissionDepthTarget)&&void 0!==a&&a.setSize(e*t._pixelRatio/2,n*t._pixelRatio/2),t.pipeline.resize(e,n,s))},this._superDispose=this.dispose,this.dispose=this._currentDispose}createAORenderTarget(){void 0===this.aoRenderTarget&&(this.aoRenderTarget=new RM(this.viewportWidth*this._pixelRatio,this.viewportHeight*this._pixelRatio,{generateMipmaps:!1,minFilter:Pw,magFilter:Pw,wrapS:bw,wrapT:bw,depthBuffer:!1}))}_resizeTransmission(e,t){var n,r;null!==(n=this.transmissionRenderTarget)&&void 0!==n&&n.setSize(e*this._pixelRatio/(this.hdTransmission?1:2),t*this._pixelRatio/(this.hdTransmission?1:2)),null===(r=this.aoRenderTarget)||void 0===r||r.setSize(e*this._pixelRatio/1,t*this._pixelRatio/1)}get hdTransmission(){return 1===Q_.transmissionLod.value}set hdTransmission(e){Q_.transmissionLod.value=!0===e?1:2,this._resizeTransmission(this.viewportWidth,this.viewportHeight)}createTransmissionRenderTarget(){void 0===this.transmissionRenderTarget&&(this.transmissionRenderTarget=new RM(this.viewportWidth*this._pixelRatio/(this.hdTransmission?1:2),this.viewportHeight*this._pixelRatio/(this.hdTransmission?1:2),{generateMipmaps:!0,minFilter:Tw,magFilter:Pw,wrapS:bw,wrapT:bw,depthBuffer:!1}),this.transmissionDepthTarget=new RM(this.viewportWidth*this._pixelRatio/2,this.viewportHeight*this._pixelRatio/2,{minFilter:ww,magFilter:ww,depthBuffer:!1}))}createNormalRenderTarget(){void 0===this.normalRenderTarget&&(this.normalRenderTarget=new RM(this.viewportWidth*this._pixelRatio,this.viewportHeight*this._pixelRatio,{generateMipmaps:!1,minFilter:ww,magFilter:ww,type:Bw,depthTexture:new kC(this.viewportWidth*this._pixelRatio,this.viewportHeight*this._pixelRatio)}))}renderNormal(e,t,n){this.normalRenderTarget&&(this.setClearColor(0),n.layers.enable(8),n.layers.disable(0),n.layers.disable(3),t.traverseEntity((e=>{e.layers.isEnabled(8)&&(e.copyPreviousMatrix=!1)})),this.setRenderTarget(this.normalRenderTarget),this.clear(),W3.uniforms.depthContrast.value=n instanceof q1?(n.far-n.near)/1e4:1,t.overrideMaterial=W3,this.render(t,n),this.setClearColor(t.bgColor,t.bgColor.a),this.setRenderTarget(null),t.overrideMaterial=e.wireframeState?a4:null,n.layers.enable(0),n.layers.enable(3),t.traverseEntity((e=>{e.layers.isEnabled(8)&&(e.copyPreviousMatrix=!0)})))}renderSplineSceneWithDummyCamera(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;this.dummyCamera.updateCameraState(t.dataPatched),this.dummyCamera.matrix.copy(t.matrixWorld);let r=t.height,i=t.width,a=this.viewportWidth/this.viewportHeight;i<r?i=r*a:r=i/a,this.dummyCamera.setViewplaneSize(i,r);for(let s=0;s<n;s++)this.renderSplineScene(e,this.dummyCamera)}renderSplineScene(e,t){var n;let{sceneHelpers:r,sceneHelpersOnTop:i,overrideTransmission:a,overrideNormal:s}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=e instanceof o4?e.activePage:e,l=o.visible;o.visible=!0;let c=o.scene;this.xr.enabled&&(!1===this.isXRCopyPassSet&&null!==this.getRenderTarget()&&(this.pipeline.setCopyPass(this.getRenderTarget()),this.isXRCopyPassSet=!0),this.xr.updateCamera(t)),this.setClearColor(o.bgColor,o.bgColor.a),o.penumbraSizeArray.forEach(((e,t)=>{Q_.penumbraSize.value[t]=e})),Q_.pixelRatioNode.value=this.getPixelRatio(),0!==this.resolution.x&&0!==this.resolution.y?Q_.resolution.value.set(this.resolution.x,this.resolution.y):Q_.resolution.value.set(this.viewportWidth*this._pixelRatio,this.viewportHeight*this._pixelRatio),void 0!==s?(Q_.normalRenderTarget.value=s,Q_.normalRenderTargetDepth.value=z3):c.needsNormal()&&(this.createNormalRenderTarget(),Q_.normalRenderTarget.value=this.normalRenderTarget.texture,Q_.normalRenderTargetDepth.value=this.normalRenderTarget.depthTexture,this.renderNormal(c,o,t));let d=o.data.ao,h=d.occlusion;h&&(this.createAORenderTarget(),Q_.aoRenderTarget.value=this.aoRenderTarget.texture),Q_.aoEnabled.value=h,this.pipeline.setAmbientOcclusionParams(d.occlusion,d.radius,d.bias,o.aoColor,null!==o.fog,o.backupFog.near,o.backupFog.far,d.aoFullRes),this.pipeline.aoPass.setBlueNoiseTexture(this.pipeline.blueNoiseTexture),this.pipeline.isUIOverlayEnabled&&null!==(n=o.uiCanvas)&&void 0!==n&&n.enabled&&o.uiCanvas.texture&&o.uiCanvas.texture.image.width>0?((o.uiCanvas.width!==this.viewportWidth||o.uiCanvas.height!==this.viewportHeight)&&o.uiCanvas.applySize({width:this.viewportWidth,height:this.viewportHeight}),o.uiCanvas.render(),this.pipeline.uiOverlayPass.uiCanvas=o.uiCanvas,this.pipeline.uiOverlayPass.enabled=!0,this.pipeline.uiOverlayPass.setResolution(this.domElement.width,this.domElement.height,window.devicePixelRatio),this.pipeline.updateRenderToScreen()):(this.pipeline.uiOverlayPass.enabled=!1,this.pipeline.updateRenderToScreen());let u=!1;if(void 0!==a)Q_.transmissionRenderTarget.value=a,Q_.transmissionRenderTargetDepth.value=z3,this.pipeline.setTransmissionPassEnabled(!1);else{let e=c.needsTransmission();e&&(void 0===this.transmissionRenderTarget&&(u=!0),this.createTransmissionRenderTarget(),Q_.transmissionRenderTarget.value=this.transmissionRenderTarget.texture,Q_.aspectRatio.value=function(e,t){return e>=t?new cM(t/e,1):new cM(1,e/t)}(this.viewportWidth,this.viewportHeight),Q_.transmissionRenderTargetDepth.value=this.transmissionDepthTarget.texture),this.pipeline.setTransmissionPassEnabled(e)}t.layers.enable(3),t.layers.enable(8),this.pipeline.sceneHelpers=r,this.pipeline.sceneHelpersOnTop=i,this.pipeline.scene=o,this.pipeline.camera=t,u&&this.pipeline.transmissionPass.updatePasses(this),this.pipeline.postprocessingState!==o.postprocessing&&(this.pipeline.updatePostprocessing(o.postprocessing),!r&&!i&&this.pipeline.disableHelpers()),void 0!==this.clearAlphaOverride&&this.setClearAlpha(this.clearAlphaOverride),o.overrideMaterial=c.wireframeState?a4:null,this.pipeline.render(),Q_.frameIndex.value=(Q_.frameIndex.value+1)%16,t instanceof q1&&t.copyHistory(),o.visible=l}renderFromSceneForSceneTransitionPass(e,t,n){this.pipeline.renderToScreen=!1,this.pipeline.renderTarget,this.renderSplineScene(e,t),this.pipeline.sceneTransitionFromTexture=this.pipeline.renderTarget.texture,this.sceneTransitionDuration=n,this.sceneTransitionTimeRemaining=n,this.pipeline.renderToScreen=!0;let r=this.pipeline.sceneTransitionPass.uniforms;r.uDPR.value=window.devicePixelRatio,r.uResolution.value.set(this.domElement.width,this.domElement.height).divideScalar(window.devicePixelRatio)}_currentDispose(){var e,t,n,r,i;this._superDispose(),this.pipeline.dispose(),null!==(e=this.aoRenderTarget)&&void 0!==e&&e.dispose(),null!==(t=this.transmissionRenderTarget)&&void 0!==t&&t.dispose(),null!==(n=this.transmissionDepthTarget)&&void 0!==n&&n.dispose(),null!==(r=this.normalRenderTarget)&&void 0!==r&&r.dispose(),null===(i=this.normalRenderTarget)||void 0===i||null===(i=i.depthTexture)||void 0===i||i.dispose()}},U3=class extends(S1(CR)){constructor(e){super(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:15,arguments.length>2&&void 0!==arguments[2]?arguments[2]:10066329),this.object=e,this.added=!1,this.name="DirectionalLightHelper: ".concat(e.uuid)}raycast(e,t){w1(this.object,U3.geometryHelper,e,t)}},N3=class extends(S1(PR)){constructor(e){super(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:15,arguments.length>2&&void 0!==arguments[2]?arguments[2]:6710886),this.object=e,this.name="PointLightHelper: ".concat(e.uuid)}raycast(e,t){w1(this.object,N3.geometryHelper,e,t)}},L3=class extends(S1(MR)){constructor(e){super(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:6710886),this.object=e,this.name="SpotLightHelper: ".concat(e.uuid)}raycast(e,t){w1(this.object,L3.geometryHelper,e,t)}update(){if(void 0!==this.object){let e=L3._vector,t=this.object.distance?this.object.distance:1e3,n=t*Math.tan(this.object.angle);this.cone.scale.set(n,n,t),e.setFromMatrixPosition(this.object.target.matrixWorld),this.cone.lookAt(e);let r=void 0!==this.color?this.color:this.light.color;if(this.cone.material instanceof Array)for(let i=0,a=this.cone.material.length;i<a;i++)this.cone.material[i].color.set(r);else this.cone.material.color.set(r)}}},Y3=L3;Y3._vector=new qM;var F3,Z3=class extends(N1(KV,U3)){constructor(e,t,n){super(),this.super_Entity(e,t),this.castShadow=!0,this.shadow.mapSize.width=2048,this.shadow.mapSize.height=2048,this.shadow.normalBias=1,this.layers.enable(3);let r=this.shadow.camera;r.top=1250,r.bottom=-1250,r.right=1250,r.left=-1250,r.near=-1e4,r.far=2500;let i=new RR(this.shadow.camera);i.visible=!1,this.gizmos.shadowmap=i}update(){this.shadow.camera.updateProjectionMatrix();for(let e in this.gizmos){let t=this.gizmos[e];t instanceof RR&&t.update()}}updateMatrixWorld(e){super.updateMatrixWorld(e),this.objectHelper&&this.objectHelper.update()}updateState(e,t){this.updateState_Light(e,t);let n=void 0!==e.depth&&e.depth!==this.shadow.camera.far||void 0!==e.size&&e.size/2!==this.shadow.camera.right;void 0!==e.size&&function(e,t){e.shadow.camera.right=t/2,e.shadow.camera.left=-t/2,e.shadow.camera.top=t/2,e.shadow.camera.bottom=-t/2,e.shadow.needsUpdate=!0}(this,e.size),void 0!==e.shadowRadius&&(this.shadow.radius=e.shadowRadius),void 0!==e.shadowResolution&&(this.shadow.mapSize.set(e.shadowResolution,e.shadowResolution),this.shadow.map&&(this.shadow.map.dispose(),this.shadow.map=null)),void 0!==e.penumbraSize&&t.scene.markPenumbraSizeDirty(),n&&this.update()}},K3=new qM,Q3=new qM,X3=new GM,_3=class extends(N1(JV,Y3)){constructor(e,t,n){super(),this.super_Entity(e,t),this.castShadow=!0,this.shadow.mapSize.width=1024,this.shadow.mapSize.height=1024,this.shadow.normalBias=1,this.layers.enable(3);let r=this.shadow.camera;r.fov=2*lM.RAD2DEG*this.angle,r.aspect=1,r.near=100,r.far=2500;let i=new RR(this.shadow.camera);i.visible=!1,this.gizmos.shadowmap=i,this.update()}update(){this.shadow.camera.updateProjectionMatrix();for(let e in this.gizmos){let t=this.gizmos[e];t instanceof RR&&t.update()}}updateMatrixWorld(e){super.updateMatrixWorld(e),Q3.setFromMatrixPosition(this.matrixWorld),X3.setFromRotationMatrix(this.matrixWorld),K3.copy(this.up).applyQuaternion(X3).negate().multiplyScalar(this.distance),this.target.position.copy(Q3).add(K3),this.target.updateMatrixWorld(),this.objectHelper&&this.objectHelper.update()}updateState(e,t){this.updateState_Light(e,t),void 0!==e.distance&&(this.distance=e.distance),void 0!==e.decay&&(this.decay=e.decay),void 0!==e.angle&&(this.angle=e.angle),void 0!==e.penumbra&&(this.penumbra=e.penumbra),void 0!==e.shadowRadius&&(this.shadow.radius=e.shadowRadius),void 0!==e.penumbraSize&&t.scene.markPenumbraSizeDirty(),void 0!==e.shadowResolution&&(this.shadow.mapSize.set(e.shadowResolution,e.shadowResolution),this.shadow.map&&(this.shadow.map.dispose(),this.shadow.map=null))}};function $3(e,t){return[[e[0][0]*t[0][0]+e[0][1]*t[1][0],e[0][0]*t[0][1]+e[0][1]*t[1][1]],[e[1][0]*t[0][0]+e[1][1]*t[1][0],e[1][0]*t[0][1]+e[1][1]*t[1][1]]]}function e6(e){return[[e[0][0],e[1][0]],[e[0][1],e[1][1]]]}function t6(e){let[t,n,r]=function(e){let t=(e[0][0]+e[1][1])/2,n=(e[0][0]-e[1][1])/2,r=(e[1][0]+e[0][1])/2,i=(e[1][0]-e[0][1])/2,a=Math.sqrt(t*t+i*i),s=Math.sqrt(n*n+r*r),o=a+s,l=a-s,c=Math.atan2(r,n),d=Math.atan2(i,t),h=(d-c)/2,u=(d+c)/2,p=[[Math.cos(u),Math.sin(u)],[-Math.sin(u),Math.cos(u)]],f=[[o,0],[0,l]],m=[[Math.cos(h),Math.sin(h)],[-Math.sin(h),Math.cos(h)]];return p[0][0]*=-1,p[0][1]*=-1,m[0][0]*=-1,m[1][0]*=-1,[p,f,m]}(e),i=$3(t,e6(r)),a=$3($3(r,n),e6(r));return{rotation:Math.atan2(i[1][0],i[0][0]),scale:[a[0][0],a[1][1]],shear:[a[0][1]/a[1][1],a[1][0]/a[0][0]]}}(e=>{function t(e){return[e[0],e[3],e[1],e[4],e[2],e[5]]}e.identity=function(){return[1,0,0,0,1,0,0,0,1]},e.copy=function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.identity();for(let e=0,r=t.length;e<r;e++)n[e]=t[e];return n},e.create=function(t,n,r,i,a,s){return e.setAbcdef(e.identity(),t,n,r,i,a,s)},e.setAbcdef=function(e,t,n,r,i,a,s){return e[0]=t,e[1]=r,e[2]=a,e[3]=n,e[4]=i,e[5]=s,e},e.append=function(n,r){let[i,a,s,o,l,c]=t(n),[d,h,u,p,f,m]=t(r),g=d*i+h*s,y=d*a+h*o,v=u*i+p*s,x=u*a+p*o,S=f*i+m*s+l,A=f*a+m*o+c;return e.create(g,y,v,x,S,A)},e.prepend=function(n,r){let[i,a,s,o,l,c]=t(n),[d,h,u,p,f,m]=t(r),g=i,y=a,v=s,x=o;(1!==d||0!==h||0!==u||1!==p)&&(g=i*d+a*u,y=i*h+a*p,v=s*d+o*u,x=s*h+o*p);let S=l*d+c*u+f,A=l*h+c*p+m;return e.create(g,y,v,x,S,A)},e.getAbcdef=t,e.invert=function(t){let[n,r,i,a,s,o]=e.getAbcdef(t),l=n*a-r*i,c=a/l,d=-r/l,h=-i/l,u=n/l,p=(i*o-a*s)/l,f=-(n*o-r*s)/l;return e.create(c,d,h,u,p,f)},e.apply=function(t,n){let[r,i]=t,[a,s,o,l,c,d]=e.getAbcdef(n);return[a*r+o*i+c,s*r+l*i+d]},e.applyInverse=function(t,n){let[r,i,a,s,o,l]=e.getAbcdef(n),c=1/(r*s+a*-i),[d,h]=t;return[s*c*d+-a*c*h+(l*a-o*s)*c,r*c*h+-i*c*d+(-l*r+o*i)*c]},e.scale=function(t,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:n,[i,a,s,o,l,c]=e.getAbcdef(t);return e.setAbcdef(t,i*n,a*r,s*n,o*r,l*n,c*r),t},e.rotate=function(t,n){let r=Math.cos(n),i=Math.sin(n),[a,s,o,l,c,d]=e.getAbcdef(t);return e.setAbcdef(t,a*r-s*i,a*i+s*r,o*r-l*i,o*i+l*r,c*r-d*i,c*i+d*r),t},e.rotateAround=function(t,n,r){let[i,a]=r,s=e.translate(t,-i,-a);return s=e.rotate(s,n),s=e.translate(s,i,a),s},e.translate=function(t,n,r){let[i,a,s,o,l,c]=e.getAbcdef(t);return e.setAbcdef(t,i,a,s,o,l+n,c+r),t},e.setTranslate=function(t,n,r){let[i,a,s,o]=e.getAbcdef(t);return e.setAbcdef(t,i,a,s,o,n,r),t},e.setPosition=function(t,n,r){let[i,a,s,o]=e.getAbcdef(t);return e.setAbcdef(t,i,a,s,o,n,r),t},e.getScale=function(t){let[n,r,i,a]=e.getAbcdef(t);return[Math.sqrt(n*n+r*r),Math.sqrt(i*i+a*a)]},e.getPosition=function(t){let[,,,,n,r]=e.getAbcdef(t);return[n,r]},e.getRotation=function(t,n){return e.decompose(t,n).rotation},e.decompose=function(t,n){let[r,i,a,s,o,l]=e.getAbcdef(t),{rotation:c,scale:d,shear:h}=t6([[r,a],[i,s]]);return{position:[o+(n[0]*r+n[1]*a)-n[0],l+(n[0]*i+n[1]*s)-n[1]],scale:d,rotation:c,shear:h,pivot:n}},e.compose=function(t,n,r,i){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[0,0],[s,o]=t,[l,c]=i,[d,h,u,p]=function(e){let{rotation:t,scale:n,shear:r}=e,i=Math.cos(t),a=Math.sin(t),s=$3([[i,-a],[a,i]],[[n[0],r[0]*n[1]],[r[1]*n[0],n[1]]]);return[s[0][0],s[1][0],s[0][1],s[1][1]]}({rotation:r,scale:n,shear:a}),f=s-(l*d+c*u)+l,m=o-(l*h+c*p)+c;return e.create(d,h,u,p,f,m)}})(F3||(F3={}));var n6=Math.PI/180;Math.PI;var r6=class{constructor(e,t,n){var r;this.uuid=e,this.data=t,this.localMatrix=F3.identity(),this.worldMatrix=F3.identity(),this.ignoreCameraZoom=!1,this.visible=!0,this._singleBBox=new p6,this._recursiveBBox=new p6,this.singleBBoxNeedsUpdate=!0,this.recursiveBBoxNeedsUpdate=!0,this.stateSelection=null,this.prevState=null,this.currentState=null,this.reversibleToState=null,this.currentTransitionEvent=null,this.previousAction=null,this.name="",this.position=[0,0],this.scale=[1,1],this.rotation=0,this.shear=[0,0],this.emitter=function(e){return{all:e=e||new Map,on:function(t,n){var r=e.get(t);r?r.push(n):e.set(t,[n])},off:function(t,n){var r=e.get(t);r&&(n?r.splice(r.indexOf(n)>>>0,1):e.set(t,[]))},emit:function(t,n){var r=e.get(t);r&&r.slice().map((function(e){e(n)})),(r=e.get("*"))&&r.slice().map((function(e){e(t,n)}))}}}(),this.dpr=null!==(r=n.dpr)&&void 0!==r?r:1,this.dataPatched=t}project(e,t){let n=this.worldMatrix;return t&&(n=F3.append(t.worldMatrix,n)),F3.applyInverse(e,n)}intersects(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return this.visible&&!this.data.raycastLock&&this.intersectsInLocalSpace(...this.project([e,t],n),r)}intersectsInLocalSpace(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],{min:r,max:i}=n?this.recursiveBBox:this.singleBBox;return e>=r[0]&&e<=i[0]&&t>=r[1]&&t<=i[1]}applyTransforms(e){e.setTransform(this.worldMatrix,this.ignoreCameraZoom)}get singleBBox(){return this.singleBBoxNeedsUpdate&&(this.singleBBoxNeedsUpdate=!1,this._singleBBox.setFromObjectSize(this,!1),this._singleBBox.computeVertices(),this._singleBBox.computeEdges()),this._singleBBox}get recursiveBBox(){return this.recursiveBBoxNeedsUpdate&&(this.recursiveBBoxNeedsUpdate=!1,this._recursiveBBox.setFromObjectSize(this,!0),this._recursiveBBox.computeVertices(),this._recursiveBBox.computeEdges()),this._recursiveBBox}updateLocalMatrix(){this.localMatrix=F3.compose(this.position,this.scale,function(e){return e*n6}(this.rotation),YL.getPivot(this.dataPatched),this.shear)}updateWorldMatrix(e,t,n){let r=this.parent;t&&null!==r&&void 0!==r&&r.updateWorldMatrix(e,!0,!1),e&&this.updateLocalMatrix(),this.parent?this.worldMatrix=F3.append(this.parent.worldMatrix,this.localMatrix):this.worldMatrix=F3.copy(this.localMatrix),this.singleBBoxNeedsUpdate=!0,this.recursiveBBoxNeedsUpdate=!0}get pivot(){return YL.getPivot(this.data)}getCenter(){return[0,0]}getHalfSize(){return[0,0]}get id(){return this.uuid}resetBBoxNeedsUpdateSelf(){this.singleBBoxNeedsUpdate=!0,this.recursiveBBoxNeedsUpdate=!0}resetBBoxNeedsUpdate(){this.resetBBoxNeedsUpdateSelf(),this.traverseAncestors((e=>{e.resetBBoxNeedsUpdateSelf()}))}updateTransformState(e){let t=!1;void 0!==e.position&&(t=!0,this.position=e.position),void 0!==e.rotation&&(t=!0,this.rotation=e.rotation),void 0!==e.scale&&(t=!0,this.scale=e.scale),void 0!==e.shear&&(t=!0,this.shear=e.shear),t&&(this.updateWorldMatrix(!0,!1,!0),this.resetBBoxNeedsUpdate())}updateByOp(e,t,n){0===e.type&&void 0!==e.props.visible&&(this.visible=e.props.visible),this.data=t,this.data=t;let r=e,i=Wz(e.path,["states","*"]);if(null!==i){if(0===e.type){let[t]=i;if((null===this||void 0===this?void 0:this.stateSelection)===t){let t={...e.props};if(delete t.name,Object.values(e.props).some((e=>void 0===e))){let n=this.data;if(void 0!==n){let r=Rz.zoom(n,e.path.slice(2));if(r)for(let n in e.props)void 0===e.props[n]&&n in r&&(t[n]=r[n])}}r={...e,props:t,path:e.path.slice(2)}}}}else if(0===e.type){let t=this.stateSelection?this.data.states.data(this.stateSelection):void 0;if(void 0!==t){if(void 0!==e.props.name&&t.name){let{name:e,...n}=t;t=n}let n=Rz.removeOverridden(e.path,e.props,t);r={...e,props:n}}}this.updateByPatchedOpBase(r,DL.patch(this.data,this.stateSelection?this.data.states.data(this.stateSelection):void 0),n)}changeSelectedState(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(0!==this.data.states.length||n){for(let e of this.data.states)DL.toOps(this.data,e.data).forEach((e=>{let n=dz.replaceProps(e,this.data);this.dataPatched=this.data,this.updateByPatchedOp(n,this.data,t)}));if(null!==e){let n=this.data.states.data(e);n&&(this.dataPatched=DL.patch(this.data,n),DL.toOps(this.data,n).forEach((e=>{this.updateByPatchedOp(e,this.dataPatched,t)})))}n&&this.updateTransformState(this.dataPatched),this.stateSelection=e}}updateState(e,t){void 0!==e.name&&(this.name=e.name),void 0!==e.visible&&(this.visible=e.visible),this.updateTransformState(e)}updateByPatchedOpBase(e,t,n){this.dataPatched=t,this.updateByPatchedOp(e,t,n)}updateByPatchedOp(e,t,n){0===e.path.length&&0===e.type&&this.updateState(e.props,n),this.requestRender()}traverseFrameAncestors(e){this.traverseAncestors((t=>{"frame2d"===t.data.type&&e(t)}))}traverseAncestors(e){let t=this.parent;for(;t;)e(t),t=t.parent}requestRender(){this.traverseFrameAncestors((e=>{e.requestRender()}))}clone(e){let t=new r6(this.uuid,this.data,e);return t.parent=void 0,t}addEventListener(e,t){this.emitter.on(e,t)}removeEventListener(e,t){this.emitter.off(e,t)}dispatchEvent(e){var t;this.emitter.emit(e.type,{...e,target:null!==(t=e.target)&&void 0!==t?t:this})}traverseSortNextHelper(){let e=this.parent;if(e){let t=e.children;if(t){let n=t.indexOf(this)+1;return t[n]?t[n]:e.traverseSortNextHelper()}}}sortNext(){let e=this.children;return e&&e.length>0&&e[0]?e[0]:this.traverseSortNextHelper()}isDescendantOf(e){e instanceof r6&&(e=e.uuid);let t=this;for(;t.parent;){if(t.parent.uuid===e)return!0;t=t.parent}return!1}},i6=class extends r6{constructor(e,t,n){super(e,t,n),this.uuid=e,this.data=t,this.context=n,this.children=[]}add(e){e.parent&&e.parent instanceof i6&&e.parent.remove(e),this.children.push(e),e.parent=this}remove(e){let t=this.children.indexOf(e);t>=0&&(this.children.splice(t,1),e.parent=void 0)}traverse(e){let t=e(this);if(!0!==t)for(let n of this.children)n instanceof i6?n.traverse(e):t=e(n)}intersectsChildren(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],a=arguments.length>5&&void 0!==arguments[5]&&arguments[5];for(let s of this.children){let o=s instanceof a6;if(s instanceof i6&&!o&&a&&s.intersectsChildren(e,t,n,r,i,!1),s.intersects(e,t,n,o)&&(i.push(s),r))break}return i}updateWorldMatrix(e,t,n){if(super.updateWorldMatrix(e,t,n),n&&this.children)for(let r of this.children)r.updateWorldMatrix(e,!1,!0)}find(e){let t;return this.traverse((n=>{n.uuid===e&&(t=n)})),t}innerDrawChildren(e){for(let t=this.children.length-1;t>=0;t--)this.children[t].draw(e)}resetBBoxNeedsUpdate(){super.resetBBoxNeedsUpdate(),this.traverse((e=>{e.resetBBoxNeedsUpdateSelf()}))}clone(e){let t=new i6(this.uuid,this.data,e);t.parent=void 0;for(let n of this.children)t.add(n.clone(e));return t}},a6=class extends i6{constructor(e,t,n){super(e,t,n),this.uuid=e,this.data=t,this.updateState(t,n)}draw(e){!this.visible||(e.save(),this.applyTransforms(e),this.innerDrawChildren(e),e.restore())}clone(e){let t=new a6(this.uuid,this.data,e);t.parent=void 0;for(let n of this.children)t.add(n.clone(e));return t}};function s6(e,t){let[[n,r],[i,a]]=e,[[s,o],[l,c]]=t,d=(n-i)*(o-c)-(r-a)*(s-l);if(0===d)return!1;let h=((n-s)*(o-c)-(r-o)*(s-l))/d,u=-((n-i)*(r-o)-(r-a)*(n-s))/d;return h>=0&&h<=1&&u>=0&&u<=1}var o6,l6,c6,d6,h6=[[-1,1],[-1,-1],[1,-1],[1,1]],u6=(e,t,n)=>{let r=e.getCenter(),i=e.getHalfSize(),a=F3.append(t,e.worldMatrix);0===i[0]&&0===i[1]?n.push(F3.apply(r,a)):h6.forEach((e=>{let t=[e[0]*i[0]+r[0],e[1]*i[1]+r[1]];n.push(F3.apply(t,a))}))},p6=class{constructor(){this.matrix=F3.identity(),this.min=[1/0,1/0],this.max=[-1/0,-1/0],this.vertices=[],this.edges=[]}setFromObjectSize(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e.updateWorldMatrix(),this.makeEmpty(),F3.copy(e.worldMatrix,this.matrix);let n=F3.invert(e.worldMatrix);this.expandByObjectSize(e,n,t)}expandByObjectSize(e,t){let n=[];!0===(arguments.length>2&&void 0!==arguments[2]&&arguments[2])&&e instanceof i6?e.traverse((e=>{e.visible&&u6(e,t,n)})):u6(e,t,n),this.setFromPoints(n)}getCenter(){let[e,t]=this.min,[n,r]=this.getHalfSize();return F3.apply([e+n,t+r],this.matrix)}getSize(){return[this.max[0]-this.min[0],this.max[1]-this.min[1]]}getHalfSize(){return[.5*(this.max[0]-this.min[0]),.5*(this.max[1]-this.min[1])]}makeEmpty(){this.min=[1/0,1/0],this.max=[-1/0,-1/0]}setFromPoints(e){this.makeEmpty();for(let t of e)this.expandByPoint(t)}expandByPoint(e){this.min=[Math.min(this.min[0],e[0]),Math.min(this.min[1],e[1])],this.max=[Math.max(this.max[0],e[0]),Math.max(this.max[1],e[1])]}computeVertices(){let[e,t]=this.getHalfSize(),n=this.getCenter(),[r,i,a,s]=F3.getAbcdef(this.matrix),o=F3.create(r,i,a,s,n[0],n[1]);this.vertices=h6.map((n=>{let[r,i]=n;return F3.apply([r*e,i*t],o)}))}computeEdges(){this.edges=[];for(let e=0,t=this.vertices.length;e<t;++e)this.edges.push([this.vertices[e],this.vertices[(e+1)%t]])}project(e,t){let n=this.matrix;return t&&(n=F3.append(t.worldMatrix,n)),F3.applyInverse(e,n)}intersects(e,t,n){return this.intersectsInLocalSpace(...this.project([e,t],n))}intersectsInLocalSpace(e,t){let{min:n,max:r}=this;return e>=n[0]&&e<=r[0]&&t>=n[1]&&t<=r[1]}containsPoint(e){let[t,n]=e,[r,i]=this.min,[a,s]=this.max;return t>=r&&t<=a&&n>=i&&n<=s}intersectsBBox2D(e){for(let t=0,n=this.edges.length;t<n;t++){let n=this.edges[t];for(let t=0,r=e.edges.length;t<r;t++){if(s6(n,e.edges[t]))return!0}}for(let t=0,n=e.vertices.length;t<n;t++){let n=e.vertices[t];if(this.containsPoint(n))return!0}return!1}ensureMinMax(){let e=this.min,t=this.max;this.min=[Math.min(e[0],t[0]),Math.min(e[1],t[1])],this.max=[Math.max(e[0],t[0]),Math.max(e[1],t[1])]}copy(e){this.min=[...e.min],this.max=[...e.max],F3.copy(e.matrix,this.matrix),this.computeVertices(),this.computeEdges()}clone(){let e=new p6;return e.copy(this),e}},f6=new Promise((e=>{o6=e})),m6=!1;function g6(){if(!m6)return l6||(l6=async function(){var e;let t=await __webpack_require__.e(160).then(__webpack_require__.bind(__webpack_require__,160));o6(null!==(e=t.default)&&void 0!==e?e:t),m6=!0}(),l6)}function y6(e){let t=!1;return e.scene.objects.traverse(((e,n)=>{("Mesh"===n.type&&"UIGeometry"===n.geometry.type||"Page"===n.type&&void 0!==n.uiFrame)&&(t=!0)})),t}var v6=F3.identity(),x6=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.canvas=e,this.dpr=t,this._width=0,this._height=0,this._strokeMode="inside",this._layerBlur=0,this._backgroundBlur=0,this._dropShadowBlur=0,this._dropShadowOffsetX=0,this._dropShadowOffsetY=0,this._dropShadowColor=BU.transparent,this._innerShadowBlur=0,this._innerShadowOffsetX=0,this._innerShadowOffsetY=0,this._innerShadowSpread=0,this._innerShadowColor=BU.transparent,this._fonts=new Map;try{let n=e.getBoundingClientRect();e.width=n.width*t,e.height=n.height*t}catch{console.log(e.width,t)}this._currentM3Transform=v6,this._currentTransform=new Float32Array(v6)}async init(){var e,t;if(!this.wasmURL)throw Error("Your must set the wasm binary url with renderer.wasmURL = ... before you can call renderer.init");await async function(e){let t=await f6;c6||(d6||(d6=t({locateFile:()=>e})),c6=await d6)}(this.wasmURL),this._surface=c6.MakeWebGLCanvasSurface(this.canvas),this.ctx=null===(e=this._surface)||void 0===e?void 0:e.getCanvas(),this._paint=new c6.Paint,this._paint.setAntiAlias(!0),this._paintFill=this._paint.copy(),this._paintFill.setStyle(c6.PaintStyle.Fill),this._paintStroke=this._paint.copy(),this._paintStroke.setStyle(c6.PaintStyle.Stroke),null===(t=this.ctx)||void 0===t||t.scale(this.dpr,this.dpr)}get currentTransform(){return this._currentM3Transform}get currentTransformBuffer(){return this._currentTransform}set currentTransform(e){this._currentM3Transform=e,this._currentTransform.set(e)}async loadFont(e,t){let n=await(await fetch(e)).arrayBuffer();this.registerFont(n,t)}registerFont(e,t){if(this._fonts.has(t))return;let n=c6.FontMgr.FromData(e);if(!n)throw new Error("Invalid font data for "+t);this._fonts.set(t,n)}get width(){return this._width}get height(){return this._height}set strokeColor(e){this._paintStroke&&this._paintStroke.setColor(A6(e),c6.ColorSpace.DISPLAY_P3)}set fillColor(e){this._paintFill&&this._paintFill.setColor(A6(e),c6.ColorSpace.DISPLAY_P3)}set lineWidth(e){this._paintStroke&&this._paintStroke.setStrokeWidth("center"===this._strokeMode?e:2*e)}set strokeMode(e){this._strokeMode=e}set dropShadowBlur(e){this._dropShadowBlur=e}set dropShadowColor(e){this._dropShadowColor=e}set dropShadowOffsetX(e){this._dropShadowOffsetX=e}set dropShadowOffsetY(e){this._dropShadowOffsetY=e}set innerShadowBlur(e){this._innerShadowBlur=e}set innerShadowColor(e){this._innerShadowColor=e}set innerShadowOffsetX(e){this._innerShadowOffsetX=e}set innerShadowOffsetY(e){this._innerShadowOffsetY=e}set innerShadowSpread(e){this._innerShadowSpread=e}set layerBlur(e){this._layerBlur=e}set backgroundBlur(e){this._backgroundBlur=e}clear(){var e;null===(e=this.ctx)||void 0===e||e.clear(c6.TRANSPARENT)}save(){var e;null===(e=this.ctx)||void 0===e||e.save()}restore(){var e;null===(e=this.ctx)||void 0===e||e.restore()}beginPath(){var e;null!==(e=this._currentPath)&&void 0!==e&&e.delete(),this._currentPath=new c6.Path}closePath(){let e=this._currentPath;if(e){if(e.isEmpty())return;let t=e.getBounds();(t[3]-t[1]||t[2]-t[0])&&e.close()}}fill(){this._paintInner(this._paintFill,!0)}stroke(){this._paintInner(this._paintStroke,!1)}clipRect(e,t,n,r){var i;let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:0,c=c6.XYWHRect(e,t,n,r);if(0===a&&0===s&&0===l&&0===o)null===(i=this.ctx)||void 0===i||i.clipRect(c,c6.ClipOp.Intersect,!0);else{var d;let e=c6.RRectXY(c,a,a);e[4]=e[5]=a,e[6]=e[7]=s,e[8]=e[9]=o,e[10]=e[11]=l,null===(d=this.ctx)||void 0===d||d.clipRRect(e,c6.ClipOp.Intersect,!0)}}_applyShadowOffsetMatrix(){if(this.ctx){let e=F3.invert(this.currentTransform);this.ctx.concat(e);let t=F3.translate(F3.identity(),this._dropShadowOffsetX,this._dropShadowOffsetY);this.ctx.concat(t),this.ctx.concat(this._currentTransform)}}_applyEffectsToPaint(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(this.ctx&&this._currentPath){let u,p=!1;if(n&&this._hasDropShadow()){var r,i,a;let n,s=e.copy();s.setColor(A6(this._dropShadowColor)),this._dropShadowBlur>0&&(n=c6.MaskFilter.MakeBlur(c6.BlurStyle.Normal,this._dropShadowBlur*this.dpr*(null!==(r=null===(i=this.camera)||void 0===i?void 0:i.scale)&&void 0!==r?r:1),!1),s.setMaskFilter(n)),this.ctx.save(),this.ctx.clipPath(this._currentPath,c6.ClipOp.Difference,!0),this._applyShadowOffsetMatrix(),t(s),this.ctx.restore(),s.delete(),null===(a=n)||void 0===a||a.delete()}if(this._backgroundBlur>0&&n){this.ctx.save(),this.ctx.clipPath(this._currentPath,c6.ClipOp.Intersect,!0);let t=c6.ImageFilter.MakeBlur(this._backgroundBlur,this._backgroundBlur,c6.TileMode.Clamp,null),n=e.copy();n.setImageFilter(t),n.setAlphaf(1);let r=this._currentPath.computeTightBounds();this.ctx.saveLayer(n,r,null,c6.SaveLayerInitWithPrevious),this.ctx.drawColor(e.getColor()),this.ctx.restore(),this.ctx.restore(),n.delete(),t.delete(),p=!0}if(this._layerBlur>0){var s,o;let n=e.copy();u=c6.MaskFilter.MakeBlur(c6.BlurStyle.Normal,this._layerBlur*this.dpr*(null!==(s=null===(o=this.camera)||void 0===o?void 0:o.scale)&&void 0!==s?s:1),!1),n.setMaskFilter(u),t(n),n.delete(),u.delete(),p=!0}if(p||t(e),n&&this._hasInnerShadow()){var l,c,d,h;let e,t=new c6.Paint;t.setAntiAlias(!0),t.setStyle(c6.PaintStyle.Fill),t.setColor(A6(this._innerShadowColor)),this._innerShadowBlur>0&&(e=c6.MaskFilter.MakeBlur(c6.BlurStyle.Normal,this._innerShadowBlur*this.dpr*(null!==(l=null===(c=this.camera)||void 0===c?void 0:c.scale)&&void 0!==l?l:1),!1),t.setMaskFilter(e));let n=this._currentPath.computeTightBounds(),[r,i,a,s]=n,o=a-r,u=s-i;this.ctx.save(),this.ctx.clipPath(this._currentPath,c6.ClipOp.Intersect,!0),this.ctx.saveLayer(t,n,null,c6.SaveLayerInitWithPrevious),null!==(d=this.ctx)&&void 0!==d&&d.translate(this._innerShadowOffsetX,this._innerShadowOffsetY),this.ctx.drawRect(c6.XYWHRect(-1e3-this._innerShadowOffsetX,-1e3-this._innerShadowOffsetY,2e3+o+Math.abs(2*this._innerShadowOffsetX),2e3+u+Math.abs(2*this._innerShadowOffsetY)),t),t.setBlendMode(c6.BlendMode.Clear),this.ctx.drawPath(this._currentPath,t),this.ctx.restore(),this.ctx.restore(),t.delete(),null===(h=e)||void 0===h||h.delete()}}}_paintInner(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.ctx&&this._currentPath&&e){let n=this.ctx,r=this._currentPath;this._applyEffectsToPaint(e,(e=>{let i=!1;!t&&"center"!==this._strokeMode&&(n.save(),n.clipPath(r,"outside"===this._strokeMode?c6.ClipOp.Difference:c6.ClipOp.Intersect,!0),i=!0),n.drawPath(r,e),i&&n.restore()}),t)}}_hasDropShadow(){var e;return(null===(e=this._dropShadowColor)||void 0===e?void 0:e.a)>0}_hasInnerShadow(){var e;return(null===(e=this._innerShadowColor)||void 0===e?void 0:e.a)>0}path(e){var t;null===(t=this._currentPath)||void 0===t||t.addPath(c6.Path.MakeFromSVGString(e))}ellipse(e,t,n,r,i,a,s,o){var l;if(!S6([e,t,n,r])||!this._currentPath)return;if(n<0||r<0)throw Error("radii cannot be negative");let c=c6.XYWHRect(e-n,t-r,2*n,2*r);null===(l=this._currentPath)||void 0===l||l.addOval(c)}rect(e,t,n,r){var i;let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:0,c=c6.XYWHRect(e,t,n,r);if(S6(c))if(0===a&&0===s&&0===l&&0===o)null===(i=this._currentPath)||void 0===i||i.addRect(c);else{var d;let e=c6.RRectXY(c,a,a);e[4]=e[5]=a,e[6]=e[7]=s,e[8]=e[9]=o,e[10]=e[11]=l,null===(d=this._currentPath)||void 0===d||d.addRRect(e)}}getHorizontalAlign(e){switch(e){case 2:return c6.TextAlign.Right;case 3:return c6.TextAlign.Center;case 4:return c6.TextAlign.Justify;default:return c6.TextAlign.Left}}drawTextInner(e,t,n,r,i,a){let[s,o,l,c]=r,d=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],h=0,{ctx:u}=this;if(!u)return h;let p=a.copy(),f=a.copy();return f.setAlphaf(0),this._applyEffectsToPaint(p,(r=>{t.pushPaintStyle(n,r,f),t.addText(e);let a=t.build();a.layout(l);let d=o;2===i?d+=(c-a.getHeight())/2:3===i&&(d+=c-a.getHeight()),u.drawParagraph(a,s,d),h=a.getHeight(),t.reset(),a.delete()}),d),p.delete(),f.delete(),h}drawText(e,t){let n=0,r=this._fonts.get(t.font),{ctx:i,_paintFill:a,_paintStroke:s}=this;if(r&&i){let i=new c6.TextStyle({fontFamilies:[t.font],fontSize:t.fontSize,heightMultiplier:t.lineHeight,letterSpacing:t.letterSpacing}),o=new c6.ParagraphStyle({textStyle:i,textAlign:this.getHorizontalAlign(t.horizontalAlign)}),l=c6.XYWHRect(t.x,t.y,t.width,t.height),c=c6.ParagraphBuilder.Make(o,r);a&&(n=this.drawTextInner(e,c,i,l,t.verticalAlign,a,!0)),s&&(n=this.drawTextInner(e,c,i,l,t.verticalAlign,s,!1)),c.delete()}return{height:n}}render(){var e;null===(e=this._surface)||void 0===e||e.flush()}moveTo(e,t){var n;null===(n=this._currentPath)||void 0===n||n.moveTo(e,t)}lineTo(e,t){var n;null===(n=this._currentPath)||void 0===n||n.lineTo(e,t)}bezierCurveTo(e,t,n,r,i,a){var s;null===(s=this._currentPath)||void 0===s||s.cubicTo(e,t,n,r,i,a)}quadraticCurveTo(e,t,n,r){var i;null===(i=this._currentPath)||void 0===i||i.quadTo(e,t,n,r)}setTransform(e){var t,n,r,i;let a=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this.ctx)return;let s=this.ctx.getTotalMatrix(),o=F3.invert(s);if(o&&this.ctx.concat(o),null!==(t=this.ctx)&&void 0!==t&&t.scale(this.dpr,this.dpr),null!==(n=this.camera)&&void 0!==n&&n.enabled&&(null!==(r=this.ctx)&&void 0!==r&&r.concat(this.camera.worldMatrix),a)){var l;let e=F3.getScale(this.camera.worldMatrix);null===(l=this.ctx)||void 0===l||l.scale(1/e[0],1/e[1])}null!==(i=this.ctx)&&void 0!==i&&i.concat(e),this.currentTransform=e}transform(e){var t;null===(t=this.ctx)||void 0===t||t.concat(e)}setSize(e,t){var n;e===this._width&&t===this._height||(this._width=e,this._height=t,this.canvas.style.width=e+"px",this.canvas.style.height=t+"px",this.canvas.width=e*this.dpr,this.canvas.height=t*this.dpr,this._surface&&(this._surface=c6.MakeWebGLCanvasSurface(this.canvas),this.ctx=null===(n=this._surface)||void 0===n?void 0:n.getCanvas()))}};function S6(e){for(let t=0;t<e.length;t++)if(void 0!==e[t]&&!Number.isFinite(e[t]))return!1;return!0}function A6(e){let{r:t,g:n,b:r,a:i}=e;return c6.Color4f(t,n,r,i)}var b6,k6,w6,j6=class{constructor(e,t,n){this.uuid=e,this.data=t,this.enabled=!1,this.color=BU.transparent,this.blurRadius=0,this.offset=[0,0],this.spread=0,this.update(t)}update(e){void 0!==e.color&&(this.color=e.color),void 0!==e.enabled&&(this.enabled=e.enabled),void 0!==e.blurRadius&&(this.blurRadius=e.blurRadius),void 0!==e.offset&&(this.offset=e.offset),void 0!==e.spread&&(this.spread=e.spread)}},M6=class{constructor(e,t,n){this.uuid=e,this.data=t,this.enabled=!1,this.radius=0,this.update(t)}update(e){void 0!==e.enabled&&(this.enabled=e.enabled),void 0!==e.radius&&(this.radius=e.radius)}},P6=class{constructor(e,t,n){this.uuid=e,this.data=t,this.enabled=!1,this.color=BU.transparent,this.update(t)}update(e){void 0!==e.enabled&&(this.enabled=e.enabled),void 0!==e.color&&(this.color=e.color)}},O6=class{constructor(e,t,n){this.uuid=e,this.data=t,this.enabled=!1,this.color=BU.transparent,this.thickness=0,this.mode="inside",this.update(t)}update(e){void 0!==e.enabled&&(this.enabled=e.enabled),void 0!==e.color&&(this.color=e.color),void 0!==e.thickness&&(this.thickness=e.thickness),void 0!==e.mode&&(this.mode=e.mode)}},T6=class extends r6{constructor(e,t,n){super(e,t,n),this.uuid=e,this.data=t,this.autoClose=!0,this.fill=new P6(e+"-fill",t.fill,n),this.stroke=new O6(e+"-stroke",t.stroke,n),this.dropShadow=new j6(e+"-dropShadow",t.dropShadow,n),this.innerShadow=new j6(e+"-innerShadow",t.innerShadow,n),this.backgroundBlur=new M6(e+"-backgroundBlur",t.backgroundBlur,n),this.layerBlur=new M6(e+"-layerBlur",t.layerBlur,n)}applyFillStroke(e){e.fillColor=this.fill.enabled?this.fill.color:BU.transparent,e.strokeColor=this.stroke.enabled&&this.stroke.thickness>0?this.stroke.color:BU.transparent,e.strokeMode=this.stroke.mode,e.lineWidth=this.stroke.thickness}applyFilters(e){this.layerBlur.enabled?e.layerBlur=5*this.layerBlur.radius:e.layerBlur=0,this.backgroundBlur.enabled?e.backgroundBlur=5*this.backgroundBlur.radius:e.backgroundBlur=0,this.dropShadow.enabled?(e.dropShadowBlur=5*this.dropShadow.blurRadius,e.dropShadowColor=this.dropShadow.color,e.dropShadowOffsetX=this.dropShadow.offset[0],e.dropShadowOffsetY=this.dropShadow.offset[1]):e.dropShadowColor=BU.transparent,this.innerShadow.enabled?(e.innerShadowSpread=this.innerShadow.spread,e.innerShadowBlur=5*this.innerShadow.blurRadius,e.innerShadowColor=this.innerShadow.color,e.innerShadowOffsetX=this.innerShadow.offset[0],e.innerShadowOffsetY=this.innerShadow.offset[1]):e.innerShadowColor=BU.transparent}innerDraw(e){}draw(e){!this.visible||(e.save(),this.applyTransforms(e),this.applyFilters(e),this.applyFillStroke(e),e.beginPath(),this.innerDraw(e),this.autoClose&&e.closePath(),this.fill.enabled&&e.fill(),this.stroke.enabled&&e.stroke(),e.restore())}updateByPatchedOp(e,t,n){super.updateByPatchedOp(e,t,n),0===e.type&&(Wz(e.path,["fill"])?this.fill.update(e.props):Wz(e.path,["stroke"])?this.stroke.update(e.props):Wz(e.path,["dropShadow"])?this.dropShadow.update(e.props):Wz(e.path,["innerShadow"])?this.innerShadow.update(e.props):Wz(e.path,["layerBlur"])?this.layerBlur.update(e.props):Wz(e.path,["backgroundBlur"])?this.backgroundBlur.update(e.props):this.resetBBoxNeedsUpdate())}updateState(e,t){super.updateState(e,t),void 0!==e.fill&&this.fill.update(e.fill),void 0!==e.stroke&&this.stroke.update(e.stroke),void 0!==e.dropShadow&&this.dropShadow.update(e.dropShadow),void 0!==e.innerShadow&&this.innerShadow.update(e.innerShadow),void 0!==e.layerBlur&&this.layerBlur.update(e.layerBlur),void 0!==e.backgroundBlur&&this.backgroundBlur.update(e.backgroundBlur)}clone(e){let t=new T6(this.uuid,this.data,e);return t.parent=void 0,t}},I6=class extends T6{constructor(e,t,n){super(e,t,n),this.uuid=e,this.data=t,this.width=0,this.height=0,this.updateState(t,n)}innerDraw(e){e.ellipse(.5*this.width,.5*this.height,.5*this.width,.5*this.height,0,0,2*Math.PI)}intersectsInLocalSpace(e,t){return function(e,t,n,r,i,a){let s=e-n,o=t-r;return s*s/(i*i)+o*o/(a*a)<=1}(e,t,.5*this.width,.5*this.height,.5*this.width,.5*this.height)}getCenter(){return[.5*this.width,.5*this.height]}getHalfSize(){return[.5*this.width,.5*this.height]}updateSizeState(e){let t=!1;void 0!==e.width&&(this.width="number"==typeof e.width?e.width:this.width,t=!0),void 0!==e.height&&(this.height="number"==typeof e.height?e.height:this.height,t=!0),t&&this.updateWorldMatrix(!0,!1,!0)}updateState(e,t){super.updateState(e,t),this.updateSizeState(e)}clone(e){let t=new I6(this.uuid,this.data,e);return t.parent=void 0,t}},C6=class extends T6{constructor(e,t,n){super(e,t,n),this.uuid=e,this.data=t,this.width=0,this.height=0,this.cornerRadius=[0,0,0,0],this.updateState(t,n)}innerDraw(e){e.rect(0,0,this.width,this.height,...this.cornerRadius)}getCenter(){return[.5*this.width,.5*this.height]}getHalfSize(){return[.5*this.width,.5*this.height]}updateCornerState(e){void 0!==e.cornerRadius&&(this.cornerRadius=e.cornerRadius)}updateSizeState(e){let t=!1;void 0!==e.width&&(this.width="number"==typeof e.width?e.width:this.width,t=!0),void 0!==e.height&&(this.height="number"==typeof e.height?e.height:this.height,t=!0),t&&this.updateWorldMatrix(!0,!1,!0)}updateState(e,t){super.updateState(e,t),this.updateSizeState(e),this.updateCornerState(e)}clone(e){let t=new C6(this.uuid,this.data,e);return t.parent=void 0,t}},E6=class extends T6{constructor(e,t,n){super(e,t,n),this.uuid=e,this.data=t,this._textHeight=0,this._textHeightDirty=!0,this.width=0,this.height=0,this.updateState(t,n)}get textHeight(){return this._textHeight}applyFillStroke(e){e.fillColor=this.fill.enabled?this.fill.color:BU.transparent,e.strokeColor=this.stroke.enabled&&this.stroke.thickness>0?this.stroke.color:BU.transparent,e.strokeMode="center",e.lineWidth=this.stroke.thickness}innerDraw(e){var t,n,r;(null===(t=this._fontHolder)||void 0===t?void 0:t.arrayBuffer)&&this._fontHolder.arrayBuffer.byteLength>1&&this.data.font&&e.registerFont(this._fontHolder.arrayBuffer,this.data.font);let i=this.data.textTransform,a=this.data.text.textValue.toString(),s=2===i?a.toUpperCase():3===i?a.toLowerCase():a,{height:o}=e.drawText(s,{x:0,y:0,width:this.width,height:this.height,fontSize:this.data.fontSize,lineHeight:null!==(n=this.data.lineHeight)&&void 0!==n?n:1,letterSpacing:null!==(r=this.data.letterSpacing)&&void 0!==r?r:0,horizontalAlign:this.data.horizontalAlign,verticalAlign:this.data.verticalAlign,font:this.data.font});this._textHeight=o}getCenter(){return[.5*this.width,.5*this.height]}getHalfSize(){return[.5*this.width,.5*this.height]}updateSizeState(e){let t=!1;void 0!==e.width&&(this.width="number"==typeof e.width?e.width:this.width,t=!0),void 0!==e.height&&(this.height="number"==typeof e.height?e.height:this.height,t=!0),t&&this.updateWorldMatrix(!0,!1,!0)}updateFontState(e,t){let{shared:n}=t;void 0!==e.font&&(this._fontHolder=n.getFont(e.font),this._fontHolder&&!this._fontHolder.isLoaded&&this._fontHolder.loadingPromise.then((()=>{this.requestRender()})))}updateState(e,t){super.updateState(e,t),this.updateSizeState(e),this.updateFontState(e,t)}clone(e){let t=new E6(this.uuid,this.data,e);return t.parent=void 0,t}},V6=class extends T6{constructor(e,t,n){super(e,t,n),this.uuid=e,this.data=t,this.curves=[],this.extremasBBox={min:[0,0],max:[0,0]},this.updateState(t,n)}computeExtremas(){0===this.curves.length&&this.computeCurves();let e=this.curves.map((e=>b6.extremas(e))),t=[1/0,1/0],n=[-1/0,-1/0];for(let r=0,i=e.length;r<i;r++){let i=e[r];i[0][0]<t[0]&&(t[0]=i[0][0]),i[0][1]<t[1]&&(t[1]=i[0][1]),i[1][0]>n[0]&&(n[0]=i[1][0]),i[1][1]>n[1]&&(n[1]=i[1][1])}return this.extremasBBox.min=[t[0],t[1]],this.extremasBBox.max=[n[0],n[1]],this.extremasBBox}computeCurves(){this.curves=[];for(let n=1,r=this.data.points.length;n<r;n++){let e=this.data.points[n].data,t=this.data.points[n-1].data,r={start:t.position,cp1:t.controlNext.position,cp2:e.controlPrevious.position,end:e.position};this.curves.push(r)}let e=this.data.points[0].data,t=this.data.points[this.data.points.length-1].data;if(this.data.isClosed){let n={start:t.position,cp1:t.controlNext.position,cp2:e.controlPrevious.position,end:e.position};this.curves.push(n)}}getCenter(){let[e,t]=this.extremasBBox.min,[n,r]=this.getHalfSize();return[e+n,t+r]}getHalfSize(){let{min:e,max:t}=this.extremasBBox;return[.5*(t[0]-e[0]),.5*(t[1]-e[1])]}innerDraw(e){for(let r=0,i=this.data.points.length;r<i;r++){let t=this.data.points[r].data;if(0===r){let[n,r]=t.position;e.moveTo(n,r)}else{let n=this.data.points[r-1].data,[i,a]=n.controlNext.position,[s,o]=t.controlPrevious.position,[l,c]=t.position,d={start:n.position,cp1:n.controlNext.position,cp2:t.controlPrevious.position,end:t.position};b6.derive(d),e.bezierCurveTo(i,a,s,o,l,c)}}let t=this.data.points[0].data,n=this.data.points[this.data.points.length-1].data;if(this.data.isClosed){let[r,i]=n.controlNext.position,[a,s]=t.controlPrevious.position,[o,l]=t.position;e.bezierCurveTo(r,i,a,s,o,l)}}updateState(e,t){super.updateState(e,t),this.computeExtremas()}clone(e){let t=new V6(this.uuid,this.data,e);return t.parent=void 0,t}};(e=>{function t(e,t,n){let r=e-2*t+n;if(0!==r){let i=-Math.sqrt(Math.abs(t*t-e*n)),a=-e+t;return[-(i+a)/r,-(-i+a)/r]}return t!==n&&0===r?[(2*t-n)/(2*(t-n))]:[]}e.derive=function(e){let t=e.start,n=e.cp1,r=e.cp2,i=e.end,a={start:[3*(n[0]-t[0]),3*(n[1]-t[1])],cp:[3*(r[0]-n[0]),3*(r[1]-n[1])],end:[3*(i[0]-r[0]),3*(i[1]-r[1])]};return e.derivative=a,a.derivative=k6.derive(a),a},e.droot=function(n){var r;let i=null!==(r=n.derivative)&&void 0!==r?r:e.derive(n),a=i.start,s=i.cp,o=i.end;return[t(a[0],s[0],o[0]),t(a[1],s[1],o[1])]},e.extremas=function(t){let[n,r]=e.droot(t),i=[t.start[0],t.end[0]],a=[t.start[1],t.end[1]];for(let s of n)i.push(e.compute(t,Math.min(1,Math.max(0,s)))[0]);for(let s of r)a.push(e.compute(t,Math.min(1,Math.max(0,s)))[1]);return i.sort(((e,t)=>e-t)),a.sort(((e,t)=>e-t)),[[i[0],a[0]],[i[i.length-1],a[a.length-1]]]},e.compute=function(e,t){if(0===t)return[...e.start];if(1===t)return[...e.end];let n=1-t,r=n*n,i=t*t,a=r*n,s=r*t*3,o=n*i*3,l=t*i;return[a*e.start[0]+s*e.cp1[0]+o*e.cp2[0]+l*e.end[0],a*e.start[1]+s*e.cp1[1]+o*e.cp2[1]+l*e.end[1]]}})(b6||(b6={})),(e=>{e.derive=function(e){let t=e.start,n=e.cp,r=e.end,i={start:[2*(n[0]-t[0]),2*(n[1]-t[1])],end:[2*(r[0]-n[0]),2*(r[1]-n[1])]};return i.derivative=w6.derive(i),e.derivative=i,i},e.droot=function(t){var n;let r=null!==(n=t.derivative)&&void 0!==n?n:e.derive(t),i=r.start,a=r.end;return[i[0]!==a[0]?i[0]/(i[0]-a[0]):0,i[1]!==a[1]?i[1]/(i[1]-a[1]):0]},e.compute=function(e,t){if(0===t)return[...e.start];if(1===t)return[...e.end];let n=1-t,r=n*n,i=n*t*2,a=t*t;return[r*e.start[0]+i*e.cp[0]+a*e.end[0],r*e.start[1]+i*e.cp[1]+a*e.end[1]]}})(k6||(k6={})),(e=>{e.derive=function(e){let t=e.start,n=e.end,r=[n[0]-t[0],n[1]-t[1]];return e.derivative=r,e.derivative},e.compute=function(e,t){if(0===t)return[...e.start];if(1===t)return[...e.end];let n=e.start,r=e.end;return[n[0]+(r[0]-n[0])*t,n[1]+(r[1]-n[1])*t]}})(w6||(w6={}));var R6=class extends i6{constructor(e,t,n){super(e,t,n),this.uuid=e,this.width=0,this.height=0,this.clipped=!0,this.background=new C6(e+"-background",WL.defaultData,n),this.background.parent=this,this.updateState(t,n)}get fill(){return this.background.fill}get stroke(){return this.background.stroke}get backgroundBlur(){return this.background.backgroundBlur}get layerBlur(){return this.background.layerBlur}get dropShadow(){return this.background.dropShadow}get innerShadow(){return this.background.innerShadow}get cornerRadius(){return this.background.cornerRadius}set cornerRadius(e){this.background.cornerRadius=e}updateLocalMatrix(){var e;super.updateLocalMatrix(),null===(e=this.background)||void 0===e||e.updateLocalMatrix()}updateWorldMatrix(e,t,n){var r;super.updateWorldMatrix(e,t,n),null===(r=this.background)||void 0===r||r.updateWorldMatrix(e,t,n)}draw(e){if(!this.visible)return;e.save();let t=this.width,n=this.height;this.applyTransforms(e),this.background.width=t,this.background.height=n,this.background.draw(e),this.clipped&&e.clipRect(0,0,t,n,...this.cornerRadius),this.innerDrawChildren(e),e.restore()}getCenter(){return[.5*this.width,.5*this.height]}getHalfSize(){return[.5*this.width,.5*this.height]}updateCornerState(e){void 0!==e.cornerRadius&&(this.cornerRadius=e.cornerRadius)}updateSizeState(e){let t=!1;void 0!==e.width&&(this.width="number"==typeof e.width?e.width:this.width,t=!0),void 0!==e.height&&(this.height="number"==typeof e.height?e.height:this.height,t=!0),t&&this.updateWorldMatrix(!0,!1,!0)}updateState(e,t){super.updateState(e,t),this.updateSizeState(e),this.updateCornerState(e),void 0!==e.fill&&this.fill.update(e.fill),void 0!==e.stroke&&this.stroke.update(e.stroke),void 0!==e.dropShadow&&this.dropShadow.update(e.dropShadow),void 0!==e.innerShadow&&this.innerShadow.update(e.innerShadow),void 0!==e.layerBlur&&this.layerBlur.update(e.layerBlur),void 0!==e.backgroundBlur&&this.backgroundBlur.update(e.backgroundBlur),void 0!==e.clipped&&(this.clipped=e.clipped)}requestRender(){super.requestRender(),this.dispatchEvent({type:"render"})}dispose(){this.removeEventListener("render")}updateByPatchedOp(e,t,n){super.updateByPatchedOp(e,t,n),0===e.type&&(Wz(e.path,["fill"])?this.fill.update(e.props):Wz(e.path,["stroke"])?this.stroke.update(e.props):Wz(e.path,["dropShadow"])?this.dropShadow.update(e.props):Wz(e.path,["innerShadow"])?this.innerShadow.update(e.props):Wz(e.path,["layerBlur"])?this.layerBlur.update(e.props):Wz(e.path,["backgroundBlur"])?this.backgroundBlur.update(e.props):this.resetBBoxNeedsUpdate())}clone(e){let t=new R6(this.uuid,this.data,e);t.parent=void 0;for(let n of this.children)t.add(n.clone(e));return t}},D6=Xb(ok(),1),B6=class extends T6{constructor(e,t,n){super(e,t,n),this.uuid=e,this.data=t,this._pathBBox=new DOMRect,this.path="",this.updateState(t,n),this.autoClose=!1,this.computeSVGBBox()}computeSVGBBox(){let e=document.createElementNS("http://www.w3.org/2000/svg","svg"),t=document.createElementNS("http://www.w3.org/2000/svg","path");document.body.appendChild(e),t.setAttribute("d",this.path),e.appendChild(t),this._pathBBox=t.getBBox(),e.remove()}innerDraw(e){e.path(this.path)}intersectsInLocalSpace(e,t){return e>=this._pathBBox.x&&e<=this._pathBBox.x+this._pathBBox.width&&t>=this._pathBBox.y&&t<=this._pathBBox.y+this._pathBBox.height}getCenter(){return[(this._pathBBox.x+this._pathBBox.width)/2,(this._pathBBox.y+this._pathBBox.height)/2]}getHalfSize(){return[(this._pathBBox.x+this._pathBBox.width)/2,(this._pathBBox.y+this._pathBBox.height)/2]}updateState(e,t){super.updateState(e,t),void 0!==e.path&&(this.path=e.path,this.computeSVGBBox())}clone(e){let t=new B6(this.uuid,this.data,e);return t.parent=void 0,t}};var G6=class{constructor(e,t,n){this.uuid=e,this.data=t,this.group=new a6(G6.GROUP_ID,{...NL.defaultData},n),this.createChildrenObjects(t.objects,this.group,n)}createObject(e,t,n,r,i,a){let s=function(e,t,n){switch(t.type){case"ellipse2d":return new I6(e,t,n);case"rectangle2d":return new C6(e,t,n);case"text2d":return new E6(e,t,n);case"vector2d":return new V6(e,t,n);case"path2d":return new B6(e,t,n);case"frame2d":return new R6(e,t,n);default:return new a6(e,t,n)}}(e,t,a);s&&(r.add(s),r.children.splice(i,0,r.children.pop()),s.updateWorldMatrix(),n.length>0&&(s instanceof a6||s instanceof R6)&&this.createChildrenObjects(n,s,a))}createChildrenObjects(e,t,n){let r=0;for(let i of e)this.createObject(i.id,i.data,i.children,t,r,n),r+=1}draw(e){this.group.draw(e)}updateEntityByOp(e,t,n,r){let i=this.find(e);if(i)try{i.updateByOp(t,n,{shared:r})}catch(l){console.error(l)}}updateTreeByOp(e,t){if(0===e.path.length&&7===e.type){let n=null===e.parent?this.group:this.find(e.parent);void 0!==n&&n instanceof i6&&(this.createObject(e.id,e.data,e.children,n,e.localIndex,t),n.requestRender())}else if(0===e.path.length&&8===e.type){let t=this.find(e.id);if(void 0!==t&&void 0!==t.parent&&t.parent instanceof i6){let e=t.parent;t.resetBBoxNeedsUpdate(),null!==e&&void 0!==e&&e.remove(t),null===e||void 0===e||e.requestRender()}}else if(0===e.path.length&&9===e.type){let t=this.find(e.id);if(void 0!==t){let n=t.parent,r=null===e.parent?this:this.find(e.parent);if(r instanceof i6||r===this){r.add(t);let i=e.localIndex;r.children.splice(i,0,r.children.pop()),t.updateWorldMatrix(!0,!1,!0),null!==n&&void 0!==n&&n.requestRender(),t.requestRender()}t.resetBBoxNeedsUpdate()}}}add(e){this.group.add(e)}remove(e){this.group.remove(e)}traverse(e){this.group.traverse((t=>{t!==this.group&&e(t)}))}intersectsChildren(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[];return this.group.intersectsChildren(e,t,n,r,i,!0)}find(e){return this.group.find(e)}get children(){return this.group.children}project(e,t){return this.group.project(e,t)}getWithSortKey(e){let t=this.find(e);if(void 0===t)return;let n=[],r=t;for(;r!==this.group;){let e=r;r=r.parent;let t=r.children.indexOf(e);n.splice(0,0,t)}return{entity:t,sortKey:n}}getAllSorted(e){let t=[];for(let n of e){let e=this.getWithSortKey(n.id);void 0!==e&&t.push(e)}return t.sort(((e,t)=>CW(e.sortKey,t.sortKey))),t.map((e=>e.entity))}},q6=G6;function H6(e){let{constraints:t,newParentWidth:n,newParentHeight:r,initialParentWidth:i,initialParentHeight:a,objectInitialWidth:s,objectInitialHeight:o,objectInitialPosition:l}=e,{horizontalConstraint:c,verticalConstraint:d}=t,h=n-i,u=r-a,p=s,f=o,m=l[0],g=l[1];if(0!==c)if(1===c)m+=h;else if(3===c)m+=h/2;else if(2===c)p=Math.max(1,p+h);else if(4===c){let e=n/i;p*=e,m*=e}if(0!==d)if(1===d)g+=u;else if(3===d)g+=u/2;else if(2===d)f=Math.max(1,f+u);else if(4===d){let e=r/a;f*=e,g*=e}return{width:p,height:f,position:[m,g]}}q6.GROUP_ID="scene2d";Xb(ok(),1);var W6=F3.identity(),z6=class{constructor(e,t,n,r){this.uuid=e,this.width=t,this.height=n,this.context=r,this.enabled=!0,this.isScreenSpace=!1,this.isFrameDirty=!1,this.onRenderRequestedDownstream=()=>{this.isFrameDirty=!0,this.context.shared.requestRender()},this.onFrameOverrideObjectEvent=e=>{var t;if(void 0!==(null===(t=e.target)||void 0===t?void 0:t.uuid)){var n;let t=null===(n=this.frameRoot)||void 0===n?void 0:n.find(e.target.uuid);t&&t.dispatchEvent({...e,target:t})}},this.scene2d=new q6(lM.generateUUID(),FL.defaultData,{dpr:window.devicePixelRatio,shared:r.shared}),this.canvas=document.createElement("canvas"),this.renderer=new x6(this.canvas),r.shared.addCanvas(this.uuid,this.canvas),this.textureHolder=r.shared.canvas(this.uuid),this.promise=this.init()}async init(){this.renderer instanceof x6&&(this.renderer.wasmURL=__.skiaWasmUrl),await this.renderer.init()}render(){var e,t;this.isFrameDirty&&(this.renderer.clear(),null!==(e=this.frameOverride)&&void 0!==e&&e.draw(this.renderer),this.renderer.render(),null!==(t=this.textureHolder)&&void 0!==t&&t.setNeedsUpdate(!0),this.isFrameDirty=!1)}updateEntity2DByOp(e,t,n,r){this.scene2d.updateEntityByOp(e,t,n,r),this.applySize()}updateTreeByOp(e,t){this.scene2d.updateTreeByOp(e,t),this.applySize()}applyOverrides(e){if(this.frameOverride&&this.frameRoot){var t,n;this.frameOverride.position=[0,0],this.frameOverride.rotation=0;let r=null!==(t=null===e||void 0===e?void 0:e.width)&&void 0!==t?t:this.width,i=null!==(n=null===e||void 0===e?void 0:e.height)&&void 0!==n?n:this.height;this.frameOverride.width=r,this.frameOverride.height=i,this.frameOverride.localMatrix=W6,this.isScreenSpace&&(this.frameOverride.fill.color=BU.from0to1([0,0,0,0])),this.frameOverride.data={...this.frameOverride.data,width:r,height:i},J6({objectOverride:this.frameOverride,objectRoot:this.frameRoot,newParentWidth:this.frameOverride.width,newParentHeight:this.frameOverride.height,initialParentWidth:this.frameRoot.width,initialParentHeight:this.frameRoot.height}),this.frameOverride.updateWorldMatrix(!0,!1,!0)}}applySize(e){var t,n,r,i;let a=null!==(t=null===e||void 0===e?void 0:e.width)&&void 0!==t?t:this.width,s=null!==(n=null===e||void 0===e?void 0:e.height)&&void 0!==n?n:this.height;this.width=a,this.height=s,this.renderer.dpr=this.isScreenSpace?window.devicePixelRatio:Math.floor(2048/Math.max(a,s)),this.renderer.setSize(a,s),null!==(r=this.textureHolder)&&void 0!==r&&r.dispose(),this.applyOverrides(e),null===(i=this.frameOverride)||void 0===i||i.requestRender()}applyFrame(e){var t,n,r;let i=this.context.scene.find2D(e);if(i&&i instanceof R6)return this.disposeFrameOverride(),this.frameRoot=i,this.frameOverride=i.clone({dpr:this.renderer.dpr,shared:this.context.shared}),this.scene2d.add(this.frameOverride),this.applySize(),null!==(t=this.textureHolder)&&void 0!==t&&t.dispose(),null!==(n=this.frame)&&void 0!==n&&n.addEventListener("render",this.onRenderRequestedDownstream),this.frameOverride.traverse((e=>{e.addEventListener("beginState",this.onFrameOverrideObjectEvent)})),this.frameOverride.traverse((e=>{e.addEventListener("completeState",this.onFrameOverrideObjectEvent)})),null!==(r=this.frame)&&void 0!==r&&r.requestRender(),i}get frame(){return this.frameOverride}get frameId(){var e;return null===(e=this.frame)||void 0===e?void 0:e.uuid}find(e){return this.scene2d.find(e)}get texture(){var e;return null===(e=this.textureHolder)||void 0===e?void 0:e.getTexture(1001)}disposeFrameOverride(){var e,t,n;null!==(e=this.frameOverride)&&void 0!==e&&e.removeEventListener("render",this.onRenderRequestedDownstream),null!==(t=this.frameOverride)&&void 0!==t&&t.traverse((e=>{e.removeEventListener("beginStateChange",this.onFrameOverrideObjectEvent)})),null!==(n=this.frameOverride)&&void 0!==n&&n.traverse((e=>{e.removeEventListener("completeState",this.onFrameOverrideObjectEvent)})),this.frameOverride&&this.scene2d.remove(this.frameOverride)}};function J6(e){let{objectOverride:t,objectRoot:n,newParentWidth:r,newParentHeight:i,initialParentWidth:a,initialParentHeight:s}=e;if(t instanceof R6&&n instanceof R6||t instanceof a6&&n instanceof a6)for(let o=0,l=t.children.length;o<l;o++){let e=t.children[o],l=n.children[o];e&&l&&e.uuid===l.uuid&&U6({objectOverride:e,objectRoot:l,newParentWidth:r,newParentHeight:i,initialParentWidth:a,initialParentHeight:s})}}function U6(e){let{objectOverride:t,objectRoot:n,newParentWidth:r,newParentHeight:i,initialParentWidth:a,initialParentHeight:s}=e,[o,l]=function(e){if(L6(e))return[e.width,e.height];if(e instanceof B6){let[t,n]=e.getHalfSize();return[2*t,2*n]}if(e instanceof a6){let[t,n]=e.recursiveBBox.getHalfSize();return[2*t,2*n]}return[0,0]}(n),{width:c,height:d,position:h}=H6({constraints:t.data,newParentWidth:r,newParentHeight:i,initialParentWidth:a,initialParentHeight:s,objectInitialWidth:o,objectInitialHeight:l,objectInitialPosition:n.position});if(t.position=h,t.data={...t.data,position:h},t.states)for(let u in t.states)N6({stateId:u,objectOverride:t,objectRoot:n,newParentWidth:r,newParentHeight:i,initialParentWidth:a,initialParentHeight:s});if(L6(t)||t instanceof a6)L6(t)&&(t.width=c,t.height=d,t.data={...t.data,width:c,height:d}),J6({objectOverride:t,objectRoot:n,newParentWidth:c,newParentHeight:d,initialParentWidth:o,initialParentHeight:l});else if(t instanceof B6){let e=n,r=0!==o?c/o:1,i=0!==l?d/l:1;t.path=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;if(t<=0||n<=0)return e;let r=(0,D6.parseSVG)(e).map((e=>{let r={...e};return"x"in r&&(r.x=r.x*t),"y"in r&&(r.y=r.y*n),"x1"in r&&(r.x1=r.x1*t),"x2"in r&&(r.x2=r.x2*t),"y1"in r&&(r.y1=r.y1*n),"y2"in r&&(r.y2=r.y2*n),"rx"in r&&(r.rx=r.rx*t),"ry"in r&&(r.ry=r.ry*n),r}));return function(e){let t,n=["rx","ry","xAxisRotation","largeArc","sweep","x1","y1","x2","y2","x","y"];return e.map((e=>{let r=[];n.forEach((t=>{if(t in e){let n=1*e[t];r.length&&n>=0&&r.push(","),r.push(n)}}));let i=(t===e.code?r[0]<0?"":",":e.code)+r.join("");return t=e.code,i})).join("")}(r)}(e.path,r,i),t.data={...t.data,path:t.path}}}function N6(e){var t,n;let{stateId:r,objectOverride:i,objectRoot:a,newParentWidth:s,newParentHeight:o,initialParentWidth:l,initialParentHeight:c}=e,d=null===(t=i.states)||void 0===t?void 0:t[r],h=null===(n=a.states)||void 0===n?void 0:n[r];if(d&&h){let{width:e,height:t,position:n}=H6({constraints:i.data,newParentWidth:s,newParentHeight:o,initialParentWidth:l,initialParentHeight:c,objectInitialWidth:YL.isResizeable(h)?h.width:0,objectInitialHeight:YL.isResizeable(h)?h.height:0,objectInitialPosition:h.position});Object.assign(i.states[r],{position:n}),YL.isResizeable(d)&&Object.assign(i.states[r],{width:e,height:t})}}function L6(e){return e instanceof C6||e instanceof R6||e instanceof I6||e instanceof E6}var Y6=class extends(tZ(TC)){constructor(e,t,n){super(),this.data=t,this.bgColor=new wX(1,1,1,1),this.fog=null,this.backupFog=new OC(16777215,.1,2e3),this.fogUseBGColor=!1,this.isActive=!1,this.aoColor=new MM,this.penumbraSizeArrayCache=null,this.super_Entity(e,t),this.personalCamera=new q1(LU,{...JN.defaultData,...t.camera,name:"Personal Camera"}),this.personalCamera.objectHelper.visible=!1,this.add(this.personalCamera),this.activeCamera=this.personalCamera,this.ambientLight=new BV(13882323,8553090,.75),this.ambientLight.name="Default Ambient Light",this.ambientLight.layers.enable(3),this.ambientLight.removeFromParent(),this.add(this.ambientLight),t.uiScene?this.uiScene=new q6((Array.isArray(e)?e[0]:e)+"-ui",t.uiScene,{dpr:window.devicePixelRatio,shared:n.shared}):t.uiFrame&&this.createUICanvas(t.uiFrame,n)}get scene(){return this.parent}get postprocessing(){return this.data.postprocessing}get frameId(){return this.data.uiFrame}get frame(){var e;return null===(e=this.uiCanvas)||void 0===e?void 0:e.frame}createUICanvas(e,t){this.uiCanvas=new z6(this.uuid+"-uiscreen",window.innerWidth,window.innerHeight,t),this.uiCanvas.isScreenSpace=!0,this.uiCanvas.promise.then((()=>{var t,n;null!==(t=this.uiCanvas)&&void 0!==t&&t.applyFrame(e),null===(n=this.uiCanvas)||void 0===n||n.applySize()}))}updateVisible(){}setBackgroundColor(e){this.bgColor=e,!0===this.fogUseBGColor&&(this.backupFog.color=e)}entityChildrenCount(){return this.uiScene?this.uiScene.children.length:super.entityChildrenCount()}updateAmbientLight(e,t){void 0!==e.color&&(this.ambientLight.color=B$(e.color,t)),void 0!==e.intensity&&(this.ambientLight.intensity=e.intensity),void 0!==e.enabled&&(e.enabled?this.add(this.ambientLight):this.remove(this.ambientLight))}onDeactive(){this.isActive=!1}onActive(e){this.isActive=!0,e.fog=this.fog,this.traverseEntity((e=>{e instanceof U1&&e.recomputeBoolean()})),this.updateShadow(this.data.shadow)}forceMaterialsUpdate(){this.traverseEntity((e=>{if(e instanceof w0)if(Array.isArray(e.material))for(let t of e.material)t.needsUpdate=!0;else e.material.needsUpdate=!0,e.material.dispose()}))}updateShadow(e){void 0!==e.softShadowQuality&&this.isActive&&function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"medium";if(H3===e)return!1;H3=e;let t=(e=>{switch(e){case"low":return 8;case"medium":default:return 16;case"high":return 32}})(e);XO.shadowmap_pars_fragment=(e=>"\n\n// PCSS implementation based on:\n// https://www.gamedev.net/articles/programming/graphics/contact-hardening-soft-shadows-made-fast-r4906/\n// NOTE: This number affects how big the shadow blur can\n// possibly get. Bigger number == bigger blur, but less precise results\n\nconst float  gPenumbraFilterSize = 80.0;\nconst int   gPenumbraSamples = ".concat(e,";\nconst int gShadowSamples = ").concat(e,";\nconst float gShadowSamplesRpc = 1.0f / float(gShadowSamples);\n\n#ifdef USE_SHADOWMAP\n    #if NUM_DIR_LIGHT_SHADOWS > 0\n\n        uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n        varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\n        struct DirectionalLightShadow {\n            float shadowBias;\n            float shadowNormalBias;\n            float shadowRadius;\n            vec2 shadowMapSize;\n        };\n\n        uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\n    #endif\n\n    #if NUM_SPOT_LIGHT_SHADOWS > 0\n\n        uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n        varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\n        struct SpotLightShadow {\n            float shadowBias;\n            float shadowNormalBias;\n            float shadowRadius;\n            vec2 shadowMapSize;\n        };\n\n        uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\n    #endif\n\n    #if NUM_POINT_LIGHT_SHADOWS > 0\n\n        uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n        varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\n        struct PointLightShadow {\n            float shadowBias;\n            float shadowNormalBias;\n            float shadowRadius;\n            vec2 shadowMapSize;\n            float shadowCameraNear;\n            float shadowCameraFar;\n        };\n\n        uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\n    #endif\n\n    /*\n    #if NUM_RECT_AREA_LIGHTS > 0\n\n        // TODO (abelnation): create uniforms for area light shadows\n\n    #endif\n    */\n\nfloat computePenumbra(int index, sampler2D shadowMap, float temporalAngle, float texelSize, vec2 uv, float compare, float texelScalar, float shadowRadius)\n{\n    float penumbra = 1.0;\n    float blockerDepthAvg = 0.0;\n    float blockerCount = 0.0;\n\n    #pragma unroll_loop_start\n    for(int i = 0; i < gPenumbraSamples; i ++)\n    {\n        vec2 offset = (vogelDiskSample(i, gShadowSamples, temporalAngle) * texelSize) * texelScalar;\n        float depth = unpackRGBAToDepth( texture2D( shadowMap, uv + offset ) );\n\n        if(depth < compare + 0.0001)\n        {\n            blockerDepthAvg += depth;\n            blockerCount++;\n        }\n    }\n    #pragma unroll_loop_end\n\n    if (blockerCount > 0.0)\n    {\n        blockerDepthAvg /= blockerCount;\n\n        // Compute penumbra\n        penumbra = (compare - blockerDepthAvg) / (blockerDepthAvg);\n        penumbra *= penumbra;\n        penumbra *= 200.0 * penumbraSize[min(index, ",5," - 1)]; // Magic number that affects how quickly the penumbra grows\n\n        return clamp(penumbra, 0.00, 1.0);\n    }\n    return 0.0;\n}\n\nfloat vogelShadow(int index, sampler2D shadowMap, vec2 uv, float texelSize, float compare, float shadowRadius)\n{\n    float shadow         = 0.0f;\n\n    // NOTE: When using TAA, we should use screen space interleaved gradient noise\n    vec2 halton = haltonSequence[frameIndex];\n    float temporalOffset = getNoiseInterleavedGradient(gl_FragCoord.xy + halton);\n    float temporalAngle  = temporalOffset * PI2;\n\n    float texelScalar = (gPenumbraFilterSize) / (texelSize * 1024.);\n    float penumbra = computePenumbra(index, shadowMap, temporalAngle, texelSize, uv, compare, texelScalar, shadowRadius);\n    if (penumbra == -1.0) {\n        return 1.0;\n    }\n\n    #pragma unroll_loop_start\n    for (int i = 0; i < gShadowSamples; i++)\n    {\n        vec2 vogelSample =  vogelDiskSample(i, gShadowSamples, temporalAngle) * texelSize;\n        // Overall blurring offset\n        vec2 offset = vogelSample * (shadowRadius * 2.);\n\n        // Penumbra offset\n        offset += vogelSample * (penumbra * texelScalar);\n\n        shadow += step( compare, unpackRGBAToDepth( texture2D( shadowMap, uv + offset ) ) );\n    }\n    #pragma unroll_loop_end\n\n    return shadow * gShadowSamplesRpc;\n}\n\n\n    float texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\n        return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\n    }\n\n    vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\n        return unpackRGBATo2Half( texture2D( shadow, uv ) );\n\n    }\n\n    float VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\n        float occlusion = 1.0;\n\n        vec2 distribution = texture2DDistribution( shadow, uv );\n\n        float hard_shadow = step( compare , distribution.x ); // Hard Shadow\n\n        if (hard_shadow != 1.0 ) {\n\n            float distance = compare - distribution.x ;\n            float variance = max( 0.00000, distribution.y * distribution.y );\n            float softness_probability = variance / (variance + distance * distance ); // Chebeyshevs inequality\n            softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 ); // 0.3 reduces light bleed\n            occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\n        }\n        return occlusion;\n\n    }\n\n    float getShadow( int i, sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\n        float shadow = 1.0;\n\n        shadowCoord.xyz /= shadowCoord.w;\n        shadowCoord.z += shadowBias;\n\n        // if ( something && something ) breaks ATI OpenGL shader compiler\n        // if ( all( something, something ) ) using this instead\n\n        bvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n        bool inFrustum = all( inFrustumVec );\n\n        bvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\n        bool frustumTest = all( frustumTestVec );\n\n        if ( frustumTest ) {\n\n        #if defined( SHADOWMAP_TYPE_PCF )\n\n            vec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n            return vogelShadow(i, shadowMap, shadowCoord.xy, texelSize.x, shadowCoord.z, shadowRadius );\n\n        #elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\n            vec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n            float dx = texelSize.x;\n            float dy = texelSize.y;\n\n            vec2 uv = shadowCoord.xy;\n            vec2 f = fract( uv * shadowMapSize + 0.5 );\n            uv -= f * texelSize;\n\n            shadow = (\n                texture2DCompare( shadowMap, uv, shadowCoord.z ) +\n                texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n                texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n                texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n                mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),\n                     texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n                     f.x ) +\n                mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),\n                     texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n                     f.x ) +\n                mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),\n                     texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n                     f.y ) +\n                mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),\n                     texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n                     f.y ) +\n                mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),\n                          texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n                          f.x ),\n                     mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),\n                          texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n                          f.x ),\n                     f.y )\n            ) * ( 1.0 / 9.0 );\n\n        #elif defined( SHADOWMAP_TYPE_VSM )\n\n            shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\n        #else // no percentage-closer filtering:\n\n            shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\n        #endif\n\n        }\n\n        return shadow;\n\n    }\n\n    // cubeToUV() maps a 3D direction vector suitable for cube texture mapping to a 2D\n    // vector suitable for 2D texture mapping. This code uses the following layout for the\n    // 2D texture:\n    //\n    // xzXZ\n    //  y Y\n    //\n    // Y - Positive y direction\n    // y - Negative y direction\n    // X - Positive x direction\n    // x - Negative x direction\n    // Z - Positive z direction\n    // z - Negative z direction\n    //\n    // Source and test bed:\n    // https://gist.github.com/tschw/da10c43c467ce8afd0c4\n\n    vec2 cubeToUV( vec3 v, float texelSizeY ) {\n\n        // Number of texels to avoid at the edge of each square\n\n        vec3 absV = abs( v );\n\n        // Intersect unit cube\n\n        float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n        absV *= scaleToCube;\n\n        // Apply scale to avoid seams\n\n        // two texels less per square (one texel will do for NEAREST)\n        v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\n        // Unwrap\n\n        // space: -1 ... 1 range for each square\n        //\n        // #X##         dim    := ( 4 , 2 )\n        //  # #         center := ( 1 , 1 )\n\n        vec2 planar = v.xy;\n\n        float almostATexel = 1.5 * texelSizeY;\n        float almostOne = 1.0 - almostATexel;\n\n        if ( absV.z >= almostOne ) {\n\n            if ( v.z > 0.0 )\n                planar.x = 4.0 - v.x;\n\n        } else if ( absV.x >= almostOne ) {\n\n            float signX = sign( v.x );\n            planar.x = v.z * signX + 2.0 * signX;\n\n        } else if ( absV.y >= almostOne ) {\n\n            float signY = sign( v.y );\n            planar.x = v.x + 2.0 * signY + 2.0;\n            planar.y = v.z * signY - 2.0;\n\n        }\n\n        // Transform to UV space\n\n        // scale := 0.5 / dim\n        // translate := ( center + 0.5 ) / dim\n        return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\n    }\n\n    float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\n        float shadow = 1.0;\n        vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\n        // for point lights, the uniform @vShadowCoord is re-purposed to hold\n        // the vector from the light to the world-space position of the fragment.\n        vec3 lightToPosition = shadowCoord.xyz;\n\n        // dp = normalized distance from light to fragment position\n        float compare = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); // need to clamp?\n        compare += shadowBias;\n\n        // bd3D = base direction 3D\n        vec3 bd3D = normalize( lightToPosition );\n\n        vec2 halton = haltonSequence[frameIndex];\n        float temporalOffset = getNoiseInterleavedGradient(gl_FragCoord.xy + halton);\n        float temporalAngle  = temporalOffset * PI2;\n\n        #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_VSM )\n            for (int i = 0; i < gShadowSamples; i++) {\n                vec2 vogelSample = vogelDiskSample(i, gShadowSamples, temporalAngle) * texelSize;\n\n                // Overall blurring offset\n                vec3 offset = vec3(vogelSample.x, vogelSample.y, -vogelSample.x) * (shadowRadius + 5.);\n\n                // NOTE: Removed for now\n                // Penumbra offset\n                //offset += vec3(vogelSample.x, vogelSample.y, vogelSample.y)  * (penumbra * gPenumbraFilterSize);\n\n                shadow += texture2DCompare( shadowMap, cubeToUV( bd3D + offset, texelSize.y ), compare );\n\n            }\n            return shadow * gShadowSamplesRpc;\n\n        #elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n            for (int i = 0; i < 16; i++) {\n                vec2 vogelSample = vogelDiskSample(i, gShadowSamples, temporalAngle) * texelSize;\n\n                // Overall blurring offset\n                vec3 offset = vec3(vogelSample.x, vogelSample.y, -vogelSample.x) * (shadowRadius + 5.);\n\n                shadow += texture2DCompare( shadowMap, cubeToUV( bd3D + offset, texelSize.y ), compare );\n\n            }\n            return shadow * (1.0 / 16.0);\n        #else // no percentage-closer filtering\n\n            return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), compare );\n\n        #endif\n\n    }\n\n#endif\n"))(t);let n=G3.slice();n=n.replace("getShadow( spotShadowMap[ i ]","getShadow( UNROLLED_LOOP_INDEX + ".concat(3,", spotShadowMap[ i ]")),n=n.replace("getShadow( directionalShadowMap[ i ]","getShadow( UNROLLED_LOOP_INDEX, directionalShadowMap[ i ]"),XO.lights_fragment_begin=n;let r=q3.slice();return r=r.replaceAll("getShadow(","getShadow( UNROLLED_LOOP_INDEX, "),XO.shadowmask_pars_fragment=r,!0}(e.softShadowQuality)&&this.forceMaterialsUpdate()}updateFog(e,t){if(e.enabled?this.fog=this.backupFog:this.fog=null,this.isActive){this.scene.fog=this.fog}this.fogUseBGColor=e.useBackgroundColor,e.useBackgroundColor?this.backupFog.color.set(this.bgColor):this.backupFog.color=B$(e.color,t),this.backupFog.near=e.near,this.backupFog.far=e.far}updateAo(e,t){void 0!==e.aoColor&&(this.aoColor=B$(e.aoColor,t))}updateByOp(e,t,n,r){let i=this.data.uiFrame;super.updateByOp(e,t,n,r);let a=t;Wz(e.path,["fog"])?this.updateFog(a.fog,n.shared):Wz(e.path,["ao"])?this.updateAo(a.ao,n.shared):Wz(e.path,["ambient"])?this.updateAmbientLight(a.ambient,n.shared):Wz(e.path,["shadow"])?this.updateShadow(a.shadow):0===e.type&&0===e.path.length&&(void 0!==e.props.uiFrame||i!==a.uiFrame)&&this.updateUIFrame(e.props.uiFrame,n)}updateUIFrame(e,t){e?(this.uiCanvas||this.createUICanvas(e,t),this.uiCanvas.enabled=!0,this.uiCanvas.applyFrame(e)):this.uiCanvas&&(this.uiCanvas.enabled=!1)}updateState(e,t){this.updateState_Entity(e,t),void 0!==e.backgroundColor&&this.setBackgroundColor(B$(e.backgroundColor,t.shared)),void 0!==e.fog&&this.updateFog(e.fog,t.shared),void 0!==e.ambient&&this.updateAmbientLight(e.ambient,t.shared),void 0!==e.ao&&this.updateAo(e.ao,t.shared),void 0!==e.shadow&&this.updateShadow(e.shadow)}createFrame(e,t){}raycast(e,t){super.raycast(e,t)}switchActiveCamera(e){e&&e.isDescendantOf(this)&&(this.activeCamera!==this.personalCamera&&(this.activeCamera.objectHelper.visible=!0),this.activeCamera=e,e.objectHelper.visible=!1)}get playCamera(){var e,t;return null!==(e=null===(t=this.scene)||void 0===t?void 0:t.find(this.data.publish.playCamera))&&void 0!==e?e:this.personalCamera}switchToPlayCamera(){this.switchActiveCamera(this.playCamera)}get penumbraSizeArray(){return null===this.penumbraSizeArrayCache&&this.updatePenumbraSizeArray(),this.penumbraSizeArrayCache}updatePenumbraSizeArray(){this.penumbraSizeArrayCache=new Array(5).fill(.5);let e=0,t=0;this.traverseEntity((n=>{if(!n.visible)return!0;n instanceof Z3&&n.visible&&e<3&&(this.penumbraSizeArrayCache[e]=n.data.penumbraSize,e+=1),n instanceof _3&&n.visible&&e<2&&(this.penumbraSizeArrayCache[3+t]=n.data.penumbraSize,t+=1)}))}raycastWithClones(e){let t=[],n=r=>{for(let i of r.children){let r=i.cloner;EF.is(i)&&(i.visible||(null===r||void 0===r?void 0:r.object.data.visible))&&((L1(i)||F1(i)&&this.scene.enableHelpers&&i.objectHelper.visible)&&(e.intersectObject(i,!1,t),b5(i,e,t,!0)),n(i))}};return n(this),t}updateEntity2DByOp(e,t,n,r){var i;null===(i=this.uiCanvas)||void 0===i||i.updateEntity2DByOp(e,t,n,r)}},F6=class extends(N1(FV,N3)){constructor(e,t,n){super(),this.super_Entity(e,t),this.castShadow=!0,this.shadow.mapSize.width=1024,this.shadow.mapSize.height=1024,this.shadow.normalBias=1,this.layers.enable(3);let r=this.shadow.camera;r.fov=90,r.aspect=1,r.near=100,r.far=2500;let i=new qM(-r.far+this.position.x,-r.far+this.position.y,-r.far+this.position.z),a=new qM(r.far+this.position.x,r.far+this.position.y,r.far+this.position.z),s=new zM(i,a),o=new BR(s,new MM(16755200));o.visible=!1,this.gizmos.shadowmap=o,this.update()}update(){if(this.shadow&&(this.shadow.camera.updateProjectionMatrix(),this.gizmos))for(let e in this.gizmos){let t=this.gizmos[e];if(t instanceof BR){let e=this.shadow.camera,n=new qM(-e.far+this.position.x,-e.far+this.position.y,-e.far+this.position.z),r=new qM(e.far+this.position.x,e.far+this.position.y,e.far+this.position.z);t.box.set(n,r),t.updateMatrixWorld(!0)}}}updateMatrixWorld(e){super.updateMatrixWorld(e),this.objectHelper&&this.objectHelper.update()}updateState(e,t){this.updateState_Light(e,t),void 0!==e.distance&&(this.distance=e.distance),void 0!==e.decay&&(this.decay=e.decay),void 0!==e.shadowRadius&&(this.shadow.radius=e.shadowRadius),void 0!==e.shadowResolution&&(this.shadow.mapSize.set(e.shadowResolution,e.shadowResolution),this.shadow.map&&(this.shadow.map.dispose(),this.shadow.map=null))}},Z6=class extends I0{get forceComputeSize(){return!0}get shape(){return this.geometry.userData.shape}updateEntityBoxSize(e,t){let n=this.geometry.getAttribute("position");void 0!==n?pX(n,this.geometry.drawRange.start,this.geometry.drawRange.count<1/0?this.geometry.drawRange.count:n.count,e,t):super.updateEntityBoxSize(e,t)}},K6=class extends I0{constructor(e,t,n){super(e,t,n),this._shapeId=null,this._context=n}updateState(e,t){super.updateState(e,t),this.updateShape()}updateShape(){let e,t={...this.data.geometry.extrusion.shape};for(let i in t)"string"==typeof t[i]&&(t[i]=this._context.shared.getVariable(t[i],[this.uuid,"geometry","extrusion","shape",i]));if("Custom"===t.type){let r=t.shapeId;if(r!==this._shapeId&&this.detachShape(),r){var n;this._shapeId=r;let t=this._context.scene.find(r);null!==t&&void 0!==t&&t.data&&(t.attachedPaths.add(this),e=null===(n=t.geometry.userData)||void 0===n?void 0:n.shape),e||this._context.scene.addPendingCommand((()=>this.updateShape()))}}else{let n;switch(t.type){case"Rectangle":n=aQ;break;case"Ellipse":n=wK;break;case"Polygon":n=eQ;break;case"Star":n=oQ;break;default:throw new Error("Unknown shape type: ".concat(t.type))}e=n.create({parameters:t}).userData.shape}let r=this.geometry;e&&r.inputs&&(r.inputs.shapeData=e,r.build(),this.attachedSurfaceCloners.forEach((e=>e.update())))}detachShape(){var e;null!==this._shapeId&&(null===(e=this._context.scene.find(this._shapeId))||void 0===e||e.attachedPaths.delete(this))}createGeometryDelayed(e){this.geometryCreateDeleyed=e.shared,this.updateShape(),this.refreshAttachedPaths(e)}updateTransformState(e,t){return super.updateTransformState(e,t)}updateGeometryInteractions(e,t){super.updateGeometryInteractions(e,t),this.updateShape()}updateEntityBoxSize(e,t){let n=this.geometry.getAttribute("position");void 0!==n?pX(n,this.geometry.drawRange.start,this.geometry.drawRange.count<1/0?this.geometry.drawRange.count:n.count,e,t):super.updateEntityBoxSize(e,t)}},Q6=class extends(C1(SC,Z1)){constructor(e,t,n){super(),"Instance"===t.type&&"string"==typeof e&&(t=this.transformAssignData(t,n)),this.super_Entity(e,t),this.objectHelper.update()}get isComponentRoot(){return"Component"===this.data.type&&"string"==typeof this.identity}get isInstanceRoot(){return"Instance"===this.data.type&&"string"==typeof this.identity}transformAssignData(e,t){let n=IL.getComponentData({scene:t.scene.data,shared:t.shared.data},e.component);if(n){let t,r;for(let i of LN.rootOverrideProps)void 0===e[i]?(void 0===t&&(t={...e}),t[i]=n.data[i]):(void 0===r&&(r={}),r[i]=e[i],void 0===t&&(t={...e}),t[i]=cz.apply(n.data[i],e[i]));return this.overrideData=r,t}return{...BN.defaultData,...e,...SW(BN.defaultData,LN.rootOverrideProps)}}updateByOp(e,t,n,r){var i;let a;if(this.isInstanceRoot&&!r)if(t=this.transformAssignData(t,n),0===e.type&&0===e.path.length&&this.component)for(let s of LN.rootOverrideProps)s in e.props&&void 0===e.props[s]&&(void 0===a&&(a={...e,props:{...e.props}}),a.props[s]=this.component.data[s]);else if(0===e.type&&e.path.length>0&&LN.rootOverrideProps.includes(e.path[0])){let n=e.path[0];void 0===a&&(a={...e,path:[],props:{[n]:t[n]}})}super.updateByOp(null!==(i=a)&&void 0!==i?i:e,t,n,r)}updateState(e,t){this.updateState_Entity(e,t)}expandInstanceChildren(e){let t=this.data;if(void 0===this.component){var n;let r=null!==(n=e.scene.find(t.component))&&void 0!==n?n:null,i=!1;if(r!==this.oldComponent){if(this.oldComponent){let t=0;for(let n of this.children){if(!EF.is(n))break;e.scene.disposeAndUnregisterEntityRecursivelyIfNotReregistered(n),X6(n),t+=1}this.children.splice(0,t)}i=!0}if(r){let n={};$6(e,[this.uuid],t.overrides,this,r,r,0,i,n);for(let t of this.children)if(EF.is(t)){let r=t.data;"Empty"===r.type&&r.animations&&t.traverseEntity((t=>{if(t instanceof I0&&t.isSkinnedMesh){let r=t.dataPatched;if(r.bones&&r.boneInverses){let i=r.bones.map((t=>e.scene.find(n[t]))),a=r.boneInverses.map((e=>(new fP).fromArray(e))),s=new GC(i,a);t.bind(s,t.bindMatrix)}}else t.matrixAutoUpdate=!0}))}}this.oldComponent=this.component}}};function X6(e){if(e.component){let t=e.component.instances.indexOf(e);t>=0&&e.component.instances.splice(t,1);for(let n of e.children)EF.is(n)&&X6(n)}}function _6(e,t,n,r){return e.component===t&&hW(e.identity,r)?e.overrideData===n?2:1:0}function $6(e,t,n,r,i,a,s,o,l){if(s>50)return!1;if(r.component!==i){if(r.component){let e=r.component.instances.indexOf(r);e>=0&&r.component.instances.splice(e,1)}i.instances.find((e=>e===r))||i.instances.push(r),r.component=i}i instanceof Q6&&i.isInstanceRoot&&i.expandInstanceChildren(e);let c=0;for(let h of i.children)if(EF.is(h)){let i=[...t,..."string"==typeof h.identity?[h.identity]:h.identity],u=NN.resolve(n,i,1);null==u||u instanceof pz||(Object.setPrototypeOf(u,pz.prototype),console.error("wrong prototype"));let p,f=null;if(!o){var d;let t=r.children[c];if(f=EF.is(t)?t:null,null!==f){let e=_6(f,h,u,i);p=e>=1?f.stateSelection:void 0,2!==e&&(f=null)}if(null===f&&(f=null!==(d=e.scene.findInstance(i))&&void 0!==d?d:null,null!==f)){let t=_6(f,h,u,i);if(p=t>=1?f.stateSelection:void 0,2!==t)f=null;else{let t=f.parent.children.indexOf(f);f.parent.children.splice(t,1),r.children.splice(c,0,f),f.parent===r?t<=c&&console.error("not possible"):(f.parent=r,f.matrixWorldNeedsUpdate=!0,f.resetBBoxNeedsUpdate(),f.updateVisible(),e.pendingDeletes.delete(f))}}}if(null===f){let t=u?cz.apply(h.data,u):h.data;zU.is(t.type)&&(t={...t,type:"Empty"}),f=NF.createEntity(i,t,e),f.overrideData=u,r.add(f),r.children.splice(r.children.length-1,1),r.children.splice(c,0,f),f.updateState(f.data,e),p&&f.changeSelectedState(p,e),e.scene.registerInstanceAndSetUuid(f)}if(f.isBone){l[f.identity[f.identity.length-1]]=f.uuid}c+=1,$6(e,t,n,f,h,a,s+1,o,l)}if(!o){let t=c;for(;;){let t=r.children[c];if(!EF.is(t))break;e.pendingDeletes.add(t),c+=1}r.children.splice(t,c-t)}return!0}var e5=class extends(C1(VC,Z1)){constructor(e,t){super(),this.super_Entity(e,t),this.objectHelper.update(),this.matrixAutoUpdate=!0}updateState(e,t){this.updateState_Entity(e,t)}},t5=class extends I0{constructor(e,t,n){super(e,t,n),this.onBeforeRender=()=>{this.uiCanvas.render()},this.uiCanvas=new z6(e+"-canvas",t.geometry.width,t.geometry.height,n),this.uiCanvas.promise.then((()=>{this.applyFrame(this.dataPatched.geometry.frame,n.shared)}))}updateByPatchedOpGeometry(e,t,n){super.updateByPatchedOpGeometry(e,t,n),0===e.type&&(void 0!==e.props.frame&&this.applyFrame(e.props.frame,n.shared),(void 0!==e.props.width||void 0!==e.props.height)&&this.applySize(e.props,n.shared))}applySize(e,t){var n,r;let i=null!==(n=null===e||void 0===e?void 0:e.width)&&void 0!==n?n:this.dataPatched.geometry.width,a=null!==(r=null===e||void 0===e?void 0:e.height)&&void 0!==r?r:this.dataPatched.geometry.height;this.uiCanvas.applySize({width:i,height:a}),this.applyGeometryParametersFromFrame(t)}applyFrame(e,t){this.uiCanvas.applyFrame(e),this.applyGeometryParametersFromFrame(t),this.applyMaterialParametersFromFrame({shared:t})}applyGeometryParametersFromFrame(e){var t;let n=this.frame;n&&(Object.assign(this.data,{geometry:Object.assign(this.data.geometry,{cornerRadius:n.cornerRadius,cornerType:0})}),Object.assign(this.dataPatched,{geometry:Object.assign(this.dataPatched.geometry,{cornerRadius:n.cornerRadius,cornerType:0})}),null!==(t=this.localGeometry)&&void 0!==t&&t.dispose(),this.localGeometry=IQ(this.dataPatched.geometry,e,this.data.flatShading,this))}applyMaterialParametersFromFrame(e){let t=this.frame;if(t){let n=t.data.backgroundBlur;Object.assign(this.data.material.layers[0].data.texture,{image:this.uiCanvas.uuid}),Object.assign(this.data.material.layers[1].data,{roughness:n.radius,alpha:n.enabled?1:0}),Object.assign(this.dataPatched.material.layers[0].data.texture,{image:this.uiCanvas.uuid}),Object.assign(this.dataPatched.material.layers[1].data,{roughness:n.radius,alpha:n.enabled?1:0}),this.material.reset(this.dataPatched.material,e,!0)}}updateEntity2DByOp(e,t,n,r){this.uiCanvas.updateEntity2DByOp(e,t,n,r),e===this.frameId&&0===t.type&&(void 0!==t.props.cornerRadius?this.applyGeometryParametersFromFrame(r):Wz(t.path,["backgroundBlur"])&&this.applyMaterialParametersFromFrame({shared:r}))}get frame(){return this.uiCanvas.frame}get frameId(){var e;return null===(e=this.frame)||void 0===e?void 0:e.uuid}removeInteractionGeometry(e){super.removeInteractionGeometry(e),this.applySize({},e)}updateGeometryInteractions(e,t){super.updateGeometryInteractions(e,t),this.applySize({width:e.width,height:e.height},t)}},n5=class{constructor(e,t,n){this.variables=[],this.currentTextureIndex=0;let r=Bw,i=new TC,a=new DO;a.position.z=1;let s={passThruTexture:{value:null}},o=d("uniform sampler2D passThruTexture;\n\nvoid main() {\n\n\tvec2 uv = gl_FragCoord.xy / resolution.xy;\n\n\tgl_FragColor = texture2D( passThruTexture, uv );\n\n}\n",s),l=new PO(new QO(2,2),o);function c(n){n.defines.resolution="vec2( "+e.toFixed(1)+", "+t.toFixed(1)+" )"}function d(e,t){let n=new RO({uniforms:t=t||{},vertexShader:"void main()\t{\n\n\tgl_Position = vec4( position, 1.0 );\n\n}\n",fragmentShader:e});return c(n),n}i.add(l),this.setDataType=function(e){return r=e,this},this.addVariable=function(e,t,n){let r={name:e,initialValueTexture:n,material:this.createShaderMaterial(t),dependencies:null,renderTargets:[],wrapS:null,wrapT:null,minFilter:ww,magFilter:ww};return this.variables.push(r),r},this.setVariableDependencies=function(e,t){e.dependencies=t},this.init=function(){if(!1===n.capabilities.isWebGL2&&!1===n.extensions.has("OES_texture_float"))return"No OES_texture_float support for float textures.";if(0===n.capabilities.maxVertexTextures)return"No support for vertex shader textures.";for(let n=0;n<this.variables.length;n++){let r=this.variables[n];r.renderTargets[0]=this.createRenderTarget(e,t,r.wrapS,r.wrapT,r.minFilter,r.magFilter),r.renderTargets[1]=this.createRenderTarget(e,t,r.wrapS,r.wrapT,r.minFilter,r.magFilter),this.renderTexture(r.initialValueTexture,r.renderTargets[0]),this.renderTexture(r.initialValueTexture,r.renderTargets[1]);let i=r.material,a=i.uniforms;if(null!==r.dependencies)for(let e=0;e<r.dependencies.length;e++){let t=r.dependencies[e];if(t.name!==r.name){let e=!1;for(let n=0;n<this.variables.length;n++)if(t.name===this.variables[n].name){e=!0;break}if(!e)return"Variable dependency not found. Variable="+r.name+", dependency="+t.name}a[t.name]={value:null},i.fragmentShader="\nuniform sampler2D "+t.name+";\n"+i.fragmentShader}}return this.currentTextureIndex=0,null},this.compute=function(){let e=this.currentTextureIndex,t=0===this.currentTextureIndex?1:0;for(let n=0,r=this.variables.length;n<r;n++){let r=this.variables[n];if(null!==r.dependencies){let t=r.material.uniforms;for(let n=0,i=r.dependencies.length;n<i;n++){let i=r.dependencies[n];t[i.name].value=i.renderTargets[e].texture}}this.doRenderTarget(r.material,r.renderTargets[t])}this.currentTextureIndex=t},this.getCurrentRenderTarget=function(e){return e.renderTargets[this.currentTextureIndex]},this.getAlternateRenderTarget=function(e){return e.renderTargets[0===this.currentTextureIndex?1:0]},this.dispose=function(){l.geometry.dispose(),l.material.dispose();let e=this.variables;for(let t=0;t<e.length;t++){let n=e[t];n.initialValueTexture&&n.initialValueTexture.dispose();let r=n.renderTargets;for(let e=0;e<r.length;e++)r[e].dispose()}},this.addResolutionDefine=c,this.createShaderMaterial=d,this.createRenderTarget=function(n,i,a,s,o,l){return new RM(n=n||e,i=i||t,{wrapS:a=a||bw,wrapT:s=s||bw,minFilter:o=o||ww,magFilter:l=l||ww,format:Jw,type:r,depthBuffer:!1})},this.createTexture=function(){let n=new Float32Array(e*t*4),r=new RC(n,e,t,Jw,Bw);return r.needsUpdate=!0,r},this.renderTexture=function(e,t){s.passThruTexture.value=e,this.doRenderTarget(o,t),s.passThruTexture.value=null},this.doRenderTarget=function(e,t){let r=n.getRenderTarget(),s=n.xr.enabled,c=n.shadowMap.autoUpdate,d=n.outputEncoding,h=n.toneMapping;n.xr.enabled=!1,n.shadowMap.autoUpdate=!1,n.outputEncoding=Bj,n.toneMapping=dw,l.material=e,n.setRenderTarget(t),n.render(i,a),l.material=o,n.xr.enabled=s,n.shadowMap.autoUpdate=c,n.outputEncoding=d,n.toneMapping=h,n.setRenderTarget(r)}}},r5=new QP,i5=new qM,a5=class{constructor(e){let t=e.geometry;if(!t.isBufferGeometry||3!==t.attributes.position.itemSize)throw new Error("THREE.MeshSurfaceSampler: Requires BufferGeometry triangle mesh.");t.index&&(console.warn("THREE.MeshSurfaceSampler: Converting geometry to non-indexed BufferGeometry."),t=t.toNonIndexed()),this.geometry=t,this.randomFunction=Math.random,this.positionAttribute=this.geometry.getAttribute("position"),this.colorAttribute=this.geometry.getAttribute("color"),this.weightAttribute=null,this.distribution=null}setWeightAttribute(e){return this.weightAttribute=e?this.geometry.getAttribute(e):null,this}build(){let e=this.positionAttribute,t=this.weightAttribute,n=new Float32Array(e.count/3);for(let i=0;i<e.count;i+=3){let r=1;t&&(r=t.getX(i)+t.getX(i+1)+t.getX(i+2)),r5.a.fromBufferAttribute(e,i),r5.b.fromBufferAttribute(e,i+1),r5.c.fromBufferAttribute(e,i+2),r*=r5.getArea(),n[i/3]=r}this.distribution=new Float32Array(e.count/3);let r=0;for(let i=0;i<n.length;i++)r+=n[i],this.distribution[i]=r;return this}setRandomGenerator(e){return this.randomFunction=e,this}sample(e,t,n){let r=this.distribution[this.distribution.length-1],i=this.binarySearch(this.randomFunction()*r);return this.sampleFace(i,e,t,n)}binarySearch(e){let t=this.distribution,n=0,r=t.length-1,i=-1;for(;n<=r;){let a=Math.ceil((n+r)/2);if(0===a||t[a-1]<=e&&t[a]>e){i=a;break}e<t[a]?r=a-1:n=a+1}return i}sampleFace(e,t,n,r){let i=this.randomFunction(),a=this.randomFunction();return i+a>1&&(i=1-i,a=1-a),r5.a.fromBufferAttribute(this.positionAttribute,3*e),r5.b.fromBufferAttribute(this.positionAttribute,3*e+1),r5.c.fromBufferAttribute(this.positionAttribute,3*e+2),t.set(0,0,0).addScaledVector(r5.a,i).addScaledVector(r5.b,a).addScaledVector(r5.c,1-(i+a)),void 0!==n&&r5.getNormal(n),void 0!==r&&void 0!==this.colorAttribute&&(r5.a.fromBufferAttribute(this.colorAttribute,3*e),r5.b.fromBufferAttribute(this.colorAttribute,3*e+1),r5.c.fromBufferAttribute(this.colorAttribute,3*e+2),i5.set(0,0,0).addScaledVector(r5.a,i).addScaledVector(r5.b,a).addScaledVector(r5.c,1-(i+a)),r.r=i5.x,r.g=i5.y,r.b=i5.z),this}};function s5(e,t){let n=e,r=new Float32Array(4*t*t);for(let a=0;a<t*t;a++)r[4*a]=n[3*a],r[4*a+1]=n[3*a+1],r[4*a+2]=n[3*a+2],r[4*a+3]=0;let i=new RC(r,t,t,Jw,Bw);return i.needsUpdate=!0,i}var o5="\n// uniform sampler2D uCurrentPosition; // Pass in the variable from GPGPU\n// uniform sampler2D uCurrentVelocity; // Pass in the variable from GPGPU\n// uniform sampler2D uCurrentEmissionRate; // Pass in the variable from GPGPU\nuniform sampler2D uOriginalPosition;\nuniform sampler2D uDirections;     \nuniform vec3 uDirectionsAxis;\nuniform vec4 uWorldQuaternion;\nuniform vec3 uGravity;        \nuniform float uNoiseStrength;     // Variation of the noise\nuniform float uNoiseScale;        // Scale of the noise\nuniform float uNoiseSeed;         // Seed of the noise\nuniform float particleSize;\nuniform float uSpeed;     // update speed of the particles\nuniform float uRandomMassFactor;\n\n// COLLIDER\nuniform vec3 uColliderPos;                // Collider Position\nuniform vec3 uColliderSize;               // Collider Dimension\nuniform vec4 uColliderQuaternion;         // Collider Rotation\nuniform vec4 uColliderQuaternionInvert;   // Collider Rotation\nuniform float uBounce;                    // Bounce factor\nuniform float uForceDamping;\nuniform float uForceIntensity;\n\n\n\n\n    vec3 mod289(vec3 x) {\n      return x - floor(x * (1.0 / 289.0)) * 289.0;\n    }\n    \n    vec4 mod289(vec4 x) {\n    return x - floor(x * (1.0 / 289.0)) * 289.0;\n    }\n    \n    vec4 permute(vec4 x) {\n        return mod289(((x*34.0)+1.0)*x);\n    }\n    \n    vec4 taylorInvSqrt(vec4 r)\n    {\n    return 1.79284291400159 - 0.85373472095314 * r;\n    }\n    \n    vec3 fade(vec3 t) {\n  return t*t*t*(t*(t*6.0-15.0)+10.0);\n}\n\n    float snoise(vec3 v)\n    {\n    const vec2  C = vec2(1.0/6.0, 1.0/3.0) ;\n    const vec4  D = vec4(0.0, 0.5, 1.0, 2.0);\n    vec3 i  = floor(v + dot(v, C.yyy) );\n    vec3 x0 =   v - i + dot(i, C.xxx) ;\n    vec3 g = step(x0.yzx, x0.xyz);\n    vec3 l = 1.0 - g;\n    vec3 i1 = min( g.xyz, l.zxy );\n    vec3 i2 = max( g.xyz, l.zxy );\n    vec3 x1 = x0 - i1 + C.xxx;\n    vec3 x2 = x0 - i2 + C.yyy; // 2.0*C.x = 1/3 = C.y\n    vec3 x3 = x0 - D.yyy;      // -1.0+3.0*C.x = -0.5 = -D.y\n    \n    // Permutations\n    i = mod289(i);\n    vec4 p = permute( permute( permute(\n                i.z + vec4(0.0, i1.z, i2.z, 1.0 ))\n              + i.y + vec4(0.0, i1.y, i2.y, 1.0 ))\n              + i.x + vec4(0.0, i1.x, i2.x, 1.0 ));\n    \n    // Gradients: 7x7 points over a square, mapped onto an octahedron.\n    // The ring size 17*17 = 289 is close to a multiple of 49 (49*6 = 294)\n    float n_ = 0.142857142857; // 1.0/7.0\n    vec3  ns = n_ * D.wyz - D.xzx;\n    \n    vec4 j = p - 49.0 * floor(p * ns.z * ns.z);  //  mod(p,7*7)\n    \n    vec4 x_ = floor(j * ns.z);\n    vec4 y_ = floor(j - 7.0 * x_ );    // mod(j,N)\n    \n    vec4 x = x_ *ns.x + ns.yyyy;\n    vec4 y = y_ *ns.x + ns.yyyy;\n    vec4 h = 1.0 - abs(x) - abs(y);\n    \n    vec4 b0 = vec4( x.xy, y.xy );\n    vec4 b1 = vec4( x.zw, y.zw );\n    \n    vec4 s0 = floor(b0)*2.0 + 1.0;\n    vec4 s1 = floor(b1)*2.0 + 1.0;\n    vec4 sh = -step(h, vec4(0.0));\n    \n    vec4 a0 = b0.xzyw + s0.xzyw*sh.xxyy ;\n    vec4 a1 = b1.xzyw + s1.xzyw*sh.zzww ;\n    \n    vec3 p0 = vec3(a0.xy,h.x);\n    vec3 p1 = vec3(a0.zw,h.y);\n    vec3 p2 = vec3(a1.xy,h.z);\n    vec3 p3 = vec3(a1.zw,h.w);\n    \n    //Normalise gradients\n    vec4 norm = taylorInvSqrt(vec4(dot(p0,p0), dot(p1,p1), dot(p2, p2), dot(p3,p3)));\n    p0 *= norm.x;\n    p1 *= norm.y;\n    p2 *= norm.z;\n    p3 *= norm.w;\n    \n    // Mix final noise value\n    vec4 m = max(0.6 - vec4(dot(x0,x0), dot(x1,x1), dot(x2,x2), dot(x3,x3)), 0.0);\n    m = m * m;\n    return 42.0 * dot( m*m, vec4( dot(p0,x0), dot(p1,x1),\n                                  dot(p2,x2), dot(p3,x3) ) );\n    }\n    \n    vec3 snoiseVec3( vec3 x ){\n    \n      float s  = snoise(vec3( x ));\n      float s1 = snoise(vec3( x.y - 19.1 , x.z + 33.4 , x.x + 47.2 ));\n      float s2 = snoise(vec3( x.z + 74.2 , x.x - 124.5 , x.y + 99.4 ));\n      vec3 c = vec3( s , s1 , s2 );\n      return c;\n    \n    }\n    \n      \n    vec3 curlNoise( vec3 p, float seed){\n      p += seed;\n      const float e = .1;\n      vec3 dx = vec3( e   , 0.0 , 0.0 );\n      vec3 dy = vec3( 0.0 , e   , 0.0 );\n      vec3 dz = vec3( 0.0 , 0.0 , e   );\n    \n      vec3 p_x0 = snoiseVec3( p - dx );\n      vec3 p_x1 = snoiseVec3( p + dx );\n      vec3 p_y0 = snoiseVec3( p - dy );\n      vec3 p_y1 = snoiseVec3( p + dy );\n      vec3 p_z0 = snoiseVec3( p - dz );\n      vec3 p_z1 = snoiseVec3( p + dz );\n    \n      float x = p_y1.z - p_y0.z - p_z1.y + p_z0.y;\n      float y = p_z1.x - p_z0.x - p_x1.z + p_x0.z;\n      float z = p_x1.y - p_x0.y - p_y1.x + p_y0.x;\n    \n      const float divisor = 1.0 / ( 2.0 * e );\n      return normalize( vec3( x , y , z ) * divisor );\n    \n    }\n\n\n// Classic Perlin noise\nfloat cnoise(vec3 P)\n{\n  vec3 Pi0 = floor(P); // Integer part for indexing\n  vec3 Pi1 = Pi0 + vec3(1.0); // Integer part + 1\n  Pi0 = mod289(Pi0);\n  Pi1 = mod289(Pi1);\n  vec3 Pf0 = fract(P); // Fractional part for interpolation\n  vec3 Pf1 = Pf0 - vec3(1.0); // Fractional part - 1.0\n  vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x);\n  vec4 iy = vec4(Pi0.yy, Pi1.yy);\n  vec4 iz0 = Pi0.zzzz;\n  vec4 iz1 = Pi1.zzzz;\n\n  vec4 ixy = permute(permute(ix) + iy);\n  vec4 ixy0 = permute(ixy + iz0);\n  vec4 ixy1 = permute(ixy + iz1);\n\n  vec4 gx0 = ixy0 * (1.0 / 7.0);\n  vec4 gy0 = fract(floor(gx0) * (1.0 / 7.0)) - 0.5;\n  gx0 = fract(gx0);\n  vec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0);\n  vec4 sz0 = step(gz0, vec4(0.0));\n  gx0 -= sz0 * (step(0.0, gx0) - 0.5);\n  gy0 -= sz0 * (step(0.0, gy0) - 0.5);\n\n  vec4 gx1 = ixy1 * (1.0 / 7.0);\n  vec4 gy1 = fract(floor(gx1) * (1.0 / 7.0)) - 0.5;\n  gx1 = fract(gx1);\n  vec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1);\n  vec4 sz1 = step(gz1, vec4(0.0));\n  gx1 -= sz1 * (step(0.0, gx1) - 0.5);\n  gy1 -= sz1 * (step(0.0, gy1) - 0.5);\n\n  vec3 g000 = vec3(gx0.x,gy0.x,gz0.x);\n  vec3 g100 = vec3(gx0.y,gy0.y,gz0.y);\n  vec3 g010 = vec3(gx0.z,gy0.z,gz0.z);\n  vec3 g110 = vec3(gx0.w,gy0.w,gz0.w);\n  vec3 g001 = vec3(gx1.x,gy1.x,gz1.x);\n  vec3 g101 = vec3(gx1.y,gy1.y,gz1.y);\n  vec3 g011 = vec3(gx1.z,gy1.z,gz1.z);\n  vec3 g111 = vec3(gx1.w,gy1.w,gz1.w);\n\n  vec4 norm0 = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110)));\n  g000 *= norm0.x;\n  g010 *= norm0.y;\n  g100 *= norm0.z;\n  g110 *= norm0.w;\n  vec4 norm1 = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111)));\n  g001 *= norm1.x;\n  g011 *= norm1.y;\n  g101 *= norm1.z;\n  g111 *= norm1.w;\n\n  float n000 = dot(g000, Pf0);\n  float n100 = dot(g100, vec3(Pf1.x, Pf0.yz));\n  float n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z));\n  float n110 = dot(g110, vec3(Pf1.xy, Pf0.z));\n  float n001 = dot(g001, vec3(Pf0.xy, Pf1.z));\n  float n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z));\n  float n011 = dot(g011, vec3(Pf0.x, Pf1.yz));\n  float n111 = dot(g111, Pf1);\n\n  vec3 fade_xyz = fade(Pf0);\n  vec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z);\n  vec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y);\n  float n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x); \n  return 2.2 * n_xyz;\n}\n\n\nvec3 fbm_vec3(vec3 p, float frequency, float offset)\n{\n  return vec3(\n    cnoise((p+vec3(offset))*frequency),\n    cnoise((p+vec3(offset+20.0))*frequency),\n    cnoise((p+vec3(offset-30.0))*frequency)\n  );\n}\n\n"+"\nfloat rand(vec2 co){\n    return fract(sin(dot(co, vec2(12.9898, 78.233))) * 43758.5453);\n}\nvec3 applyQuaternionToVector( vec4 q, vec3 v ){\n    return v + 2.0 * cross( q.xyz, cross( q.xyz, v ) + q.w * v );\n } \nvec3 applyForce(vec3 force, float mass) {\n  vec3 acceleration = force / mass;\n  \n  return acceleration;\n}\n\nvec4 conjugate(vec4 q) {\n  return vec4(q.w, -q.x, -q.y, -q.z);\n}\n\n// Function to compute the normal of the ellipsoid at a given point\nvec3 ellipsoidNormal(vec3 p, vec3 radii) {\n  return normalize(p / (radii * radii));\n}\n\nfloat friction = .3;\n\nvoid main() {\n    vec2 vUv = gl_FragCoord.xy / resolution.xy;\n    vec3 position = texture2D( uCurrentPosition, vUv ).xyz;\n    vec3 originalPosition = texture2D( uOriginalPosition, vUv ).xyz;\n    float timeLeft = texture2D( uCurrentPosition, vUv ).w;\n    vec3 directions = texture2D( uDirections, vUv ).xyz;    \n    vec3 velocity = texture2D( uCurrentVelocity, vUv ).xyz;\n    float mass = rand(originalPosition.xy) * 0.5 + 0.5;\n    float isSpawning = texture2D( uCurrentEmissionRate, vUv ).x;        // 1. = spawning, 0. = not spawning\n    float isActive = texture2D( uCurrentEmissionRate, vUv ).y;          // 1. = active, 0. = not active\n    float collisionFlag =texture2D( uCurrentVelocity, vUv ).w;          // Indicate collision\n\n    // Randomness Mass\n    mass = (1.0 - (uRandomMassFactor * mass));\n    \n    if (isActive == 1.0) {\n      // **************************************************************\n      // FORCES NOISES\n      // **************************************************************\n      #ifdef USE_CURL_NOISE\n        if (uNoiseScale > 0.0 ) {\n          velocity = curlNoise(position * uNoiseScale * .002, uNoiseSeed) * ( uNoiseStrength + 1.0) * .05 * uSpeed;\n        }\n        // Variation of the noise Over Time\n        if (uNoiseStrength > 0.0 && uNoiseScale == 0.0 ) {\n          velocity += curlNoise( position, uNoiseSeed)  * uNoiseStrength * 0.05 * uSpeed;\n        }\n      #endif\n      // **************************************************************\n      #ifdef USE_SIMPLEX_NOISE\n        if (uNoiseScale > 0.0 ) {\n          velocity = vec3(snoise(position * uNoiseScale * .001) * ( uNoiseStrength + 1.0) * .1);\n          velocity *= uSpeed;\n        }\n        // Variation of the noise Over Time\n        if (uNoiseStrength > 0.0 && uNoiseScale == 0.0) {\n          velocity += vec3(snoise(position * uNoiseStrength * .001) * .05 * uSpeed);\n        }\n      #endif\n      // ************************************************************** \n      #ifdef USE_FBM_NOISE\n        if (uNoiseScale > 0.0 ) {\n          float offset = 0.0;\n          velocity = fbm_vec3(position * uNoiseScale * .001, ( uNoiseStrength + 1.0), offset);\n          velocity *= uSpeed;\n        }\n        // Variation of the noise Over Time\n        if (uNoiseStrength > 0.0 && uNoiseScale == 0.0 ) {      \n          float offset = 0.0;\n          velocity += fbm_vec3(position * uNoiseStrength * .001, ( uNoiseStrength + 1.0), uNoiseSeed) * .1 * uSpeed;\n        }\n      #endif\n\n      // COLLIDER\n      ".concat("\n  #ifdef USE_COLLIDER\n    float restitution = max(uBounce * 2., .01); // Energy Loss\n    // SPHERE COLLIDER\n    // **************************************************************\n    #ifdef USE_SPHERE_COLLIDER       \n      // Convert collider size to radii (assuming uColliderSize is the diameter in each axis)\n      vec3 radii = uColliderSize;\n      // Adjust position relative to collider\n      vec3 relPos = position - uColliderPos;\n      // Apply rotation of the collider to the relative position\n      relPos = applyQuaternionToVector(uColliderQuaternionInvert, relPos);            \n      // Scale relative position by radii (for ellipsoid collision detection)\n      vec3 scaledPos = relPos / radii;\n      // Calculate ellipsoidal distance\n      float dist = length(scaledPos); // Distance in terms of ellipsoid\n      \n      // Check for collision\n      if (dist <= 1. + particleSize / length(radii) && collisionFlag == 0.0) {\n          // Compute the normal at the collision point, accounting for particle size\n        vec3 adjustedPos = scaledPos * (1.0 + particleSize / length(radii));          \n        // Compute the normal at the collision point\n        vec3 normal = ellipsoidNormal(adjustedPos, radii);\n        // Rotate the normal back to world space\n        normal = applyQuaternionToVector(uColliderQuaternion, normal);\n        // Reflect the velocity vector off the normal\n        velocity = reflect(velocity, normal) * restitution;\n\n        collisionFlag = 1.0;\n      } else {\n        collisionFlag = 0.0;\n      }\n    #endif\n\n    // BOX COLLIDER or PLANE COLLIDER \n    // **************************************************************\n    #ifdef USE_BOX_COLLIDER\n      // Box dimensions and repulsion variables\n      vec3 boxHalfSize = uColliderSize / 2.0;\n      // Convert world position to box's local space\n      vec3 localPos = applyQuaternionToVector(uColliderQuaternionInvert, position - uColliderPos);      \n      // Collision detection\n      vec3 localDistance = abs(localPos) - boxHalfSize;\n      float distToSurface = max(localDistance.x, max(localDistance.y, localDistance.z));    \n\n      // Collision Detected\n      if (distToSurface <= particleSize * 0.5 && collisionFlag == 0.0) {      \n        // Find the nearest face normal for bounce direction\n        vec3 normal;\n        if (localDistance.x > localDistance.y && localDistance.x > localDistance.z) {\n            normal = vec3(sign(localPos.x), 0.0, 0.0);\n        } else if (localDistance.y > localDistance.z) {\n            normal = vec3(0.0, sign(localPos.y), 0.0);\n        } else {\n            normal = vec3(0.0, 0.0, sign(localPos.z));\n        }            \n        // Rotate normal back to world space\n        normal = applyQuaternionToVector(uColliderQuaternion, normal);      \n        // Reflect velocity and apply repulsion force\n        velocity = reflect(velocity, normal) * restitution;\n        \n        collisionFlag = 1.0;\n      } else {\n        collisionFlag = 0.0;\n      }\n    #endif      \n  #endif      \n  // END COLLIDER    \n","\n      // ATTRACTION\n      ").concat("\n  #ifdef USE_ATTRACTOR\n\n      #ifdef USE_SPHERE_COLLIDER      \n        // Convert collider size to radii (assuming uColliderSize is the diameter in each axis)\n        vec3 radii = uColliderSize;\n        // Adjust position relative to collider\n        vec3 relPos = position - uColliderPos;\n        // Apply rotation of the collider to the relative position\n        relPos = applyQuaternionToVector(uColliderQuaternionInvert, relPos);            \n        // Scale relative position by radii (for ellipsoid collision detection)\n        vec3 scaledPos = relPos / radii;\n        // Calculate ellipsoidal distance\n        float distToSurface = length(scaledPos); // Distance in terms of ellipsoid\n        float insideCheck = 1.0;\n\n      #endif\n\n\n      #ifdef USE_BOX_COLLIDER\n        // Box dimensions\n        vec3 boxHalfSize = uColliderSize / 2.0;\n        // Convert world position to box's local space\n        vec3 localPos = applyQuaternionToVector(uColliderQuaternionInvert, position - uColliderPos);      \n        vec3 localDistance = abs(localPos) - boxHalfSize;\n        float distToSurface = max(localDistance.x, max(localDistance.y, localDistance.z));\n        float insideCheck = particleSize;\n      #endif      \n  \n      // Apply vortex force inside the Helper\n      #ifdef USE_FORCE_LOCAL_SPACE\n        if (distToSurface <= insideCheck ) {    \n            // Define parameters for the attractor field\n            #ifdef USE_SPHERE_COLLIDER      \n              float attractorStrength = (1.0 - distToSurface ) * uForceIntensity; // Adjust as needed\n            #endif\n\n            #ifdef USE_BOX_COLLIDER\n              float attractorStrength = max((1.0 - insideCheck / distToSurface), 0.) * uForceIntensity; // Adjust as needed\n              #endif\n\n            float attractorDamping = uForceDamping;  // Adjust as needed (higher values will attenuate velocity more)\n          \n            // Use the same radii calculation code as for the collider\n            vec3 attractorRadii = uColliderSize;\n            // Adjust position relative to attractor center\n            vec3 relPos = position - uColliderPos;\n            // Apply rotation of the collider to the relative position\n            relPos = applyQuaternionToVector(uColliderQuaternionInvert, relPos);            \n            // Scale relative position by radii (for ellipsoid attraction)\n            vec3 scaledPos = relPos / attractorRadii;\n\n            // Calculate ellipsoidal distance as attractor radius\n            float attractorRadius = length(scaledPos);\n            // Calculate the distance from the attractor center\n            vec3 relativePosition = position - uColliderPos;\n            // Calculate the force vector towards the attractor center\n            vec3 attractorForce = normalize(relativePosition) * attractorStrength;\n            // Apply the attractor force to the particle\n            velocity -= attractorForce;\n            // Attenuate the particle's velocity\n            velocity *= attractorDamping;\n        }\n      #else \n            // Calculate the distance from the attractor center\n            vec3 relativePosition = position - uColliderPos;\n            // Calculate the force vector towards the attractor center\n            vec3 attractorForce = normalize(relativePosition) * uForceIntensity;\n            // Apply the attractor force to the particle\n            velocity -= attractorForce;\n            // Attenuate the particle's velocity\n            velocity *= uForceDamping;\n      #endif    \n  #endif      \n","  \n      // VORTEX\n      ").concat("\n  #ifdef USE_VORTEX\n    // Box dimensions\n    vec3 boxHalfSize = uColliderSize / 2.0;\n    // Convert world position to box's local space\n    vec3 localPos = applyQuaternionToVector(uColliderQuaternionInvert, position - uColliderPos);      \n    vec3 localDistance = abs(localPos) - boxHalfSize;\n    float distToSurface = max(localDistance.x, max(localDistance.y, localDistance.z));\n\n    // Apply vortex force inside the box\n    if (distToSurface <= particleSize) {\n      float vortexStrength = uForceIntensity;\n      vec3 localTopCenter = vec3(0.0, 0., 0.0);\n\n      // Transform the local top center to the world space\n      vec3 vortexCenter = uColliderPos + applyQuaternionToVector(uColliderQuaternion, localTopCenter);\n      // Calculate the vector from particle to vortex center\n      vec3 vortexVector = vortexCenter - position;\n\n      // Calculate the rotation axis from the inverse of the collider's quaternion and the fixed up vector\n      // Note: important to add a tiny z component to the up vector to avoid instability\n      vec3 upVector = vec3(0.0, 1.0, 0.01);\n      vec3 rotationAxis = cross(upVector, applyQuaternionToVector(uColliderQuaternion, vortexVector));\n      rotationAxis = normalize(rotationAxis);\n\n      // Add rotational component to velocity\n      float rotationSpeed = length(vortexVector * vortexStrength * 3.0) ; \n\n      vec3 rotationVelocity = rotationAxis * rotationSpeed;\n      // velocity += rotationVelocity * 0.005 ;\n      velocity = rotationVelocity * 0.005 ;\n\n      // Calculate vortex force\n      // vec3 vortexForce = normalize(vortexVector) * uSpeed * .1 ;\n      // Apply the vortex force to the particle\n      vec3 originDirection = applyQuaternionToVector(uWorldQuaternion, directions);\n      velocity += applyForce( originDirection * uSpeed * (1. - uForceDamping) , mass * .5);\n    }\n  #endif      \n","\n    } \n    // End isActive\n\n    // SPAWN BIRTH \n    // **************************************************************\n    // if (isSpawning == 1.)\n    #ifdef USE_NORMALS\n      velocity = mix(velocity, applyQuaternionToVector(uWorldQuaternion, directions) * uSpeed, isSpawning);\n    #else\n      velocity = mix(velocity, applyQuaternionToVector(uWorldQuaternion, uDirectionsAxis) * uSpeed, isSpawning);    \n    #endif\n    \n    // if (collisionFlag == 0.0)\n    velocity += applyForce(uGravity, mass * .5) * (1.0 - collisionFlag);\n\n    gl_FragColor = vec4(velocity, collisionFlag);\n}\n"),l5="\n\n  // Linear Fade In\n  float linearFadeIn(float t) {\n    return t;\n  }\n\n\n  // linear fade out\n  float linearFadeOut(float t) {\n    return 1.0 - t;\n  }\n  \n  float linearInOut(float t) {\n    return t < 0.5 ? t :  (1.0 - t);  \n  }\n\n    // lerp\n    float lerp(float a, float b, float t) {\n      return a + (b - a) * t;\n    }\n\n  // Ease In Out Quart\n  float exponentialInOut(float t) {\n    return t < 0.4 ? lerp(0.0, 1.0, t / 0.4) :\n    t > 0.6 ? lerp(1.0, 0.0, (t - 0.6) / 0.4) :\n    1.0;\n   }\n\n  // constant\n  float constant(float t) {\n    return 1.0;\n  } \n",c5="\n  uniform sampler2D uPosition;\n  uniform float uSize;\n  uniform float uSizeEnd;\n  uniform vec3 uWorldOffset;\n  uniform vec4 uWorldQuaternion;\n  // Billboard Behavior - Currently at Zero, but we can change that\n  uniform float uRotation;\n  uniform float uRotationEnd;\n  uniform vec2 center;\n\n  // Randomness\n  uniform float uRandScaleFactor;\n  uniform float uRandRotationFactor;\n\n  attribute vec2 ref;\n\n  varying float v_LifeLeft;    // normalized lifetime 1 to 0\n  varying vec2 vUv;\n  varying vec2 vRef;\n\n  ".concat("\n\nfloat rand(vec3 co){\n  return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453);\n}\n\nvec3 applyQuaternionToVector( vec4 q, vec3 v ){\n  return v + 2.0 * cross( q.xyz, cross( q.xyz, v ) + q.w * v );\n}\n\nvec3 applyForce(vec3 force, float mass) {\n  vec3 acceleration = force / mass;\n    \n  return acceleration;\n}\n","\n  ").concat(l5,"\n"),d5="\n  uniform vec4 uColor;                // start color\n  uniform vec4 uColor2;               // end color\n  uniform sampler2D uTexture;         // texture\n  varying float v_LifeLeft;   // normalized lifetime 1 to 0\n  varying vec2 vUv;\n  varying vec2 vRef;\n\n  float random(vec2 co) {\n    return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n  }\n  "+l5+"  \n  ".concat("\nvec3 rgb2xyz (in vec3 rgb) {\n    float r = rgb.r;\n\tfloat g = rgb.g;\n\tfloat b = rgb.b;\n\n\tr = r > 0.04045 ? pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tfloat x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tfloat y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tfloat z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n    \n    vec3 xyz = vec3(\n        (r * 0.4124) + (g * 0.3576) + (b * 0.1805) * 100.0,\n        (r * 0.2126) + (g * 0.7152) + (b * 0.0722) * 100.0,\n        (r * 0.0193) + (g * 0.1192) + (b * 0.9505) * 100.0\n    );\n    return(xyz);\n}\n\nvec3 xyz2lab (in vec3 xyz) {\n\tfloat x = xyz.x / 95.047;\n\tfloat y = xyz.y / 100.0;\n\tfloat z = xyz.z / 108.883;\n\n\tx = x > 0.008856 ? pow(x, 1.0 / 3.0) : (7.787 * x) + (16.0 / 116.0);\n\ty = y > 0.008856 ? pow(y, 1.0 / 3.0) : (7.787 * y) + (16.0 / 116.0);\n\tz = z > 0.008856 ? pow(z, 1.0 / 3.0) : (7.787 * z) + (16.0 / 116.0);\n\n    vec3 lab = vec3((116.0 * y) - 16.0, 500.0 * (x - y), 200.0 * (y - z));\n    return(lab);\n}\n\nvec3 rgb2lab(in vec3 rgb) {\n    vec3 xyz = rgb2xyz(rgb);\n    vec3 lab = xyz2lab(xyz);\n    return(lab);\n}\n\nvec3 xyz2rgb (in vec3 xyz) {\n\tfloat x = xyz.x / 100.0;\n\tfloat y = xyz.y / 100.0;\n\tfloat z = xyz.z / 100.0;\n\t\n    \n\tfloat r = (x *  3.2406) + (y * -1.5372) + (z * -0.4986);\n\tfloat g = (x * -0.9689) + (y *  1.8758) + (z *  0.0415);\n\tfloat b = (x *  0.0557) + (y * -0.2040) + (z *  1.0570);\n\n\tr = r > 0.0031308 ? ((1.055 * pow(r, 1.0 / 2.4)) - 0.055) : r * 12.92;\n\tg = g > 0.0031308 ? ((1.055 * pow(g, 1.0 / 2.4)) - 0.055) : g * 12.92;\n\tb = b > 0.0031308 ? ((1.055 * pow(b, 1.0 / 2.4)) - 0.055) : b * 12.92;\n\n\tr = min(max(0.0, r), 1.0);\n\tg = min(max(0.0, g), 1.0);\n\tb = min(max(0.0, b), 1.0);\n\n\treturn(vec3(r, g, b));\n}\n\nvec3 lab2xyz (in vec3 lab) {\n    float l = lab.x;\n\tfloat a = lab.y;\n\tfloat b = lab.z;\n\n  \tfloat y = (l + 16.0) / 116.0;\n\tfloat x = a / 500.0 + y;\n\tfloat z = y - b / 200.0;\n\n\tfloat y2 = pow(y, 3.0);\n\tfloat x2 = pow(x, 3.0);\n\tfloat z2 = pow(z, 3.0);\n\n  \ty = y2 > 0.008856 ? y2 : (y - 16.0 / 116.0) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16.0 / 116.0) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16.0 / 116.0) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100.0;\n\tz *= 108.883;\n\n\treturn(vec3(x, y, z));\n}\nvec3 lab2rgb (in vec3 lab) {\n    vec3 xyz = lab2xyz(lab);\n    vec3 rgb = xyz2rgb(xyz);\n    return(rgb);\n}\n\n","\n\n"),h5=class extends RO{constructor(e,t){super(),this.needsJitter=!0,this.type="ParticleMaterial",this.easeOpacity="linearFadeIn",this.easeSize="linearFadeIn",this.useSizeEnd=!1,this.isColoringRandom=!1,this.init(e,t),this.context=t}reset(){}init(e,t){this.transparent=!0,this.depthTest=!0,this.depthWrite=!1,this.easeOpacity=e.ease,this.easeSize=e.easeSize,this.layers=[],this.lightLayer=new Q$(0,"",{...uN.defaultData("light","phong"),visible:!1},new $_,{},t.shared),this.build()}updateState(e){void 0!==e.coloring&&(this.isColoringRandom="random"===e.coloring),void 0!==e.color&&(e.color instanceof Array?this.uniforms.uColor.value=e.color:this.uniforms.uColor.value=this.context.shared.color(e.color)),void 0!==e.color2&&(e.color2 instanceof Array?this.uniforms.uColor2.value=e.color2:this.uniforms.uColor2.value=this.context.shared.color(e.color2)),void 0!==e.size&&(this.uniforms.uSize.value=e.size[0],this.uniforms.uSizeEnd.value=e.size[1],e.size[0]!==e.size[1]?this.useSizeEnd=!0:this.useSizeEnd=!1),void 0!==e.ease&&(this.easeOpacity=e.ease,this.build()),void 0!==e.easeSize&&(this.easeSize=e.easeSize,this.build()),this.needsUpdate=!0}onBeforeCompile(e){this.build(),e.defines=this.defines,e.uniforms=this.uniforms,e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader}build(){let e=new s_;return e.needsJitter=this.needsJitter,e.addFragmentParsCode("\nlayout(location = 1) out vec4 gVelocity;\n"),e.buildShader("vertex",this.fragment),e.buildShader("fragment",this.fragment),e.addFragmentFinalCode("\n    // Discard fully transparent pixels \n    if (gl_FragColor.a <= 0.0) discard;\n\n    gVelocity = vec4(0.0, 0.0, 0.0, 1.0);\n"),this.isColoringRandom&&e.define("USE_RANDOM_COLORING"),this.useSizeEnd&&e.define("USE_SIZE_END"),e.addVertexParsCode(c5),e.addFragmentParsCode(d5),e.addVertexFinalCode((e=>{let{easeSize:t="linearFadeOut"}=e;return"\n  vUv = uv;  \n  vRef = ref;\n  // Normalized LifeTime 1 to 0\n  float lifeLeft = texture2D(uPosition, ref).w;\n  v_LifeLeft = lifeLeft;\n  // Position From DataTexture Simulation\n  vec3 pos = texture2D(uPosition, ref).rgb - uWorldOffset;\n  // Apply World Quaternion\n  pos = applyQuaternionToVector(uWorldQuaternion, pos);  \n            \n  #ifdef  USE_SIZE_END\n    // Scaled Over Time\n    float t = 1. - lifeLeft;\n    float currentSize = mix(uSize, uSizeEnd, t); // Linearly interpolate between uSize and uSizeEnd\n    vec3 scaledPosition = position * vec3(currentSize);\n  #else\n    // Change Size Behavior over LifeTime\n    float easeSize = ".concat(t,"(1. - lifeLeft);\n    // Scaled Over Time\n    vec3 scaledPosition = position * vec3(uSize * easeSize);\n  #endif\n\n  // Billboard Behavior\n  vec2 scale;\n  scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n  scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );    \n  // Randomness \n  float randRef = rand(ref);\n  scale *= (1.0 - (uRandScaleFactor * randRef));\n  // Rotation\n  float randRotation =  2.0 * PI * ( uRandRotationFactor * randRef);\n  float originalRotation = (1.0 - uRotation) * 2.0 * PI;\n  float originalRotationEnd = (1.0 - uRotationEnd) * 2.0 * PI;\n  // OverTime\n  float finalRotation = mix(originalRotation + randRotation, originalRotationEnd + randRotation, lifeLeft);\n\n  vec2 alignedPosition = ( scaledPosition.xy - ( center - vec2( 0.5 ) ) ) * scale;\n  vec2 rotatedPosition;\n  rotatedPosition.x = cos( finalRotation ) * alignedPosition.x - sin( finalRotation ) * alignedPosition.y;\n  rotatedPosition.y = sin( finalRotation ) * alignedPosition.x + cos( finalRotation ) * alignedPosition.y;\n  \n  mat4 instanceMatrix = mat4(\n    vec4(1.0, 0.0, 0.0, 0.0),\n    vec4(0.0, 1.0, 0.0, 0.0),\n    vec4(0.0, 0.0, 1.0, 0.0),\n    vec4(pos.x, pos.y, pos.z, 1.0)\n  );  \n\n  mvPosition = modelViewMatrix * instanceMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n  mvPosition.xy += rotatedPosition;\n  gl_Position = projectionMatrix  * mvPosition;   \n")})({easeSize:this.easeSize})),e.addFragmentFinalCode((e=>{let{easeOpacity:t="linearFadeOut"}=e;return"  \n  // if Particle is dead, hide it\n  if (v_LifeLeft <= 0.005 ) {\n    discard;\n  }\n\n  #ifdef USE_RANDOM_COLORING\n    float randVal = random(vRef); // Generate a random value based on the reference\n    vec4 color = mix(uColor, uColor2, randVal); // Interpolate between the two colors\n  #else\n    vec4 color = mix(uColor, uColor2, 1. - v_LifeLeft);\n  #endif\n\n  // Opacity over Life Time\n  float finalAlpha = ".concat(t,"(1. - v_LifeLeft);  \n  vec4 textureColor = texture2D(uTexture, vUv).rgba; \n  finalColor = textureColor.rgb * color.rgb;\n  finalAlpha = color.a * textureColor.a * finalAlpha;\n  \n  gl_FragColor = vec4(finalColor, finalAlpha);     \n\n")})({easeOpacity:this.easeOpacity})),this.vertexShader=e.getCode("vertex"),this.fragmentShader=e.getCode("fragment"),this.defines=e.defines,this.uniforms={...e.uniforms,...this.uniforms},this.extensions=e.extensions,this}get nodeMaterial(){return this}get fragment(){return this.lightLayer.node}getDefines(){return this.defines}nodeMaterialDispose(){this.layers.forEach((e=>e.dispose())),super.dispose()}},u5=class{constructor(e,t,n,r){var i;this.type="SphereEmitterShape",this.targetMesh=void 0,this.size=e,this.type=n,this.textureSize=function(e){let t=Math.ceil(Math.sqrt(e));return Math.max(t,1)}(t);this.targetMesh="Mesh"===(null===r||void 0===r?void 0:r.type)&&r?r:this.getMesh(n,1);let{positions:a,dataTexture:s,dataTextureNormals:o}=this.createPositions(this.textureSize,null!==(i=this.targetMesh)&&void 0!==i?i:this.getMesh(n,1));this.positionsTexture=s,this.positionsAttribute=a,this.directionsTexture=o}createPositions(e,t){let{positions:n,normals:r}=function(e,t){let n=new PO(e.geometry,e.material),r=[],i=[],a=new qM,s=new qM;null!==n.geometry.index&&(n.geometry=n.geometry.toNonIndexed());let o=new a5(n).build();for(let l=0;l<t;l++)o.sample(a,s),r.push(a.x,a.y,a.z),i.push(s.x,s.y,s.z);return{positions:new Float32Array(r),normals:new Float32Array(i)}}(t,e*e);return{dataTexture:s5(n,e),positions:n,dataTextureNormals:s5(r,e)}}getMesh(e,t){let n=null;switch(e){case"SphereEmitterShape":n=new rV(.5*t,32,32);break;case"TorusEmitterShape":n=new iV(.5*t,.3,15,40);break;case"ConeEmitterShape":n=new wE(t,t,15);break;case"BoxEmitterShape":n=new TO(t,t,t);break;case"PlaneEmitterShape":n=new QO(t,t),n.rotateX(-Math.PI/2);break;default:n=new rV(t,32,32)}return new PO(n,new $P({color:16711680}))}applyToShader(e,t){this.size=(new qM).fromArray(t.size),e.uEmitterSize.value=this.size}dispose(){this.positionsTexture.dispose(),this.directionsTexture.dispose(),this.positionsAttribute=new Float32Array}};function p5(e){let t={...e},n=XU.defaultData;t.forceFieldObjectId&&(t.colliderEntityId=t.forceFieldObjectId);let r={...n.shape,...t.shape},i={...n.renderMaterial,...t.renderMaterial};return{...n,...t,shape:r,renderMaterial:i}}var f5=class extends HP{constructor(e,t){var n,r,i,a;super(),this.type="ParticleEmitter",this.debugMode=!1,this.worldSpace=!0,this.rootObject=null,this.gpuCompute=null,this.positionSimRT=null,this.velocitySimRT=null,this.emissionRateSimRT=null,this.emitterShape=void 0,this.isEmitting=!1,this.hasBeenReset=!1,this.emittedParticlesAmount=0,this.lastEmitTime=0,this.globalTime=0,this.targetFPS=60,this.previousRatio=1,this.lerpFactor=.4,this.particlesAmount=0,this.noiseStrength=0,this.noiseScale=0,this.isBillboardBased=!0,this.simFeaturesDefinition={USE_COLLIDER:!1,USE_ATTRACTOR:!1,USE_VORTEX:!1,USE_SPHERE_COLLIDER:!1,USE_BOX_COLLIDER:!1,USE_FORCE_LOCAL_SPACE:!1,USE_NORMALS:!1,USE_CURL_NOISE:!0,USE_SIMPLEX_NOISE:!1,USE_FBM_NOISE:!1},this.textureLoader=new RV,this.currentWorldPosition=new qM,this.systemQuaternion=new GM,this.worldGravity=new qM(0,0,0),this.directionAxis=new qM(0,0,0),this.colliderV3=new qM(0,0,0),this.colliderQuaternion=new GM(0,0,0,1),this.matrixAutoUpdate=!0,this.renderer=e,this.system=t,this.shared=t.context.shared;let s=t.data;this.material=new h5(s.renderMaterial,t.context),this.material.uniforms={uSize:{value:0},uSizeEnd:{value:0},uColor:{value:s.renderMaterial.color},uColor2:{value:s.renderMaterial.color2},uPosition:{value:new qM(0,0,0)},uEmissionData:{value:new qM(0,0,0)},uTexture:{value:this.defaultTexture},uWorldOffset:{value:new qM(0,0,0)},uWorldQuaternion:{value:new VM(0,0,0,1)},uRandScaleFactor:{value:null!==(n=s.randomScale)&&void 0!==n?n:0},uRandRotationFactor:{value:null!==(r=s.randomRotation)&&void 0!==r?r:0},uRotation:{value:null!==(i=s.renderMaterial.spriteRotation[0])&&void 0!==i?i:0},uRotationEnd:{value:null!==(a=s.renderMaterial.spriteRotation[1])&&void 0!==a?a:0}},this.setTexture(this.material.uniforms,s.renderMaterial.texture),this.init(s)}setTexture(e,t){let n=t.data;if("string"==typeof t){let n=this.shared.image(t),r=new EM(n.img);return r.needsUpdate=!0,void(e.uTexture.value=r)}if("string"!=typeof n){let t=new Image;t.onload=()=>{let n=new EM(t);n.needsUpdate=!0,e.uTexture.value=n};let r=new Blob([n],{type:"image/*"}),i=URL.createObjectURL(r);t.src=i}}updateGeometryAttributes(e,t){var n;let r=function(e){let t=new Float32Array(e*e*2);for(let n=0;n<e;n++)for(let r=0;r<e;r++){let i=n*e+r;t[2*i+0]=n/(e-1),t[2*i+1]=r/(e-1)}return t}(t);null===(n=this.emitterShape)||void 0===n||!n.positionsAttribute||e.geometry.setAttribute("ref",new qC(r,2))}applyWorldSpace(){if(!this.system.started||!this.worldSpace||!this.positionSimRT||!this.velocitySimRT)return;let e=this.system;e.getWorldQuaternion(this.systemQuaternion),this.systemQuaternion.invert(),e.getWorldPosition(this.currentWorldPosition),this.material.uniforms.uWorldOffset.value=this.currentWorldPosition,this.material.uniforms.uWorldQuaternion.value.copy(this.systemQuaternion.normalize()),this.positionSimRT.material.uniforms.uWorldOffset.value=this.currentWorldPosition,this.systemQuaternion.invert(),this.positionSimRT.material.uniforms.uWorldQuaternion.value.copy(this.systemQuaternion.normalize()),this.velocitySimRT.material.uniforms.uWorldQuaternion.value.copy(this.systemQuaternion.normalize())}update(e,t){var n;if(!this.gpuCompute||!this.positionSimRT||!this.velocitySimRT||!this.emissionRateSimRT||this.hasBeenReset)return;if(this.checkIfAllParticlesAreDead()&&!this.hasBeenReset)return void this.reset();this.applyWorldSpace(),this.globalTime=e,this.positionSimRT.material.uniforms.uTime.value=e,this.emissionRateSimRT.material.uniforms.uTime.value=e;let r=1e3/t,i=this.targetFPS/r,a=this.previousRatio+(i-this.previousRatio)*this.lerpFactor;this.positionSimRT.material.uniforms.uFPSRatio.value=a,this.previousRatio=a;let s=this.isEmitting?this.GoEmitSomeParticles(e,this.system.data.birthRatePerSec):0;this.emissionRateSimRT.material.uniforms.uLastIndexEmitted.value=this.emittedParticlesAmount,this.emissionRateSimRT.material.uniforms.uParticlesToEmit.value=s,this.material.uniforms.uPosition.value=null===(n=this.gpuCompute.getCurrentRenderTarget(this.positionSimRT))||void 0===n?void 0:n.texture,this.system.colliderEntities.length>0&&this.renderColliders(),this.gpuCompute.compute()}renderColliders(){if(!this.velocitySimRT)return;let e=this.system.colliderEntities[0];if(!e)return;e.getWorldPosition(this.colliderV3),0===this.colliderV3.y&&(this.colliderV3.y=1e-4),this.velocitySimRT.material.uniforms.uColliderPos.value.copy(this.colliderV3);let t=e.data.size;this.colliderV3.fromArray(t),this.velocitySimRT.material.uniforms.uColliderSize.value.copy(this.simFeaturesDefinition.USE_SPHERE_COLLIDER?this.colliderV3.multiplyScalar(.5):this.colliderV3),e.getWorldQuaternion(this.colliderQuaternion),this.velocitySimRT.material.uniforms.uColliderQuaternion.value.copy(this.colliderQuaternion.normalize()),this.velocitySimRT.material.uniforms.uColliderQuaternionInvert.value.copy(this.colliderQuaternion.normalize().invert())}updateState(e){!this.velocitySimRT||!this.positionSimRT||(e.renderMaterial&&this.updateMaterialState(e.renderMaterial),this.updateParticleState(e))}updateVariableState(e,t){if(!this.velocitySimRT||!this.positionSimRT)return;"size"===t[2]&&this.material.updateState({size:[e,this.material.uniforms.uSizeEnd.value]}),"sizeEnd"===t[2]&&this.material.updateState({size:[this.material.uniforms.uSize.value,e]});let n=(e,t)=>{let n=[...this.system.data.shape.size];n[e]=t,this.updateParticleState({shape:{...this.system.data.shape,size:n}})};"shape_size_0"===t[2]&&n(0,e),"shape_size_1"===t[2]&&n(1,e),"shape_size_2"===t[2]&&n(2,e),"speed"===t[2]&&(this.velocitySimRT.material.uniforms.uSpeed.value=e/10),"gravity"===t[2]&&this.worldGravity.set(0,e/100,0),"noiseStrength"===t[2]&&(this.noiseStrength=e,this.velocitySimRT.material.uniforms.uNoiseStrength.value=this.noiseStrength),"noiseScale"===t[2]&&(this.noiseScale=e,this.velocitySimRT.material.uniforms.uNoiseScale.value=this.noiseScale),"direction_x"===t[2]&&(this.directionAxis=this.getDirectionAxis([Number(e),this.system.data.direction[1],this.system.data.direction[2]])),"direction_y"===t[2]&&(this.directionAxis=this.getDirectionAxis([this.system.data.direction[0],Number(e),this.system.data.direction[2]])),"direction_z"===t[2]&&(this.directionAxis=this.getDirectionAxis([this.system.data.direction[0],this.system.data.direction[1],Number(e)]))}updateMaterialState(e){this.material.updateState({...e,size:e.size?[Number(this.shared.getVariable(e.size[0],[this.uuid,"particles","size"])),Number(this.shared.getVariable(e.size[1],[this.uuid,"particles","sizeEnd"]))]:[0,0]}),e.texture&&(this.setTexture(this.material.uniforms,e.texture),this.material.needsUpdate=!0)}updateParticleState(e){if(this.positionSimRT&&this.velocitySimRT){var t,n;if(this.shouldReInitGPUCompute(e)&&this.init(p5(this.system.data)),void 0!==e.life&&(this.positionSimRT.material.uniforms.uMaxLifeTime.value=e.life),void 0!==e.speed&&(this.velocitySimRT.material.uniforms.uSpeed.value=Number(this.shared.getVariable(e.speed,[this.uuid,"particles","speed"]))/10),void 0!==e.collisionBounce&&(this.velocitySimRT.material.uniforms.uBounce.value=e.collisionBounce),void 0!==e.noiseStrength&&(this.noiseStrength=Number(this.shared.getVariable(e.noiseStrength,[this.uuid,"particles","noiseStrength"])),this.velocitySimRT.material.uniforms.uNoiseStrength.value=this.noiseStrength),void 0!==e.noiseScale&&(this.noiseScale=Number(this.shared.getVariable(e.noiseScale,[this.uuid,"particles","noiseScale"])),this.velocitySimRT.material.uniforms.uNoiseScale.value=this.noiseScale),void 0!==e.noiseSeed&&(this.velocitySimRT.material.uniforms.uNoiseSeed.value=e.noiseSeed),void 0!==e.randomMass&&(this.velocitySimRT.material.uniforms.uRandomMassFactor.value=e.randomMass),void 0!==(null===(t=e.renderMaterial)||void 0===t?void 0:t.size)){let t=this.shared.getVariable(e.renderMaterial.size[0],[this.uuid,"particles","size"]);this.velocitySimRT.material.uniforms.particleSize.value=Number(t)}if(void 0!==(null===(n=e.renderMaterial)||void 0===n?void 0:n.spriteRotation)&&(this.material.uniforms.uRotation.value=e.renderMaterial.spriteRotation[0],this.material.uniforms.uRotationEnd.value=e.renderMaterial.spriteRotation[1]),void 0!==e.shape){var r,i;let t=null!==(r=e.shape.size)&&void 0!==r?r:this.system.data.shape.size,n=[Number(this.shared.getVariable(t[0],[this.uuid,"particles","shape_size_0"])),Number(this.shared.getVariable(t[1],[this.uuid,"particles","shape_size_1"])),Number(this.shared.getVariable(t[2],[this.uuid,"particles","shape_size_2"]))],a={...p5(this.system.data).shape,size:n};null===(i=this.emitterShape)||void 0===i||i.applyToShader(this.positionSimRT.material.uniforms,a)}if(void 0!==e.gravity&&(this.worldGravity.set(0,Number(this.shared.getVariable(this.system.data.gravity,[this.uuid,"particles","gravity"]))/100,0),this.velocitySimRT.material.uniforms.uGravity={value:this.worldGravity}),void 0!==e.direction){let t=this.getDirectionFromVariable(e.direction);this.directionAxis=this.getDirectionAxis(t),this.velocitySimRT.material.uniforms.uDirectionsAxis.value=this.directionAxis}void 0!==e.randomRotation&&(this.material.uniforms.uRandRotationFactor.value=e.randomRotation),void 0!==e.randomScale&&(this.material.uniforms.uRandScaleFactor.value=e.randomScale)}}updateForceFieldParameters(e){!this.velocitySimRT||(void 0!==e.forceIntensity&&(this.velocitySimRT.material.uniforms.uForceIntensity.value=e.forceIntensity),void 0!==e.forceDambing&&(this.velocitySimRT.material.uniforms.uForceDamping.value=e.forceDambing))}getDirectionAxis(e){let t=[Number(e[0])*lM.DEG2RAD,Number(e[1])*lM.DEG2RAD,Number(e[2])*lM.DEG2RAD],n=new wP(t[0],t[1],t[2],"XYZ");return this.directionAxis.set(0,1,0).applyEuler(n).normalize(),this.velocitySimRT&&(this.velocitySimRT.material.uniforms.uDirectionsAxis.value=this.directionAxis),this.directionAxis}shouldReInitGPUCompute(e){let{birthRatePerSec:t,rootObjectType:n,colliderEntityId:r,shape:i,emitTimeDuration:a,emitTimeCycle:s,life:o,directionMode:l,noiseType:c}=e;return void 0!==t||void 0!==n||r||null===r||void 0!==s||void 0!==i||void 0!==o||void 0!==a||void 0!==l||void 0!==c}init(e){this.dispose(),this.particlesAmount=this.getMaxParticlesAmount({birthRatePerSecond:e.birthRatePerSec,particleMaxLifeTime:e.life,loopDuration:"infinity"===e.emitTimeCycle?0:e.emitTimeDuration}),this.particlesAmount>1e5&&(console.warn("The maximum number of particles is limited to ".concat(1e5,".")),this.particlesAmount=1e5),this.emitterShape=this.createShape(e.shape,this.particlesAmount);let t=setInterval((()=>{if(this.emitterShape){if(isNaN(this.emitterShape.positionsTexture.source.data.data[0]))return void this.init(e);clearInterval(t)}}),100);if(!this.emitterShape)return;let n=new n5(this.emitterShape.textureSize,this.emitterShape.textureSize,this.renderer),r=this.updateSimulationDefinition(e),i=n.addVariable("uCurrentPosition",r+"\n// uniform sampler2D uCurrentPosition; // Pass in the variable from GPGPU\n// uniform sampler2D uCurrentVelocity; // Pass in the variable from GPGPU\n// uniform sampler2D uCurrentEmissionRate; // Pass in the variable from GPGPU\nuniform sampler2D uOriginalPosition;\nuniform float uTime;\nuniform float uSpeed;     // update speed of the particles\nuniform vec3 uWorldOffset;    \nuniform vec4 uWorldQuaternion;\nuniform float uMaxLifeTime;\nuniform vec3 uEmitterSize;\nuniform float uFPSRatio;     // 1  for 60 FPS\n\nfloat random (vec2 st) {\n    return fract(sin(dot(st.xy,\n        vec2(12.9898,78.233)))*\n        43758.5453123);\n}\nvec3 applyQuaternionToVector( vec4 q, vec3 v ){\n    return v + 2.0 * cross( q.xyz, cross( q.xyz, v ) + q.w * v );\n}\n\nvec3 applyForce(vec3 force, float mass) {\n    vec3 acceleration = force / mass;\n    \n    return acceleration;\n  }\n  \n\nvoid main() {\n    vec2 vUv = gl_FragCoord.xy / resolution.xy;\n    vec3 position = texture2D( uCurrentPosition, vUv ).xyz;\n    float currentLife = texture2D( uCurrentPosition, vUv ).w;   // from 1 to 0\n    float isSpawning = texture2D( uCurrentEmissionRate, vUv ).r;        // 1. = spawning, 0. = not spawning\n    float isActive = texture2D( uCurrentEmissionRate, vUv ).g;          // 1. = active, 0. = not active\n    float timeStart = texture2D( uCurrentEmissionRate, vUv ).b;         // timeStart in seconds when the particle was emitted\n    vec3 originalPosition = ((texture2D( uOriginalPosition, vUv ).xyz) * uEmitterSize);\n    vec3 velocity = texture2D( uCurrentVelocity, vUv ).xyz;\n    float collisionFlag = texture2D( uCurrentVelocity, vUv ).w;             // 1. = collided, 0. = not collided\n    float lifeTime = uMaxLifeTime;\n\n    // Calculate the position adjustment based on collision\n    //     if (collisionFlag > .5) {  \n    float isColliding = step(0.5, collisionFlag); // 1.0 if collisionFlag > 0.5, otherwise 0.0\n    float bounceOffset = 3.0 * isColliding; // Becomes 3.0 if colliding, 0.0 otherwise\n    vec3 collisionAdjustedVelocity = velocity * (1.0 + bounceOffset);\n\n    // Update position based on collision or normal movement\n    vec3 fpsVelocity = velocity * min(uFPSRatio, 5.0);\n    position += mix(fpsVelocity, collisionAdjustedVelocity, isColliding);\n\n    // EMISSION RATE - BIRTH\n    // if (isSpawning == 1.0) {\n    // Better Approach to avoid If statement\n    vec3 newPosition = applyQuaternionToVector(uWorldQuaternion, originalPosition) + uWorldOffset;\n    originalPosition = mix(originalPosition, newPosition, isSpawning);\n    position = mix(position, originalPosition, isSpawning);;\n    timeStart = mix(timeStart, uTime, isSpawning);\n\n    // Calculate timeLeft for life normalization\n    float timeLeft = max(lifeTime - (uTime - timeStart), 0.0);\n    float life_Normalize = timeLeft / lifeTime;\n\n    // Use isActive to blend between the calculated color and black\n    vec4 activeColor = vec4(position, life_Normalize);\n    // if (isActive == 1.0) {\n    gl_FragColor = mix(vec4(0.0), activeColor, isActive);\n\n}\n",this.emitterShape.positionsTexture),a=n.addVariable("uCurrentVelocity",r+o5,this.emitterShape.directionsTexture),s=n.addVariable("uCurrentEmissionRate","\n// uniform sampler2D uCurrentPosition; // Pass in the variable from GPGPU\n// uniform sampler2D uCurrentVelocity; // Pass in the variable from GPGPU\n// uniform sampler2D uCurrentEmissionRate; // Pass in the variable from GPGPU\n\nuniform sampler2D uIndex; // Texture with corresponding index\nuniform float uLastIndexEmitted; // Last emitted index\nuniform float uParticlesToEmit; // Number of particles to emit on that frame\nuniform float uTime;\n\nvoid main() {\n    vec2 vUv = gl_FragCoord.xy / resolution.xy;\n    float particleIndex = texture(uIndex, vUv).x;\n    float timeLeft = texture2D( uCurrentPosition, vUv ).w;\n    float isActive = texture2D( uCurrentEmissionRate, vUv ).g;    // 1. = active, 0. = not active\n    float timeStart = texture2D( uCurrentEmissionRate, vUv ).b;\n\n\n    // ********** Detect Colision to Create a flag and use it in position **********\n    // We are doing this here, so\n\n    // ********** Emit Particles **********\n    // X = isSpawning 0.0 or 1.0\n    // Y = isActive 0.0 or 1.0\n    // Check if the vertex index is between the first value and the last value\n    // if (particleIndex >= uLastIndexEmitted && particleIndex < uLastIndexEmitted + uParticlesToEmit) {\n    //     // Emit a particle by writing 1 to the red channel of the color output\n    //     // r: 1. == emit the particle\n    //     // g: 1. == particle is now active\n    //     timeStart = uTime;\n    //     gl_FragColor = vec4(1.0, 1.0, timeStart, 1.0);\n    // } else {\n    //     // The Particle is either already emitted or not in the range of the particles to emit\n    //     // Do not emit a particle by writing 0 to the red channel of the color output        \n    //     gl_FragColor = vec4(0.0, isActive, timeStart, 1.0);\n    // }\n    // Determine if the particle is within the emission range\n    float emitLowerBound = step(uLastIndexEmitted, particleIndex);\n    float emitUpperBound = step(particleIndex, uLastIndexEmitted + uParticlesToEmit - 1.0);\n    float emitParticle = emitLowerBound * emitUpperBound; // 1.0 if in range, 0.0 otherwise\n\n    // Set timeStart and color\n    timeStart = mix(timeStart, uTime, emitParticle);\n    gl_FragColor = vec4(emitParticle, mix(isActive, 1.0, emitParticle), timeStart, 1.0);\n\n\n}\n",function(e){let t=new Float32Array(4*e*e);for(let r=0;r<e*e;r++)t[4*r]=0,t[4*r+1]=0,t[4*r+2]=0,t[4*r+3]=0;let n=new RC(t,e,e,Jw,Bw);return n.needsUpdate=!0,n}(this.emitterShape.textureSize));n.setVariableDependencies(i,[i,a,s]),n.setVariableDependencies(a,[i,a,s]),n.setVariableDependencies(s,[i,a,s]);let o=function(e){let{size:t}=e,n=new Float32Array(4*t*t);for(let i=0;i<t*t;i++)n[4*i]=i,n[4*i+1]=0,n[4*i+2]=0,n[4*i+3]=0;let r=new RC(n,t,t,Jw,Bw);return r.needsUpdate=!0,r}({size:this.emitterShape.textureSize}),l={uOriginalPosition:{value:this.emitterShape.positionsTexture},uWorldOffset:{value:new qM(0,0,0)},uWorldQuaternion:{value:new VM(0,0,0,1)},uTime:{value:0},uFPSRatio:{value:1},uMaxLifeTime:{value:e.life},uEmitterSize:{value:new qM(Number(this.shared.getVariable(e.shape.size[0],[this.uuid,"particles","shape_size_0"])),Number(this.shared.getVariable(e.shape.size[1],[this.uuid,"particles","shape_size_1"])),Number(this.shared.getVariable(e.shape.size[2],[this.uuid,"particles","shape_size_2"])))},particleSize:{value:0}};i.material.uniforms=l;let c=this.getDirectionFromVariable(e.direction);this.directionAxis=this.getDirectionAxis(c),this.worldGravity.set(0,Number(this.shared.getVariable(this.system.data.gravity,[this.uuid,"particles","gravity"]))/100,0),this.noiseStrength=Number(this.shared.getVariable(e.noiseStrength,[this.uuid,"particles","noiseStrength"])),this.noiseScale=Number(this.shared.getVariable(e.noiseScale,[this.uuid,"particles","noiseScale"]));let d=e.colliderEntityId&&this.system.getColliderData(e.colliderEntityId),h={uOriginalPosition:{value:this.emitterShape.positionsTexture},uDirections:{value:this.emitterShape.directionsTexture},uDirectionsAxis:{value:this.directionAxis},uWorldQuaternion:{value:new VM(0,0,0,1)},uColliderPos:{value:new qM(0,0,0)},uColliderSize:{value:new qM(0,0,0)},uForceIntensity:{value:d?d.forceIntensity:0},uForceDamping:{value:d?d.forceDambing:0},uColliderQuaternion:{value:new VM(0,0,0,1)},uColliderQuaternionInvert:{value:new VM(0,0,0,1)},particleSize:{value:0},uGravity:{value:this.worldGravity},uNoiseStrength:{value:this.noiseStrength},uNoiseScale:{value:this.noiseScale},uNoiseSeed:{value:e.noiseSeed},uRandomMassFactor:{value:e.randomMass},uBounce:{value:e.collisionBounce},uSpeed:{value:Number(this.shared.getVariable(e.speed,[this.uuid,"particles","speed"]))/10}};a.material.uniforms=h;let u={uIndex:{value:o},uTime:{value:0},uLastIndexEmitted:{value:0},uParticlesToEmit:{value:0}};s.material.uniforms=u;let p=[Number(this.shared.getVariable(e.shape.size[0],[this.uuid,"particles","shape_size_0"])),Number(this.shared.getVariable(e.shape.size[1],[this.uuid,"particles","shape_size_1"])),Number(this.shared.getVariable(e.shape.size[2],[this.uuid,"particles","shape_size_2"]))],f={...p5(this.system.data).shape,size:p};this.emitterShape.applyToShader(i.material.uniforms,f),n.init(),this.gpuCompute=n,this.positionSimRT=i,this.velocitySimRT=a,this.emissionRateSimRT=s,this.rootObject=this.createPrimaryEmitter(this.emitterShape.textureSize),this.add(this.rootObject),this.material.needsUpdate=!0}getDirectionFromVariable(e){return[Number(this.shared.getVariable(e[0],[this.uuid,"particles","direction_x"])),Number(this.shared.getVariable(e[1],[this.uuid,"particles","direction_y"])),Number(this.shared.getVariable(e[2],[this.uuid,"particles","direction_z"]))]}updateSimulationDefinition(e){if(this.simFeaturesDefinition.USE_COLLIDER=!1,this.simFeaturesDefinition.USE_ATTRACTOR=!1,this.simFeaturesDefinition.USE_VORTEX=!1,this.simFeaturesDefinition.USE_SPHERE_COLLIDER=!1,this.simFeaturesDefinition.USE_BOX_COLLIDER=!1,this.simFeaturesDefinition.USE_FORCE_LOCAL_SPACE=!1,this.simFeaturesDefinition.USE_NORMALS=!1,this.simFeaturesDefinition.USE_CURL_NOISE=!1,this.simFeaturesDefinition.USE_SIMPLEX_NOISE=!1,this.simFeaturesDefinition.USE_FBM_NOISE=!1,e.colliderEntityId&&this.system.colliderEntities.length>0){let t=this.system.getColliderData(e.colliderEntityId);switch(null===t||void 0===t?void 0:t.forceType){case"attractor":this.simFeaturesDefinition.USE_ATTRACTOR=!0;break;case"collider":this.simFeaturesDefinition.USE_COLLIDER=!0;break;case"vortex":this.simFeaturesDefinition.USE_VORTEX=!0}let n=null===t||void 0===t?void 0:t.colliderType;"sphere"===n&&(this.simFeaturesDefinition.USE_SPHERE_COLLIDER=!0),"box"===n&&(this.simFeaturesDefinition.USE_BOX_COLLIDER=!0),"helper"===(null===t||void 0===t?void 0:t.forceRange)&&(this.simFeaturesDefinition.USE_FORCE_LOCAL_SPACE=!0)}"normals"===e.directionMode&&(this.simFeaturesDefinition.USE_NORMALS=!0),"curl"===e.noiseType&&(this.simFeaturesDefinition.USE_CURL_NOISE=!0),"simplex"===e.noiseType&&(this.simFeaturesDefinition.USE_SIMPLEX_NOISE=!0),"fbm"===e.noiseType&&(this.simFeaturesDefinition.USE_FBM_NOISE=!0);let t="";for(let[n,r]of Object.entries(this.simFeaturesDefinition))r&&(t+="#define ".concat(n,"\n"));return t}createShape(e,t){this.emitterShape&&this.emitterShape.dispose();let n=new qM(Number(this.shared.getVariable(e.size[0],[this.uuid,"particles","shape_size_0"])),Number(this.shared.getVariable(e.size[1],[this.uuid,"particles","shape_size_1"])),Number(this.shared.getVariable(e.size[2],[this.uuid,"particles","shape_size_2"])));if("MeshEmitterShape"===e.type){let r=null;return this.system.context.scene.traverseEntity((t=>{t.uuid===e.fromMeshId&&(r=t)})),r?new u5(n,t,e.type,r):new u5(n,t,"SphereEmitterShape")}return new u5(n,t,e.type)}createPrimaryEmitter(e){let t,n=e*e;return t=new NC(new QO(1,1,1),this.material,n),this.updateGeometryAttributes(t,e),this.material.needsUpdate=!0,t.onBeforeRender=()=>{this.applyWorldSpace()},t}getMaxParticlesAmount(e){let{birthRatePerSecond:t,particleMaxLifeTime:n,loopDuration:r=0}=e;return Math.ceil(t*(n+r))}dispose(){var e,t;!this.gpuCompute||(null!==(e=this.rootObject)&&void 0!==e&&null!==(e=e.parent)&&void 0!==e&&e.remove(this.rootObject),this.gpuCompute.dispose(),this.material.nodeMaterialDispose(),null===(t=this.emitterShape)||void 0===t||t.dispose())}GoEmitSomeParticles(e,t){let n=e-this.lastEmitTime,r=1/t;if(n>=r){let t=Math.max(1,Math.floor(n/r));return this.lastEmitTime=e,this.emittedParticlesAmount+t>this.particlesAmount&&(this.emittedParticlesAmount=0),this.emittedParticlesAmount+=t,t}return 0}checkIfAllParticlesAreDead(){return this.lastEmitTime+this.system.data.life+1<this.globalTime}reset(){this.hasBeenReset=!0,this.lastEmitTime=0,this.emittedParticlesAmount=0,this.gpuCompute&&this.init(p5(this.system.data))}startEmitting(e){this.isEmitting=!0,this.hasBeenReset=!1,this.lastEmitTime=e}stopEmitting(){this.isEmitting=!1}},m5=class extends gX{constructor(e,t,n){super(e,t),this.type="ParticleSystem",this.geometry=new pO,this.actualTime=0,this.currentLoopTime=0,this.started=!1,this.stopped=!1,this.isFrozen=!1,this.isIdle=!0,this.emitter=null,this.colliderEntities=[],this.renderer=null,this.isPreWarm=!1,this._hasOnAfterRenderBeenCalled=!1,this.onAfterRender=e=>{this._hasOnAfterRenderBeenCalled||(this._hasOnAfterRenderBeenCalled=!0,this.init(e))},this.context=n,this.data={...t,...p5(t)},this.geometry.setAttribute("position",new aO([],3)),this.material=new $P({colorWrite:!1}),this.frustumCulled=!1}init(e){this.renderer=e,this.emitter=new f5(e,this),this.add(this.emitter),this.updateParticleState(this.data)}update(e){if(!this.isReady||!this.started||this.isFrozen||this.isIdle)return;this.actualTime+=e,this.stopped||(this.currentLoopTime+=e);let t="one_time"===this.data.emitTimeCycle;if(("loop"===this.data.emitTimeCycle||t)&&this.currentLoopTime>1e3*this.data.emitTimeDuration&&(this.stopped||(this.stop(),t||this.start("start"===this.data.emitTimeLoopDelayStart?0:1e3*this.data.emitTimeDelay))),this.emitter&&this.started){let t=this.actualTime/1e3;this.emitter.update(t,e)}this.scale.set(1,1,1),this.updateMatrix()}isReady(){return!!this.emitter}hasCollider(e){return this.colliderEntities.some((t=>t.identity===e))}getColliderData(e){let t=this.colliderEntities.find((t=>t.identity===e));return t?t.data:null}updateByPatchedOp(e,t,n){super.updateByPatchedOp(e,t,n),Wz(e.path,["renderMaterial"])&&this.updateParticleState({renderMaterial:{...this.data.renderMaterial,...hz.drop(e,1).props}}),Wz(e.path,["shape"])&&this.updateParticleState({shape:{...this.data.shape,...hz.drop(e,1).props}})}updateState(e,t){super.updateState(e,t),this.updateParticleState(e)}updateParticleState(e){if(this.emitter){if(void 0!==e.colliderEntityId&&null!==e.colliderEntityId){let t=this.context.scene.find(e.colliderEntityId);this.colliderEntities=t?[t]:[]}null===e.colliderEntityId&&(this.colliderEntities=[]),this.emitter.updateState(e),e.emitTimeCycle&&this.started&&this.start()}}updateFromColliderEntity(e){!this.emitter||(this.emitter.updateForceFieldParameters(e),this.stop(),this.start())}start(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.currentLoopTime=0,t?setTimeout((()=>{this.start(0)}),t):(this.started=!0,this.stopped=!1,this.isFrozen=!1,null===(e=this.emitter)||void 0===e||e.startEmitting(this.actualTime/1e3))}froze(){this.isFrozen=!0}unFroze(){this.isFrozen=!1}stop(){var e;this.stopped=!0,this.currentLoopTime=0,null===(e=this.emitter)||void 0===e||e.stopEmitting()}reset(){var e;this.started=!1,this.stopped=!1,null===(e=this.emitter)||void 0===e||e.reset()}wakeUp(){this.isIdle=!1}sleep(){this.isIdle=!0,this.reset()}};function g5(e,t,n){return console.assert(void 0!==t.type),"Mesh"===t.type?function(e,t,n){let r;return"TextGeometry"===t.geometry.type?new s1(e,t,n):(r="SubdivGeometry"===t.geometry.type?new B0(e,t,n):"PathGeometry"===t.geometry.type?new K6(e,t,n):"VectorGeometry"===t.geometry.type?new Z6(e,t,n):"BooleanGeometry"===t.geometry.type?new U1(e,t,n):"UIGeometry"===t.geometry.type?new t5(e,t,n):new I0(e,t,n),r)}(e,t,n):"Empty"===t.type?new K1(e,t):"Particle"===t.type?new m5(e,t,n):"ParticleCollider"===t.type?new Q1(e,t,n):"Splat"===t.type?new K1(e,t):"Bone"===t.type?new e5(e,t):"Page"===t.type?new Y6(e,t,n):"PointLight"===t.type?new F6(e,t,n):"SpotLight"===t.type?new _3(e,t,n):"DirectionalLight"===t.type?new Z3(e,t,n):"Component"===t.type||"Instance"===t.type?new Q6(e,t,n):zU.is(t.type)?new q1(e,t):(console.error(t),new K1(e,t))}function y5(e,t){let n=!1,r=t.getLayersOfType("transmission"),i=t.getLayersOfType("outline");return i.length>0&&(e.layers.set(8),r.length>0&&e.layers.enable(3),n=!0,E0(e),C0(e)),0===r.length&&0===i.length&&e.layers.set(0),e instanceof w0&&e.needsAO&&e.layers.enable(5),n}function v5(e,t){if(!t.layers)return!1;let n=!1,r=t.getLayersOfType("transmission").filter((e=>e.data.visible)),i=t.getLayersOfType("outline").filter((e=>e.data.visible));return r.length>0&&(e.layers.set(3),i.length>0&&e.layers.enable(8),n=!0),0===r.length&&0===i.length&&e.layers.set(0),e.needsAO&&e.layers.enable(5),n}NF.createEntity=g5,NF.changeEntityProptotype=function(e,t,n){let r=g5(e.identity,t,n),i=e.children,a=e.attachedPaths,s=e.parent,o=e.component,l=e.instances,c=e.overrideData,d=e.uuid,h=e.stateSelection;e.dispose();for(let u of Object.keys(e))delete e[u];Object.setPrototypeOf(e,Object.getPrototypeOf(r));for(let u of Object.keys(r))e[u]=r[u];e.children=[...e.children,...i],e.attachedPaths=a,e.parent=s,e.component=o,e.instances=l,e.uuid=d,e.overrideData=c,e.updateState(e.data,n),h&&e.changeSelectedState(h,n),e.resetBBoxNeedsUpdate()},NF.Cloner=x1;var x5=new gR,S5=new fP,A5=new pP;function b5(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=e.cloner;if(i)for(let a of i.children){let i=S5.copy(a.matrixWorld).invert(),s=A5.copy(t.ray).applyMatrix4(i),o=e.matrixWorld;s.applyMatrix4(o);let l=x5;l.set(s.origin,s.direction),l.near=t.near,l.far=t.far;let c=l.intersectObject(e,!1);c.length>0&&n.push({...c[0],object:r?a:e})}}var k5=class{constructor(){this._constraints=new Map}setConstraint(e,t){null===t?this._constraints.delete(e):this._constraints.set(e,t)}removeDependencies(e){this._constraints.delete(e)}applyConstraints(e){let t=new Set;this._constraints.forEach(((n,r)=>{let i=[r,n],a=n;for(;this._constraints.has(a);)a=this._constraints.get(a),t.has(a)||i.push(a);for(let s=i.length-2;s>=0;s--)if(!t.has(i[s])){let n=e.find(i[s]);n?n.applyPathSnapping(e):console.warn("missing entity ".concat(i[s])),t.add(i[s])}}))}findDependency(e,t){let n=e;for(;this._constraints.has(n);)if(n=this._constraints.get(n),n===t)return!0;return!1}},w5=Xb(dk()),j5=Xb(mk()),M5=Xb(dk()),P5=Xb(mk()),O5=class{constructor(e,t,n){this._dataNormalized=e,this._minD=t,this._maxD=n}static createFromUnnormalized(e){let t=P5.sup(e),n=P5.inf(e),r=(0,M5.default)(new Float32Array(e.size),e.shape),i=t-n;return i<1e-4?P5.assigns(r,0):(P5.subs(r,e,n),P5.divs(r,r,i)),new O5(r,n,t)}get data(){return this._dataNormalized}get minD(){return this._minD}get maxD(){return this._maxD}denormalize(){let e=(0,M5.default)(new Float32Array(this._dataNormalized.size),this._dataNormalized.shape);return P5.muls(e,this._dataNormalized,this._maxD-this._minD),P5.adds(e,e,this._minD),e}},T5=class{constructor(e,t){this._quantized=e,this._method=t}get quantized(){return this._quantized}static maxIntBits(e){return 2**e-1}static fromNormalized(e,t){let n,r=e.data;if("norm8x"===t){let e=T5.maxIntBits(8),t=(0,M5.default)(new Float32Array(r.size),r.shape);P5.muls(t,r,e),P5.roundeq(t),n=(0,M5.default)(new Uint8Array(t.data),r.shape)}else if("norm565"===t){let e=(0,M5.default)(new Float32Array(r.size),r.shape);P5.assign(e,r),P5.mulseq(e.pick(null,0),T5.maxIntBits(5)),P5.mulseq(e.pick(null,1),T5.maxIntBits(6)),P5.mulseq(e.pick(null,2),T5.maxIntBits(5)),P5.roundeq(e);let t=(0,M5.default)(new Uint16Array(e.data),r.shape),i=(0,M5.default)(new Uint16Array(r.shape[0]),[r.shape[0]]),a=(0,M5.default)(new Uint16Array(r.shape[0]),[r.shape[0]]);P5.lshifts(i,t.pick(null,0),11),P5.lshifts(a,t.pick(null,1),5),P5.boreq(i,a),P5.boreq(i,t.pick(null,2)),n=i}else{let e=(0,M5.default)(new Float32Array(r.size),r.shape);P5.assign(e,r),P5.mulseq(e.pick(null,0),T5.maxIntBits(11)),P5.mulseq(e.pick(null,1),T5.maxIntBits(10)),P5.mulseq(e.pick(null,2),T5.maxIntBits(11)),P5.roundeq(e);let t=(0,M5.default)(new Uint32Array(e.data),r.shape),i=(0,M5.default)(new Uint32Array(r.shape[0]),[r.shape[0]]),a=(0,M5.default)(new Uint32Array(r.shape[0]),[r.shape[0]]);P5.lshifts(i,t.pick(null,0),21),P5.lshifts(a,t.pick(null,1),11),P5.boreq(i,a),P5.boreq(i,t.pick(null,2)),n=i}return new T5(n,t)}dequantize(e,t){let n,r=this._method,i=this._quantized;if("norm8x"===r){let e=T5.maxIntBits(8);n=(0,M5.default)(new Float32Array(i.size),i.shape),P5.muls(n,i,1/e)}else if("norm565"===r){let e=(0,M5.default)(new Uint8Array(i.shape[0]),[i.shape[0]]),t=(0,M5.default)(new Uint8Array(i.shape[0]),[i.shape[0]]),r=(0,M5.default)(new Uint8Array(i.shape[0]),[i.shape[0]]);P5.rrshifts(e,i,11),P5.rrshifts(t,i,5),P5.bandseq(t,T5.maxIntBits(6)),P5.bands(r,i,T5.maxIntBits(5)),n=(0,M5.default)(new Float32Array(3*i.shape[0]),[i.shape[0],3]),P5.muls(n.pick(null,0),e,1/T5.maxIntBits(5)),P5.muls(n.pick(null,1),t,1/T5.maxIntBits(6)),P5.muls(n.pick(null,2),r,1/T5.maxIntBits(5))}else{let e=(0,M5.default)(new Uint16Array(i.shape[0]),[i.shape[0]]),t=(0,M5.default)(new Uint16Array(i.shape[0]),[i.shape[0]]),r=(0,M5.default)(new Uint16Array(i.shape[0]),[i.shape[0]]);P5.rrshifts(e,i,21),P5.rrshifts(t,i,11),P5.bandseq(t,T5.maxIntBits(10)),P5.bands(r,i,T5.maxIntBits(11)),n=(0,M5.default)(new Float32Array(3*i.shape[0]),[i.shape[0],3]),P5.muls(n.pick(null,0),e,1/T5.maxIntBits(11)),P5.muls(n.pick(null,1),t,1/T5.maxIntBits(10)),P5.muls(n.pick(null,2),r,1/T5.maxIntBits(11))}return new O5(n,e,t)}},I5=class{constructor(e,t,n,r,i){let a=arguments.length>5&&void 0!==arguments[5]&&arguments[5];this._quantized=e,this._minMaxMatrix=t,this._chunkSize=n,this._quantizationMethod=r,this._variableChunkSize=i,this._isDynamicChunks=a}get length(){return this._quantized.shape[0]}get nchunks(){return this._minMaxMatrix.shape[0]}get quantized(){return this._quantized}get method(){return this._quantizationMethod}get minmaxMatrix(){return this._minMaxMatrix}_createPrunedMinMax(e){let t=e.length,n=this.minmaxMatrix.shape[0]-t,r=(0,w5.default)(new Float32Array(2*n),[n,2]),i=0,a=n,s=0,o=this.minmaxMatrix.shape[0];for(let l=0;l<e.length;l++)o=e[l],a=o-s+i,a>i&&j5.assign(r.hi(a,2).lo(i,0),this.minmaxMatrix.hi(o,2).lo(s,0)),i=a,s=o+1;return i<n&&j5.assign(r.lo(i,0),this.minmaxMatrix.lo(s,0)),r}_createPrunedQuantized(e){let t,n,r=e.length,i=this.quantized.shape[0]-r,a=this._quantizationMethod;if("norm8x"===a){n=this._quantized.shape[1];let e=n?i*n:i;t=(0,w5.default)(new Uint8Array(e),n?[i,n]:[i,1])}else t="norm565"===a?(0,w5.default)(new Uint16Array(i),[i]):(0,w5.default)(new Uint32Array(i),[i]);let s=0,o=i,l=0,c=t.shape[0];for(let d=0;d<e.length;d++)c=e[d],o=c-l+s,o>s&&(n?j5.assign(t.hi(o,n).lo(s,0),this._quantized.hi(c,n).lo(l,0)):j5.assign(t.hi(o).lo(s),this._quantized.hi(c).lo(l))),s=o,l=c+1;return s<i&&(n?j5.assign(t.lo(s,0),this._quantized.lo(l,0)):j5.assign(t.lo(s),this._quantized.lo(l))),t}pruneFeature(e,t,n){let r=this._createPrunedQuantized(e),i=this._createPrunedMinMax(t);return new I5(r,i,this._chunkSize,this._quantizationMethod,n,!0)}static getRequiredNChunks(e,t){return Math.floor(e/t)}static fromArray(e,t,n){let r,i=e.shape[0],a=Math.floor(i/n),s=(0,w5.default)(new Float32Array(2*a),[a,2],[2,1]);r="norm8x"===t?(0,w5.default)(new Uint8Array(e.size),e.shape):"norm565"===t?(0,w5.default)(new Uint16Array(e.shape[0]),[e.shape[0]]):(0,w5.default)(new Uint32Array(e.shape[0]),[e.shape[0]]);for(let o=0;o<a;o++){let l,c=o*n,d=o+1<a?(o+1)*n:i;l=e.shape.length>1?O5.createFromUnnormalized(e.hi(d,e.shape[1]).lo(c,0)):O5.createFromUnnormalized(e.hi(d).lo(c)),s.set(o,0,l.minD),s.set(o,1,l.maxD),r.shape.length>1?j5.assign(r.hi(d,r.shape[1]).lo(c,0),T5.fromNormalized(l,t).quantized):j5.assign(r.hi(d).lo(c),T5.fromNormalized(l,t).quantized)}return new I5(r,s,n,t)}denormDequant(){let e,t,n=this._minMaxMatrix.shape[0],r=this._quantized,i=r.shape[0],a=this._quantizationMethod,s=this._chunkSize;if(this._isDynamicChunks){if(!this._variableChunkSize)throw new Error("variable chunk must exists if chunkSize isDynamic");e=this._variableChunkSize}t="norm8x"===a?(0,w5.default)(new Float32Array(r.size),r.shape):(0,w5.default)(new Float32Array(3*i),[i,3]);let o=0,l=s;for(let c=0;c<n;c++){let[s,d]=[this._minMaxMatrix.get(c,0),this._minMaxMatrix.get(c,1)];this._isDynamicChunks&&(l=e[c]);let h,u=c+1<n?o+l:i;h=r.shape.length>1?new T5(r.hi(u,r.shape[1]).lo(o,0),a):new T5(r.hi(u).lo(o),a),j5.assign(t.hi(u,t.shape[1]).lo(o,0),h.dequantize(s,d).denormalize()),o=u}return t}static async fetchArrayBuffer(e){return await(await fetch(e,{mode:"cors"})).arrayBuffer()}},C5=Xb(dk()),E5=Xb(mk()),V5=Xb(dk()),R5=Xb(mk()),D5=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9];function B5(e){return e<1e5?e<100?e<10?0:1:e<1e4?e<1e3?2:3:4:e<1e7?e<1e6?5:6:e<1e9?e<1e8?7:8:9}function G5(e,t){if(e===t)return 0;if(~~e===e&&~~t===t){if(0===e||0===t)return e<t?-1:1;if(e<0||t<0){if(t>=0)return-1;if(e>=0)return 1;e=-e,t=-t}let n=B5(e),r=B5(t),i=0;return n<r?(e*=D5[r-n-1],t/=10,i=-1):n>r&&(t*=D5[n-r-1],e/=10,i=1),e===t?i:e<t?-1:1}let n=String(e),r=String(t);return n===r?0:n<r?-1:1}function q5(e,t,n,r){let i=t+1;if(i===n)return 1;if(r(e[i++],e[t])<0){for(;i<n&&r(e[i],e[i-1])<0;)i++;!function(e,t,n){for(n--;t<n;){let r=e[t];e[t++]=e[n],e[n--]=r}}(e,t,i)}else for(;i<n&&r(e[i],e[i-1])>=0;)i++;return i-t}function H5(e,t,n,r,i){for(r===t&&r++;r<n;r++){let n=e[r],a=t,s=r;for(;a<s;){let t=a+s>>>1;i(n,e[t])<0?s=t:a=t+1}let o=r-a;switch(o){case 3:e[a+3]=e[a+2];case 2:e[a+2]=e[a+1];case 1:e[a+1]=e[a];break;default:for(;o>0;)e[a+o]=e[a+o-1],o--}e[a]=n}}function W5(e,t,n,r,i,a){let s=0,o=0,l=1;if(a(e,t[n+i])>0){for(o=r-i;l<o&&a(e,t[n+i+l])>0;)s=l,l=1+(l<<1),l<=0&&(l=o);l>o&&(l=o),s+=i,l+=i}else{for(o=i+1;l<o&&a(e,t[n+i-l])<=0;)s=l,l=1+(l<<1),l<=0&&(l=o);l>o&&(l=o);let r=s;s=i-l,l=i-r}for(s++;s<l;){let r=s+(l-s>>>1);a(e,t[n+r])>0?s=r+1:l=r}return l}function z5(e,t,n,r,i,a){let s=0,o=0,l=1;if(a(e,t[n+i])<0){for(o=i+1;l<o&&a(e,t[n+i-l])<0;)s=l,l=1+(l<<1),l<=0&&(l=o);l>o&&(l=o);let r=s;s=i-l,l=i-r}else{for(o=r-i;l<o&&a(e,t[n+i+l])>=0;)s=l,l=1+(l<<1),l<=0&&(l=o);l>o&&(l=o),s+=i,l+=i}for(s++;s<l;){let r=s+(l-s>>>1);a(e,t[n+r])<0?l=r:s=r+1}return l}var J5=class{constructor(e,t){_b(this,"array",null),_b(this,"compare",null),_b(this,"minGallop",7),_b(this,"length",0),_b(this,"tmpStorageLength",256),_b(this,"stackLength",0),_b(this,"runStart",null),_b(this,"runLength",null),_b(this,"stackSize",0),this.array=e,this.compare=t,this.length=e.length,this.length<512&&(this.tmpStorageLength=this.length>>>1),this.tmp=new Array(this.tmpStorageLength),this.stackLength=this.length<120?5:this.length<1542?10:this.length<119151?19:40,this.runStart=new Array(this.stackLength),this.runLength=new Array(this.stackLength)}pushRun(e,t){this.runStart[this.stackSize]=e,this.runLength[this.stackSize]=t,this.stackSize+=1}mergeRuns(){for(;this.stackSize>1;){let e=this.stackSize-2;if(e>=1&&this.runLength[e-1]<=this.runLength[e]+this.runLength[e+1]||e>=2&&this.runLength[e-2]<=this.runLength[e]+this.runLength[e-1])this.runLength[e-1]<this.runLength[e+1]&&e--;else if(this.runLength[e]>this.runLength[e+1])break;this.mergeAt(e)}}forceMergeRuns(){for(;this.stackSize>1;){let e=this.stackSize-2;e>0&&this.runLength[e-1]<this.runLength[e+1]&&e--,this.mergeAt(e)}}mergeAt(e){let t=this.compare,n=this.array,r=this.runStart[e],i=this.runLength[e],a=this.runStart[e+1],s=this.runLength[e+1];this.runLength[e]=i+s,e===this.stackSize-3&&(this.runStart[e+1]=this.runStart[e+2],this.runLength[e+1]=this.runLength[e+2]),this.stackSize--;let o=z5(n[a],n,r,i,0,t);r+=o,i-=o,0!==i&&(s=W5(n[r+i-1],n,a,s,s-1,t),0!==s&&(i<=s?this.mergeLow(r,i,a,s):this.mergeHigh(r,i,a,s)))}mergeLow(e,t,n,r){let i=this.compare,a=this.array,s=this.tmp,o=0;for(o=0;o<t;o++)s[o]=a[e+o];let l=0,c=n,d=e;if(a[d++]=a[c++],0===--r){for(o=0;o<t;o++)a[d+o]=s[l+o];return}if(1===t){for(o=0;o<r;o++)a[d+o]=a[c+o];return void(a[d+r]=s[l])}let h=this.minGallop;for(;;){let e=0,n=0,u=!1;do{if(i(a[c],s[l])<0){if(a[d++]=a[c++],n++,e=0,0===--r){u=!0;break}}else if(a[d++]=s[l++],e++,n=0,1===--t){u=!0;break}}while((e|n)<h);if(u)break;do{if(e=z5(a[c],s,l,t,0,i),0!==e){for(o=0;o<e;o++)a[d+o]=s[l+o];if(d+=e,l+=e,(t-=e)<=1){u=!0;break}}if(a[d++]=a[c++],0===--r){u=!0;break}if(n=W5(s[l],a,c,r,0,i),0!==n){for(o=0;o<n;o++)a[d+o]=a[c+o];if(d+=n,c+=n,0===(r-=n)){u=!0;break}}if(a[d++]=s[l++],1===--t){u=!0;break}h--}while(e>=7||n>=7);if(u)break;h<0&&(h=0),h+=2}if(this.minGallop=h,h<1&&(this.minGallop=1),1===t){for(o=0;o<r;o++)a[d+o]=a[c+o];a[d+r]=s[l]}else{if(0===t)throw new Error("mergeLow preconditions were not respected");for(o=0;o<t;o++)a[d+o]=s[l+o]}}mergeHigh(e,t,n,r){let i=this.compare,a=this.array,s=this.tmp,o=0;for(o=0;o<r;o++)s[o]=a[n+o];let l=e+t-1,c=r-1,d=n+r-1,h=0,u=0;if(a[d--]=a[l--],0===--t){for(h=d-(r-1),o=0;o<r;o++)a[h+o]=s[o];return}if(1===r){for(d-=t,l-=t,u=d+1,h=l+1,o=t-1;o>=0;o--)a[u+o]=a[h+o];return void(a[d]=s[c])}let p=this.minGallop;for(;;){let n=0,f=0,m=!1;do{if(i(s[c],a[l])<0){if(a[d--]=a[l--],n++,f=0,0===--t){m=!0;break}}else if(a[d--]=s[c--],f++,n=0,1===--r){m=!0;break}}while((n|f)<p);if(m)break;do{if(n=t-z5(s[c],a,e,t,t-1,i),0!==n){for(d-=n,l-=n,t-=n,u=d+1,h=l+1,o=n-1;o>=0;o--)a[u+o]=a[h+o];if(0===t){m=!0;break}}if(a[d--]=s[c--],1===--r){m=!0;break}if(f=r-W5(a[l],s,0,r,r-1,i),0!==f){for(d-=f,c-=f,r-=f,u=d+1,h=c+1,o=0;o<f;o++)a[u+o]=s[h+o];if(r<=1){m=!0;break}}if(a[d--]=a[l--],0===--t){m=!0;break}p--}while(n>=7||f>=7);if(m)break;p<0&&(p=0),p+=2}if(this.minGallop=p,p<1&&(this.minGallop=1),1===r){for(d-=t,l-=t,u=d+1,h=l+1,o=t-1;o>=0;o--)a[u+o]=a[h+o];a[d]=s[c]}else{if(0===r)throw new Error("mergeHigh preconditions were not respected");for(h=d-(r-1),o=0;o<r;o++)a[h+o]=s[o]}}};function U5(e){let t=(0,V5.default)(new Int32Array(e.shape[0]),[e.shape[0]]),n=(0,V5.default)(new Int32Array(e.shape[0]),[e.shape[0]]);return R5.bands(t,e,1023),R5.lshifts(n,t,16),R5.bxoreq(t,n),R5.bandseq(t,4278190335),R5.lshifts(n,t,8),R5.bxoreq(t,n),R5.bandseq(t,50393103),R5.lshifts(n,t,4),R5.bxoreq(t,n),R5.bandseq(t,51130563),R5.lshifts(n,t,2),R5.bxoreq(t,n),R5.bandseq(t,153391689),t}function N5(e,t){if(e.shape[0]!==t.shape[0])throw new Error("wrong length");let n=(0,V5.default)(new Float32Array(e.size),e.shape,e.stride,e.offset);for(let r=0;r<t.shape[0];r++){let i=t.get(r);if(e.shape.length>1)for(let t=0;t<e.shape[1];t++)n.set(r,t,e.get(i,t));else n.set(r,e.get(i))}return n}function L5(e){let t=R5.sup(e),n=R5.inf(e),r=1e3/Math.min(1e3,t-n),i=(0,V5.default)(new Float32Array(e.data),e.shape);R5.mulseq(i,r);let a=function(e){let t=U5(e.pick(null,0)),n=U5(e.pick(null,1));R5.lshiftseq(n,1);let r=U5(e.pick(null,2));return R5.lshiftseq(r,2),R5.boreq(t,n),R5.boreq(t,r),t}((0,V5.default)(new Int32Array(i.data),e.shape)),s=Array.from(a.data).map(((e,t)=>[e,t]));!function(e,t,n,r){if(!Array.isArray(e))throw new TypeError("Can only sort arrays");t?"function"!=typeof t&&(r=n,n=t,t=G5):t=G5,n||(n=0),r||(r=e.length);let i=r-n;if(i<2)return;let a=0;if(i<32)return a=q5(e,n,r,t),void H5(e,n,r,n+a,t);let s=new J5(e,t),o=function(e){let t=0;for(;e>=32;)t|=1&e,e>>=1;return e+t}(i);do{if(a=q5(e,n,r,t),a<o){let r=i;r>o&&(r=o),H5(e,n,n+r,n+a,t),a=r}s.pushRun(n,a),s.mergeRuns(),i-=a,n+=a}while(0!==i);s.forceMergeRuns()}(s,((e,t)=>e[0]-t[0]));let o=s.map((e=>{let[t,n]=e;return n}));return(0,V5.default)(Uint32Array.from(o))}var Y5=class{constructor(e,t,n,r,i,a,s,o,l,c){this.propertyDescs=e,this.format=t,this.nsplats=n,this.xyz=r,this.colors=i,this.harmonics=a,this.opacity=s,this.scaling=o,this.rotation=l,this.maxSHDegree=c}getPlyBinary(){let e=Y5._generateHeaderString(this.propertyDescs,this.format,this.nsplats),t=(new TextEncoder).encode(e),n=Object.keys(this.propertyDescs).length,r=(0,C5.default)(new Float32Array(this.nsplats*n),[this.nsplats,n]);if(E5.assign(r.pick(null,this.propertyDescs.x.index),this.xyz.pick(null,0)),E5.assign(r.pick(null,this.propertyDescs.y.index),this.xyz.pick(null,1)),E5.assign(r.pick(null,this.propertyDescs.z.index),this.xyz.pick(null,2)),E5.assign(r.pick(null,this.propertyDescs.f_dc_0.index),this.colors.pick(null,0)),E5.assign(r.pick(null,this.propertyDescs.f_dc_1.index),this.colors.pick(null,1)),E5.assign(r.pick(null,this.propertyDescs.f_dc_2.index),this.colors.pick(null,2)),E5.assign(r.pick(null,this.propertyDescs.opacity.index),this.opacity.pick(null,0)),E5.assign(r.pick(null,this.propertyDescs.scale_0.index),this.scaling.pick(null,0)),E5.assign(r.pick(null,this.propertyDescs.scale_1.index),this.scaling.pick(null,1)),E5.assign(r.pick(null,this.propertyDescs.scale_2.index),this.scaling.pick(null,2)),E5.assign(r.pick(null,this.propertyDescs.rot_0.index),this.rotation.pick(null,0)),E5.assign(r.pick(null,this.propertyDescs.rot_1.index),this.rotation.pick(null,1)),E5.assign(r.pick(null,this.propertyDescs.rot_2.index),this.rotation.pick(null,2)),E5.assign(r.pick(null,this.propertyDescs.rot_3.index),this.rotation.pick(null,3)),this.harmonics&&this.harmonics.length>0)for(let s=0;s<this.harmonics.length;s++){let e=3*s;E5.assign(r.pick(null,this.propertyDescs["f_rest_".concat(e)].index),this.harmonics[s].pick(null,0)),E5.assign(r.pick(null,this.propertyDescs["f_rest_".concat(e+1)].index),this.harmonics[s].pick(null,1)),E5.assign(r.pick(null,this.propertyDescs["f_rest_".concat(e+2)].index),this.harmonics[s].pick(null,2))}let i=new Uint8Array(r.data.buffer),a=new Uint8Array(i.length+t.length);return a.set(t),a.set(i,t.length),a.buffer}save(e,t){let n=this.getPlyBinary(),r=new Blob([n],{type:"application/octet-stream"}),i=new File([r],e),a=new FormData;a.append("file",i),a.append("filename",e),a.append("basedir",t),fetch("".concat("http://127.0.0.1:8000","/push_file"),{method:"POST",body:a})}static async loadFile(e){return await(await fetch(e)).arrayBuffer()}mortonPositionSplatsSort(){let e=L5(this.xyz),t=N5(this.xyz,e),n=N5(this.colors,e),r=N5(this.opacity,e),i=N5(this.scaling,e),a=N5(this.rotation,e),s=[];for(let o=0;o<this.harmonics.length;o++)s.push(N5(this.harmonics[o],e));return new Y5(this.propertyDescs,this.format,this.nsplats,t,n,s,r,i,a,this.maxSHDegree)}static _generateHeaderString(e,t,n){let r="ply\nformat ".concat(t.format," ").concat(t.version,"\nelement vertex ").concat(n),i=Object.keys(e).length,a=Array(i);for(let s in e){let t=e[s];a[t.index]={name:s,dtype:t.dtype}}for(let s=0;s<a.length;s++)r="".concat(r,"\nproperty ").concat(a[s].dtype," ").concat(a[s].name);return"".concat(r,"\nend_header\n")}static fromArrayBuffer(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,{splatCount:n,vertexData:r,propertiesDesc:i,format:a}=Y5.decodeHeader(e),s=r.buffer.slice(r.byteOffset),o=Object.keys(i).length,l=(0,C5.default)(new Float32Array(s),[n,o]),c=0,d={},h={double:8,int:4,uint:4,float:4,short:2,ushort:2,uchar:1};for(let x in i)if(i.hasOwnProperty(x)){let e=i[x].dtype;d[x]=c,c+=h[e]}let u=(0,C5.default)(new Float32Array(3*n),[n,3]);E5.assign(u.pick(null,0),l.pick(null,d.x/4)),E5.assign(u.pick(null,1),l.pick(null,d.y/4)),E5.assign(u.pick(null,2),l.pick(null,d.z/4));let p=(0,C5.default)(new Float32Array(3*n),[n,3]);E5.assign(p.pick(null,0),l.pick(null,d.scale_0/4)),E5.assign(p.pick(null,1),l.pick(null,d.scale_1/4)),E5.assign(p.pick(null,2),l.pick(null,d.scale_2/4));let f=(0,C5.default)(new Float32Array(3*n),[n,3]);E5.assign(f.pick(null,0),l.pick(null,d.f_dc_0/4)),E5.assign(f.pick(null,1),l.pick(null,d.f_dc_1/4)),E5.assign(f.pick(null,2),l.pick(null,d.f_dc_2/4));let m=(0,C5.default)(new Float32Array(4*n),[n,4]);E5.assign(m.pick(null,0),l.pick(null,d.rot_1/4)),E5.assign(m.pick(null,1),l.pick(null,d.rot_2/4)),E5.assign(m.pick(null,2),l.pick(null,d.rot_3/4)),E5.assign(m.pick(null,3),l.pick(null,d.rot_0/4));for(let x=0;x<n;x++){let e=m.pick(x,null),t=Math.sqrt(e.get(0)**2+e.get(1)**2+e.get(2)**2+e.get(3)**2);E5.divseq(e,t)}let g=(0,C5.default)(new Float32Array(1*n),[n,1]);E5.assign(g.pick(null,0),l.pick(null,d.opacity/4));let y=(Math.min(Math.max(t,0),3)+1)**2-1,v=[];for(let x=0;x<y;x++){let e=(0,C5.default)(new Float32Array(3*n),[n,3]),t=3*x;E5.assign(e.pick(null,0),l.pick(null,d["f_rest_".concat(t)]/4)),E5.assign(e.pick(null,1),l.pick(null,d["f_rest_".concat(t+1)]/4)),E5.assign(e.pick(null,2),l.pick(null,d["f_rest_".concat(t+2)]/4)),v.push(e)}return new Y5(i,a,n,u,f,v,g,p,m,t)}static async fromPLYFile(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,n=await Y5.loadFile(e);return Y5.fromArrayBuffer(n,t)}static decodeHeader(e){let t=new TextDecoder,n=0,r="",i=100;for(;;){if(n+i>=e.byteLength)throw new Error("End of file reached while searching for end of header");let a=new Uint8Array(e,n,i);r+=t.decode(a),n+=i;let s=n-200,o=new Uint8Array(e,Math.max(0,s),s>0?200:i);if(t.decode(o).includes("end_header"))break}let a,s=r.split("\n"),o=0,l={},c={},d=0;for(let u=0;u<s.length;u++){let e=s[u].trim();if(e.startsWith("element vertex")){let t=e.match(/\d+/);t&&(o=parseInt(t[0]))}else if(e.startsWith("property")){let t=e.match(/(\w+)\s+(\w+)\s+(\w+)/);if(t){let e=t[2],n=t[3];l[n]=d,c[n]={dtype:e,index:d},d++}}else if(e.startsWith("format")){let t=e.match(/(\w+)\s+(\w+)\s+(\d+\.?\d*)/);t&&(a={format:t[2],version:t[3]})}else if("end_header"===e)break}let h=r.indexOf("end_header")+10+1;return{splatCount:o,vertexData:new DataView(e,h),headerOffset:n,propertiesDesc:c,format:a}}},F5=class{constructor(e,t,n,r,i,a,s,o){this.config=e,this.xyz=t,this.scaling=n,this.color=r,this.opacity=i,this.harmonics=s,this.quaternion=a,this.variableChunkSize=o}get isDynamicChunks(){return this.variableChunkSize&&this.variableChunkSize.length>0}get nchunks(){return this.xyz.nchunks}get nsplats(){return this.xyz.length}get chunkSize(){return this.config.chunkSize}static compressFromGaussianData(e,t){let n=I5.fromArray(e.xyz,t.xyz,t.chunkSize),r=I5.fromArray(e.scaling,t.scaling,t.chunkSize),i=I5.fromArray(e.colors,t.color,t.chunkSize),a=I5.fromArray(e.opacity,t.opacity,t.chunkSize),s=I5.fromArray(e.rotation,t.quaternion,t.chunkSize),o=e.harmonics,l=[];if(t.harmonics)for(let c=0;c<o.length;c++){let e=I5.fromArray(o[c],t.harmonics,t.chunkSize);l.push(e)}return new F5(t,n,r,i,a,s,l)}_countIndexesInChunks(e){let t=[],n=this.nchunks,r=this.chunkSize,i=this.nsplats;if(n===I5.getRequiredNChunks(i,r))for(let a=0;a<e.length;a++){let n=e[a],r=Math.floor(n/this.chunkSize);r in t?t[r].push(n):t[r]=[n]}else{let i=this.variableChunkSize,a={},s=0;for(let e=0;e<n;e++)a[e]=s,s+=i[e];for(let o=0;o<e.length;o++){let s=e[o],l=Math.min(Math.floor(s/r),n-1);for(;s>=a[l]+i[l];)l++;l in t?t[l].push(s):t[l]=[s]}}return t}pruneSplats(e){let t,n=this._countIndexesInChunks(e),r=[];return n.length>0&&(t=this.variableChunkSize?[...this.variableChunkSize]:Array(this.nchunks).fill(this.chunkSize),n.forEach(((e,n)=>{t[n]-=e.length,t[n]<=0&&r.push(n)})),t=t.filter((e=>e>0))),new F5(this.config,this.xyz.pruneFeature(e,r,t),this.scaling.pruneFeature(e,r,t),this.color.pruneFeature(e,r,t),this.opacity.pruneFeature(e,r,t),this.quaternion.pruneFeature(e,r,t),this.harmonics?this.harmonics.map((t=>t.pruneFeature(e,r,this.variableChunkSize))):void 0,t)}static async loadConfig(e){return await(await fetch(e,{method:"GET",mode:"cors",headers:{Accept:"application/json"}})).json()}toGaussians(){var e;let t={},n=0;if(t.x={dtype:"float",index:n},n++,t.y={dtype:"float",index:n},n++,t.z={dtype:"float",index:n},n++,t.f_dc_0={dtype:"float",index:n},n++,t.f_dc_1={dtype:"float",index:n},n++,t.f_dc_2={dtype:"float",index:n},n++,this.harmonics&&this.harmonics.length>0)for(let i=0;i<this.harmonics.length;i++)t["f_rest_".concat(i)]={dtype:"float",index:n},n++,t["f_rest_".concat(i+1)]={dtype:"float",index:n},n++,t["f_rest_".concat(i+2)]={dtype:"float",index:n},n++;t.opacity={dtype:"float",index:n},n++,t.scale_0={dtype:"float",index:n},n++,t.scale_1={dtype:"float",index:n},n++,t.scale_2={dtype:"float",index:n},n++,t.rot_0={dtype:"float",index:n},n++,t.rot_1={dtype:"float",index:n},n++,t.rot_2={dtype:"float",index:n},n++,t.rot_3={dtype:"float",index:n},n++;let r=null===(e=this.harmonics)||void 0===e?void 0:e.map((e=>e.denormDequant()));return new Y5(t,{format:"binary_little_endian",version:"1.0"},this.xyz.length,this.xyz.denormDequant(),this.color.denormDequant(),r||[],this.opacity.denormDequant(),this.scaling.denormDequant(),this.quaternion.denormDequant(),3)}},Z5=Xb(dk()),K5=Xb(mk()),Q5={xyz:3,color:3,opacity:1,scaling:3,quaternion:4,harmonics:3},X5=class{constructor(e){this._buffer=e}get buffer(){return this._buffer}get decoded(){return this._decoded||(this._decoded=this.decodeBuffer()),this._decoded}get colorsA(){let e=this.decoded.color.denormDequant(),t=this.decoded.opacity.denormDequant(),n=(0,Z5.default)(new Float32Array(4*e.shape[0]),[e.shape[0],4]);return K5.mulseq(e,.28209479177387814),K5.addseq(e,.5),K5.mulseq(e,255),K5.maxseq(e,0),K5.minseq(e,255),K5.negeq(t),K5.expeq(t),K5.addseq(t,1),K5.recipeq(t),K5.mulseq(t,255),K5.assign(n.hi(e.shape[0],3).lo(0,0),e),K5.assign(n.hi(e.shape[0],4).lo(0,3),t),(0,Z5.default)(new Uint8Array(n.data),[e.shape[0],4]).data}get nsplats(){return this.decoded.nsplats}getSplatCount(){return this.decoded.nsplats}get precomputedCovarianceBufferData(){return this._precomputedCovarianceBufferData}decodeBuffer(){let{splatCount:e,chunkCount:t,chunkSize:n,typeChunks:r,vertexData:i,propertiesDesc:a}=this.decodeHeader(),s={xyz:a.xyz.compressionMethod,color:a.color.compressionMethod,opacity:a.opacity.compressionMethod,scaling:a.scaling.compressionMethod,quaternion:a.quaternion.compressionMethod,chunkSize:n};a.harmonics_0&&(s.harmonics=a.harmonics_0.compressionMethod);let o=i.byteOffset,l=Array(Object.keys(a).length);for(let g in a)l[a[g].index]={name:g,method:a[g].compressionMethod};let c,d=2*t*4,h=o,u="dynamic"===r?2*t:0,p=!1;if(u>0){let e=new Uint16Array(i.buffer.slice(h,h+u));h+=u,c=Array.from(e),p=!0}let f={};for(let g of l){let r,a=0,s=!0;if("norm8x"===g.method)a=1*e*Q5[g.name];else if("norm11"===g.method)a=4*e;else{if("norm565"!==g.method)throw s=!1,new Error("Not Implemented format: ".concat(g.method));a=2*e}if(!s)throw new Error("loading chunk byt hasnot minmax!");{let e=i.buffer.slice(h,h+d);r=(0,Z5.default)(new Float32Array(e),[t,2]),h+=d}let o,l=i.buffer.slice(h,h+a);if(h+=a,"norm8x"===g.method)o=(0,Z5.default)(new Uint8Array(l),[e,Q5[g.name]]);else if("norm11"===g.method)o=(0,Z5.default)(new Uint32Array(l));else{if("norm565"!==g.method)throw new Error("Not Implemented format: ".concat(g.method));o=(0,Z5.default)(new Uint16Array(l))}f[g.name]=new I5(o,r,n,g.method,c,p)}let m=[];for(let g=0;g<15;g++){let e=f["harmonics_".concat(g)];e&&(m.push(e),delete f["harmonics_".concat(g)])}return m.length>0&&(f.harmonics=m),new F5(s,f.xyz,f.scaling,f.color,f.opacity,f.quaternion,f.harmonics,c)}buildPreComputedBuffers(){let e=this.decoded,t=e.nsplats,n=new ArrayBuffer(24*t),r=new Float32Array(n),i=e.scaling.denormDequant(),a=e.quaternion.denormDequant(),s=new GM,o=new dM,l=new dM,c=new dM,d=new fP;for(let h=0;h<t;h++){d.makeScale(Math.exp(i.get(h,0)),Math.exp(i.get(h,1)),Math.exp(i.get(h,2))),l.setFromMatrix4(d),s.set(a.get(h,0),a.get(h,1),a.get(h,2),a.get(h,3)),d.makeRotationFromQuaternion(s),o.setFromMatrix4(d),c.copy(o).multiply(l);let e=c.elements;r[6*h]=e[0]*e[0]+e[3]*e[3]+e[6]*e[6],r[6*h+1]=e[0]*e[1]+e[3]*e[4]+e[6]*e[7],r[6*h+2]=e[0]*e[2]+e[3]*e[5]+e[6]*e[8],r[6*h+3]=e[1]*e[1]+e[4]*e[4]+e[7]*e[7],r[6*h+4]=e[1]*e[2]+e[4]*e[5]+e[7]*e[8],r[6*h+5]=e[2]*e[2]+e[5]*e[5]+e[8]*e[8]}this._precomputedCovarianceBufferData=n}decodeHeader(){let e=this._buffer,t=new TextDecoder,n=0,r="",i=100;for(;;){if(n+i>=e.byteLength)throw new Error("End of file reached while searching for end of header");let a=new Uint8Array(e,n,i);r+=t.decode(a),n+=i;let s=n-200,o=new Uint8Array(e,Math.max(0,s),s>=0?200:i);if(t.decode(o).includes("end_header"))break}let a=r.split("\n"),s=0,o=0,l=0,c=0,d="",h={};for(let p=0;p<a.length;p++){let e=a[p].trim();if(e.startsWith("element vertex")){let t=e.match(/\d+/);t&&(s=parseInt(t[0]))}else if(e.startsWith("property")){let t=e.match(/(\w+)\s+(\w+)\s+(\w+)/);if(t){let e=t[2],n=t[3];h[e]={compressionMethod:n,index:c},c++}}else if(e.startsWith("element chunks")){let t=e.match(/\d+/);t&&(o=parseInt(t[0]))}else if(e.startsWith("element chunkSize")){let t=e.match(/\d+/);t&&(l=parseInt(t[0]))}else if(e.startsWith("element typeChunks")){let t=e.match(/(\w+)\s+(\w+)\s+(\w+)/);t&&(d=t[3])}else if("end_header"===e)break}let u=r.indexOf("end_header")+10+1;return{splatCount:s,chunkCount:o,chunkSize:l,typeChunks:d,vertexData:new DataView(e,u),propertiesDesc:h}}pruneSplats(e){let t=this.decodeBuffer().pruneSplats(e);return X5.fromCompressedGaussianSplats(t)}static fromCompressedGaussianSplats(e){let t=e.xyz.length,n=e.xyz.nchunks,r="gspline\nelement vertex ".concat(t,"\nelement chunks ").concat(n,"\nelement chunkSize ").concat(e.chunkSize,"\nelement typeChunks ").concat(e.isDynamicChunks?"dynamic":"static","\nproperty xyz ").concat(e.xyz.method,"\nproperty color ").concat(e.color.method,"\nproperty opacity ").concat(e.opacity.method,"\nproperty scaling ").concat(e.scaling.method,"\nproperty quaternion ").concat(e.quaternion.method);if(e.harmonics&&e.harmonics.length>0)for(let k=0;k<e.harmonics.length;k++)r="".concat(r,"\nproperty harmonics_").concat(k," ").concat(e.harmonics[k].method);r="".concat(r,"\nend_header\n");let i=(new TextEncoder).encode(r),a=2*n*4,s=e.xyz.quantized.data.buffer.byteLength,o=e.xyz instanceof I5?a:0,l=e.color.quantized.data.buffer.byteLength,c=e.color instanceof I5?a:0,d=e.opacity.quantized.data.buffer.byteLength,h=e.opacity instanceof I5?a:0,u=e.scaling.quantized.data.buffer.byteLength,p=e.scaling instanceof I5?a:0,f=e.quaternion.quantized.data.buffer.byteLength,m=e.quaternion instanceof I5?a:0,g=e.variableChunkSize?Uint16Array.from(e.variableChunkSize):void 0,y=g?g.byteLength:0,v=i.byteLength+y+s+o+l+c+d+h+u+p+f+m,x=0,S=0;if(e.harmonics&&e.harmonics.length>0)for(let k=0;k<e.harmonics.length;k++)x+=e.harmonics[k].quantized.data.buffer.byteLength,S+=e.harmonics[k]instanceof I5?a:0;x=0,S=0,v+=x+S;let A=new Uint8Array(v),b=0;if(A.set(i,b),b+=i.byteLength,y>0&&(A.set(new Uint8Array(g.buffer),b),b+=y),e.xyz instanceof I5&&(A.set(new Uint8Array(e.xyz.minmaxMatrix.data.buffer),b),b+=a),A.set(new Uint8Array(e.xyz.quantized.data.buffer),b),b+=s,e.color instanceof I5&&(A.set(new Uint8Array(e.color.minmaxMatrix.data.buffer),b),b+=a),A.set(new Uint8Array(e.color.quantized.data.buffer),b),b+=l,e.opacity instanceof I5&&(A.set(new Uint8Array(e.opacity.minmaxMatrix.data.buffer),b),b+=a),A.set(new Uint8Array(e.opacity.quantized.data.buffer),b),b+=d,e.scaling instanceof I5&&(A.set(new Uint8Array(e.scaling.minmaxMatrix.data.buffer),b),b+=a),A.set(new Uint8Array(e.scaling.quantized.data.buffer),b),b+=u,e.quaternion instanceof I5&&(A.set(new Uint8Array(e.quaternion.minmaxMatrix.data.buffer),b),b+=a),A.set(new Uint8Array(e.quaternion.quantized.data.buffer),b),b+=f,x>0&&e.harmonics&&e.harmonics.length>0)for(let k=0;k<e.harmonics.length;k++){let t=e.harmonics[k];t instanceof I5&&(A.set(new Uint8Array(t.minmaxMatrix.data.buffer),b),b+=a),A.set(new Uint8Array(t.quantized.data.buffer),b),b+=t.quantized.data.byteLength}return new X5(A.buffer)}},_5=class{};function $5(e){let t,n,r,i,a,s,o,l,c,d,h,u,p,f,m,g;function y(e,t,s){let o=new Float32Array(d,a,3*n);r=0;let l=new Uint32Array(d,i,n);for(let n=0;n<s.length-1;n++){let i=t[n],a=e[n].elements,c=i.filter((e=>e.enabled&&"Include"===e.mode)).map((e=>"Box"===e.type?x(e):A(e))),d=i.filter((e=>e.enabled&&"Exclude"===e.mode)).map((e=>"Box"===e.type?x(e):A(e)));for(let e=s[n];e<s[n+1];e++){let t=p[3*e],n=p[3*e+1],i=p[3*e+2];if((0===c.length||v(t,n,i,c))&&(0===d.length||!v(t,n,i,d))){let s=1/(a[3]*t+a[7]*n+a[11]*i+a[15]);o[3*r]=(a[0]*t+a[4]*n+a[8]*i+a[12])*s,o[3*r+1]=(a[1]*t+a[5]*n+a[9]*i+a[13])*s,o[3*r+2]=(a[2]*t+a[6]*n+a[10]*i+a[14])*s,l[r]=e,r++}}}}function v(e,t,n,r,i){return r["Intersect"===i?"every":"some"]((r=>{let i=function(e,t,n,r,i){let a=e-i[0],s=t-i[1],o=n-i[2],l=1/(r[3]*a+r[7]*s+r[11]*o+r[15]);return{x:(r[0]*a+r[4]*s+r[8]*o+r[12])*l+i[0],y:(r[1]*a+r[5]*s+r[9]*o+r[13])*l+i[1],z:(r[2]*a+r[6]*s+r[10]*o+r[14])*l+i[2]}}(e,t,n,r.invRotationMatrix,r.cropCenter);return Array.isArray(r)?function(e,t,n,r){return e>=r[0]&&e<=r[3]&&t>=r[1]&&t<=r[4]&&n>=r[2]&&n<=r[5]}(i.x,i.y,i.z,r):function(e,t,n,r){let i=(e-r.cropCenter[0])*r.invRadiusX,a=(t-r.cropCenter[1])*r.invRadiusY,s=(n-r.cropCenter[2])*r.invRadiusZ;return i*i+a*a+s*s<=1}(i.x,i.y,i.z,r)}))}function x(e){let t=e.cropSize[0]/2,n=e.cropSize[1]/2,r=e.cropSize[2]/2,i=[e.cropCenter[0]-t,e.cropCenter[1]-n,e.cropCenter[2]-r,e.cropCenter[0]+t,e.cropCenter[1]+n,e.cropCenter[2]+r],a=S(e.cropRotation);return Object.assign(i,{invRotationMatrix:a,cropCenter:e.cropCenter})}function S(e){let t=[],n=e[0]*Math.PI/180,r=e[1]*Math.PI/180,i=e[2]*Math.PI/180,a=Math.cos(n),s=Math.sin(n),o=Math.cos(r),l=Math.sin(r),c=Math.cos(i),d=Math.sin(i),h=a*c,u=a*d,p=s*c,f=s*d;return t[0]=o*c,t[1]=-o*d,t[2]=l,t[4]=u+p*l,t[5]=h-f*l,t[6]=-s*o,t[8]=f-h*l,t[9]=p+u*l,t[10]=a*o,t[12]=0,t[13]=0,t[14]=0,t[3]=0,t[7]=0,t[11]=0,t[15]=1,t}function A(e){let t=2/e.cropSize[0],n=2/e.cropSize[1],r=2/e.cropSize[2],i=S(e.cropRotation);return{invRadiusX:t,invRadiusY:n,invRadiusZ:r,cropCenter:e.cropCenter,invRotationMatrix:i}}e.onmessage=S=>{if(S.data.getCroppedIndexes){let t=new Uint32Array(function(e,t){let n=[],r=t.filter((e=>e.enabled&&"Include"===e.mode)).map((e=>"Box"===e.type?x(e):A(e))),i=t.filter((e=>e.enabled&&"Exclude"===e.mode)).map((e=>"Box"===e.type?x(e):A(e))),a=e.length;for(let s=0;s<a;s+=3){let t=e[s],a=e[s+1],o=e[s+2];(0===r.length||v(t,a,o,r))&&(0===i.length||!v(t,a,o,i))||n.push(s/3)}return console.log(n),n}(new Float32Array(S.data.positions),S.data.crops)).buffer;e.postMessage({outOfBoundsIndexes:t},[t])}else if(S.data.positions)h=S.data.positions,p=new Float32Array(h),m=S.data.meshMatrixWorlds,g=S.data.cropsArray,f=S.data.meshIndexIntervals,y(m,g,f),e.postMessage({sortSetupComplete:!0});else if(S.data.sort||S.data.newMatrixWorlds||S.data.newCropsArray)(S.data.newMatrixWorlds||S.data.newCropsArray)&&(g=S.data.newCropsArray||g,m=S.data.newMatrixWorlds||m,y(m,g,f)),function(h){let p,f=new Float64Array(d,s,16);for(let e=0;e<16;e++)f[e]=h[e];if(r>1){t.exports.sortIndexes(i,a,c,s,o,l,u.DepthMapRange,r);let e=new Uint32Array(r);p=e.buffer,e.set(new Uint32Array(d,l,r))}else if(1===r){let e=new Uint32Array(r);e[0]=new Uint32Array(d,i,n)[0],p=e.buffer}else p=new ArrayBuffer(0);e.postMessage({sortDone:!0,indexesBuffer:p},[p])}(S.data.sort.view,S.data.sort.cameraPosition);else if(S.data.init){u=S.data.init.Constants,n=S.data.init.splatCount;let r=u.BytesPerInt,h=3*u.BytesPerFloat,p=new Uint8Array(S.data.init.sorterWasmBytes),f=n*(r+h)+(n*u.BytesPerInt*2+u.DepthMapRange*u.BytesPerInt*2)+32*u.MemoryPageSize,m=Math.floor(f/u.MemoryPageSize)+1,g={module:{},env:{memory:new WebAssembly.Memory({initial:2*m,maximum:3*m,shared:!0})}};WebAssembly.compile(p).then((e=>WebAssembly.instantiate(e,g))).then((p=>{t=p,i=0,a=n*r,s=a+n*h,c=s+16*u.BytesPerFloat*2,o=c+n*u.BytesPerInt,l=o+u.DepthMapRange*u.BytesPerInt,d=g.env.memory.buffer,e.postMessage({sortSetupPhase1Complete:!0})}))}}}_b(_5,"DepthMapRange",65536),_b(_5,"MemoryPageSize",65536),_b(_5,"BytesPerFloat",4),_b(_5,"BytesPerInt",4);var e4=function(){let e=new Float32Array(1),t=new Int32Array(e.buffer);return function(n){return e[0]=n,t[0]}}(),t4=function(e,t,n,r){return e+(t<<8)+(n<<16)+(r<<24)},n4=new cM,r4=class extends PO{constructor(e,t,n,r){let i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1,s=arguments.length>6?arguments[6]:void 0,o=arguments.length>7?arguments[7]:void 0;super(n,r),this.splatCount=t,this.meshIndexIntervals=s,this.meshMatrixWorlds=o,this.splatBuffers=e,this.geometry=n,this.material=r,this.splatDataTextures=null,this.halfPrecisionCovariancesOnGPU=i,this.devicePixelRatio=a,this.resetLocalSplatDataAndTexturesFromSplatBuffer()}static buildMesh(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,i=arguments.length>4?arguments[4]:void 0,a=arguments.length>5?arguments[5]:void 0,s=r4.buildGeomtery(t),o=r4.buildMaterial(i);return new r4(e,t,s,o,n,r,i,a)}static buildMaterial(e){let t={covariancesTexture:{type:"t",value:null},centersColorsTexture:{type:"t",value:null},meshIndexIntervals:{value:e},meshMatrixWorldsTexture:{type:"t",value:null},focal:{type:"v2",value:new cM},viewport:{type:"v2",value:new cM},basisViewport:{type:"v2",value:new cM},debugColor:{type:"v3",value:new MM},covariancesTextureSize:{type:"v2",value:new cM(1024,1024)},centersColorsTextureSize:{type:"v2",value:new cM(1024,1024)},orthoZoom:{type:"f",value:-1}};return new RO({uniforms:t,vertexShader:"\n            precision highp float;\n            #include <common>\n\n            attribute uint splatIndex;\n\n            uniform highp sampler2D covariancesTexture;\n            uniform highp usampler2D centersColorsTexture;\n            uniform vec2 focal;\n            uniform vec2 viewport;\n            uniform vec2 basisViewport;\n            uniform vec2 covariancesTextureSize;\n            uniform vec2 centersColorsTextureSize;\n\t\t\t\t\t\tuniform highp sampler2D meshMatrixWorldsTexture;\n\t\t\t\t\t\tuniform uint meshIndexIntervals[257];\n\t\t\t\t\t\tuniform float orthoZoom;\n\n            varying vec4 vColor;\n            varying vec2 vUv;\n\n            varying vec2 vPosition;\n\n            const vec4 encodeNorm4 = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0);\n            const uvec4 mask4 = uvec4(uint(0x000000FF), uint(0x0000FF00), uint(0x00FF0000), uint(0xFF000000));\n            const uvec4 shift4 = uvec4(0, 8, 16, 24);\n            vec4 uintToRGBAVec (uint u) {\n               uvec4 urgba = mask4 & u;\n               urgba = urgba >> shift4;\n               vec4 rgba = vec4(urgba) * encodeNorm4;\n               return rgba;\n            }\n\n            vec2 getDataUV(in int stride, in int offset, in vec2 dimensions) {\n                vec2 samplerUV = vec2(0.0, 0.0);\n                float d = float(splatIndex * uint(stride) + uint(offset)) / dimensions.x;\n                samplerUV.y = float(floor(d)) / dimensions.y;\n                samplerUV.x = fract(d);\n                return samplerUV;\n            }\n\n            void main () {\n                uvec4 sampledCenterColor = texture(centersColorsTexture, getDataUV(1, 0, centersColorsTextureSize));\n                vec3 splatCenter = uintBitsToFloat(uvec3(sampledCenterColor.gba));\n                vColor = uintToRGBAVec(sampledCenterColor.r);\n\n                vPosition = position.xy * 2.0;\n\n\t\t\t\t\t\t\t\tuint meshIndex;\n\t\t\t\t\t\t\t\tfor (int i = 1; i < 257; i++) {\n\t\t\t\t\t\t\t\t\tif (splatIndex < meshIndexIntervals[i]) {\n\t\t\t\t\t\t\t\t\t\tmeshIndex = uint(i - 1);\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tfloat strideMulmeshIndex = float(4u*meshIndex);\n\t\t\t\t\t\t\t\tfloat meshMatrixWorldsTextureLength = float(256*4);\n\n\t\t\t\t\t\t\t\tmat4 modelMat = mat4(\n\t\t\t\t\t\t\t\t\ttexture(meshMatrixWorldsTexture, vec2((strideMulmeshIndex+0.0)/meshMatrixWorldsTextureLength, 0)),\n\t\t\t\t\t\t\t\t\ttexture(meshMatrixWorldsTexture, vec2((strideMulmeshIndex+1.0)/meshMatrixWorldsTextureLength, 0)),\n\t\t\t\t\t\t\t\t\ttexture(meshMatrixWorldsTexture, vec2((strideMulmeshIndex+2.0)/meshMatrixWorldsTextureLength, 0)),\n\t\t\t\t\t\t\t\t\ttexture(meshMatrixWorldsTexture, vec2((strideMulmeshIndex+3.0)/meshMatrixWorldsTextureLength, 0))\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tmat4 modelViewMat = viewMatrix * modelMat;\n\t\t\t\t\t\t\t\tvec4 viewCenter = modelViewMat * vec4(splatCenter, 1.0); \n                vec4 clipCenter = projectionMatrix * viewCenter;\n\n                vec2 sampledCovarianceA = texture(covariancesTexture, getDataUV(3, 0, covariancesTextureSize)).rg;\n                vec2 sampledCovarianceB = texture(covariancesTexture, getDataUV(3, 1, covariancesTextureSize)).rg;\n                vec2 sampledCovarianceC = texture(covariancesTexture, getDataUV(3, 2, covariancesTextureSize)).rg;\n\n                vec3 cov3D_M11_M12_M13 = vec3(sampledCovarianceA.rg, sampledCovarianceB.r);\n                vec3 cov3D_M22_M23_M33 = vec3(sampledCovarianceB.g, sampledCovarianceC.rg);\n\n                // Compute the 2D covariance matrix from the upper-right portion of the 3D covariance matrix\n                mat3 Vrk = mat3(\n                    cov3D_M11_M12_M13.x, cov3D_M11_M12_M13.y, cov3D_M11_M12_M13.z,\n                    cov3D_M11_M12_M13.y, cov3D_M22_M23_M33.x, cov3D_M22_M23_M33.y,\n                    cov3D_M11_M12_M13.z, cov3D_M22_M23_M33.y, cov3D_M22_M23_M33.z\n                );\n                float s = 1.0 / (viewCenter.z * viewCenter.z);\n\n                mat3 W = transpose(mat3(modelViewMat));\n                mat3 T = orthoZoom > 0.0 ? W : W * mat3(\n\t\t\t\t\t\t\t\t\tfocal.x / viewCenter.z, 0., -(focal.x * viewCenter.x) * s,\n\t\t\t\t\t\t\t\t\t0., focal.y / viewCenter.z, -(focal.y * viewCenter.y) * s,\n\t\t\t\t\t\t\t\t\t0., 0., 0.\n\t\t\t\t\t\t\t\t);\n                mat3 cov2Dm = transpose(T) * Vrk * T;\n                cov2Dm[0][0] += 0.3;\n                cov2Dm[1][1] += 0.3;\n\n                // We are interested in the upper-left 2x2 portion of the projected 3D covariance matrix because\n                // we only care about the X and Y values. We want the X-diagonal, cov2Dm[0][0],\n                // the Y-diagonal, cov2Dm[1][1], and the correlation between the two cov2Dm[0][1]. We don't\n                // need cov2Dm[1][0] because it is a symetric matrix.\n                vec3 cov2Dv = vec3(cov2Dm[0][0], cov2Dm[0][1], cov2Dm[1][1]);\n\n                vec3 ndcCenter = clipCenter.xyz / clipCenter.w;\n\n                // We now need to solve for the eigen-values and eigen vectors of the 2D covariance matrix\n                // so that we can determine the 2D basis for the splat. This is done using the method described\n                // here: https://people.math.harvard.edu/~knill/teaching/math21b2004/exhibits/2dmatrices/index.html\n                //\n                // This is a different approach than in the original work at INRIA. In that work they compute the\n                // max extents of the 2D covariance matrix in screen space to form an axis aligned bounding rectangle\n                // which forms the geometry that is actually rasterized. They then use the inverse 2D covariance\n                // matrix (called 'conic') to determine fragment opacity.\n                float a = cov2Dv.x;\n                float d = cov2Dv.z;\n                float b = cov2Dv.y;\n                float D = a * d - b * b;\n                float trace = a + d;\n                float traceOver2 = 0.5 * trace;\n                float term2 = sqrt(trace * trace / 4.0 - D);\n                float eigenValue1 = traceOver2 + term2;\n\t\t\t\t\t\t\t\tfloat eigenValue2 = max(traceOver2 - term2, 0.00); // prevent negative eigen value\n\n                const float maxSplatSize = 1024.0;\n                vec2 eigenVector1 = normalize(vec2(b, eigenValue1 - a));\n                // since the eigen vectors are orthogonal, we derive the second one from the first\n                vec2 eigenVector2 = vec2(eigenVector1.y, -eigenVector1.x);\n                vec2 basisVector1 = eigenVector1 * min(sqrt(2.0 * eigenValue1), maxSplatSize);\n                vec2 basisVector2 = eigenVector2 * min(sqrt(2.0 * eigenValue2), maxSplatSize);\n\n                vec2 ndcOffset = vec2(vPosition.x * basisVector1 + vPosition.y * basisVector2) * basisViewport;\n\n\t\t\t\t\t\t\t\tif (orthoZoom > 0.0) {\n\t\t\t\t\t\t\t\t\tndcOffset *= orthoZoom;\n\t\t\t\t\t\t\t\t}\n\n                gl_Position = vec4(ndcCenter.xy + ndcOffset, ndcCenter.z, 1.0);\n            }",fragmentShader:"\n            precision highp float;\n            #include <common>\n\n            uniform vec3 debugColor;\n\n            varying vec4 vColor;\n            varying vec2 vUv;\n\n            varying vec2 vPosition;\n\t\t\t\t\t\tlayout(location = 1) out vec4 gVelocity; \n\n            void main () {\n                // compute the negative squared distance from the center of the splat to the\n                // current fragment in the splat's local space.\n                float A = -dot(vPosition, vPosition);\n                if (A < -4.0) discard;\n                vec3 color = vColor.rgb;\n                A = exp(A) * vColor.a;\n                gl_FragColor = vec4(color.rgb, A);\n\t\t\t\t\t\t\t\tgVelocity = vec4(0.0); // so it is ignored by TAA\n            }",transparent:!0,alphaTest:1,blending:Ek,depthTest:!0,depthWrite:!1,side:Ik})}static buildGeomtery(e){let t=new pO;t.setIndex([0,1,2,0,2,3]);let n=new Float32Array(12),r=new nO(n,3);t.setAttribute("position",r),r.setXYZ(0,-1,-1,0),r.setXYZ(1,-1,1,0),r.setXYZ(2,1,1,0),r.setXYZ(3,1,-1,0),r.needsUpdate=!0;let i=(new QV).copy(t),a=new Uint32Array(e),s=new qC(a,1,!1);return s.setUsage(35048),i.setAttribute("splatIndex",s),i.instanceCount=e,i}resetLocalSplatDataAndTexturesFromSplatBuffer(){this.updateLocalSplatDataFromSplatBuffer(),this.allocateAndStoreLocalSplatDataInTextures()}updateLocalSplatDataFromSplatBuffer(){this.splatBuffers.forEach((e=>e.buildPreComputedBuffers())),this.covariances=new Float32Array(6*this.splatCount),this.colors=new Uint8Array(4*this.splatCount),this.centers=new Float32Array(3*this.splatCount);let e=0,t=0,n=0;for(let r of this.splatBuffers){let i=r.nsplats;this.colors.subarray(e,e+4*i).set(r.colorsA),e+=4*i,this.centers.subarray(t,t+3*i).set(r.decoded.xyz.denormDequant().data),t+=3*i,this.covariances.subarray(n,n+6*i).set(new Float32Array(r.precomputedCovarianceBufferData)),n+=6*i}}allocateAndStoreLocalSplatDataInTextures(){let e=this.splatCount,t=new cM(4096,1024);for(;t.x*t.y*2<6*e;)t.y*=2;let n,r,i=new cM(4096,1024);for(;i.x*i.y*4<4*e;)i.y*=2;if(this.halfPrecisionCovariancesOnGPU){r=new Uint16Array(t.x*t.y*2);for(let e=0;e<this.covariances.length;e++)r[e]=HR.toHalfFloat(this.covariances[e]);n=new RC(r,t.x,t.y,Kw,Gw)}else r=new Float32Array(t.x*t.y*2),r.set(this.covariances),n=new RC(r,t.x,t.y,Kw,Bw);n.needsUpdate=!0,this.material.uniforms.covariancesTexture.value=n,this.material.uniforms.covariancesTextureSize.value.copy(t);let a=new Uint32Array(i.x*i.y*4);for(let c=0;c<e;c++){let e=4*c,t=3*c,n=4*c;a[n]=t4(this.colors[e],this.colors[e+1],this.colors[e+2],this.colors[e+3]),a[n+1]=e4(this.centers[t]),a[n+2]=e4(this.centers[t+1]),a[n+3]=e4(this.centers[t+2])}let s=new RC(a,i.x,i.y,Xw,Dw);s.internalFormat="RGBA32UI",s.needsUpdate=!0,this.material.uniforms.centersColorsTexture.value=s,this.material.uniforms.centersColorsTextureSize.value.copy(i);let o=new Float32Array(4096);for(let c=0;c<this.meshMatrixWorlds.length;c++)o.set(this.meshMatrixWorlds[c].elements,16*c);let l=new RC(o,1024,1,Jw,Bw);l.needsUpdate=!0,this.material.uniforms.meshMatrixWorldsTexture.value=l,this.material.uniformsNeedUpdate=!0,this.splatDataTextures={covariances:{data:r,texture:n,size:t},centerColors:{data:a,texture:s,size:i},meshMatrixWorlds:{data:o,texture:l}}}updateIndexes(e){let t=this.geometry;t.attributes.splatIndex.set(e),t.attributes.splatIndex.needsUpdate=!0,t.instanceCount=e.length}updateUniforms(e,t,n,r){this.splatCount>0&&(n4.set(e.x*this.devicePixelRatio,e.y*this.devicePixelRatio),this.material.uniforms.viewport.value.copy(n4),this.material.uniforms.basisViewport.value.set(2/n4.x,2/n4.y),this.material.uniforms.focal.value.set(t,n),this.material.uniforms.orthoZoom.value=r,this.material.uniformsNeedUpdate=!0)}getSplatDataTextures(){return this.splatDataTextures}getSplatCount(){return this.splatCount}getCenters(){return this.centers}getColors(){return this.colors}getCovariances(){return this.covariances}dispose(){this.geometry.dispose(),this.material.dispose(),this.splatDataTextures&&(this.splatDataTextures.covariances.texture.dispose(),this.splatDataTextures.centerColors.texture.dispose(),this.splatDataTextures.meshMatrixWorlds.texture.dispose())}},i4=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};_b(this,"updateSplatMeshUniforms",function(){let e=new cM;return function(){null!==this.splatMesh&&this.splatMesh.getSplatCount()>0&&(this.renderer.getSize(e),this.cameraFocalLengthX=this.camera.projectionMatrix.elements[0]*this.devicePixelRatio*e.x*.45,this.cameraFocalLengthY=this.camera.projectionMatrix.elements[5]*this.devicePixelRatio*e.y*.45,this.splatMesh.updateUniforms(e,this.cameraFocalLengthX,this.cameraFocalLengthY,this.camera.isPerspectiveCamera?-1:this.camera.zoom*this.devicePixelRatio))}}()),_b(this,"updateView",function(){let e=new fP,t=[],n=new qM(0,0,-1),r=new qM(0,0,-1),i=new qM,a=new qM;return function(){let s=arguments.length>0&&void 0!==arguments[0]&&arguments[0],o=this.updateMatrixWorldsInWorkerIfNeeded(),l=this.cropsChanged();if(!s){r.set(0,0,-1).applyQuaternion(this.camera.quaternion);let e=!1,t=!1;if(r.dot(n)<=.95&&(e=!0),a.copy(this.camera.position).sub(i).length()>=1&&(t=!0),!e&&!t&&!o&&!l)return}i.copy(this.camera.position),n.copy(r),e.copy(this.camera.matrixWorld).invert(),e.premultiply(this.camera.perspCamera.projectionMatrix),t[0]=this.camera.position.x,t[1]=this.camera.position.y,t[2]=this.camera.position.z;let c={sort:{view:e.elements,cameraPosition:t,splatRenderCount:this.splatRenderCount,splatSortCount:this.splatRenderCount},...o?{newMatrixWorlds:this.meshMatrixWorlds}:{},...l?{newCropsArray:this.cropsArray}:{}};this.sortRunning?this.queuedMessage=c:(this.queuedMessage=null,this.sortRunning=!0,this.sortWorker.postMessage(c))}}()),this.scene=e.scene,this.currentPage=null,this.renderer=e.renderer,this.devicePixelRatio=window.devicePixelRatio,this.sortWorker=null,this.splatRenderCount=0,this.splatSortCount=0,this.splatMesh=null,this.sortRunning=!1,this.splatRenderingInitialized=!1,this.meshMatrixWorlds=null,this.meshMatrixWorldsOld=null,this.cropsArray=null,this.splatEntries=null,this.queuedMessage=null}get camera(){return this.scene.activeCamera}reloadSplats(){this.splatRenderingInitialized=!1;let e=this.loadSplat();this.renderer.pipeline.opaquePass.splatViewer=e?this:null}loadSplat(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.activePage=this.scene.activePage,e.position&&(e.position=(new qM).fromArray(e.position)),e.orientation&&(e.orientation=(new GM).fromArray(e.orientation)),e.halfPrecisionCovariances=!!e.halfPrecisionCovariances;let t=[];if(this.splatEntries=t,this.activePage.traverseEntity((e=>{if("Splat"===e.data.type){let n=e.visible;e.traverseAncestors((e=>{n&&(n=e.visible)})),n&&t.push(e)}})),this.splatMesh&&this.splatMesh.dispose(),0===t.length)return this.splatMesh=null,!1;this.meshMatrixWorlds=t.map((e=>e.matrixWorld)),this.meshMatrixWorldsOld=t.map((e=>e.matrixWorld.clone())),this.cropsArray=t.map((e=>e.data.crops.map((e=>e.data))));let n=t.map((e=>new X5(new Uint8Array(e.data.buffer).buffer))),r=0,i=[0];for(let a of n)r+=a.getSplatCount(),i.push(r);return this.setupSplatMesh(n,r,e.position,e.orientation,e.halfPrecisionCovariances,this.devicePixelRatio,i,this.meshMatrixWorlds),this.setupSortWorker(r),!0}updateMatrixWorldsInWorkerIfNeeded(){let e=this.splatDataTextures.meshMatrixWorlds.data;for(let t=0;t<this.meshMatrixWorlds.length;t++)e.set(this.meshMatrixWorlds[t].elements,16*t);return this.splatDataTextures.meshMatrixWorlds.texture.needsUpdate=!0,!this.meshMatrixWorlds.every(((e,t)=>e.equals(this.meshMatrixWorldsOld[t])))&&(this.meshMatrixWorldsOld=this.meshMatrixWorlds.map((e=>e.clone())),!0)}cropsChanged(){let e=!1;return this.splatEntries.forEach(((t,n)=>{var r;t.data.crops.forEach(((t,r)=>{void 0===this.cropsArray[n][r]?(e=!0,this.cropsArray[n][r]=t.data):Object.entries(t.data).forEach((t=>{var i;let[a,s]=t;(Array.isArray(s)&&s.some(((e,t)=>e!==this.cropsArray[n][r][a][t]))||s!==(null===(i=this.cropsArray[n][r])||void 0===i?void 0:i[a]))&&(e=!0,this.cropsArray[n][r][a]=s)}))})),t.data.crops.length!==(null===(r=this.cropsArray[n])||void 0===r?void 0:r.length)&&(this.cropsArray[n].length=t.data.crops.length,e=!0)})),e}setupSplatMesh(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new qM,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new GM,i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1,s=arguments.length>6?arguments[6]:void 0,o=arguments.length>7?arguments[7]:void 0;this.splatMesh=r4.buildMesh(e,t,i,a,s,o),this.splatMesh.position.copy(n),this.splatMesh.quaternion.copy(r),this.splatMesh.frustumCulled=!1,this.splatMesh.renderOrder=10,this.updateSplatMeshUniforms(),this.splatRenderCount=t}setupSortWorker(e){this.sortWorker=function(e){let t=new Worker(URL.createObjectURL(new Blob(["(",$5.toString(),")(self)"],{type:"application/javascript"}))),n=atob("AGFzbQEAAAAADwhkeWxpbmsuMAEEAAAAAAETA2AAAGAIf39/f39/f38AYAABfwISAQNlbnYGbWVtb3J5AgMAgIAEAwQDAAECBzkDEV9fd2FzbV9jYWxsX2N0b3JzAAALc29ydEluZGV4ZXMAARNlbXNjcmlwdGVuX3Rsc19pbml0AAIK3gMDAwABC9IDAwF/BnwBfgJAIAdFDQAgAysDUCEMIAMrAzAhDSADKwMQIQ5BACEDRP///////+9/IQtEAAAAAAAAEAAhCgNAIAIgA0ECdGoCfyAOIAEgA0EMbGoiCCoCALuiIA0gCCoCBLuioCAMIAgqAgi7oqBEAAAAAAAAsECiIgmZRAAAAAAAAOBBYwRAIAmqDAELQYCAgIB4CzYCACAJIAsgCSALYxshCyAJIAogCSAKZBshCiADQQFqIgMgB0cNAAsgB0UNACAGuCAKIAuhoyEJQQAhAwNAAn8gCSACIANBAnRqIgEoAgC3IAuhoiIKmUQAAAAAAADgQWMEQCAKqgwBC0GAgICAeAshCCABIAg2AgAgBCAIQQJ0aiIBIAEoAgBBAWo2AgAgA0EBaiIDIAdHDQALCyAGQQJPBEAgBCgCACEIQQEhAwNAIAQgA0ECdGoiASABKAIAIAhqIgg2AgAgA0EBaiIDIAZHDQALCyAHQQFrIgGtIQ8DQCAEIAIgD6dBAnQiA2ooAgBBAnRqIgcgBygCAEEBayIHNgIAIAUgASAHa0ECdGogACADaigCADYCACAPUCEDIA9CAX0hDyADRQ0ACyAGBEAgBEEAIAZBAnT8CwALCwQAQQAL"),r=new Uint8Array(n.length);for(let i=0;i<n.length;i++)r[i]=n.charCodeAt(i);return t.postMessage({init:{sorterWasmBytes:r.buffer,splatCount:e,Constants:{BytesPerFloat:_5.BytesPerFloat,BytesPerInt:_5.BytesPerInt,DepthMapRange:_5.DepthMapRange,MemoryPageSize:_5.MemoryPageSize}}}),t}(e),this.sortWorker.onmessage=e=>{var t;e.data.sortDone?(this.sortRunning=!1,null!==(t=this.splatMesh)&&void 0!==t&&t.updateIndexes(new Uint32Array(e.data.indexesBuffer)),this.lastSortTime=e.data.sortTime,this.queuedMessage&&(this.sortWorker.postMessage(this.queuedMessage),this.queuedMessage=null)):e.data.sortCanceled?this.sortRunning=!1:e.data.sortSetupPhase1Complete?this.sortWorker.postMessage({positions:this.splatMesh.getCenters().buffer,meshMatrixWorlds:this.splatMesh.meshMatrixWorlds,meshIndexIntervals:this.splatMesh.meshIndexIntervals,cropsArray:this.cropsArray}):e.data.sortSetupComplete&&(this.splatDataTextures=this.splatMesh.getSplatDataTextures(),this.updateView(!0,!0),this.splatRenderingInitialized=!0)}}update(){!1!==this.splatRenderingInitialized&&(this.updateSplatMeshUniforms(),this.updateView())}getSplatMesh(){return this.splatMesh}},a4=new $P;a4.wireframe=!0;var s4=new qM,o4=class extends TC{constructor(e,t){super(),this.data=e,this.sharedAssets=t,this.enableHelpers=!1,this.wireframeState=!1,this.needsTransmissionDirty=!0,this.needsNormalDirty=!0,this._needsTransmission=!1,this._needsNormal=!1,this.geometryCacheChanged=!1,this.splatViewer=null,this.entityByUuid={},this.entityIdentityToEntity={},this.toExpandCloner=new Set,this.toUpdateCloner=new Set,this.pendingCommands=[],this.pathConstraints=new k5,this.invisibleObjects=new K1("jflkdsafjasdifjaslk",{...GN.defaultData,visible:!1,name:"buildin invisible"}),this.needsRecomputeInstances=!1,this.init(e,t),this.matrixAutoUpdate=!1,this.errorPage=new Y6("fdasfa",{...YN.defaultData,name:""},{shared:t,scene:this})}markGeometryCacheDirty(){this.geometryCacheChanged=!0}markNeedsUpdateRendererDirty(){this.needsTransmissionDirty=!0,this.needsNormalDirty=!0}needsTransmission(){return this.needsTransmissionDirty&&(this._needsTransmission=function(e){let t=!1;return e.traverseEntity((e=>{if(e instanceof w0)if(Array.isArray(e.material))for(let n=0;n<e.material.length;n++)v5(e,e.material[n])&&(t=!0);else v5(e,e.material)&&(t=!0)})),t}(this),this.needsTransmissionDirty=!1),this._needsTransmission}needsNormal(){return this.needsNormalDirty&&(this._needsNormal=function(e){let t=!1;return e.traverseEntity((e=>{if(e instanceof w0)if(Array.isArray(e.material))for(let n=0;n<e.material.length;n++)y5(e,e.material[n])&&(t=!0);else y5(e,e.material)&&(t=!0)})),t}(this),this.needsNormalDirty=!1),this._needsNormal}registerInstanceAndSetUuid(e){let t=e.identity.join("-"),n=this.entityIdentityToEntity[t];n&&(e.uuid=n.uuid),this.entityIdentityToEntity[t]=e,this.entityByUuid[e.uuid]=e}markPenumbraSizeDirty(){for(let e of this.children)e instanceof Y6&&(e.penumbraSizeArrayCache=null)}findInstance(e){return this.entityIdentityToEntity[e.join("-")]}get bgColor(){return this.activePage.bgColor}get postprocessing(){return this.activePage.data.postprocessing}getWithSortKey(e){let t=this.find(e);if(void 0===t)return;let n=[],r=t;for(;r!==this;){let e=r;r=r.parent;let t=r.children.indexOf(e);n.splice(0,0,t)}return{entity:t,sortKey:n}}getAllSorted(e){let t=[];for(let n of e){let e=this.getWithSortKey(n.id);void 0!==e&&t.push(e)}return t.sort(((e,t)=>CW(e.sortKey,t.sortKey))),t.map((e=>e.entity))}nonExistOrDescendantOf(e,t){let n=this.find(e);if(void 0===n)return!0;for(;n;){if(n.uuid===t)return!0;n=n.parent}return!1}find(e){if(this.activePage&&this.activePage.personalCamera.parent){if("f23858d0-4a3b-4bd8-8173-66ed0af7f6fb-personalCamera"===e)return this.activePage.personalCamera;if(e===LU)return this.activePage.personalCamera}if(""===e||void 0===e)return;let t=this.entityByUuid[e];return void 0===t?this.getObjectByProperty("uuid",e):t}find2D(e){for(let t of this.children)if(t instanceof Y6&&t.uiScene){let n=t.uiScene.find(e);if(n)return n}}findScene2DfromObject2D(e){for(let t of this.children)if(t instanceof Y6&&t.uiScene&&t.uiScene.find(e))return t.uiScene}find2DInUIObjects(e){let t;return this.traverseEntity((n=>{void 0===t&&n instanceof t5&&(t=n.uiCanvas.find(e))})),t}traverse2D(e){for(let t of this.children)t instanceof Y6&&t.uiScene&&t.uiScene.traverse(e)}debugEnsureEntity(e){let t=this.find(e);t?Array.isArray(t.identity)&&void 0===this.findInstance(t.identity)&&console.error("not found instance"):console.error("not found")}addPendingExpandCloner(e){this.toExpandCloner.add(e)}addPendingUpdateCloner(e){this.toUpdateCloner.add(e)}markToExpandCloner(e){this.toExpandCloner.add(e),e.traverseEntityAncestors((e=>{this.toExpandCloner.add(e)}))}doPendingExpandCloner(){this.toExpandCloner.forEach((e=>{e.expandCloner(this)})),this.toExpandCloner.clear()}doPendingUpdateCloner(){this.toUpdateCloner.forEach((e=>{var t;null===(t=e.cloner)||void 0===t||t.update()})),this.toUpdateCloner.clear()}doPendingUpdates(){this.doPendingExpandCloner(),this.doPendingUpdateCloner(),this.applyPendingCommands()}addPendingCommand(e){this.pendingCommands.push(e)}applyPendingCommands(){this.pendingCommands.forEach((e=>e())),this.pendingCommands.length=0}updateByLibOp(e,t){1===e.path.length&&"components"===e.path[0]&&1===e.type&&this.createChildrenObjects([{...e.data.asset,id:e.id}],this.invisibleObjects,t)}updateTreeByOp(e,t){if(0===e.path.length&&7===e.type){let n=null===e.parent?this:this.find(e.parent);if(void 0===n)throw new Error("unexpected");let r=this.createObject(e.id,e.data,e.children,n,e.localIndex,t);r.updateVisible(this),r.resetBBoxNeedsUpdate(),L1(r)&&Y1(r.parent)&&(r.invalidateUpstreamBooleanData(),r.parent.invalidateDownstreamBooleanData().recomputeBoolean()),this.markNeedsRecomputeInstancesForAncessors(n),this.markNeedsRecomputeInstancesForChildren(r),this.markToExpandCloner(r),this.markPenumbraSizeDirty(),r.updatePathSnapping()}else if(0===e.path.length&&8===e.type){let t=this.find(e.id);if(void 0===t)throw new Error("unexpected");this.markToExpandCloner(t),t.resetBBoxNeedsUpdate(),this.unregisterObject(t);let n=t.parent;this.markNeedsRecomputeInstancesForAncessors(n),this.markNeedsRecomputeInstancesForChildren(t),this.markPenumbraSizeDirty(),t.parent.remove(t),Y1(t.parent)&&(t.parent.invalidateUpstreamBooleanData(),t.parent.invalidateDownstreamBooleanData().recomputeBoolean()),L1(t)&&(t.freeBooleanPointer(),n instanceof U1&&n.invalidateDownstreamBooleanData().recomputeBoolean()),t instanceof K6&&t.detachShape(),this.disposeAndUnregisterEntityRecursivelyIfNotReregistered(t),this.pathConstraints.removeDependencies(t.uuid),t.updatePathSnapping()}else if(0===e.path.length&&9===e.type){var n;let t=this.find(e.id);if(void 0===t)throw new Error("unexpected");this.markNeedsRecomputeInstancesForChildren(t);let r=t.parent;this.markNeedsRecomputeInstancesForAncessors(r),null!==(n=t.cloner)&&void 0!==n&&n.resetOnMove(),this.markToExpandCloner(t);let i=null===e.parent?this:this.find(e.parent);if(void 0===i)throw new Error("unexpected");i.add(t),this.markNeedsRecomputeInstancesForAncessors(i),this.markToExpandCloner(t),t.invalidateClonerTransform(t),t.updateVisible(this),t.resetBBoxNeedsUpdate(),this.markPenumbraSizeDirty();let a=e.localIndex;i.children.splice(a,0,i.children.pop()),L1(t)&&(t.invalidateUpstreamBooleanData(),Y1(t.parent)?t.parent.invalidateDownstreamBooleanData().recomputeBoolean():r instanceof U1&&r.invalidateDownstreamBooleanData().recomputeBoolean()),t.updatePathSnapping()}this.markNeedsUpdateRendererDirty(),this.markGeometryCacheDirty()}get playPage(){var e;return null!==(e=this.find(this.data.publish.playPage))&&void 0!==e?e:this.errorPage}updatePage(e){var t;this.activePage&&this.activePage.onDeactive(),this.activePage=this.errorPage;for(let n of this.children)n instanceof Y6&&(n.visible=n.uuid===e,n.visible&&(this.activePage=n,this.activePage.onActive(this)));this.activePage!==(null===(t=this.splatViewer)||void 0===t?void 0:t.activePage)&&this.reloadSplats()}updateEntityByOp(e,t,n,r){if(0===t.type){if(("overrides"in t.props||"component"in t.props)&&this.markNeedsRecomputeInstances(),"visible"in t.props&&this.markPenumbraSizeDirty(),t.path.includes("overrides")&&"states"in t.props){let{rest:e}=t.props;t={...t,props:e},this.markNeedsRecomputeInstances()}"pathSnapping"===t.path[0]&&void 0!==t.props.pathId&&this.pathConstraints.setConstraint(e,t.props.pathId)}let i=this.find(e);if(i)try{(function(e,t,n,r){e.updateByOp(t,n,r,!1)})(i,t,n,{scene:this,shared:r}),i instanceof I0&&i.updateGeometryGroupsIfNeeded()}catch(d){console.error(d)}}updateEntity2DByOp(e,t,n,r,i){let a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[];e.updateEntityByOp(t,n,r,i),this.traverseEntity((e=>{var s;(e instanceof t5||e instanceof Y6)&&(a.includes(null!==(s=e.frameId)&&void 0!==s?s:"")||e.frameId===t)&&e.updateEntity2DByOp(t,n,r,i)}))}get activeCamera(){return this.activePage.activeCamera}switchActiveCamera(e){this.activePage.switchActiveCamera(e)}isInvisibleObjects(e){return e===this.invisibleObjects||e.hasAnccestor(this.invisibleObjects)}init(e,t){let n=Object.entries(t.data.lib.components).map(((e,t)=>({data:e[1].asset.data,children:e[1].asset.children,id:e[0],fi:t})));this.invisibleObjects.updateState(this.invisibleObjects.data,{scene:this,shared:t}),this.add(this.invisibleObjects),this.createChildrenObjects(n,this.invisibleObjects,t),this.createChildrenObjects(e.objects,this,t),this.updatePage(e.publish.playPage),this.activePage.switchToPlayCamera(),this.expandInstances(t,!0),this.traverseEntity((e=>{e instanceof q1&&e.updateUp()})),this.doPendingExpandCloner(),this.applyPendingCommands()}markNeedsRecomputeInstances(){this.needsRecomputeInstances=!0}markNeedsRecomputeInstancesForChildren(e){e.traverseEntity((e=>{("Component"===e.data.type||"Instance"===e.data.type)&&this.markNeedsRecomputeInstances()}))}markNeedsRecomputeInstancesForAncessors(e){EF.is(e)&&("Component"===e.data.type&&this.markNeedsRecomputeInstances(),e.traverseAncestors((e=>{EF.is(e)&&"Component"===e.data.type&&this.markNeedsRecomputeInstances()})))}relativeizeInner(e,t,n,r,i,a,s){if(e){let o=r.find(e);o&&o!==r&&i.forInstancesRec((r=>{r.data=qz(r.data,(i=>{let o=i.events.data(s.id),l=r.goUp(a);if(l){let r=[...IW(l.identity),e].join("-"),i=this.entityIdentityToEntity[r];if(i){let e=i.uuid;Rz.zoom(o,t)[n]=e}else console.warn("cannot find instance")}})).data}))}}rewriteActions(e,t,n,r,i,a){e.forEach((e=>{("Transition"===e.data.type||"Animation"===e.data.type)&&this.relativeizeInner(e.data.object,[...t,e.id],"object",n,r,i,a)}))}rewriteEventsBeforeGoToPlayMode(){this.traverseEntity((e=>{if(e instanceof Q6&&"string"==typeof e.identity&&"Component"===e.data.type)return e.traverseEntity(((t,n)=>{t.data.events.forEach((r=>{if("GameControl"===r.data.type){let i=!1;if(t.forInstancesRec((e=>{e.data=qz(e.data,(t=>{e.isInstanceRoot||(t.events.delete(r.id),i=!0)})).data})),!1===i)for(let a of dL.list)this.rewriteActions(r.data.gameActions[a],["gameActions",a],e,t,n,r)}else"Conditional"===r.data.type?("Distance"===r.data.condition.type?(this.relativeizeInner(r.data.condition.fromObject,["condition"],"fromObject",e,t,n,r),this.relativeizeInner(r.data.condition.toObject,["condition"],"toObject",e,t,n,r)):"State"===r.data.condition.type?this.relativeizeInner(r.data.condition.object,["condition"],"object",e,t,n,r):"Comparison"===r.data.condition.type&&("Property"===r.data.condition.lOperand.type&&this.relativeizeInner(r.data.condition.lOperand.value[0],["condition","lOperand","value"],0,e,t,n,r),"Property"===r.data.condition.rOperand.type&&this.relativeizeInner(r.data.condition.rOperand.value[0],["condition","rOperand","value"],0,e,t,n,r)),this.rewriteActions(r.data.inActions,["inActions"],e,t,n,r),this.rewriteActions(r.data.outActions,["outActions"],e,t,n,r)):"actions"in r.data&&this.rewriteActions(r.data.actions,["actions"],e,t,n,r)}))})),!0}))}expandInstances(e,t,n){let r=new Set;this.traverseEntity((i=>{if(i instanceof Q6&&i.isInstanceRoot)return i.expandInstanceChildren({scene:this,shared:e,pendingDeletes:r}),t||i.resetBBoxNeedsUpdate(),n&&i.traverseEntity((e=>{n.addClip(e)})),!0}));for(let i of r)this.disposeAndUnregisterEntityRecursivelyIfNotReregistered(i),X6(i)}recomputeInstances(e,t){this.needsRecomputeInstances&&(this.needsRecomputeInstances=!1,this.traverseEntity((e=>{e instanceof Q6&&e.isInstanceRoot&&(e.component=void 0)})),this.expandInstances(e,!1,t))}disposeAndUnregisterEntityRecursivelyIfNotReregistered(e){e.traverseEntity((e=>{let t="string"==typeof e.identity?e.identity:e.identity.join("-");this.entityIdentityToEntity[t]===e&&(delete this.entityByUuid[e.uuid],delete this.entityIdentityToEntity[t]),e.dispose()}))}clearScene(){for(let e of this.children)EF.is(e)&&e.disposeRecursively();this.children.length=0}resetAfterClear(e,t){this.init(e,t)}raycast(e){return this.raycast1(e,!1)}raycast1(e,t){let n=[],r=i=>{for(let a of i.children){let i=a.cloner;if(EF.is(a)&&!a.raycastLock&&(a.visible||null!==i&&void 0!==i&&i.object.data.visible))if(!0===t&&a.isInstanceRoot){let t=[];if(e.intersectObject(a,!0,t),t.length){let e=t[0];e.object=a,e.point.applyMatrix4(e.object.matrixWorld);let r=a.matrixWorld.clone().invert();e.point.applyMatrix4(r),n.push(e)}}else(L1(a)||F1(a)&&this.enableHelpers&&a.objectHelper.visible)&&(e.intersectObject(a,!1,n),b5(a,e,n)),r(a)}};return r(this.activePage),n}raycastWithClones(e){let t=[],n=r=>{for(let i of r.children){let r=i.cloner;EF.is(i)&&(i.visible||(null===r||void 0===r?void 0:r.object.data.visible))&&((L1(i)||F1(i)&&this.enableHelpers&&i.objectHelper.visible)&&(e.intersectObject(i,!1,t),b5(i,e,t,!0)),n(i))}};return n(this),t}forEachEntity(e){for(let t of this.children)EF.is(t)&&e(t)}traverseConcreteEntity(e){for(let t of this.children)EF.is(t)&&t.isConcreteEntity&&t.traverseEntity(e)}traverseEntity(e){for(let t of this.children)EF.is(t)&&t.traverseEntity(e)}updateFont(e,t){this.traverseEntity((n=>{if(n instanceof I0&&"Mesh"===n.data.type&&"TextGeometry"===n.data.geometry.type&&n.data.geometry.font===e){let r=n.geometry,i=n.data.geometry;r.updateFont(e,t).then((()=>{r.update(i);let e=n.invalidateDownstreamBooleanData();Y1(e)&&e.recomputeBoolean()}))}}))}traverseObject(e){for(let t of this.children)jF.is(t)&&t.traverseObject(e)}traverseVisibleEntity(e){for(let t of this.children)EF.is(t)&&t.visible&&t.traverseVisibleEntity(e)}dispose(){this.clearScene()}createChildrenObjects(e,t,n){let r=0;for(let i of e)this.createObject(i.id,i.data,i.children,t,r,n),r+=1}registerObjectCreatedInLegacy(e){this.entityByUuid[e.uuid]=e}unregisterObject(e){delete this.entityByUuid[e.uuid];for(let t of e.children)this.unregisterObject(t)}createObject(e,t,n,r,i,a){var s;let o={scene:this,shared:a},l=g5(e,t,o);return l&&(this.entityByUuid[e]=l,r.add(l),r.children.splice(i,0,r.children.pop()),n.length>0&&(l.isInstanceRoot?console.error("instance should not have children!"):this.createChildrenObjects(n,l,a)),l.updateState(t,o),l instanceof I0&&l.updateGeometryGroupsIfNeeded(),l.updateVisible(this),l.cloner&&this.toExpandCloner.add(l),null!==(s=t.pathSnapping)&&void 0!==s&&s.pathId&&this.pathConstraints.setConstraint(e,t.pathSnapping.pathId)),"Empty"===t.type&&t.animations&&l.traverseEntity((e=>{let t=e.dataPatched;if(e instanceof I0&&t.bones&&t.boneInverses){let n=t.bones.map((e=>this.find(e))),r=t.boneInverses.map((e=>(new fP).fromArray(e))),i=new GC(n,r);e.bind(i,e.bindMatrix)}else e.matrixAutoUpdate=!0})),l}getCenter(e){let t=[];for(let r=0,i=e.length;r<i;++r){let{id:n,recursive:i}=e[r],a=this.find(n),s=i?a.recursiveBBox:a.singleBBox;t.push(...s.vertices)}let n=new zM;return n.setFromPoints(t),n.getCenter(s4),s4}copyMatrixWorld(e,t){if(null===e)return void t.identity();let n=this.find(e);n?t.copy(n.matrixWorld):t.identity()}copyParentMatrixWorld(e,t){var n;if(null===e)return void t.identity();let r=null===(n=this.find(e))||void 0===n?void 0:n.parent;r?t.copy(r.matrixWorld):t.identity()}traverseMaterial(e){this.traverseEntity((t=>{if(t instanceof gX)if(Array.isArray(t.material))for(let n=0;n<t.material.length;n++)t.material[n]instanceof e0&&e(t.material[n]);else t.material instanceof e0&&e(t.material)}))}updateViewPlaneSize(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.traverseConcreteEntity((r=>{r instanceof q1&&r.setViewplaneSize(e,t,n)}))}initializeSplatViewer(e){this.splatViewer=new i4({scene:this,renderer:e}),this.reloadSplats()}reloadSplats(){var e;null===(e=this.splatViewer)||void 0===e||e.reloadSplats()}},l4=(e,t)=>{let n=t.x-e.x,r=t.y-e.y;return Math.sqrt(n*n+r*r)},c4=e=>e*(Math.PI/180),d4=e=>e*(180/Math.PI),h4=new Map,u4=e=>{h4.has(e)&&clearTimeout(h4.get(e)),h4.set(e,setTimeout(e,100))},p4=(e,t,n)=>{let r,i=t.split(/[ ,]+/g);for(let a=0;a<i.length;a+=1)r=i[a],e.addEventListener?e.addEventListener(r,n,!1):e.attachEvent&&e.attachEvent(r,n)},f4=(e,t,n)=>{let r,i=t.split(/[ ,]+/g);for(let a=0;a<i.length;a+=1)r=i[a],e.removeEventListener?e.removeEventListener(r,n):e.detachEvent&&e.detachEvent(r,n)},m4=e=>(e.preventDefault(),e.type.match(/^touch/)?e.changedTouches:e),g4=()=>{if(typeof window>"u")return;return{x:void 0!==window.pageXOffset?window.pageXOffset:(document.documentElement||document.body.parentNode||document.body).scrollLeft,y:void 0!==window.pageYOffset?window.pageYOffset:(document.documentElement||document.body.parentNode||document.body).scrollTop}},y4=(e,t)=>{t.top||t.right||t.bottom||t.left?(e.style.top=t.top,e.style.right=t.right,e.style.bottom=t.bottom,e.style.left=t.left):(e.style.left=t.x+"px",e.style.top=t.y+"px")},v4=(e,t,n)=>{let r=x4(e);for(let i in r)if(r.hasOwnProperty(i))if("string"==typeof t)r[i]=t+" "+n;else{let e="";for(let r=0,i=t.length;r<i;r+=1)e+=t[r]+" "+n+", ";r[i]=e.slice(0,-2)}return r},x4=e=>{let t={};return t[e]="",["webkit","Moz","o"].forEach((function(n){t[n+e.charAt(0).toUpperCase()+e.slice(1)]=""})),t},S4=(e,t)=>{for(let n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e},A4=(e,t)=>{if(e.length)for(let n=0,r=e.length;n<r;n+=1)t(e[n]);else t(e)};typeof window<"u"&&(b4="ontouchstart"in window,k4=!!window.PointerEvent,w4=!!window.MSPointerEvent);var b4,k4,w4,j4,M4={start:"mousedown",move:"mousemove",end:"mouseup"},P4={};function O4(){}k4?j4={start:"pointerdown",move:"pointermove",end:"pointerup, pointercancel"}:w4?j4={start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:b4?(j4={start:"touchstart",move:"touchmove",end:"touchend, touchcancel"},P4=M4):j4=M4,O4.prototype.on=function(e,t){var n,r=this,i=e.split(/[ ,]+/g);r._handlers_=r._handlers_||{};for(var a=0;a<i.length;a+=1)n=i[a],r._handlers_[n]=r._handlers_[n]||[],r._handlers_[n].push(t);return r},O4.prototype.off=function(e,t){var n=this;return n._handlers_=n._handlers_||{},void 0===e?n._handlers_={}:void 0===t?n._handlers_[e]=null:n._handlers_[e]&&n._handlers_[e].indexOf(t)>=0&&n._handlers_[e].splice(n._handlers_[e].indexOf(t),1),n},O4.prototype.trigger=function(e,t){var n,r=this,i=e.split(/[ ,]+/g);r._handlers_=r._handlers_||{};for(var a=0;a<i.length;a+=1)n=i[a],r._handlers_[n]&&r._handlers_[n].length&&r._handlers_[n].forEach((function(e){e.call(r,{type:n,target:r},t)}))},O4.prototype.config=function(e){var t=this;t.options=t.defaults||{},e&&(t.options=((e,t)=>{let n={};for(let r in e)e.hasOwnProperty(r)&&t.hasOwnProperty(r)?n[r]=t[r]:e.hasOwnProperty(r)&&(n[r]=e[r]);return n})(t.options,e))},O4.prototype.bindEvt=function(e,t){var n=this;return n._domHandlers_=n._domHandlers_||{},n._domHandlers_[t]=function(){"function"==typeof n["on"+t]?n["on"+t].apply(n,arguments):console.warn('[WARNING] : Missing "on'+t+'" handler.')},p4(e,j4[t],n._domHandlers_[t]),P4[t]&&p4(e,P4[t],n._domHandlers_[t]),n},O4.prototype.unbindEvt=function(e,t){var n=this;return n._domHandlers_=n._domHandlers_||{},f4(e,j4[t],n._domHandlers_[t]),P4[t]&&f4(e,P4[t],n._domHandlers_[t]),delete n._domHandlers_[t],this};var T4=O4;function I4(e,t){return this.identifier=t.identifier,this.position=t.position,this.frontPosition=t.frontPosition,this.collection=e,this.defaults={size:100,threshold:.1,color:"white",fadeTime:250,dataOnly:!1,restJoystick:!0,restOpacity:1,mode:"dynamic",zone:document.body,lockX:!1,lockY:!1,shape:"circle"},this.config(t),"dynamic"===this.options.mode&&(this.options.restOpacity=0),this.id=I4.id,I4.id+=1,this.buildEl().stylize(),this.instance={el:this.ui.el,on:this.on.bind(this),off:this.off.bind(this),show:this.show.bind(this),hide:this.hide.bind(this),add:this.addToDom.bind(this),remove:this.removeFromDom.bind(this),destroy:this.destroy.bind(this),setPosition:this.setPosition.bind(this),resetDirection:this.resetDirection.bind(this),computeDirection:this.computeDirection.bind(this),trigger:this.trigger.bind(this),position:this.position,frontPosition:this.frontPosition,ui:this.ui,identifier:this.identifier,id:this.id,options:this.options},this.instance}I4.prototype=new T4,I4.constructor=I4,I4.id=0,I4.prototype.buildEl=function(e){return this.ui={},this.options.dataOnly||(this.ui.el=document.createElement("div"),this.ui.back=document.createElement("div"),this.ui.front=document.createElement("div"),this.ui.el.className="nipple collection_"+this.collection.id,this.ui.back.className="back",this.ui.front.className="front",this.ui.el.setAttribute("id","nipple_"+this.collection.id+"_"+this.id),this.ui.el.appendChild(this.ui.back),this.ui.el.appendChild(this.ui.front)),this},I4.prototype.stylize=function(){if(this.options.dataOnly)return this;var e=this.options.fadeTime+"ms",t=((e,t)=>{let n=x4(e);for(let r in n)n.hasOwnProperty(r)&&(n[r]=t);return n})("borderRadius","50%"),n=v4("transition","opacity",e),r={};return r.el={position:"absolute",opacity:this.options.restOpacity,display:"block",zIndex:999},r.back={position:"absolute",display:"block",width:this.options.size+"px",height:this.options.size+"px",marginLeft:-this.options.size/2+"px",marginTop:-this.options.size/2+"px",background:"rgba(255, 255, 255, .4)",border:"solid 2px rgba(0, 0, 0, .1)"},r.front={width:this.options.size/2+"px",height:this.options.size/2+"px",position:"absolute",display:"block",marginLeft:-this.options.size/4+"px",marginTop:-this.options.size/4+"px",background:"rgba(255, 255, 255, .8)",border:"solid 2px rgba(0, 0, 0, .1)"},S4(r.el,n),"circle"===this.options.shape&&S4(r.back,t),S4(r.front,t),this.applyStyles(r),this},I4.prototype.applyStyles=function(e){for(var t in this.ui)if(this.ui.hasOwnProperty(t))for(var n in e[t])this.ui[t].style[n]=e[t][n];return this},I4.prototype.addToDom=function(){return this.options.dataOnly||document.body.contains(this.ui.el)||this.options.zone.appendChild(this.ui.el),this},I4.prototype.removeFromDom=function(){return this.options.dataOnly||!document.body.contains(this.ui.el)||this.options.zone.removeChild(this.ui.el),this},I4.prototype.destroy=function(){clearTimeout(this.removeTimeout),clearTimeout(this.showTimeout),clearTimeout(this.restTimeout),this.trigger("destroyed",this.instance),this.removeFromDom(),this.off()},I4.prototype.show=function(e){var t=this;return t.options.dataOnly||(clearTimeout(t.removeTimeout),clearTimeout(t.showTimeout),clearTimeout(t.restTimeout),t.addToDom(),t.restCallback(),setTimeout((function(){t.ui.el.style.opacity=1}),0),t.showTimeout=setTimeout((function(){t.trigger("shown",t.instance),"function"==typeof e&&e.call(this)}),t.options.fadeTime)),t},I4.prototype.hide=function(e){var t=this;if(t.options.dataOnly)return t;if(t.ui.el.style.opacity=t.options.restOpacity,clearTimeout(t.removeTimeout),clearTimeout(t.showTimeout),clearTimeout(t.restTimeout),t.removeTimeout=setTimeout((function(){var n="dynamic"===t.options.mode?"none":"block";t.ui.el.style.display=n,"function"==typeof e&&e.call(t),t.trigger("hidden",t.instance)}),t.options.fadeTime),t.options.restJoystick){let n=t.options.restJoystick,r={};r.x=!0===n||!1!==n.x?0:t.instance.frontPosition.x,r.y=!0===n||!1!==n.y?0:t.instance.frontPosition.y,t.setPosition(e,r)}return t},I4.prototype.setPosition=function(e,t){var n=this;n.frontPosition={x:t.x,y:t.y};var r=n.options.fadeTime+"ms",i={};i.front=v4("transition",["top","left"],r);var a={front:{}};a.front={left:n.frontPosition.x+"px",top:n.frontPosition.y+"px"},n.applyStyles(i),n.applyStyles(a),n.restTimeout=setTimeout((function(){"function"==typeof e&&e.call(n),n.restCallback()}),n.options.fadeTime)},I4.prototype.restCallback=function(){var e=this,t={};t.front=v4("transition","none",""),e.applyStyles(t),e.trigger("rested",e.instance)},I4.prototype.resetDirection=function(){this.direction={x:!1,y:!1,angle:!1}},I4.prototype.computeDirection=function(e){var t,n,r,i=e.angle.radian,a=Math.PI/4,s=Math.PI/2;if(i>a&&i<3*a&&!e.lockX?t="up":i>-a&&i<=a&&!e.lockY?t="left":i>3*-a&&i<=-a&&!e.lockX?t="down":e.lockY||(t="right"),e.lockY||(n=i>-s&&i<s?"left":"right"),e.lockX||(r=i>0?"up":"down"),e.force>this.options.threshold){var o,l={};for(o in this.direction)this.direction.hasOwnProperty(o)&&(l[o]=this.direction[o]);var c={};for(o in this.direction={x:n,y:r,angle:t},e.direction=this.direction,l)l[o]===this.direction[o]&&(c[o]=!0);if(c.x&&c.y&&c.angle)return e;(!c.x||!c.y)&&this.trigger("plain",e),c.x||this.trigger("plain:"+n,e),c.y||this.trigger("plain:"+r,e),c.angle||this.trigger("dir dir:"+t,e)}else this.resetDirection();return e};var C4=I4;function E4(e,t){var n=this;n.nipples=[],n.idles=[],n.actives=[],n.ids=[],n.pressureIntervals={},n.manager=e,n.id=E4.id,E4.id+=1,n.defaults={zone:document.body,multitouch:!1,maxNumberOfNipples:10,mode:"dynamic",position:{top:0,left:0},catchDistance:200,size:100,threshold:.1,color:"white",fadeTime:250,dataOnly:!1,restJoystick:!0,restOpacity:1,lockX:!1,lockY:!1,shape:"circle",dynamicPage:!1,follow:!1},n.config(t),("static"===n.options.mode||"semi"===n.options.mode)&&(n.options.multitouch=!1),n.options.multitouch||(n.options.maxNumberOfNipples=1);let r=getComputedStyle(n.options.zone.parentElement);return r&&"flex"===r.display&&(n.parentIsFlex=!0),n.updateBox(),n.prepareNipples(),n.bindings(),n.begin(),n.nipples}E4.prototype=new T4,E4.constructor=E4,E4.id=0,E4.prototype.prepareNipples=function(){var e=this,t=e.nipples;t.on=e.on.bind(e),t.off=e.off.bind(e),t.options=e.options,t.destroy=e.destroy.bind(e),t.ids=e.ids,t.id=e.id,t.processOnMove=e.processOnMove.bind(e),t.processOnEnd=e.processOnEnd.bind(e),t.get=function(e){if(void 0===e)return t[0];for(var n=0,r=t.length;n<r;n+=1)if(t[n].identifier===e)return t[n];return!1}},E4.prototype.bindings=function(){var e=this;e.bindEvt(e.options.zone,"start"),e.options.zone.style.touchAction="none",e.options.zone.style.msTouchAction="none"},E4.prototype.begin=function(){var e=this,t=e.options;if("static"===t.mode){var n=e.createNipple(t.position,e.manager.getIdentifier());n.add(),e.idles.push(n)}},E4.prototype.createNipple=function(e,t){var n=this,r=n.manager.scroll,i={},a=n.options,s=n.parentIsFlex?r.x:r.x+n.box.left,o=n.parentIsFlex?r.y:r.y+n.box.top;if(e.x&&e.y)i={x:e.x-s,y:e.y-o};else if(e.top||e.right||e.bottom||e.left){var l=document.createElement("DIV");l.style.display="hidden",l.style.top=e.top,l.style.right=e.right,l.style.bottom=e.bottom,l.style.left=e.left,l.style.position="absolute",a.zone.appendChild(l);var c=l.getBoundingClientRect();a.zone.removeChild(l),i=e,e={x:c.left+r.x,y:c.top+r.y}}var d=new C4(n,{color:a.color,size:a.size,threshold:a.threshold,fadeTime:a.fadeTime,dataOnly:a.dataOnly,restJoystick:a.restJoystick,restOpacity:a.restOpacity,mode:a.mode,identifier:t,position:e,zone:a.zone,frontPosition:{x:0,y:0},shape:a.shape});return a.dataOnly||(y4(d.ui.el,i),y4(d.ui.front,d.frontPosition)),n.nipples.push(d),n.trigger("added "+d.identifier+":added",d),n.manager.trigger("added "+d.identifier+":added",d),n.bindNipple(d),d},E4.prototype.updateBox=function(){this.box=this.options.zone.getBoundingClientRect()},E4.prototype.bindNipple=function(e){var t,n=this,r=function(e,r){t=e.type+" "+r.id+":"+e.type,n.trigger(t,r)};e.on("destroyed",n.onDestroyed.bind(n)),e.on("shown hidden rested dir plain",r),e.on("dir:up dir:right dir:down dir:left",r),e.on("plain:up plain:right plain:down plain:left",r)},E4.prototype.pressureFn=function(e,t,n){var r=this,i=0;clearInterval(r.pressureIntervals[n]),r.pressureIntervals[n]=setInterval(function(){var n=e.force||e.pressure||e.webkitForce||0;n!==i&&(t.trigger("pressure",n),r.trigger("pressure "+t.identifier+":pressure",n),i=n)}.bind(r),100)},E4.prototype.onstart=function(e){var t=this,n=t.options,r=e;e=m4(e),t.updateBox();return A4(e,(function(i){t.actives.length<n.maxNumberOfNipples?t.processOnStart(i):r.type.match(/^touch/)&&(Object.keys(t.manager.ids).forEach((function(n){if(Object.values(r.touches).findIndex((function(e){return e.identifier===n}))<0){var i=[e[0]];i.identifier=n,t.processOnEnd(i)}})),t.actives.length<n.maxNumberOfNipples&&t.processOnStart(i))})),t.manager.bindDocument(),!1},E4.prototype.processOnStart=function(e){var t,n=this,r=n.options,i=n.manager.getIdentifier(e),a=e.force||e.pressure||e.webkitForce||0,s={x:e.pageX,y:e.pageY},o=n.getOrCreate(i,s);o.identifier!==i&&n.manager.removeIdentifier(o.identifier),o.identifier=i;var l=function(t){t.trigger("start",t),n.trigger("start "+t.id+":start",t),t.show(),a>0&&n.pressureFn(e,t,t.identifier),n.processOnMove(e)};if((t=n.idles.indexOf(o))>=0&&n.idles.splice(t,1),n.actives.push(o),n.ids.push(o.identifier),"semi"!==r.mode)l(o);else{if(!(l4(s,o.position)<=r.catchDistance))return o.destroy(),void n.processOnStart(e);l(o)}return o},E4.prototype.getOrCreate=function(e,t){var n,r=this,i=r.options;return/(semi|static)/.test(i.mode)?(n=r.idles[0])?(r.idles.splice(0,1),n):"semi"===i.mode?r.createNipple(t,e):(console.warn("Coudln't find the needed nipple."),!1):n=r.createNipple(t,e)},E4.prototype.processOnMove=function(e){var t=this,n=t.options,r=t.manager.getIdentifier(e),i=t.nipples.get(r),a=t.manager.scroll;if((e=>isNaN(e.buttons)?0!==e.pressure:0!==e.buttons)(e)){if(!i)return console.error("Found zombie joystick with ID "+r),void t.manager.removeIdentifier(r);if(n.dynamicPage){var s=i.el.getBoundingClientRect();i.position={x:a.x+s.left,y:a.y+s.top}}i.identifier=r;var o=i.options.size/2,l={x:e.pageX,y:e.pageY};n.lockX&&(l.y=i.position.y),n.lockY&&(l.x=i.position.x);var c,d,h=l4(l,i.position),u=((e,t)=>{let n=t.x-e.x,r=t.y-e.y;return d4(Math.atan2(r,n))})(l,i.position),p=c4(u),f=h/o,m={distance:h,position:l};if("circle"===i.options.shape?(c=Math.min(h,o),d=((e,t,n)=>{let r={x:0,y:0};return n=c4(n),r.x=e.x-t*Math.cos(n),r.y=e.y-t*Math.sin(n),r})(i.position,c,u)):(d=((e,t,n)=>({x:Math.min(Math.max(e.x,t.x-n),t.x+n),y:Math.min(Math.max(e.y,t.y-n),t.y+n)}))(l,i.position,o),c=l4(d,i.position)),n.follow){if(h>o){let e=l.x-d.x,n=l.y-d.y;i.position.x+=e,i.position.y+=n,i.el.style.top=i.position.y-(t.box.top+a.y)+"px",i.el.style.left=i.position.x-(t.box.left+a.x)+"px",h=l4(l,i.position)}}else l=d,h=c;var g=l.x-i.position.x,y=l.y-i.position.y;i.frontPosition={x:g,y:y},n.dataOnly||y4(i.ui.front,i.frontPosition);var v={identifier:i.identifier,position:l,force:f,pressure:e.force||e.pressure||e.webkitForce||0,distance:h,angle:{radian:p,degree:u},vector:{x:g/o,y:-y/o},raw:m,instance:i,lockX:n.lockX,lockY:n.lockY};(v=i.computeDirection(v)).angle={radian:c4(180-u),degree:180-u},i.trigger("move",v),t.trigger("move "+i.id+":move",v)}else this.processOnEnd(e)},E4.prototype.processOnEnd=function(e){var t=this,n=t.options,r=t.manager.getIdentifier(e),i=t.nipples.get(r),a=t.manager.removeIdentifier(i.identifier);!i||(n.dataOnly||i.hide((function(){"dynamic"===n.mode&&(i.trigger("removed",i),t.trigger("removed "+i.id+":removed",i),t.manager.trigger("removed "+i.id+":removed",i),i.destroy())})),clearInterval(t.pressureIntervals[i.identifier]),i.resetDirection(),i.trigger("end",i),t.trigger("end "+i.id+":end",i),t.ids.indexOf(i.identifier)>=0&&t.ids.splice(t.ids.indexOf(i.identifier),1),t.actives.indexOf(i)>=0&&t.actives.splice(t.actives.indexOf(i),1),/(semi|static)/.test(n.mode)?t.idles.push(i):t.nipples.indexOf(i)>=0&&t.nipples.splice(t.nipples.indexOf(i),1),t.manager.unbindDocument(),/(semi|static)/.test(n.mode)&&(t.manager.ids[a.id]=a.identifier))},E4.prototype.onDestroyed=function(e,t){var n=this;n.nipples.indexOf(t)>=0&&n.nipples.splice(n.nipples.indexOf(t),1),n.actives.indexOf(t)>=0&&n.actives.splice(n.actives.indexOf(t),1),n.idles.indexOf(t)>=0&&n.idles.splice(n.idles.indexOf(t),1),n.ids.indexOf(t.identifier)>=0&&n.ids.splice(n.ids.indexOf(t.identifier),1),n.manager.removeIdentifier(t.identifier),n.manager.unbindDocument()},E4.prototype.destroy=function(){var e=this;for(var t in e.unbindEvt(e.options.zone,"start"),e.nipples.forEach((function(e){e.destroy()})),e.pressureIntervals)e.pressureIntervals.hasOwnProperty(t)&&clearInterval(e.pressureIntervals[t]);e.trigger("destroyed",e.nipples),e.manager.unbindDocument(),e.off()};var V4=E4;function R4(e){var t=this;t.ids={},t.index=0,t.collections=[],t.scroll=g4(),t.config(e),t.prepareCollections();var n=function(){var e;t.collections.forEach((function(n){n.forEach((function(n){e=n.el.getBoundingClientRect(),n.position={x:t.scroll.x+e.left,y:t.scroll.y+e.top}}))}))};if(typeof window>"u")return t.collections;p4(window,"resize",(function(){u4(n)}));var r=function(){t.scroll=g4()};return p4(window,"scroll",(function(){u4(r)})),t.collections}R4.prototype=new T4,R4.constructor=R4,R4.prototype.prepareCollections=function(){var e=this;e.collections.create=e.create.bind(e),e.collections.on=e.on.bind(e),e.collections.off=e.off.bind(e),e.collections.destroy=e.destroy.bind(e),e.collections.get=function(t){var n;return e.collections.every((function(e){return!(n=e.get(t))})),n}},R4.prototype.create=function(e){return this.createCollection(e)},R4.prototype.createCollection=function(e){var t=this,n=new V4(t,e);return t.bindCollection(n),t.collections.push(n),n},R4.prototype.bindCollection=function(e){var t,n=this,r=function(e,r){t=e.type+" "+r.id+":"+e.type,n.trigger(t,r)};e.on("destroyed",n.onDestroyed.bind(n)),e.on("shown hidden rested dir plain",r),e.on("dir:up dir:right dir:down dir:left",r),e.on("plain:up plain:right plain:down plain:left",r)},R4.prototype.bindDocument=function(){var e=this;e.binded||(e.bindEvt(document,"move").bindEvt(document,"end"),e.binded=!0)},R4.prototype.unbindDocument=function(e){var t=this;(!Object.keys(t.ids).length||!0===e)&&(t.unbindEvt(document,"move").unbindEvt(document,"end"),t.binded=!1)},R4.prototype.getIdentifier=function(e){var t;return e?void 0===(t=void 0===e.identifier?e.pointerId:e.identifier)&&(t=this.latest||0):t=this.index,void 0===this.ids[t]&&(this.ids[t]=this.index,this.index+=1),this.latest=t,this.ids[t]},R4.prototype.removeIdentifier=function(e){var t={};for(var n in this.ids)if(this.ids[n]===e){t.id=n,t.identifier=this.ids[n],delete this.ids[n];break}return t},R4.prototype.onmove=function(e){return this.onAny("move",e),!1},R4.prototype.onend=function(e){return this.onAny("end",e),!1},R4.prototype.oncancel=function(e){return this.onAny("end",e),!1},R4.prototype.onAny=function(e,t){var n,r=this,i="processOn"+e.charAt(0).toUpperCase()+e.slice(1);t=m4(t);var a=function(e,t,n){n.ids.indexOf(t)>=0&&(n[i](e),e._found_=!0)};return A4(t,(function(e){n=r.getIdentifier(e),A4(r.collections,a.bind(null,e,n)),e._found_||r.removeIdentifier(n)})),!1},R4.prototype.destroy=function(){var e=this;e.unbindDocument(!0),e.ids={},e.index=0,e.collections.forEach((function(e){e.destroy()})),e.off()},R4.prototype.onDestroyed=function(e,t){var n=this;if(n.collections.indexOf(t)<0)return!1;n.collections.splice(n.collections.indexOf(t),1)};var D4=new R4,B4=function(e){return D4.create(e)},G4=new Map,q4=new Map,H4=class{constructor(e,t,n,r){this.data=t;let{audio:i,volume:a,delay:s,loop:o}=t;if(!i)throw new Error("Missing property");let l="string"==typeof i?r.getAudio(i).src:i.data;this.audioPlayer=new c0({src:l,volume:a,delay:s,loop:o}),q4.has(n.uuid)?q4.get(n.uuid).push(this):q4.set(n.uuid,[this]),G4.set(e,this)}playByToggle(){"stop"===this.data.toggle?"playing"===this.audioPlayer.status?this.audioPlayer.stop():(this.audioPlayer.stop(),this.audioPlayer.play()):"pause"===this.data.toggle?"playing"===this.audioPlayer.status?this.audioPlayer.pause():this.audioPlayer.play():(this.audioPlayer.stop(),this.audioPlayer.play())}dispose(){this.audioPlayer.stop()}},W4=class{constructor(e){this.data=e}dispatch(){this.data.playAudio?this.pauseAudio(this.data.playAudio):this.data.object?this.pauseAllAudiosFromObject(this.data.object):this.pauseAllAudios()}pauseAudio(e){let t=G4.get(e);!t||(this.data.delay>0?(this.disposeDelay(),this.timeoutId=window.setTimeout((()=>{t.audioPlayer[this.data.interaction](),this.disposeDelay()}),this.data.delay)):t.audioPlayer[this.data.interaction]())}pauseAllAudiosFromObject(e){let t=q4.get(e);null===t||void 0===t||!t.length||(this.data.delay>0?(this.disposeDelay(),this.timeoutId=window.setTimeout((()=>{t.forEach((e=>e.audioPlayer[this.data.interaction]())),this.disposeDelay()}),this.data.delay)):t.forEach((e=>e.audioPlayer[this.data.interaction]())))}pauseAllAudios(){let e=[...q4.values()];!e.length||(this.data.delay>0?(this.disposeDelay(),this.timeoutId=window.setTimeout((()=>{e.forEach((e=>{e.forEach((e=>{e.audioPlayer[this.data.interaction]()}))})),this.disposeDelay()}),this.data.delay)):e.forEach((e=>{e.forEach((e=>{e.audioPlayer[this.data.interaction]()}))})))}disposeDelay(){clearTimeout(this.timeoutId),delete this.timeoutId}dispose(){clearTimeout(this.timeoutId),delete this.timeoutId}},z4=class{constructor(e,t,n,r,i){if(this.data=t,this.shared=r,this.condition=i,"play"===t.interaction)this.interaction=new H4(e,t,n,r);else{if("pause"!==t.interaction&&"stop"!==t.interaction)throw new Error("Missing property");this.interaction=new W4(t)}}dispatchBasic(){if(!1===N7(this.shared,this.condition))return!1;this.interaction instanceof H4?this.interaction.playByToggle():this.interaction.dispatch()}dispatchConditional(){if(!1===N7(this.shared,this.condition))return!1;this.interaction instanceof H4?this.interaction.audioPlayer.play():this.interaction.dispatch()}dispatchGameControl(e){if(!1===N7(this.shared,this.condition))return!1;this.interaction instanceof H4&&("start"===e?this.interaction.audioPlayer.play():this.interaction.audioPlayer.stop())}dispose(){this.interaction.dispose()}},J4=class{constructor(e,t,n,r){this.data=e,this.page=t,this.shared=n,this.condition=r,this.delay=0,this.emission=e.emission,void 0!==e.delay&&(this.delay=e.delay),this.particleSystem=this.page.scene.find(this.data.emitterObjectId)}toggleEmitting(){this.particleSystem.started&&!this.particleSystem.stopped?this.stop():this.start(this.delay)}toggleFroze(){this.particleSystem.started&&!this.particleSystem.isFrozen?this.freeze():this.unFreeze()}start(){(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0)?this.delayTimerId=window.setTimeout((()=>{this.start(0),this.clearDelay()}),this.delay):this.particleSystem.start()}stop(){this.particleSystem.stop(),this.clearDelay()}freeze(){this.particleSystem.froze(),this.clearDelay()}unFreeze(){this.particleSystem.unFroze(),this.clearDelay()}reset(){this.particleSystem.reset(),this.clearDelay()}reverseFromCurrent(){switch(this.emission){case"emitToggle":this.toggleEmitting();break;case"pauseToggle":this.toggleFroze()}}dispatchBasic(){if(!1===N7(this.shared,this.condition)||!this.particleSystem)return!1;switch(this.emission){case"start":this.start(this.delay);break;case"emitToggle":this.toggleEmitting();break;case"pause":this.freeze();break;case"pauseToggle":this.toggleFroze();break;case"stop":this.stop();break;case"reset":this.reset()}}dispatchConditional(){if(!1===N7(this.shared,this.condition)||!this.particleSystem)return!1;switch(this.emission){case"start":this.particleSystem.start();break;case"stop":this.particleSystem.stop();break;case"reset":this.particleSystem.reset()}}dispatchGameControl(e){if(!1===N7(this.shared,this.condition)||!this.particleSystem)return!1;"start"===e?this.particleSystem.start():this.particleSystem.stop()}dispose(){!this.particleSystem||(this.particleSystem.reset(),this.clearDelay())}clearDelay(){this.delayTimerId&&(clearTimeout(this.delayTimerId),delete this.delayTimerId)}},U4=(e,t)=>t.some((t=>t instanceof RegExp?t.test(e):t===e));function N4(e,t){if(t={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...t},e=e.trim(),/^data:/i.test(e))return((e,t)=>{let{stripHash:n}=t,r=/^data:(?<type>[^,]*?),(?<data>[^#]*?)(?:#(?<hash>.*))?$/.exec(e);if(!r)throw new Error("Invalid URL: ".concat(e));let{type:i,data:a,hash:s}=r.groups,o=i.split(";");s=n?"":s;let l=!1;"base64"===o[o.length-1]&&(o.pop(),l=!0);let c=(o.shift()||"").toLowerCase(),d=[...o.map((e=>{let[t,n=""]=e.split("=").map((e=>e.trim()));return"charset"===t&&(n=n.toLowerCase(),"us-ascii"===n)?"":"".concat(t).concat(n?"=".concat(n):"")})).filter(Boolean)];return l&&d.push("base64"),(d.length>0||c&&"text/plain"!==c)&&d.unshift(c),"data:".concat(d.join(";"),",").concat(l?a.trim():a).concat(s?"#".concat(s):"")})(e,t);if(/^view-source:/i.test(e))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let n=e.startsWith("//");!n&&/^\.*\//.test(e)||(e=e.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,t.defaultProtocol));let r=new URL(e);if(t.forceHttp&&t.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(t.forceHttp&&"https:"===r.protocol&&(r.protocol="http:"),t.forceHttps&&"http:"===r.protocol&&(r.protocol="https:"),t.stripAuthentication&&(r.username="",r.password=""),t.stripHash?r.hash="":t.stripTextFragment&&(r.hash=r.hash.replace(/#?:~:text.*?$/i,"")),r.pathname){let e=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,t=0,n="";for(;;){let i=e.exec(r.pathname);if(!i)break;let a=i[0],s=i.index;n+=r.pathname.slice(t,s).replace(/\/{2,}/g,"/"),n+=a,t=s+a.length}n+=r.pathname.slice(t,r.pathname.length).replace(/\/{2,}/g,"/"),r.pathname=n}if(r.pathname)try{r.pathname=decodeURI(r.pathname)}catch{}if(!0===t.removeDirectoryIndex&&(t.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(t.removeDirectoryIndex)&&t.removeDirectoryIndex.length>0){let e=r.pathname.split("/"),n=e[e.length-1];U4(n,t.removeDirectoryIndex)&&(e=e.slice(0,-1),r.pathname=e.slice(1).join("/")+"/")}if(r.hostname&&(r.hostname=r.hostname.replace(/\.$/,""),t.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(r.hostname)&&(r.hostname=r.hostname.replace(/^www\./,""))),Array.isArray(t.removeQueryParameters))for(let a of[...r.searchParams.keys()])U4(a,t.removeQueryParameters)&&r.searchParams.delete(a);if(!0===t.removeQueryParameters&&(r.search=""),t.sortQueryParameters){r.searchParams.sort();try{r.search=decodeURIComponent(r.search)}catch{}}t.removeTrailingSlash&&(r.pathname=r.pathname.replace(/\/$/,""));let i=e;return e=r.toString(),!t.removeSingleSlash&&"/"===r.pathname&&!i.endsWith("/")&&""===r.hash&&(e=e.replace(/\/$/,"")),(t.removeTrailingSlash||"/"===r.pathname)&&""===r.hash&&t.removeSingleSlash&&(e=e.replace(/\/$/,"")),n&&!t.normalizeProtocol&&(e=e.replace(/^http:\/\//,"//")),t.stripProtocol&&(e=e.replace(/^(?:https?:)?\/\//,"")),e}var L4=class{constructor(e,t,n,r){let{url:i,context:a}=e;if(this.controlsManager=t,this.shared=n,this.condition=r,!i)throw new Error("Missing property");this.url=i.startsWith("mailto:")?i:N4(i,{removeTrailingSlash:!1,removeSingleSlash:!1}),this.context=null!==a&&void 0!==a?a:"tab"}dispatch(){var e;if(!1===N7(this.shared,this.condition))return!1;jW?window.location.assign(this.url):("tab"===this.context?window.open(this.url,"_blank"):"window"===this.context?window.open(this.url,"_blank","width=".concat(window.innerWidth,", height=").concat(window.innerHeight)):window.open(this.url,"_parent"),null!==(e=this.controlsManager.orbitControls)&&void 0!==e&&e.onPointerUp(VW[0]),VW.splice(0,VW.length))}},Y4=class{constructor(e,t,n,r,i){this.data=e,this.page=t,this.controlsManager=n,this.shared=r,this.condition=i,this.timeoutIdQueue=[],this.dispatchInner=()=>{this.objects.forEach(this.destroyCallback)},this.destroyCallback=e=>{var t;this.timeoutIdQueue.shift();let n=this.page.scene.find(e);if(void 0===n)return;let r=this.controlsManager.sharedGameControlGlobals.rapierWorld,i=!r||(null===(t=n.dataPatched.physics)||void 0===t?void 0:t.fusedBody);if(n.cloner){for(let e of n.cloner.children){var a;i?(e.playModeVisible=!1,e.rigidBody&&"positioned"===(null===(a=n.dataPatched.physics)||void 0===a?void 0:a.rigidBody)&&(this.controlsManager.sharedGameControlGlobals.colliderToEntity.delete(e.rigidBody.collider(0).handle),r.removeRigidBody(e.rigidBody),e.rigidBody=void 0),e.bvhGeometry&&(e.bvhGeometry=void 0)):void 0===this.clone||this.clone===e?(e.playModeVisible=!1,e.rigidBody&&(this.controlsManager.sharedGameControlGlobals.colliderToEntity.delete(e.rigidBody.collider(0).handle),r.removeRigidBody(e.rigidBody),e.rigidBody=void 0)):void 0===e.playModeVisible&&(e.playModeVisible=!0)}(i||void 0===this.clone||!1===this.clone)&&(n.visible=!1,n.rigidBody&&(this.controlsManager.sharedGameControlGlobals.colliderToEntity.delete(n.rigidBody.collider(0).handle),r.removeRigidBody(n.rigidBody),n.rigidBody=void 0),n.bvhGeometry&&(n.bvhGeometry=void 0))}else n.rigidBody&&(this.controlsManager.sharedGameControlGlobals.colliderToEntity.delete(n.rigidBody.collider(0).handle),r.removeRigidBody(n.rigidBody),n.rigidBody=void 0),n.bvhGeometry&&(n.bvhGeometry=void 0),n.visible=!1;this.controlsManager.sharedGameControlGlobals.entitiesWithTransformAnim=void 0===r?this.controlsManager.sharedGameControlGlobals.entitiesWithTransformAnim.filter((e=>void 0!==e.bvhGeometry)):this.controlsManager.sharedGameControlGlobals.entitiesWithTransformAnim.filter((e=>void 0!==e.rigidBody)),n.destroyedInAction=!0,this.controlsManager.requestRender()},this.objects=[...e.objects]}dispatch(e){if(!1===N7(this.shared,this.condition))return!1;this.clone=e,this.data.delay?this.timeoutIdQueue.push(window.setTimeout(this.dispatchInner,1e3*this.data.delay)):this.dispatchInner()}dispatchFromStart(){if(!1===N7(this.shared,this.condition))return!1;this.timeoutIdQueue.push(window.setTimeout(this.dispatchInner,1e3*this.data.delay))}dispose(){this.timeoutIdQueue.forEach((e=>window.clearTimeout(e)))}},F4=class{constructor(e,t,n,r,i){this.data=e,this.page=t,this.shared=n,this.eventManager=r,this.condition=i,this.shared=n}dispatch(){var e;if(!1===N7(this.shared,this.condition))return!1;clearTimeout(this.timeoutId),delete this.timeoutId,this.timeoutId=window.setTimeout((()=>{var e;this.shared.reset(this.shared.data,!0),M7(this.page,this.shared,!0),this.eventManager.reset(),null!==(e=this.eventManager.controlsManager.gameControl)&&void 0!==e&&e.reset(!0),this.page.switchToPlayCamera(),this.eventManager.controlsManager.requestRender(),delete this.timeoutId}),1e3*(null!==(e=this.data.delay)&&void 0!==e?e:0))}dispose(){clearTimeout(this.timeoutId),delete this.timeoutId}},Z4={update:null,begin:null,loopBegin:null,changeBegin:null,change:null,changeComplete:null,timelineChangeComplete:null,loopComplete:null,complete:null,loop:1,direction:"normal",autoplay:!0,timelineOffset:0,rewind:!0},K4={duration:1e3,delay:0,endDelay:0,startOnceDelay:0,pingPongDelayCorrection:0,pingPongEndDelayCorrection:0,easing:"easeOutElastic(1, .5)",round:0},Q4=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skew","skewX","skewY","perspective","matrix","matrix3d"],X4={CSS:{},springs:{}};function _4(e,t,n){return Math.min(Math.max(e,t),n)}function $4(e,t){return e.indexOf(t)>-1}function e9(e,t){return e.apply(null,t)}var t9={arr:function(e){return Array.isArray(e)},obj:function(e){return $4(Object.prototype.toString.call(e),"Object")},pth:function(e){return t9.obj(e)&&e.hasOwnProperty("totalLength")},svg:function(e){return e instanceof SVGElement},inp:function(e){return e instanceof HTMLInputElement},dom:function(e){return!("isNode"in e)&&(e.nodeType||t9.svg(e))},str:function(e){return"string"==typeof e},fnc:function(e){return"function"==typeof e},und:function(e){return typeof e>"u"},hex:function(e){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(e)},rgb:function(e){return/^rgb/.test(e)},hsl:function(e){return/^hsl/.test(e)},col:function(e){return t9.hex(e)||t9.rgb(e)||t9.hsl(e)},key:function(e){return!Z4.hasOwnProperty(e)&&!K4.hasOwnProperty(e)&&"targets"!==e&&"keyframes"!==e}};function n9(e){var t=/\(([^)]+)\)/.exec(e);return t?t[1].split(",").map((function(e){return parseFloat(e)})):[]}function r9(e,t){var n=n9(e),r=_4(t9.und(n[0])?1:n[0],.1,100),i=_4(t9.und(n[1])?100:n[1],.1,100),a=_4(t9.und(n[2])?10:n[2],.1,100),s=_4(t9.und(n[3])?0:n[3],.1,100),o=Math.sqrt(i/r),l=a/(2*Math.sqrt(i*r)),c=l<1?o*Math.sqrt(1-l*l):0,d=1,h=l<1?(l*o-s)/c:-s+o;function u(e){var n=t?t*e/1e3:e;return n=l<1?Math.exp(-n*l*o)*(d*Math.cos(c*n)+h*Math.sin(c*n)):(d+h*n)*Math.exp(-n*o),0===e||1===e?e:1-n}return t?u:function(){var t=X4.springs[e];if(t)return t;for(var n=1/6,r=0,i=0;;)if(1===u(r+=n)){if(++i>=16)break}else i=0;var a=r*n*1e3;return X4.springs[e]=a,a}}function i9(e){return void 0===e&&(e=10),function(t){return Math.ceil(_4(t,1e-6,1)*e)*(1/e)}}var a9=function(){var e=.1;function t(e,t){return 1-3*t+3*e}function n(e,t){return 3*t-6*e}function r(e){return 3*e}function i(e,i,a){return((t(i,a)*e+n(i,a))*e+r(i))*e}function a(e,i,a){return 3*t(i,a)*e*e+2*n(i,a)*e+r(i)}return function(t,n,r,s){if(0<=t&&t<=1&&0<=r&&r<=1){var o=new Float32Array(11);if(t!==n||r!==s)for(var l=0;l<11;++l)o[l]=i(l*e,t,r);return function(e){return t===n&&r===s||0===e||1===e?e:i(c(e),n,s)}}function c(n){for(var s=0,l=1;10!==l&&o[l]<=n;++l)s+=e;--l;var c=s+(n-o[l])/(o[l+1]-o[l])*e,d=a(c,t,r);return d>=.001?function(e,t,n,r){for(var s=0;s<4;++s){var o=a(t,n,r);if(0===o)return t;t-=(i(t,n,r)-e)/o}return t}(n,c,t,r):0===d?c:function(e,t,n,r,a){var s,o,l=0;do{(s=i(o=t+(n-t)/2,r,a)-e)>0?n=o:t=o}while(Math.abs(s)>1e-7&&++l<10);return o}(n,s,s+e,t,r)}}}(),s9=function(){var e={linear:function(){return function(e){return e}}},t={Sine:function(){return function(e){return 1-Math.cos(e*Math.PI/2)}},Circ:function(){return function(e){return 1-Math.sqrt(1-e*e)}},Back:function(){return function(e){return e*e*(3*e-2)}},Bounce:function(){return function(e){for(var t,n=4;e<((t=Math.pow(2,--n))-1)/11;);return 1/Math.pow(4,3-n)-7.5625*Math.pow((3*t-2)/22-e,2)}},Elastic:function(e,t){void 0===e&&(e=1),void 0===t&&(t=.5);var n=_4(e,1,10),r=_4(t,.1,2);return function(e){return 0===e||1===e?e:-n*Math.pow(2,10*(e-1))*Math.sin((e-1-r/(2*Math.PI)*Math.asin(1/n))*(2*Math.PI)/r)}}};return["Quad","Cubic","Quart","Quint","Expo"].forEach((function(e,n){t[e]=function(){return function(e){return Math.pow(e,n+2)}}})),Object.keys(t).forEach((function(n){var r=t[n];e["easeIn"+n]=r,e["easeOut"+n]=function(e,t){return function(n){return 1-r(e,t)(1-n)}},e["easeInOut"+n]=function(e,t){return function(n){return n<.5?r(e,t)(2*n)/2:1-r(e,t)(-2*n+2)/2}}})),e}();function o9(e,t){if(t9.fnc(e))return e;var n=e.split("(")[0],r=s9[n],i=n9(e);switch(n){case"spring":return r9(e,t);case"cubicBezier":return e9(a9,i);case"steps":return e9(i9,i);default:return e9(r,i)}}function l9(e){try{return document.querySelectorAll(e)}catch{return}}function c9(e,t){for(var n=e.length,r=arguments.length>=2?arguments[1]:void 0,i=[],a=0;a<n;a++)if(a in e){var s=e[a];t.call(r,s,a,e)&&i.push(s)}return i}function d9(e){return e.reduce((function(e,t){return e.concat(t9.arr(t)?d9(t):t)}),[])}function h9(e){return t9.arr(e)?e:(t9.str(e)&&(e=l9(e)||e),e instanceof NodeList||e instanceof HTMLCollection?[].slice.call(e):[e])}function u9(e,t){return e.some((function(e){return e===t}))}function p9(e){var t={};for(var n in e)t[n]=e[n];return t}function f9(e,t){var n=p9(e);for(var r in e)n[r]=t.hasOwnProperty(r)?t[r]:e[r];return n}function m9(e,t){var n=p9(e);for(var r in t)n[r]=t9.und(e[r])?t[r]:e[r];return n}function g9(e){return t9.rgb(e)?function(e){var t=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(e);return t?"rgba("+t[1]+",1)":e}(e):t9.hex(e)?function(e){var t=e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(function(e,t,n,r){return t+t+n+n+r+r})),n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return"rgba("+parseInt(n[1],16)+","+parseInt(n[2],16)+","+parseInt(n[3],16)+",1)"}(e):t9.hsl(e)?function(e){var t,n,r,i=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(e)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(e),a=parseInt(i[1],10)/360,s=parseInt(i[2],10)/100,o=parseInt(i[3],10)/100,l=i[4]||1;function c(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}if(0==s)t=n=r=o;else{var d=o<.5?o*(1+s):o+s-o*s,h=2*o-d;t=c(h,d,a+1/3),n=c(h,d,a),r=c(h,d,a-1/3)}return"rgba("+255*t+","+255*n+","+255*r+","+l+")"}(e):void 0}function y9(e){var t=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(e);if(t)return t[1]}function v9(e,t){return t9.fnc(e)?e(t.target,t.id,t.total):e}function x9(e,t){return e.getAttribute(t)}function S9(e,t,n){if(u9([n,"deg","rad","turn"],y9(t)))return t;var r=X4.CSS[t+n];if(!t9.und(r))return r;var i=document.createElement(e.tagName),a=e.parentNode&&e.parentNode!==document?e.parentNode:document.body;a.appendChild(i),i.style.position="absolute",i.style.width=100+n;var s=100/i.offsetWidth;a.removeChild(i);var o=s*parseFloat(t);return X4.CSS[t+n]=o,o}function A9(e,t,n){if(t in e.style){var r=t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),i=e.style[t]||getComputedStyle(e).getPropertyValue(r)||"0";return n?S9(e,i,n):i}}function b9(e,t){return t9.dom(e)&&!t9.inp(e)&&(x9(e,t)||t9.svg(e)&&e[t])?"attribute":t9.dom(e)&&u9(Q4,t)?"transform":t9.dom(e)&&"transform"!==t&&A9(e,t)?"css":null!=e[t]?"object":void 0}function k9(e){if(t9.dom(e)){for(var t,n=e.style.transform||"",r=/(\w+)\(([^)]*)\)/g,i=new Map;t=r.exec(n);)i.set(t[1],t[2]);return i}}function w9(e,t,n,r){var i=$4(t,"scale")?1:0+function(e){return $4(e,"translate")||"perspective"===e?"px":$4(e,"rotate")||$4(e,"skew")?"deg":void 0}(t),a=k9(e).get(t)||i;return n&&(n.transforms.list.set(t,a),n.transforms.last=t),r?S9(e,a,r):a}function j9(e,t,n,r){switch(b9(e,t)){case"transform":return w9(e,t,r,n);case"css":return A9(e,t,n);case"attribute":return x9(e,t);default:return e[t]||0}}function M9(e,t){var n=/^(\*=|\+=|-=)/.exec(e);if(!n)return e;var r=y9(e)||0,i=parseFloat(t),a=parseFloat(e.replace(n[0],""));switch(n[0][0]){case"+":return i+a+r;case"-":return i-a+r;case"*":return i*a+r}}function P9(e,t){if(t9.col(e))return g9(e);if(/\s/g.test(e))return e;var n=y9(e),r=n?e.substr(0,e.length-n.length):e;return t?r+t:r}function O9(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function T9(e){for(var t,n=e.points,r=0,i=0;i<n.numberOfItems;i++){var a=n.getItem(i);i>0&&(r+=O9(t,a)),t=a}return r}function I9(e){if(e.getTotalLength)return e.getTotalLength();switch(e.tagName.toLowerCase()){case"circle":return function(e){return 2*Math.PI*x9(e,"r")}(e);case"rect":return function(e){return 2*x9(e,"width")+2*x9(e,"height")}(e);case"line":return function(e){return O9({x:x9(e,"x1"),y:x9(e,"y1")},{x:x9(e,"x2"),y:x9(e,"y2")})}(e);case"polyline":return T9(e);case"polygon":return function(e){var t=e.points;return T9(e)+O9(t.getItem(t.numberOfItems-1),t.getItem(0))}(e)}}function C9(e,t){var n=t||{},r=n.el||function(e){for(var t=e.parentNode;t9.svg(t)&&t9.svg(t.parentNode);)t=t.parentNode;return t}(e),i=r.getBoundingClientRect(),a=x9(r,"viewBox"),s=i.width,o=i.height,l=n.viewBox||(a?a.split(" "):[0,0,s,o]);return{el:r,viewBox:l,x:l[0]/1,y:l[1]/1,w:s/l[2],h:o/l[3]}}function E9(e,t){function n(n){void 0===n&&(n=0);var r=t+n>=1?t+n:0;return e.el.getPointAtLength(r)}var r=C9(e.el,e.svg),i=n(),a=n(-1),s=n(1);switch(e.property){case"x":return(i.x-r.x)*r.w;case"y":return(i.y-r.y)*r.h;case"angle":return 180*Math.atan2(s.y-a.y,s.x-a.x)/Math.PI}}function V9(e,t){var n=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g,r=P9(t9.pth(e)?e.totalLength:e,t)+"";return{original:r,numbers:r.match(n)?r.match(n).map(Number):[0],strings:t9.str(e)||t?r.split(n):[]}}function R9(e){return c9(e?d9(t9.arr(e)?e.map(h9):h9(e)):[],(function(e,t,n){return n.indexOf(e)===t}))}function D9(e){var t=R9(e);return t.map((function(e,n){return{target:e,id:n,total:t.length,transforms:{list:k9(e)}}}))}function B9(e,t){var n=p9(t);if(/^spring/.test(n.easing)&&(n.duration=r9(n.easing)),t9.arr(e)){var r=e.length;2===r&&!t9.obj(e[0])?e={value:e}:t9.fnc(t.duration)||(n.duration=t.duration/r)}var i=t9.arr(e)?e:[e];return i.map((function(e,n){var r=t9.obj(e)&&!t9.pth(e)?e:{value:e};return t9.und(r.delay)&&(r.delay=n?0:t.delay),t9.und(r.endDelay)&&(r.endDelay=n===i.length-1?t.endDelay:0),r})).map((function(e){return m9(e,n)}))}function G9(e,t){var n=[],r=t.keyframes;for(var i in r&&(t=m9(function(e){for(var t=c9(d9(e.map((function(e){return Object.keys(e)}))),(function(e){return t9.key(e)})).reduce((function(e,t){return e.indexOf(t)<0&&e.push(t),e}),[]),n={},r=function(r){var i=t[r];n[i]=e.map((function(e){var t={};for(var n in e)t9.key(n)?n==i&&(t.value=e[n]):t[n]=e[n];return t}))},i=0;i<t.length;i++)r(i);return n}(r),t)),t)t9.key(i)&&n.push({name:i,tweens:B9(t[i],e)});return n}function q9(e,t){var n;return e.tweens.map((function(r){var i=function(e,t){var n={};for(var r in e){var i=v9(e[r],t);t9.arr(i)&&(i=i.map((function(e){return v9(e,t)})),1===i.length&&(i=i[0])),n[r]=i}return n.duration=parseFloat(n.duration),n.delay=parseFloat(n.delay),n}(r,t),a=i.value,s=t9.arr(a)?a[1]:a,o=y9(s),l=j9(t.target,e.name,o,t),c=n?n.to.original:l,d=t9.arr(a)?a[0]:c,h=y9(d)||y9(l),u=o||h;return t9.und(s)&&(s=c),i.from=V9(d,u),i.to=V9(M9(s,d),u),i.start=n?n.end:0,i.end=i.start+i.delay+i.duration+i.endDelay,i.easing=o9(i.easing,i.duration),i.isPath=t9.pth(a),i.isColor=t9.col(i.from.original),i.isColor&&(i.round=1),n=i,i}))}var H9={css:function(e,t,n){return e.style[t]=n},attribute:function(e,t,n){return e.setAttribute(t,n)},object:function(e,t,n){return e[t]=n},transform:function(e,t,n,r,i){if(r.list.set(t,n),t===r.last||i){var a="";r.list.forEach((function(e,t){a+=t+"("+e+") "})),e.style.transform=a}}};function W9(e,t){D9(e).forEach((function(e){for(var n in t){var r=v9(t[n],e),i=e.target,a=y9(r),s=j9(i,n,a,e),o=M9(P9(r,a||y9(s)),s),l=b9(i,n);H9[l](i,n,o,e.transforms,!0)}}))}function z9(e,t){return c9(d9(e.map((function(e){return t.map((function(t){return function(e,t){var n=b9(e.target,t.name);if(n){var r=q9(t,e),i=r[r.length-1];return{type:n,property:t.name,animatable:e,tweens:r,duration:i.end,delay:r[0].delay,endDelay:i.endDelay}}}(e,t)}))}))),(function(e){return!t9.und(e)}))}function J9(e,t){var n=e.length,r=function(e){return e.timelineOffset?e.timelineOffset:0},i={};return i.duration=n?Math.max.apply(Math,e.map((function(e){var t,n,i,a;let s=null!==(t=e.startOnceDelay)&&void 0!==t?t:0,o=null!==(n=e.pingPongDelayCorrection)&&void 0!==n?n:0,l=null!==(i=e.pingPongEndDelayCorrection)&&void 0!==i?i:0;return r(e)+s+o+l+e.duration*(null!==(a=e.loop)&&void 0!==a?a:1)}))):t.duration,i.delay=n?Math.min.apply(Math,e.map((function(e){var t,n;let i=null!==(t=e.startOnceDelay)&&void 0!==t?t:0,a=null!==(n=e.pingPongDelayCorrection)&&void 0!==n?n:0;return r(e)+i+a+e.delay}))):t.delay,i.endDelay=n?i.duration-Math.max.apply(Math,e.map((function(e){var t,n,i,a;let s=null!==(t=e.startOnceDelay)&&void 0!==t?t:0,o=null!==(n=e.pingPongDelayCorrection)&&void 0!==n?n:0,l=null!==(i=e.pingPongEndDelayCorrection)&&void 0!==i?i:0;return r(e)+s+o+e.duration*(null!==(a=e.loop)&&void 0!==a?a:1)-e.endDelay-l}))):t.endDelay,i}var U9=0;var N9,L9=[],Y9=[],F9=function(){function e(){N9=requestAnimationFrame(t)}function t(t){var n=L9.length;if(n){for(var r=0;r<n;){var i=L9[r];i.paused?(L9.splice(r,1),n-=1):(i.tick(t),r++)}e()}else N9=cancelAnimationFrame(N9)}return e}();function Z9(e){void 0===e&&(e={});var t,n,r=0,i=0,a=0,s=0,o=null;function l(e){var t=window.Promise&&new Promise((function(e){return o=e}));return e.finished=t,t}var c=function(e){var t=f9(Z4,e),n=f9(K4,e),r=G9(n,e),i=D9(e.targets),a=z9(i,r),s=J9(a,n),o=U9;return U9++,m9(t,{id:o,children:[],animatables:i,animations:a,duration:s.duration,delay:s.delay,endDelay:s.endDelay,startOnceDelay:n.startOnceDelay,pingPongDelayCorrection:n.pingPongDelayCorrection,pingPongEndDelayCorrection:n.pingPongEndDelayCorrection})}(e);l(c);function d(){var e=c.direction;"alternate"!==e&&(c.direction="normal"!==e?"normal":"reverse"),c.reversed=!c.reversed,n.forEach((function(e){(1===e.loop||e.loop%2===0)&&(e.reversed=c.reversed)}))}function h(e){return c.reversed?c.duration-e:e}function u(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t&&(c.reversed?t.seek(t.duration*t.loop-(e-t.timelineOffset-t.pingPongDelayCorrection),n):t.seek(e-t.timelineOffset-t.startOnceDelay-t.pingPongDelayCorrection,n))}function p(e){var t=0,n=c.animations,r=n.length;for("alternate"!==c.direction&&"alternate"===(null===(i=c.parent)||void 0===i?void 0:i.direction)?!1===(null===(a=c.parent)||void 0===a?void 0:a.rewind)&&!0===c.reversePlayback&&!1===c.rewind&&(e=null!==(s=c.parent)&&void 0!==s&&s.reversed&&"alternate"===c.direction?c.duration-c.delay+c.endDelay-e:c.duration+c.delay-c.endDelay-e):g(!1,null===(o=c.parent)||void 0===o?void 0:o.rewind,c.rewind,null===(l=c.parent)||void 0===l?void 0:l.reversePlayback,c.reversePlayback)&&(e=null!==(d=c.parent)&&void 0!==d&&d.reversed&&"alternate"===c.direction?c.duration-c.delay+c.endDelay-e:c.duration+c.delay-c.endDelay-e);t<r;){var i,a,s,o,l,d,h,u=n[t],p=u.animatable,f=u.tweens,m=f.length-1,y=f[m];let r;m&&(y=c9(f,(function(t){return e<t.end}))[0]||y),r=null!==(h=c.parent)&&void 0!==h&&h.reversed&&"alternate"===c.direction?_4(e-y.start-y.endDelay,0,y.duration)/y.duration:_4(e-y.start-y.delay,0,y.duration)/y.duration;for(var v=isNaN(r)?1:y.easing(r),x=y.to.strings,S=y.round,A=[],b=y.to.numbers.length,k=void 0,w=0;w<b;w++){var j,M,P,O=void 0;let e,t;"alternate"!==c.direction?!1===(null===(j=c.parent)||void 0===j?void 0:j.rewind)&&!0===c.reversePlayback&&!1===c.rewind?(e=y.to.numbers[w],t=y.from.numbers[w]||0):(t=y.to.numbers[w],e=y.from.numbers[w]||0):g(!0,null===(M=c.parent)||void 0===M?void 0:M.rewind,c.rewind,null===(P=c.parent)||void 0===P?void 0:P.reversePlayback,c.reversePlayback)?(e=y.to.numbers[w],t=y.from.numbers[w]||0):(t=y.to.numbers[w],e=y.from.numbers[w]||0),O=y.isPath?E9(y.value,v*t):e+v*(t-e),S&&(y.isColor&&w>2||(O=Math.round(O*S)/S)),A.push(O)}var T=x.length;if(T){k=x[0];for(var I=0;I<T;I++){x[I];var C=x[I+1],E=A[I];isNaN(E)||(k+=C?E+C:E+" ")}}else k=A[0];H9[u.type](p.target,u.property,k,p.transforms),u.currentValue=k,t++}}function f(e){c[e]&&!c.passThrough&&c[e](c)}let m={0:!1,1:!0,2:!1,3:!0,4:!1,5:!1,6:!1,7:!1,8:!1,9:!0,10:!0,11:!1,12:!1,13:!1,14:!0,15:!0,16:!1,17:!0,18:!0,19:!1,20:!1,21:!1,22:!0,23:!0,24:!1,25:!0,26:!1,27:!0,28:!1,29:!1,30:!1,31:!1};function g(e,t,n,r,i){return m[e<<4|t<<3|n<<2|r<<1|i]}function y(e){var t;let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];var a=c.duration;let m=c.delay,g=a-c.endDelay;(null===(t=c.parent)||void 0===t?void 0:t.reversed)&&"alternate"===c.direction&&(m=c.endDelay,g=a-c.delay);var y=h(e);if(c.progress=_4(y/a*100,0,100),i||(c.reversePlayback=y<c.currentTime),s&&function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(c.reversed)for(var r=s;r--;)u(e,n[r],t);else for(var i=0;i<s;i++)u(e,n[i],t)}(y,i),!c.began&&c.currentTime>=0&&(c.began=!0,f("begin")),!c.loopBegan&&c.currentTime>0&&(c.loopBegan=!0,f("loopBegin")),(c.reversed||y>=0)&&y<=m&&0!==c.currentTime&&(p(0),f("change")),(y>=g&&c.currentTime!==a+c.pingPongDelayCorrection||!a)&&(p(a),f("change")),y>m&&y<g?(c.changeBegan||(c.changeBegan=!0,c.changeCompleted=!1,f("changeBegin")),p(y),f("change")):c.changeBegan?(c.changeCompleted=!0,c.changeBegan=!1,f("change"),s&&f("timelineChangeComplete")):c.began&&y>g&&f("changeComplete"),c.currentTime=_4(y,0,a+c.pingPongDelayCorrection),c.began&&f("update"),e>=a)if(c.remaining&&!0!==c.remaining&&c.remaining--,c.remaining){r+=s?c.duration/Z9.speed:c.duration;for(let e of n)e.setStartTime(0),e.remaining=e.loop;f("loopComplete"),c.loopBegan=!1,"alternate"===c.direction?d():s&&(c.direction="normal",c.reversed=!1,n.forEach((function(e){return e.reversed=!1})))}else c.paused=!0,c.completed||(c.completed=!0,f("loopComplete"),f("complete"),!c.passThrough&&"Promise"in window&&(o(),l(c)))}return c.reset=function(){var e=c.direction;c.passThrough=!1,c.currentTime=0,c.progress=0,c.paused=!0,c.began=!1,c.loopBegan=!1,c.changeBegan=!1,c.completed=!1,c.changeCompleted=!1,c.reversePlayback=!1,c.reversed="reverse"===e,c.remaining=c.loop,n=c.children;for(var t=s=n.length;t--;)c.children[t].reset();p(c.reversed?c.duration:0)},c.setStartTime=function(e){r=e},c.set=function(e,t){return W9(e,t),c},c.tick=function(e){a=e,r||(r=a),y((a+(i-r))*Z9.speed)},c.seek=function(e){y(e-r,arguments.length>1&&void 0!==arguments[1]&&arguments[1])},c.pause=function(e){c.paused=!0,s&&(t=null!==e&&void 0!==e?e:performance.now())},c.play=function(e){!c.paused||(c.completed&&c.reset(),c.paused=!1,L9.push(c),s&&void 0!==t&&(r+=(null!==e&&void 0!==e?e:performance.now())-t),N9||F9())},c.reverse=function(){d(),c.completed=!c.reversed,r=0,i=h(c.currentTime)*(1/Z9.speed)},c.restart=function(){c.reset(),c.play()},c.reset(),c.autoplay&&c.play(),c}function K9(e,t){for(var n=t.length;n--;)u9(e,t[n].animatable.target)&&t.splice(n,1)}typeof document<"u"&&document.addEventListener("visibilitychange",(function(e){document.hidden?(L9.forEach((function(t){return t.pause(e.timeStamp)})),Y9=L9.slice(0),Z9.running=L9=[]):Y9.forEach((function(t){return t.play(e.timeStamp)}))})),Z9.version="3.2.0",Z9.speed=1,Z9.running=L9,Z9.remove=function(e){for(var t=R9(e),n=L9.length;n--;){var r=L9[n],i=r.animations,a=r.children;K9(t,i);for(var s=a.length;s--;){var o=a[s],l=o.animations;K9(t,l),!l.length&&!o.children.length&&a.splice(s,1)}!i.length&&!a.length&&r.pause()}},Z9.get=j9,Z9.set=W9,Z9.convertPx=S9,Z9.path=function(e,t){var n=t9.str(e)?l9(e)[0]:e,r=t||100;return function(e){return{property:e,el:n,svg:C9(n),totalLength:I9(n)*(r/100)}}},Z9.setDashoffset=function(e){var t=I9(e);return e.setAttribute("stroke-dasharray",t),t},Z9.stagger=function(e,t){void 0===t&&(t={});var n=t.direction||"normal",r=t.easing?o9(t.easing):null,i=t.grid,a=t.axis,s=t.from||0,o="first"===s,l="center"===s,c="last"===s,d=t9.arr(e),h=parseFloat(d?e[0]:e),u=d?parseFloat(e[1]):0,p=y9(d?e[1]:e)||0,f=t.start||0+(d?h:0),m=[],g=0;return function(e,t,y){if(o&&(s=0),l&&(s=(y-1)/2),c&&(s=y-1),!m.length){for(var v=0;v<y;v++){if(i){var x=l?(i[0]-1)/2:s%i[0],S=l?(i[1]-1)/2:Math.floor(s/i[0]),A=x-v%i[0],b=S-Math.floor(v/i[0]),k=Math.sqrt(A*A+b*b);"x"===a&&(k=-A),"y"===a&&(k=-b),m.push(k)}else m.push(Math.abs(s-v));g=Math.max.apply(Math,m)}r&&(m=m.map((function(e){return r(e/g)*g}))),"reverse"===n&&(m=m.map((function(e){return a?e<0?-1*e:-e:Math.abs(g-e)})))}return f+(d?(u-h)/g:h)*(Math.round(100*m[t])/100)+p}},Z9.timeline=function(e){void 0===e&&(e={});var t=Z9(e);return t.duration=0,t.add=function(n,r){var i=L9.indexOf(t),a=t.children;function s(e){e.passThrough=!0}i>-1&&L9.splice(i,1);for(var o=0;o<a.length;o++)s(a[o]);var l=m9(n,f9(K4,e));l.targets=l.targets||e.targets;var c=t.duration;l.autoplay=!1,l.timelineOffset=t9.und(r)?c:M9(r,c),s(t);var d=Z9(l);s(d),a.push(d),d.parent=t;var h=J9(a,e);return t.delay=h.delay,t.endDelay=h.endDelay,t.duration=h.duration,!0===d.loop&&(t.duration=1/0),t.seek(0),t.reset(),t.autoplay&&t.play(),t},t},Z9.easing=o9,Z9.penner=s9,Z9.random=function(e,t){return Math.floor(Math.random()*(t-e+1))+e};var Q9=Z9,X9=new qM,_9=new qM,$9=new GM;function e7(e,t,n,r,i,a){var s,o;let l=n[e]?n[e]:void 0,c=r[e];if(null==c)return;let d=null!=l?"string"==typeof l?Number(null!==(s=i.getVariable(l))&&void 0!==s?s:0):l:t[e],h="string"==typeof c?Number(null!==(o=i.getVariable(c))&&void 0!==o?o:0):c;return d!==h?{update:n=>{let r=lM.lerp(d,h,n);t[e]=a?Math.trunc(r):r},start:()=>{t[e]=d},end:()=>{t[e]=h}}:void 0}function t7(e,t,n,r,i,a){let s=n[e]?n[e]:void 0,o=r[e];if(!o)return;let l=t[e],c=[...null!==s&&void 0!==s?s:l].map((e=>{var t;return"string"==typeof e?Number(null!==(t=i.getVariable(e))&&void 0!==t?t:0):e})),d=[...o].map((e=>{var t;return"string"==typeof e?Number(null!==(t=i.getVariable(e))&&void 0!==t?t:0):e}));return c.length!==d.length||hW(c,d)?void 0:{update:n=>{c.forEach(((r,i)=>{let s=lM.lerp(r,d[i],n);t[e][i]=a?Math.trunc(s):s}))},start:()=>{Object.assign(t[e],c)},end:()=>{Object.assign(t[e],d)}}}function n7(e,t,n){return t.forEach(((t,r)=>{var i;e.setComponent(r,"string"==typeof t?Number(null!==(i=n.getVariable(t))&&void 0!==i?i:0):t)})),e}function r7(e,t,n,r,i){let a=n[e]?n[e]:void 0,s=r[e];if(!s)return;let o=t[e],l=a?n7(new qM,a,i):o.clone(),c=n7(new qM,s,i);return l.equals(c)?void 0:{update:e=>{o.lerpVectors(l,c,e)},start:()=>{o.copy(l)},end:()=>{o.copy(c)}}}function i7(e,t,n){return t.forEach(((t,r)=>{var i;e.setComponent(r,"string"==typeof t?Number(null!==(i=n.getVariable(t))&&void 0!==i?i:0):t)})),e}function a7(e,t,n,r,i){let a=n[e]?n[e]:void 0,s=r[e];if(!s)return;let o=t[e],l=!(o instanceof cM),c=o instanceof cM?o:(new cM).fromArray(o),d=a?i7(new cM,a,i):c.clone(),h=i7(new cM,s,i);return d.equals(h)?void 0:{update:n=>{c.lerpVectors(d,h,n),l&&(t[e]=c.toArray())},start:()=>{c.copy(d),l&&(t[e]=c.toArray())},end:()=>{c.copy(h),l&&(t[e]=c.toArray())}}}function s7(e,t,n,r,i){let a=n[e]?n[e]:void 0,s=r[e];if(!s)return;let o=t[e],l=new wX(o.r,o.g,o.b,o.a),c=a?"string"==typeof a?i.getColor(a).clone():new wX(a.r,a.g,a.b,a.a):l.clone(),d="string"==typeof s?i.getColor(s).clone():new wX(s.r,s.g,s.b,s.a);return c.equals(d)?void 0:{update:n=>{l.lerpColors(c,d,n);let r=lM.lerp(c.a,d.a,n);l.a=r,t[e]={r:l.r,g:l.g,b:l.b,a:l.a}},start:()=>{l.copy(c)},end:()=>{l.copy(d)}}}function o7(e,t,n,r,i){return"number"==typeof t[e]?e7(e,t,null!==n&&void 0!==n?n:{},r,i):Array.isArray(t[e])?t7(e,t,null!==n&&void 0!==n?n:{},r,i):void 0}function l7(e,t,n,r){let i=[];if(!("geometry"in n))return i;let a=e.geometry.userData.parameters,s="geometry"in t?t.geometry:{},o=n.geometry;if(e instanceof B0){let t=function(e,t,n,r){var i;if(void 0===n.scaleBaked)return;let a=(null!==(i=t.scaleBaked)&&void 0!==i?i:e.data.geometry.scaleBaked).map((e=>{var t;return"string"==typeof e?Number(null!==(t=r.getVariable(e))&&void 0!==t?t:0):e})),s=n.scaleBaked.map((e=>{var t;return"string"==typeof e?Number(null!==(t=r.getVariable(e))&&void 0!==t?t:0):e}));if(EU.isEqual(a,s))return;let o=[];return o.push({update:t=>{e.updateGeometryInteractions({scaleBaked:[lM.lerp(a[0],s[0],t),lM.lerp(a[1],s[1],t),lM.lerp(a[2],s[2],t)]},r),e.invalidateDownstreamBooleanData()},start:()=>{e.updateGeometryInteractions({scaleBaked:a},r),e.invalidateDownstreamBooleanData()},end:()=>{e.updateGeometryInteractions({scaleBaked:s},r),e.invalidateDownstreamBooleanData()}}),o}(e,s,o,r);t&&i.push(...t)}else{let t={};if(Object.assign(t,SW(a,uL)),uL.forEach((e=>{let n=o7(e,t,s,o,r);n&&i.push(n)})),e instanceof K6){Object.assign(t,{extrusion:{...a.extrusion}});let e=function(e,t,n,r){var i;if(!n.extrusion)return;let a=e.extrusion,s=null!==(i=t.extrusion)&&void 0!==i?i:{},o=n.extrusion,l=[];return wN.forEach((e=>{let t=o7(e,a,s,o,r);t&&l.push(t)})),l}(t,s,o,r);e&&i.push(...e)}i.length&&i.push({update:n=>{e.updateGeometryInteractions(t,r),e.updateGeometryGroupsIfNeeded()},start:n=>{e.updateGeometryInteractions(t,r),e.updateGeometryGroupsIfNeeded()},end:n=>{e.updateGeometryInteractions(t,r),e.updateGeometryGroupsIfNeeded()}})}return i}function c7(e,t,n,r){let i=[];if(void 0!==n.intensity){let a=e7("intensity",e,t,n,r);a&&i.push(a)}if(void 0!==n.color){let a=function(e,t,n,r,i){let a=n[e]?n[e]:void 0,s=r[e];if(!s)return;let o=t[e],l=a?"string"==typeof a?i.getColor(a).clone():(new MM).setRGB(a.r,a.g,a.b):o.clone(),c="string"==typeof s?i.getColor(s).clone():(new MM).setRGB(s.r,s.g,s.b);if(l.equals(c))return;let d=o.clone();return t[e]=d,{update:e=>{d.lerpColors(l,c,e)},start:()=>{d.copy(l)},end:()=>{d.copy(c)}}}("color",e,t,n,r);a&&i.push(a)}return i}function d7(e,t,n,r){let i=[],a=$$(n,r)||!!t.layers&&$$(t,r);i.push(function(e,t){return{update:()=>{e.transparent=t}}}(e,a));for(let c of e.layers){var s,o,l;let e=null===(s=t.layers)||void 0===s?void 0:s.data(c.uuid),a=n.layers.data(c.uuid);if(!a||"light"!==c.type&&(null!==(o=c.visible)&&void 0!==o&&!o||null!==(l=a.visible)&&void 0!==l&&!l))continue;let d=c.getNames().filter((e=>!gN.some((t=>e.includes(t)))));for(let t of d)try{let n,s=c.getValue(t);if("colors"===t)n=y7(c,e,a,t);else if(Array.isArray(s))"steps"===t&&(n=g7(c,e,a,t));else if("number"==typeof s)n=h7(c,e,a,t,r);else{if("boolean"==typeof s)continue;s instanceof cM?n=u7(c,e,a,t):s instanceof qM?n=p7(c,e,a,t,r):s instanceof wX?n=m7(c,e,a,t,r):s instanceof MM?n=f7(c,e,a,t,r):"isTexture"in s&&(n=v7(c,e,a,t))}n&&(Array.isArray(n)?i.push(...n):i.push(n))}catch(v){console.error("lerpMaterial: unexpected material layer for ".concat(t),v)}}return i}function h7(e,t,n,r,i){var a,s;if(!e.hasValue(r)||!(r in n))return;let o=t?t[r]:e.getValue(r),l=n[r],c="string"==typeof o?Number(null!==(a=i.getVariable(o))&&void 0!==a?a:0):o,d="string"==typeof l?Number(null!==(s=i.getVariable(l))&&void 0!==s?s:0):l;return c!==d?{update:t=>{e.setValue(r,lM.lerp(c,d,t))},start:()=>{e.setValue(r,c)},end:()=>{e.setValue(r,d)}}:void 0}function u7(e,t,n,r){if(!e.hasValue(r)||!(r in n))return;let i=e.getValue(r),a=t?(new cM).fromArray(t[r]):i.clone(),s=(new cM).fromArray(n[r]);return a.equals(s)?void 0:{update:e=>{i.lerpVectors(a,s,e)},start:()=>{i.copy(a)},end:()=>{i.copy(s)}}}function p7(e,t,n,r,i){if(!e.hasValue(r)||!(r in n))return;let a=e.getValue(r),s=t?t[r]:void 0,o=n[r],l=s?n7(new qM,s,i):a.clone(),c=n7(new qM,o,i);return l.equals(c)?void 0:{update:e=>{a.lerpVectors(l,c,e)},start:()=>{a.copy(l)},end:()=>{a.copy(c)}}}function f7(e,t,n,r,i){if(!e.hasValue(r)||!(r in n))return;let a=t?t[r]:void 0,s=n[r],o=e.getValue(r),l=a?"string"==typeof a?i.getColor(a).clone():(new MM).setRGB(a.r,a.g,a.b):o.clone(),c="string"==typeof s?i.getColor(s).clone():(new MM).setRGB(s.r,s.g,s.b);if(l.equals(c))return;let d=o.clone();return{update:t=>{e.getValue(r)!==d&&e.setValue(r,d),d.lerpColors(l,c,t)},start:()=>{d.copy(l)},end:()=>{d.copy(c)}}}function m7(e,t,n,r,i){if(!e.hasValue(r)||!(r in n))return;let a=t?t[r]:void 0,s=n[r],o=e.getValue(r),l=a?"string"==typeof a?i.getColor(a).clone():(new MM).setRGB(a.r,a.g,a.b):o.clone(),c="string"==typeof s?i.getColor(s).clone():new wX(s.r,s.g,s.b,s.a);if(l.equals(c))return;let d=o.clone();return{update:t=>{e.getValue(r)!==d&&e.setValue(r,d),d.lerpColors(l,c,t)},start:()=>{d.copy(l)},end:()=>{d.copy(c)}}}function g7(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"steps";if(!e.hasValue(r)||!(r in n))return;let i=[],a=e.getValue(r),s=t?t[r]:a,o=n[r];for(let l=0;l<a.length;++l){let e=s[l],t=o[l];e!==t&&i.push({update:n=>{a[l]=lM.lerp(e,t,n)},start:()=>{a[l]=e},end:()=>{a[l]=t}})}return i.length?i:void 0}function y7(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"colors";if(!e.hasValue(r)||!(r in n))return;let i=[],a=e.getValue(r),s=t?t[r]:a.map((e=>e.toArray())),o=n[r];for(let l=0;l<a.length;++l){let e=[...s[l]],t=[...o[l]];VU.isEqual(e,t)||i.push({update:n=>{a[l].fromArray(VU.lerp(e,t,n))},start:()=>{a[l].fromArray(e)},end:()=>{a[l].fromArray(t)}})}return i.length?i:void 0}function v7(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"texture";if(!e.hasValue(r)||!(r in n))return;let i=e.getNode("mat");if(!i)return;let a=t?t[r]:i,s=n[r],o=[...a.repeat],l=[...a.offset],c=[...s.repeat],d=[...s.offset];return CU.isEqual(o,c)&&CU.isEqual(l,d)?void 0:{update:e=>{i.repeat=CU.lerp(o,c,e),i.offset=CU.lerp(l,d,e),i.updateMatrix()},start:()=>{i.repeat=[...o],i.offset=[...l],i.updateMatrix()},end:()=>{i.repeat=[...c],i.offset=[...d],i.updateMatrix()}}}var x7=new qM,S7=new wP;function A7(e,t,n,r,i){var a,s,o,l,c,d,h,u,p,f,m,g,y,v,x,S,A,b;let k,w,j,M,P,O,T,I,C=[];if(e instanceof r6?(k=a7("position",e,t,n,i),k&&C.push(k),j=e7("rotation",e,t,n,i),j&&C.push(j),M=a7("shear",e,t,n,i),M&&C.push(M)):(I={slide:null!==(a=null!==(s=null!==(o=null===(l=t.pathSnapping)||void 0===l?void 0:l.slide)&&void 0!==o?o:null===(c=e.updatedPathSnapping)||void 0===c?void 0:c.slide)&&void 0!==s?s:null===(d=e.dataPatched.pathSnapping)||void 0===d?void 0:d.slide)&&void 0!==a?a:0,offset:null!==(h=null!==(u=null!==(p=null===(f=t.pathSnapping)||void 0===f?void 0:f.offset)&&void 0!==p?p:null===(m=e.updatedPathSnapping)||void 0===m?void 0:m.offset)&&void 0!==u?u:null===(g=e.dataPatched.pathSnapping)||void 0===g?void 0:g.offset)&&void 0!==h?h:0},O=e7("slide",I,null!==(y=null!==(v=t.pathSnapping)&&void 0!==v?v:e.updatedPathSnapping)&&void 0!==y?y:e.dataPatched.pathSnapping,null!==(x=n.pathSnapping)&&void 0!==x?x:e.dataPatched.pathSnapping,i),O&&C.push(O),T=e7("offset",I,null!==(S=null!==(A=t.pathSnapping)&&void 0!==A?A:e.updatedPathSnapping)&&void 0!==S?S:e.dataPatched.pathSnapping,null!==(b=n.pathSnapping)&&void 0!==b?b:e.dataPatched.pathSnapping,i),T&&C.push(T),!O&&!T&&(k=r7("position",e,t,n,i),k&&C.push(k),w=r7("scale",e,t,n,i),w&&C.push(w),j=function(e,t,n,r,i){var a;let s=null!==t&&void 0!==t&&t.rotation?t.rotation.map((e=>{var t;return("string"==typeof e?Number(null!==(t=i.getVariable(e))&&void 0!==t?t:0):e)*lM.DEG2RAD})):void 0,o=null===(a=n.rotation)||void 0===a?void 0:a.map((e=>{var t;return("string"==typeof e?Number(null!==(t=i.getVariable(e))&&void 0!==t?t:0):e)*lM.DEG2RAD}));if(!o)return;let l=s?(new qM).fromArray(s):(new qM).setFromEuler(e.rotation),c=(new qM).fromArray(o);if(l.equals(c))return;let d=x7.subVectors(c,l);if(r&&d.toArray().every((e=>Math.abs(e)<2*Math.PI))){let t=(new GM).setFromEuler(S7.setFromVector3(l)),n=(new GM).setFromEuler(S7.setFromVector3(c));return{update:r=>{!function(e,t,n,r){if(0===r)return n.copy(e);if(1===r)return n.copy(t);let i=e.w*t.w+e.x*t.x+e.y*t.y+e.z*t.z;if(i>=1)return n.copy(e);let a=1-i*i;if(a<=Number.EPSILON){let i=1-r;return n.w=i*e.w+r*t.w,n.x=i*e.x+r*t.x,n.y=i*e.y+r*t.y,n.z=i*e.z+r*t.z,n.normalize(),n}let s=Math.sqrt(a),o=Math.atan2(s,i),l=Math.sin((1-r)*o)/s,c=Math.sin(r*o)/s;n.w=e.w*l+t.w*c,n.x=e.x*l+t.x*c,n.y=e.y*l+t.y*c,n.z=e.z*l+t.z*c}(t,n,e.quaternion,r)},start:()=>{e.rotation.setFromVector3(l)},end:()=>{e.rotation.setFromVector3(c)}}}return{update:t=>{x7.lerpVectors(l,c,t),e.rotation.setFromVector3(x7)},start:()=>{e.rotation.setFromVector3(l)},end:()=>{e.rotation.setFromVector3(c)}}}(e,t,n,r,i),j&&C.push(j),P=function(e,t,n,r){let i=n[e]?n[e]:void 0,a=r[e];if(!a)return;let s=t[e],o=i?(new fP).fromArray(i):s.clone(),l=new qM,c=new GM,d=new qM;o.decompose(l,c,d);let h=(new fP).fromArray(a),u=new qM,p=new GM,f=new qM;return h.decompose(u,p,f),o.equals(h)?void 0:{update:e=>{$9.slerpQuaternions(c,p,e),X9.lerpVectors(l,u,e),_9.lerpVectors(d,f,e),s.compose(X9,$9,_9)},start:()=>{s.compose(l,c,d)},end:()=>{s.compose(u,p,f)}}}("hiddenMatrix",e,t,n),P&&C.push(P))),k||w||j||P||O||T){let n=e instanceof r6?()=>{e.updateWorldMatrix(!0)}:()=>{var n;e.updateMatrix(),e.hasNonUniformScale&&(e.updateMatrixWorld(),e.updateMatrixWorldSVD()),null!==(n=e.parent)&&void 0!==n&&n.matrixWorldFusedFalse&&(e.matrixWorld.multiplyMatrices(e.parent.matrixWorldFusedFalse,e.matrix),e.matrixWorldNeedsUpdate=!1),L1(e)&&Y1(e.parent)&&e.invalidateDownstreamBooleanData(!0),e.updatePathSnapping(Object.assign({},t.pathSnapping,I))};C.push({update:n,start:n,end:n})}return C}function b7(e,t,n,r){let i=[];if(!("cloner"in n)||!e.cloner)return i;let a=e.cloner,s="cloner"in t?t.cloner:{},o=n.cloner;sN.forEach((e=>{let t;t="count"===e?e7("count",a.parameters,s,o,r,!0):o7(e,a.parameters,null!==s&&void 0!==s?s:{},o,r),t&&i.push(t)}));let l=function(e,t,n,r){if("radial"!==e.parameters.type)return;let i=t.radial,a=n.radial;if(!a)return;let s=e.parameters.radial,o=[];return oN.forEach((e=>{let t=o7(e,s,null!==i&&void 0!==i?i:{},a,r);t&&o.push(t)})),o}(a,s,o,r);(null===l||void 0===l?void 0:l.length)&&i.push(...l);let c=function(e,t,n,r){if("linear"!==e.parameters.type)return;let i=t.linear,a=n.linear;if(!a)return;let s=[],o=e.parameters.linear;return lN.forEach((e=>{let t=o7(e,o,null!==i&&void 0!==i?i:{},a,r);t&&s.push(t)})),s}(a,s,o,r);(null===c||void 0===c?void 0:c.length)&&i.push(...c);let d=function(e,t,n,r){if("grid"!==e.parameters.type)return;let i=t.grid,a=n.grid;if(!a)return;let s=[],o=e.parameters.grid;return cN.forEach((e=>{let t;t="count"===e?t7(e,o,null!==i&&void 0!==i?i:{},a,r,!0):o7(e,o,null!==i&&void 0!==i?i:{},a,r),t&&s.push(t)})),s}(a,s,o,r);(null===d||void 0===d?void 0:d.length)&&i.push(...d);let h=function(e,t,n,r){if("toObject"!==e.parameters.type)return;let i=t.toObject,a=n.toObject;if(!a)return;let s=[],o=e.parameters.toObject;return dN.forEach((e=>{let t;t="count"===e?e7(e,o,null!==i&&void 0!==i?i:{},a,r,!0):o7(e,o,null!==i&&void 0!==i?i:{},a,r),t&&s.push(t)})),s}(a,s,o,r);(null===h||void 0===h?void 0:h.length)&&i.push(...h);let u=function(e,t,n,r){if(!e.parameters.randomness)return;let i=t.randomnessObject,a=n.randomnessObject;if(!a)return;let s=[],o=e.parameters.randomnessObject;return hN.forEach((e=>{let t=o7(e,o,null!==i&&void 0!==i?i:{},a,r);t&&s.push(t)})),s}(a,s,o,r);return null!==u&&void 0!==u&&u.length&&i.push(...u),i.length&&i.push({update:()=>{a.update()}}),i}function k7(e,t,n,r,i){let a,s,o,l,c,d,h,u,p,f,m,g,y,v,x,S=[];if("width"in e&&(a=e7("width",e,t,n,i),a&&S.push(a)),"height"in e&&(s=e7("height",e,t,n,i),s&&S.push(s)),e instanceof T6||e instanceof R6){let r={...t.fill},a={...n.fill};void 0!==r.enabled&&r.enabled!==a.enabled&&(S.push(function(e,t){return{update:()=>{e instanceof T6&&(e.fill.enabled=t)}}}(e,!0)),r.enabled||Object.assign(r,{enabled:!0,color:{...r.color,a:0}}),a.enabled||Object.assign(a,{enabled:!0,color:{...a.color,a:0}})),o=s7("color",e.fill,r,a,i),o&&S.push(o)}if(e instanceof T6){let r={...t.stroke},a={...n.stroke};(r.enabled||a.enabled)&&(S.push(function(e,t){return{update:()=>{e instanceof T6&&(e.stroke.enabled=t)}}}(e,!0)),r.enabled||Object.assign(r,{enabled:!0,color:{...r.color,a:0}}),a.enabled||Object.assign(a,{enabled:!0,color:{...a.color,a:0}})),l=s7("color",e.stroke,r,a,i),l&&S.push(l),c=e7("thickness",e.stroke,r,a,i),c&&S.push(c)}if(e instanceof T6){let r={...t.dropShadow},a={...n.dropShadow};(r.enabled||a.enabled)&&(S.push(function(e,t){return{update:()=>{e instanceof T6&&(e.dropShadow.enabled=t)}}}(e,!0)),r.enabled||Object.assign(r,{enabled:!0,color:{...r.color,a:0}}),a.enabled||Object.assign(a,{enabled:!0,color:{...a.color,a:0}})),d=s7("color",e.dropShadow,r,a,i),d&&S.push(d),h=e7("blurRadius",e.dropShadow,r,a,i),h&&S.push(h),p=e7("spread",e.dropShadow,r,a,i),p&&S.push(p),u=a7("offset",e.dropShadow,r,a,i),u&&S.push(u)}if(e instanceof T6){let r={...t.innerShadow},a={...n.innerShadow};(r.enabled||a.enabled)&&(S.push(function(e,t){return{update:()=>{e instanceof T6&&(e.innerShadow.enabled=t)}}}(e,!0)),r.enabled||Object.assign(r,{enabled:!0,color:{...r.color,a:0}}),a.enabled||Object.assign(a,{enabled:!0,color:{...a.color,a:0}})),f=s7("color",e.innerShadow,r,a,i),f&&S.push(f),m=e7("blurRadius",e.innerShadow,r,a,i),m&&S.push(m),y=e7("spread",e.innerShadow,r,a,i),y&&S.push(y),g=a7("offset",e.innerShadow,r,a,i),g&&S.push(g)}if(e instanceof T6||e instanceof R6){let r={...t.backgroundBlur},a={...n.backgroundBlur};(r.enabled||a.enabled)&&(S.push(function(e,t){return{update:()=>{e instanceof T6&&(e.backgroundBlur.enabled=t)}}}(e,!0)),r.enabled||Object.assign(r,{enabled:!0,radius:0}),a.enabled||Object.assign(a,{enabled:!0,radius:0})),v=e7("radius",e.backgroundBlur,r,a,i),v&&S.push(v)}if(e instanceof T6){let r={...t.layerBlur},a={...n.layerBlur};(r.enabled||a.enabled)&&(S.push(function(e,t){return{update:()=>{e instanceof T6&&(e.layerBlur.enabled=t)}}}(e,!0)),r.enabled||Object.assign(r,{enabled:!0,radius:0}),a.enabled||Object.assign(a,{enabled:!0,radius:0})),x=e7("radius",e.layerBlur,r,a,i),x&&S.push(x)}if(e instanceof R6||e instanceof C6){let r=t7("cornerRadius",e,t,n,i);r&&S.push(r)}return S}function w7(e,t,n,r,i){let a=[];return e.data.visible&&a.push(...A7(e,t,n,i,r)),e instanceof r6?a.push(...k7(e,t,n,0,r)):(e.data.visible&&a.push(...b7(e,t,n,r)),L1(e)?(e instanceof I0&&e.data.visible&&a.push(...l7(e,t,n,r)),e.data.visible&&a.push(...function(e,t,n,r){let i=[];if(Array.isArray(e.material)){if(!("materials"in n)||!n.materials)return i;let a="materials"in t&&t.materials?t.materials:[],s=n.materials;e.material.forEach(((e,t)=>{var n;if(!s[t])return;let o=null!==(n=a[t])&&void 0!==n?n:{},l=s[t];"string"==typeof o||"string"==typeof l||i.push(...d7(e,o,l,r))}))}else{if(!("material"in n)||!n.material)return i;let a="material"in t&&t.material?t.material:{},s=n.material;if("string"==typeof a||"string"==typeof s)return i;i.push(...d7(e.material,a,s,r))}return i}(e,t,n,r))):(e=>J1.is(e))(e)?e.data.visible&&a.push(...c7(e,t,n,r)):(e=>e instanceof q1)(e)&&a.push(...function(e,t,n,r){var i,a,s,o;let l=[],c="OrthographicCamera"===e.cameraType?null===(i=t.orthographic)||void 0===i?void 0:i.zoom:null===(a=t.perspective)||void 0===a?void 0:a.zoom,d="OrthographicCamera"===e.cameraType?null===(s=n.orthographic)||void 0===s?void 0:s.zoom:null===(o=n.perspective)||void 0===o?void 0:o.zoom;if(void 0!==d){let t=null!==c&&void 0!==c?c:e.zoom,n=d;t!==n&&l.push({update:r=>{e.zoom=lM.lerp(t,n,r),e.updateProjectionMatrix()},start:()=>{e.zoom=t,e.updateProjectionMatrix()},end:()=>{e.zoom=n,e.updateProjectionMatrix()}})}if(void 0!==n.targetOffset){let i=e7("targetOffset",e,t,n,r);i&&l.push(i)}return l}(e,t,n,r))),a.length?{update:e=>{a.forEach((t=>t.update(e)))},start:e=>{a.forEach((t=>{var n;return null===(n=t.start)||void 0===n?void 0:n.call(t,e)}))},end:e=>{a.forEach((t=>{var n;return null===(n=t.end)||void 0===n?void 0:n.call(t,e)}))}}:void 0}var j7=new qM;function M7(e,t){var n;let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=[],a=n=>{let r=n.data;delete n.states,n.currentState=null,n.reversibleToState=null,n.currentTransitionEvent=null;for(let e of r.states){let t={...e.data};n.states||(n.states={}),n.states[e.id]=DL.patch(r,t)}O7(e.scene,n,null,t,void 0!==r.events.find((e=>"Follow"===e.data.type||"LookAt"===e.data.type))),P7(e)};e.scene.traverse2D(a),e.traverseChildren((n=>{var s,o,l,c,d,h;if(r&&(null!==(s=n.rigidBody)&&void 0!==s&&s.setTranslation(n.position0,!0),null!==(o=n.rigidBody)&&void 0!==o&&o.setRotation(n.rotation0,!0),null!==(l=n.rigidBody)&&void 0!==l&&l.setLinvel(j7,!0),null!==(c=n.rigidBody)&&void 0!==c&&c.setAngvel(j7,!0)),!EF.is(n))return;let u=n.uuid,p=n.data;if(delete n.states,n.uuid===LU)return;let f=!1;i.some((t=>{var n;return null===(n=e.scene.find(u))||void 0===n?void 0:n.isDescendantOf(t)}))?f=!0:!0===(null===(d=p.physics)||void 0===d?void 0:d.fusedBody)&&"dynamic"===p.physics.rigidBody&&i.push(u),n.data=p,n.currentState=null,n.reversibleToState=null,n.currentTransitionEvent=null;for(let t of p.states){let r={...t.data};!0===e.data.globalPhysics.usePhysics&&p.physics&&("dynamic"===p.physics.rigidBody||f)&&(void 0!==t.data.position&&delete r.position,void 0!==t.data.rotation&&delete r.rotation,void 0!==t.data.hiddenMatrix&&delete r.hiddenMatrix),n.states||(n.states={}),n.states[t.id]=ZN.patch(p,r)}O7(e.scene,n,null,t,void 0!==p.events.find((e=>"Follow"===e.data.type||"LookAt"===e.data.type))),P7(e),n instanceof t5&&n.frame&&(n.frame.traverse((e=>a(e))),null===(h=n.uiCanvas)||void 0===h||h.applySize())})),e.frame&&(e.frame.traverse((e=>a(e))),null===(n=e.uiCanvas)||void 0===n||n.applySize())}function P7(e){e.traverseEntity((t=>{for(let n of t.data.events){let t=[];switch(n.data.type){case"Follow":case"MouseHover":case"Scroll":case"MouseDown":case"MouseUp":case"MousePress":case"KeyUp":case"KeyDown":case"KeyPress":case"Collision":t.push(...n.data.actions);break;case"GameControl":for(let e of Object.values(n.data.gameActions))t.push(...e);break;case"DragDrop":t.push(...n.data.dragDropActions.drag,...n.data.dragDropActions.drop);break;case"Conditional":t.push(...n.data.inActions,...n.data.outActions)}for(let n of t)if("Create"===n.data.type&&"Yes"===n.data.hideBase){let t=e.scene.find(n.data.object);t&&(t.visible=!1)}}}))}function O7(e,t,n,r){let i=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(t instanceof I0&&t.removeInteractionGeometry(r),t instanceof r6?t.changeSelectedState(n,{shared:r},i):t.changeSelectedState(n,{scene:e,shared:r},i),t instanceof I0&&t.updateGeometryGroupsIfNeeded(),t instanceof q1&&t.updateCameraState(t.dataPatched,{scene:e,shared:r}),!(t instanceof r6)){if(t.cloner)for(let e of t.cloner.children)e.playModeVisible=void 0;t.updateVisible(e)}}function T7(e){let t;if(5===e.easing){let{control1:n,control2:r}=e;t="cubicBezier(\n\t\t\t".concat(n[0],", ").concat(n[1],", ").concat(r[0],", ").concat(r[1],"\n\t\t)")}else if(6===e.easing){let{mass:n,stiffness:r,damping:i,velocity:a}=e;t="spring( ".concat(n,", ").concat(r,", ").concat(i,", ").concat(a," )")}else{let n;switch(e.easing){case 0:default:n=WU.linear;break;case 1:n=WU.ease;break;case 2:n=WU.easeIn;break;case 3:n=WU.easeOut;break;case 4:n=WU.easeInOut}let[r,i,a,s]=n;t="cubicBezier( ".concat(r,", ").concat(i,", ").concat(a,", ").concat(s," )")}return{duration:Math.max(e.duration,1e-4),easing:t}}function I7(e){let t={delay:0,loop:-1===e.repeat||e.repeat+1};if(0===e.repeat)t.direction="normal",t.rewind=!1;else switch(e.direction){case"pingpong":t.direction="alternate",t.rewind=!1;break;case"pingpong-rewind":t.direction="alternate",t.rewind=!0;break;default:t.direction="normal",t.rewind=!1}switch(t.delay=0,t.endDelay=0,t.startOnceDelay=0,t.pingPongDelayCorrection=0,t.pingPongEndDelayCorrection=0,e.delayDirection){case"start-once":t.startOnceDelay=e.delay;break;case"start":t.delay=e.delay;break;case"end":t.endDelay=e.delay;break;case"start-end":case void 0:t.delay=e.delay,t.endDelay=e.delay}return"alternate"===t.direction&&(t.delay/=2,t.endDelay/=2,"start"===e.delayDirection?(t.pingPongDelayCorrection=t.delay,"number"==typeof t.loop&&t.loop%2===0&&(t.pingPongEndDelayCorrection=t.delay)):"end"===e.delayDirection?"number"==typeof t.loop&&t.loop%2!==0&&(t.pingPongEndDelayCorrection=t.endDelay):"start-end"===e.delayDirection&&(t.pingPongDelayCorrection=t.delay,t.pingPongEndDelayCorrection=t.endDelay)),t}var C7={type:"beginState"},E7={type:"completeState",isfromEntity:!1},V7=class{constructor(e,t,n,r,i,a){if(this.object=e,this.data=r,this.sharedAssets=i,this.allowSlerp=a,this.targets={t:0},this.firstLoop=!0,this._changeBegan=!1,this._changeCompleted=!0,this.onChange=()=>{this.callback&&(this.callback.update(this.targets.t),this.object.requestRender()),0===this.targets.t||1===this.targets.t?this._changeCompleted||(this._changeCompleted=!0,this._changeBegan=!1,this.onChangeComplete()):(this._changeCompleted&&(this._changeCompleted=!1),this._changeBegan||(this._changeBegan=!0,this.onChangeBegin()))},this.onChangeBegin=()=>{this.object.reversibleToState=this.to.id;let e=this.targets.t>.5?this.from.id:this.to.id;this.object.prevState!==this.object.currentState&&(this.object.prevState=this.object.currentState),this.object.currentState=e,this.object.dispatchEvent({type:"beginState",state:e}),this.object instanceof r6||this.object.traverseEntity((e=>{e!==this.object&&e instanceof q1&&e.dispatchEvent(C7)}))},this.onChangeComplete=()=>{this.firstLoop&&(this.onFirstLoop(),this.firstLoop=!1),this.object.reversibleToState=this.to.id;let e=this.targets.t<.5?this.from.id:this.to.id;this.object.prevState!==this.object.currentState&&(this.object.prevState=this.object.currentState),this.object.currentState=e,this.object.dispatchEvent({type:"completeState",state:e}),this.object instanceof r6||this.object.traverseEntity((e=>{e!==this.object&&e instanceof q1&&e.dispatchEvent(E7)}))},this.onFirstLoop=()=>{this.useCurrentState&&(this.callback=w7(this.object,this.from.data,this.to.data,this.sharedAssets,this.allowSlerp))},void 0===t){let e=D7(this.object,this.object.currentState===n?this.object.prevState:this.object.currentState);if(!e)throw new Error("Missing property");this.from=e}else{let e=D7(this.object,t);if(!e)throw new Error("Missing property");this.from=e}if(void 0===n)throw new Error("Missing property");{let e=D7(this.object,n);if(!e)throw new Error("Missing property");this.to=e}this.useCurrentState=void 0===t||void 0===n,this.params={targets:this.targets,t:1,autoplay:!1,...I7(r),...T7(r),change:this.onChange},this.callback=w7(this.object,void 0===t?{}:this.from.data,void 0===n?{}:this.to.data,this.sharedAssets,this.allowSlerp)}get changeBegan(){return this._changeBegan}get changeCompleted(){return this._changeCompleted}},R7=class extends Zj{constructor(e,t,n,r){var i,a,s;if(super(),this.data=e,this.page=t,this.shared=n,this.condition=r,this.toggleIsForward=!1,this.timelineNeedsRebuild=!1,this.useToggle=!1,this.onTimelineChangeComplete=()=>{var e;"normal"!==this.data.tweens[0].data.direction&&(this.toggleIsForward=!this.toggleIsForward),!1!==this.timelineNeedsRebuild&&(null!==(e=this.timeline)&&void 0!==e&&e.pause(),this.buildTimeline({isForward:this.toggleIsForward,needsRebuild:!1,isRebuild:!0}),this.timeline.play())},!e.object)throw new Error("Missing property");let o=null!==(i=null!==(a=this.page.scene.find(e.object))&&void 0!==a?a:null===(s=this.page.uiCanvas)||void 0===s?void 0:s.find(e.object))&&void 0!==i?i:this.page.scene.find2DInUIObjects(e.object);if(!o)throw new Error("Missing property");if(!o.states)throw new Error("Missing property");if(this.object=o,e.tweens.length<2)throw new Error("Missing property");this.tweens=Array(this.data.tweens.length-1),this.startOnceDelay="start-once"===e.tweens[0].data.delayDirection?e.tweens[0].data.delay:0,this.init()}get playing(){var e;return!1===(null===(e=this.timeline)||void 0===e?void 0:e.paused)}get changeBegan(){var e;return null!==(e=this.tweens.some((e=>e.changeBegan)))&&void 0!==e&&e}init(){this.initialCurrentState=D7(this.object,this.object.currentState).id,this.toggleIsForward=!1}get currentState(){return this.useToggle?this.initialCurrentState:this.object.currentState}buildTimeline(){var e;let{isForward:t=!0,needsRebuild:n=!1,isRebuild:r=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{var i;let e=I7(this.data.tweens[0].data);r&&"number"==typeof e.loop&&e.loop--,null!==(i=this.timeline)&&void 0!==i&&i.pause(),this.timeline=Q9.timeline({autoplay:!1,...e,...!0===e.loop||e.loop>1?{timelineChangeComplete:this.onTimelineChangeComplete}:{}});let c=this.tweens.findIndex((e=>null===e||void 0===e?void 0:e.changeBegan));if(!0===n&&(this.timelineNeedsRebuild=!0),t){let t=-1===c?0:c;for(let n=t;n<this.data.tweens.length-1;n++){var a,s;let r,i=this.data.tweens[n],o=this.data.tweens[n+1];n!==t||!0!==this.object.wasMovedByUser&&!0!==(null===(a=this.object.previousAction)||void 0===a?void 0:a.changeBegan)?r=void 0===i.data.state?this.currentState:i.data.state:(r=void 0,this.object instanceof q1&&(this.object.wasMovedByUser=!1));let l=new V7(this.object,r,void 0===o.data.state?this.currentState:o.data.state,o.data,this.shared,null!==(s=this.data.allowSlerp)&&void 0!==s&&s);-1!==c&&n===t&&Object.assign(l.params,{startOnceDelay:0}),this.tweens[n]=l,this.timeline.add(l.params,this.timeline.duration+(n===t?e.delay:0))}this.timeline.duration+=e.endDelay}else{let t=-1===c?this.data.tweens.length-1:c+1;for(let n=t;n>0;n--){var o,l;let r,i=this.data.tweens[n],a=this.data.tweens[n-1];n!==t||!0!==this.object.wasMovedByUser&&!0!==(null===(o=this.object.previousAction)||void 0===o?void 0:o.changeBegan)?r=void 0===i.data.state?this.currentState:i.data.state:(r=void 0,this.object instanceof q1&&(this.object.wasMovedByUser=!1));let s=new V7(this.object,r,void 0===a.data.state?this.currentState:a.data.state,i.data,this.shared,null!==(l=this.data.allowSlerp)&&void 0!==l&&l);-1!==c&&n===t&&Object.assign(s.params,{startOnceDelay:0}),this.tweens[n-1]=s,this.timeline.add(s.params,this.timeline.duration+(n===t?e.endDelay:0))}this.timeline.duration+=e.delay}}catch(p){p instanceof Error&&console.error(p.message)}!0===(null===(e=this.object.previousAction)||void 0===e?void 0:e.playing)&&this.object.previousAction.pause(),this.object.previousAction=this}play(){if(!1===N7(this.shared,this.condition)||this.playing)return!1;clearTimeout(this.timeoutId);let e=I7(this.data.tweens[0].data).pingPongDelayCorrection;this.timeoutId=window.setTimeout((()=>{try{this.buildTimeline(),this.timeline.play()}catch(a){a instanceof Error&&console.error(a.message)}}),this.startOnceDelay+e)}pause(){var e;null!==(e=this.timeline)&&void 0!==e&&e.pause(),clearTimeout(this.timeoutId),this.tweens=Array(this.data.tweens.length-1),delete this.timeoutId}stop(){this.pause();let e=void 0===this.data.tweens[0].data.state?this.initialCurrentState:this.data.tweens[0].data.state;this.object instanceof r6?this.object.changeSelectedState(e,{shared:this.shared}):this.object.changeSelectedState(e,{scene:this.page.scene,shared:this.shared}),this.object.currentState=e}seek(e){var t;void 0===this.timeline&&this.buildTimeline(),null===(t=this.timeline)||void 0===t||t.seek(e*this.timeline.duration,!0)}toggle(e){var t;if(!1===N7(this.shared,this.condition))return!1;this.useToggle=!0,clearTimeout(this.timeoutId),this.toggleIsForward=null!==e&&void 0!==e?e:!this.toggleIsForward,this.playing?(null!==(t=this.timeline)&&void 0!==t&&t.pause(),this.buildTimeline({isForward:this.toggleIsForward,needsRebuild:!0}),this.timeline.play()):this.timeoutId=window.setTimeout((()=>{var e;null!==(e=this.timeline)&&void 0!==e&&e.pause(),this.buildTimeline({isForward:this.toggleIsForward}),this.timeline.play()}),this.startOnceDelay)}playFromCurrent(){this.toggle(!0)}reverseFromCurrent(){this.toggle(!1)}dispose(){this.pause()}};function D7(e,t){var n;let r,i;if("string"==typeof t?(r=t,i=null===(n=e.states)||void 0===n?void 0:n[r]):null===t&&(r=null,i=e.data),void 0!==r&&void 0!==i)return{id:r,data:i}}var B7={type:"beginState"},G7={type:"completeState",isfromEntity:!1},q7={type:"requestRender"},H7=class extends Zj{constructor(e,t,n,r){super(),this.data=e,this.page=t,this.shared=n,this.condition=r,this.toggleIsForward=!1,this.useToggle=!1,this.posStart=new qM,this.posEnd=new qM,this.qStart=new GM,this.qEnd=new GM,this.zoomStart=1,this.zoomEnd=1}init(){}get playing(){return this.animation&&this.animation.began&&!this.animation.completed}buildAnimation(){if(!this.data.animate)return;let e=this.page.scene.find(this.data.targetCamera);if(!e||!e.visible)throw new ReferenceError("Target camera not founded or not visible");let t={t:0};this.posStart.copy(this.page.activeCamera.position),this.qStart.copy(this.page.activeCamera.quaternion),this.zoomStart=this.page.activeCamera.zoom,this.animation=Q9({targets:t,t:1,...T7(this.data),update:()=>{0===t.t&&(this.useToggle&&!this.toggleIsForward?(this.posEnd.copy(this.fromCamera.position),this.qEnd.copy(this.fromCamera.quaternion),this.zoomEnd=this.fromCamera.zoom,this.switchCamera(this.fromCamera.uuid)):(this.posEnd.copy(e.position),this.qEnd.copy(e.quaternion),this.zoomEnd=e.zoom,this.fromCamera=this.page.activeCamera,this.switchCamera(e.uuid)),this.page.activeCamera.dispatchEvent(B7));let n=this.page.activeCamera;n.position.lerpVectors(this.posStart,this.posEnd,t.t),n.quaternion.slerpQuaternions(this.qStart,this.qEnd,t.t),n.zoom=this.zoomStart+(this.zoomEnd-this.zoomStart)*t.t,n.wasMovedBySwitchCameraAction=!0,n.updateMatrix(),n.updateMatrixWorld(),n.updateProjectionMatrix(),n.dispatchEvent(q7),1===t.t&&n.dispatchEvent(G7)}})}switchCamera(e){let t=this.page.activeCamera,n=this.page.scene.find(e);if(!n||!n.visible)throw new ReferenceError("Target camera not founded or not visible");this.page.switchActiveCamera(n),t.dispatchEvent({type:"cameraChange",camera:n})}play(){if(!1===N7(this.shared,this.condition))return!1;if(!this.playing&&this.page.activeCamera.uuid!==this.data.targetCamera)try{clearTimeout(this.timeoutId),this.timeoutId=window.setTimeout((()=>{var e;delete this.timeoutId,this.data.animate?(this.buildAnimation(),null===(e=this.animation)||void 0===e||e.play()):this.switchCamera(this.data.targetCamera)}),1e3*this.data.delay)}catch{}}pause(){var e;null!==(e=this.animation)&&void 0!==e&&e.pause(),clearTimeout(this.timeoutId),delete this.timeoutId}toggle(e){if(!1===N7(this.shared,this.condition))return!1;this.useToggle=!0,clearTimeout(this.timeoutId),this.toggleIsForward=null!==e&&void 0!==e?e:!this.toggleIsForward;try{var t,n;this.playing?(null!==(t=this.animation)&&void 0!==t&&t.pause(),this.buildAnimation(!0),null===(n=this.animation)||void 0===n||n.play()):this.timeoutId=window.setTimeout((()=>{var e,t;delete this.timeoutId,this.data.animate?(null!==(e=this.animation)&&void 0!==e&&e.pause(),this.buildAnimation(),null===(t=this.animation)||void 0===t||t.play()):(this.toggleIsForward?(this.fromCamera=this.page.activeCamera,this.switchCamera(this.data.targetCamera)):this.switchCamera(this.fromCamera.uuid),this.page.activeCamera.dispatchEvent(G7),this.page.activeCamera.dispatchEvent(q7))}),1e3*this.data.delay)}catch{}}playFromCurrent(){this.toggle(!0)}reverseFromCurrent(){this.toggle(!1)}dispose(){this.pause(),this.toggleIsForward=!1}},W7=class extends Zj{constructor(e,t,n,r,i){var a,s,o,l;super(),this.page=t,this.animationControls=n,this.shared=r,this.condition=i,this.startOnceDelay=0,this.toggleIsForward=!1;let c=e.object,d=t.scene.find(e.object);d&&Array.isArray(d.identity)&&(c=d.identity[0]),this.data={...e,object:c};let h=this.animationControls.clipIdToAction[e.clipId+"/"+c];this.duration=null!==(a=null===h||void 0===h||null===(s=h.getClip())||void 0===s?void 0:s.duration)&&void 0!==a?a:1;let u=null!==(o=null===h||void 0===h||null===(l=h.getClip())||void 0===l||null===(l=l.tracks[0])||void 0===l?void 0:l.times.length)&&void 0!==o?o:1/0;this.leftFrameTime=this.data.crop[0]/u*this.duration,this.rightFrameTime=this.data.crop[1]/u*this.duration,this.startOnceDelay=e.delay}get playing(){var e,t;return null!==(e=null===(t=this.threeAnimAction)||void 0===t?void 0:t.isRunning())&&void 0!==e&&e}play(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!1===N7(this.shared,this.condition))return!1;window.clearTimeout(this.timeoutId),this.timeoutId=window.setTimeout((()=>{var t;if(this.threeAnimAction=this.animationControls.play(this.data),!this.threeAnimAction)return;this.threeAnimAction.reset(),this.threeAnimAction.time=this.leftFrameTime,this.threeAnimAction._clip.start=this.leftFrameTime,this.threeAnimAction._clip.duration=this.rightFrameTime;let n=this.data.object;Object.entries(this.animationControls.clipIdToAction).forEach((t=>{let[r,i]=t,a=r.split("/")[1];this.threeAnimAction!==i&&a===n&&i.isRunning()&&(e?i.fadeOut(.2):i.stop())})),e&&(null===(t=this.threeAnimAction)||void 0===t||t.fadeIn(.2))}),this.startOnceDelay)}pause(){this.threeAnimAction&&(this.threeAnimAction.paused=!0),window.clearTimeout(this.timeoutId),delete this.timeoutId}stop(){var e;null===(e=this.threeAnimAction)||void 0===e||e.fadeOut(.2)}seek(e){this.threeAnimAction=this.animationControls.play(this.data),this.threeAnimAction&&(this.threeAnimAction.paused=!0,this.threeAnimAction.time=lM.clamp(this.threeAnimAction.time+1/60*e,this.leftFrameTime,this.rightFrameTime-16e-5),this.animationControls.needsUpdate=!0,this.animationControls.requestRender())}toggle(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!1===N7(this.shared,this.condition))return!1;this.toggleIsForward=null!==e&&void 0!==e?e:!this.toggleIsForward,this.threeAnimAction&&(this.threeAnimAction._loopCount=0),this.playing?this.threeAnimAction&&(this.threeAnimAction.timeScale=this.toggleIsForward?1:-1,this.toggleIsForward?(this.threeAnimAction._clip.start=this.leftFrameTime,this.threeAnimAction._clip.duration=this.rightFrameTime):(this.threeAnimAction._clip.start=this.rightFrameTime,this.threeAnimAction._clip.duration=this.leftFrameTime)):this.timeoutId=window.setTimeout((()=>{if(this.threeAnimAction=this.animationControls.play(this.data),this.threeAnimAction){var e;this.toggleIsForward?(this.threeAnimAction.time=this.leftFrameTime,this.threeAnimAction._clip.start=this.leftFrameTime,this.threeAnimAction._clip.duration=this.rightFrameTime):(this.threeAnimAction.time=this.rightFrameTime,this.threeAnimAction._clip.start=this.rightFrameTime,this.threeAnimAction._clip.duration=this.leftFrameTime),this.threeAnimAction.paused=!1,this.threeAnimAction.timeScale=this.toggleIsForward?1:-1;let n=this.data.clipId.split("/")[1];Object.entries(this.animationControls.clipIdToAction).forEach((e=>{let[r,i]=e,a=r.split("/")[1];this.threeAnimAction!==i&&a===n&&i.isRunning()&&(t?i.fadeOut(.2):i.stop())})),t&&(null===(e=this.threeAnimAction)||void 0===e||e.fadeIn(.2))}}),this.startOnceDelay)}playFromCurrent(){this.toggle(!0)}reverseFromCurrent(){this.toggle(!1)}dispose(){var e;let t=null===(e=this.animationControls.clipIdToAction[this.data.clipId+"/"+this.data.object])||void 0===e?void 0:e.getClip();t&&(t.duration=this.duration),this.pause()}},z7=class{constructor(e,t,n,r,i){this.data=e,this.page=t,this.eventManager=n,this.shared=r,this.condition=i,this.timeOutId=-1,this.scene=t.scene}dispatch(){if(!1===N7(this.shared,this.condition))return!1;this.data.target!==this.page.uuid&&(window.clearTimeout(this.timeOutId),this.timeOutId=window.setTimeout((()=>{this.play()}),1e3*this.data.delay))}dispose(){window.clearTimeout(this.timeOutId)}play(){if(this.scene.children.every((e=>e.uuid!==this.data.target)))return;"fade"===this.data.transition&&this.data.duration>0&&this.eventManager.eventContext.renderer.renderFromSceneForSceneTransitionPass(this.scene,this.scene.activeCamera,1e3*this.data.duration),this.eventManager.deactivate(),this.eventManager.controlsManager.deactivate();let e=this.scene.activeCamera;this.scene.updatePage(this.data.target),this.scene.traverseVisibleEntity((e=>{"ParticleSystem"===e.type&&(e.sleep(),e.wakeUp(),e.data.autoPlay?e.start():e.stop())})),this.scene.activePage.switchToPlayCamera(),this.scene.activeCamera.copyViewPlaneSize(e),M7(this.scene.activePage,this.shared),this.eventManager.activate(),this.eventManager.controlsManager.activate(this.eventManager)}},J7=class{constructor(e,t,n,r){this.data=e,this.page=t,this.shared=n,this.condition=r,this.evaluatedCondition=!1}checkConditions(){this.evaluatedCondition=N7(this.shared,this.condition)}dispatch(){if(!1===this.evaluatedCondition)return!1;let e=this.shared.getVariable(this.data.variableId),t=gQ(this.data.expression,this.shared,iL.typeOfVariable(e));void 0!==t&&this.shared.updateVariable(this.data.variableId,"string"==typeof t?{textValue:t}:t)}dispose(){}},U7=class{constructor(e,t,n,r){this.data=e,this.page=t,this.shared=n,this.condition=r,this.timeoutId=null}dispatchInner(){if(!1===N7(this.shared,this.condition))return!1;let e=this.shared.getDynamicVariablePlayState(this.data.variableId);if("PlayPause"===this.data.mode)void 0===this.shared.getDynamicVariableToggleIsForward(this.data.variableId)&&this.shared.setDynamicVariableToggleIsForward(this.data.variableId,!0),this.shared.setDynamicVariablePlayState(this.data.variableId,"Playing"===e?"Paused":"Playing");else if("Play"===this.data.mode&&"Playing"!==e)void 0===this.shared.getDynamicVariableToggleIsForward(this.data.variableId)&&this.shared.setDynamicVariableToggleIsForward(this.data.variableId,!0),this.shared.setDynamicVariablePlayState(this.data.variableId,"Playing");else if("Stop"===this.data.mode&&"Stopped"!==e)this.shared.setDynamicVariablePlayState(this.data.variableId,"Stopped");else if("Pause"===this.data.mode&&"Paused"!==e)this.shared.setDynamicVariablePlayState(this.data.variableId,"Paused");else if("Restart"===this.data.mode)this.shared.setDynamicVariablePlayState(this.data.variableId,"Restarted");else if("Toggle"===this.data.mode){let t=this.shared.getDynamicVariableToggleIsForward(this.data.variableId);"Playing"===e?this.shared.setDynamicVariableToggleIsForward(this.data.variableId,void 0!==t&&!t):(this.shared.setDynamicVariableToggleIsForward(this.data.variableId,!t),this.shared.setDynamicVariablePlayState(this.data.variableId,"Playing"))}}dispatch(){let e=this.data.delay,t=this.shared.getDynamicVariablePlayState(this.data.variableId);"PlayPause"===this.data.mode&&"Playing"===t&&(e=this.data.pauseDelay),0!==e?(this.timeoutId&&window.clearTimeout(this.timeoutId),this.timeoutId=window.setTimeout((()=>{this.timeoutId=null,this.dispatchInner()}),e)):this.dispatchInner()}dispose(){this.timeoutId&&window.clearTimeout(this.timeoutId)}};function N7(e,t){if(void 0===t)return!0;if(0===t.expression.length)return!1;let n=gQ(t.expression,e,"boolean");return t.negate?!n:!!n}function L7(e,t,n,r,i,a){let s={Audio:[],Video:[],Particles:[],Link:[],Destroy:[],Create:[],Reset:[],Transition:[],SwitchCamera:[],Animation:[],SceneTransition:[],SetVariable:[],DynamicVariablePlay:[]},o=t=>l=>{let{id:c,data:d}=l;try{"Audio"===d.type?IU[e.type].includes("Audio")&&s.Audio.push(new z4(c,d,a,r,t)):"Video"!==d.type||a instanceof r6?"Particles"===d.type?IU[e.type].includes("Particles")&&s.Particles.push(new J4(d,n,r,t)):"Link"===d.type?IU[e.type].includes("Link")&&s.Link.push(new L4(d,i.controlsManager,r,t)):"Create"===d.type?IU[e.type].includes("Create")&&s.Create.push(new r8(d,n,i.controlsManager,r,t)):"Destroy"===d.type?IU[e.type].includes("Destroy")&&s.Destroy.push(new Y4(d,n,i.controlsManager,r,t)):"Reset"===d.type?IU[e.type].includes("Reset")&&s.Reset.push(new F4(d,n,r,i,t)):"Transition"===d.type?IU[e.type].includes("Transition")&&s.Transition.push(new R7(d,n,r,t)):"SwitchCamera"===d.type?IU[e.type].includes("SwitchCamera")&&s.SwitchCamera.push(new H7(d,n,r,t)):"SceneTransition"===d.type?IU[e.type].includes("SceneTransition")&&s.SceneTransition.push(new z7(d,n,i,r,t)):"Animation"===d.type?IU[e.type].includes("Animation")&&s.Animation.push(new W7(d,n,i.animationControls,r,t)):"SetVariable"===d.type?IU[e.type].includes("SetVariable")&&s.SetVariable.push(new J7(d,n,r,t)):"DynamicVariablePlay"===d.type?IU[e.type].includes("DynamicVariablePlay")&&s.DynamicVariablePlay.push(new U7(d,n,r,t)):"Conditional"===d.type&&IU[e.type].includes("Conditional")&&(d.ifActions.forEach(o({expression:d.condition,negate:!1})),d.elseActions.forEach(o({expression:d.condition,negate:!0}))):IU[e.type].includes("Video")&&s.Video.push(new X7(c,d,a,r,t))}catch(v){}};return t.forEach(o()),s}function Y7(e){Object.values(e).forEach((e=>{e.forEach((e=>{(e instanceof z4||e instanceof X7||e instanceof J4||e instanceof W7||e instanceof R7||e instanceof r8||e instanceof Y4||e instanceof H7||e instanceof z7||e instanceof F4||e instanceof J7||e instanceof U7)&&e.dispose()}))}))}var F7=new Map,Z7=new Map,K7=class{constructor(e,t,n){this.data=t,this.delay=0,this.status="stopped";let{layerId:r,loop:i,volume:a,delay:s}=t;if(this.object=n,void 0===r)throw new Error("Missing property");let o=function(e,t){let n;if("material"in e){let r=e.material;n=Array.isArray(r)?e.material[0].layers.find((e=>e.uuid===t)):e.material.layers.find((e=>e.uuid===t))}if(n)return n.color.texture.image.img instanceof HTMLVideoElement?n.color.texture.image.img:void 0}(n,r);o&&(this.videoElement=o,this.videoElement.loop=i===1/0,jW&&(this.videoElement.autoplay=!0),void 0!==a&&(this.videoElement.volume=a)),void 0!==s&&(this.delay=s),Z7.has(n.uuid)?Z7.get(n.uuid).push(this):Z7.set(n.uuid,[this]),F7.set(e,this),this.pause()}mute(){!this.videoElement||(this.videoElement.muted=!0)}unMute(){!this.videoElement||(this.videoElement.muted=!1)}play(e){if(!this.videoElement)return;let t=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);e?(this.mute(),this.delay+=150):t?(this.mute(),window.setTimeout((()=>{this.unMute()}),100)):this.unMute(),this.delayTimerId=window.setTimeout((()=>{if(!this.videoElement)return;let e=this.videoElement.play();void 0!==e&&e.then((e=>{})).catch((e=>{this.play()})),this.clearDelay()}),this.delay),this.status="playing"}clearDelay(){this.delayTimerId&&(clearTimeout(this.delayTimerId),delete this.delayTimerId)}pause(){!this.videoElement||(this.videoElement.pause(),this.status="paused")}stop(){!this.videoElement||(this.videoElement.pause(),this.videoElement.currentTime=0,this.status="stopped",this.clearDelay())}playByToggle(){"stop"===this.data.toggle?"playing"===this.status?this.stop():(this.stop(),this.play()):"pause"===this.data.toggle?"playing"===this.status?this.pause():this.play():(this.stop(),this.play())}dispose(){!this.videoElement||(this.stop(),this.videoElement.muted=!0)}},Q7=class{constructor(e){this.data=e}dispatch(){this.data.playVideo?this.pauseVideo(this.data.playVideo):this.data.object?this.pauseAllVideosFromObject(this.data.object):this.pauseAllVideos()}pauseVideo(e){let t=F7.get(e);!t||(this.data.delay>0?(this.disposeDelay(),this.timeoutId=window.setTimeout((()=>{t[this.data.interaction](),this.disposeDelay()}),this.data.delay)):t[this.data.interaction]())}pauseAllVideosFromObject(e){let t=Z7.get(e);null===t||void 0===t||!t.length||(this.data.delay>0?(this.disposeDelay(),this.timeoutId=window.setTimeout((()=>{t.forEach((e=>e[this.data.interaction]())),this.disposeDelay()}),this.data.delay)):t.forEach((e=>e[this.data.interaction]())))}pauseAllVideos(){let e=[...Z7.values()];!e.length||(this.data.delay>0?(this.disposeDelay(),this.timeoutId=window.setTimeout((()=>{e.forEach((e=>{e.forEach((e=>{e[this.data.interaction]()}))})),this.disposeDelay()}),this.data.delay)):e.forEach((e=>{e.forEach((e=>{e[this.data.interaction]()}))})))}disposeDelay(){clearTimeout(this.timeoutId),delete this.timeoutId}dispose(){clearTimeout(this.timeoutId),delete this.timeoutId}},X7=class{constructor(e,t,n,r,i){if(this.data=t,this.shared=r,this.condition=i,"play"===t.interaction)this.interaction=new K7(e,t,n);else{if("pause"!==t.interaction&&"stop"!==t.interaction)throw new Error("Missing property");this.interaction=new Q7(t)}}dispatchBasic(){if(!1===N7(this.shared,this.condition))return!1;this.interaction instanceof K7?this.interaction.playByToggle():this.interaction.dispatch()}dispatchConditional(){if(!1===N7(this.shared,this.condition))return!1;this.interaction instanceof K7?this.interaction.play():this.interaction.dispatch()}dispose(){this.interaction.dispose()}},_7=(()=>{let e,t,n,r;function i(n){var i;!e&&!$7()&&(null===(i=t)||void 0===i?void 0:i.sharedGameControlGlobals.createdObjects.length)>0&&(e=requestAnimationFrame(a)),n&&(t=n,r=n.requestRender)}function a(i){let s=n?i-n:0,o=t.sharedGameControlGlobals.createdObjects,l=t.sharedGameControlGlobals.nCreatedPerAction,c=o.length,d=0;for(;d<c;){let e=o[d];void 0===e.userData.createdTime&&(e.userData.createdTime=i),void 0===e.userData.lifetime&&void 0===e.userData.quantity||e.userData.lifetime&&i-e.userData.createdTime<e.userData.lifetime||e.userData.quantity&&l[e.userData.actionId]<=e.userData.quantity?(e.userData.velocity&&(e.position.addScaledVector(e.userData.velocity,s/1e3),e.updateMatrix(),r()),d++):(l[e.userData.actionId]>e.userData.quantity&&l[e.userData.actionId]--,o.splice(d,1),e.removeFromParent(),t.sharedGameControlGlobals.rapierWorld&&e.rigidBody?(t.sharedGameControlGlobals.colliderToEntity.delete(e.rigidBody.collider(0).handle),t.sharedGameControlGlobals.rapierWorld.removeRigidBody(e.rigidBody)):(e.bvhGeometry=void 0,t.sharedGameControlGlobals.entitiesWithTransformAnim=t.sharedGameControlGlobals.entitiesWithTransformAnim.filter((e=>void 0!==e.bvhGeometry))),c--,r())}e=d>0?requestAnimationFrame(a):void 0,n=d>0?i:void 0}return typeof document<"u"&&document.addEventListener("visibilitychange",(function(){$7()?e&&(cancelAnimationFrame(e),e=void 0,n=void 0):i()})),i})();function $7(){return!!document&&document.hidden}var e8=new GM,t8=new qM,n8=new qM,r8=class{constructor(e,t,n,r,i){this.data=e,this.page=t,this.controlsManager=n,this.shared=r,this.condition=i,this.intervalId=null,this.timeoutIdQueue=[],this.uniqueId=lM.generateUUID(),this.dispatch=()=>{if(!1===N7(this.shared,this.condition))return!1;this.data.delay?this.timeoutIdQueue.push(window.setTimeout(this.dispatchInner,1e3*this.data.delay)):this.dispatchInner()},this.dispatchFromStart=()=>{if(!1===N7(this.shared,this.condition))return!1;this.timeoutIdQueue.push(window.setTimeout(this.dispatchInner,1e3*this.data.delay))},this.dispatchThrottled=AW(this.dispatch,1e3/this.data.creationSpeed),this.dispatchStart=()=>{null===this.intervalId&&(this.intervalId=window.setInterval(this.dispatch,1e3/this.data.creationSpeed))},this.dispatchStop=()=>{null!==this.intervalId&&(window.clearInterval(this.intervalId),this.intervalId=null)},this.dispatchInner=()=>{this.timeoutIdQueue.shift();let e=new DF(this.object);if(e.playModeVisible=!0,e.expand(),"world"!==this.data.coordinateSystem){let t=this.data.coordinateSystem,n=this.page.scene.find(t);n&&(n.updateMatrixWorldSVD(),e.hiddenMatrix.copy(n.matrixWorldRigid))}e.position.fromArray(this.data.position),e.rotation.fromArray(this.data.rotation),e.updateMatrix(),this.page.add(e);let t=this.controlsManager.sharedGameControlGlobals;t.createdObjects.push(e),void 0===t.nCreatedPerAction[this.uniqueId]?t.nCreatedPerAction[this.uniqueId]=1:t.nCreatedPerAction[this.uniqueId]++,e.updateWorldMatrix(!0,!0),e.traverseObject(this.traverseObjectCB),_7(),this.controlsManager.requestRender()},this.traverseObjectCB=e=>{var t,n,r;let i;if(e.hasNonUniformScale&&e.updateMatrixWorldSVD(),this.controlsManager.sharedGameControlGlobals.rapierWorld){var a;if(e instanceof x1){if(!e.objectForSample)return!0===e.object.dataPatched.physics.fusedBody&&"dynamic"===e.object.dataPatched.physics.rigidBody||void 0;if(e.objectForSample.dataPatched.physics.fusedBody)return;i=e.object}else if(e instanceof DF)i=e.object;else if(i=e,null!==(a=i.dataPatched.cloner)&&void 0!==a&&a.hideBase)return!0}else{if(e instanceof x1)return;i=e instanceof DF?e.object:e}"Time"===this.data.destroy?e.userData.lifetime=1e3*this.data.lifetime:"Quantity"===this.data.destroy&&(e.userData.quantity=this.data.destroyAfterQuantity,e.userData.actionId=this.uniqueId);let s=(new qM).fromArray(this.data.velocity),o=i.dataPatched;if(!("visibility"===o.physics.enabled?!o.visible:!o.physics.enabled)&&(this.controlsManager.sharedGameControlGlobals.rapierWorld?(this.controlsManager.addRigidBody(e,i,{fromCreate:!0,dynamic:this.data.dynamic}),"Collision"===this.data.destroy&&(null!==(t=e.rigidBody)&&void 0!==t&&t.collider(0).setActiveEvents(1),e.userData.hasCollisionDestroy=!0),e.matrixWorld.decompose(t8,e8,n8),s.applyQuaternion(e8),this.data.velocity.some((e=>0!==e))&&this.data.dynamic&&(null===(n=e.rigidBody)||void 0===n||n.setLinvel(s.divideScalar(this.controlsManager.pixelsPerMeter),!0))):("geometry"in e.object&&this.controlsManager.addBoundsTree(e),this.data.velocity.some((e=>0!==e))&&this.data.dynamic&&(e.userData.velocity=s)),!0===(null===(r=i.dataPatched.physics)||void 0===r?void 0:r.fusedBody)))return!0};let a=this.page.scene.find(this.data.object);if(!a)throw new Error("Missing Property");if(this.object=a,"world"!==this.data.coordinateSystem&&!this.page.scene.find(this.data.coordinateSystem))throw new Error("Missing Property");_7(n)}dispose(){null!==this.intervalId&&(window.clearInterval(this.intervalId),this.intervalId=null),this.timeoutIdQueue.forEach((e=>window.clearTimeout(e))),this.dispatchThrottled.cancel(),this.page.remove(...this.controlsManager.sharedGameControlGlobals.createdObjects),this.controlsManager.sharedGameControlGlobals.createdObjects=[]}},i8=.02,a8=(new qM,new qM),s8=new qM,o8=new qM,l8=new qM,c8=new qM,d8=new qM,h8=new fP,u8=new fP,p8=new fP,f8=(new fP,new GM),m8=new GM,g8=new wP(0,0,0,"YXZ"),y8=new qM(1,0,0),v8=new qM(0,1,0),x8=new qM(0,0,1),S8=new qM(1,1,1),A8=(new aP,new wR),b8=new zM,k8={type:"requestRender"},w8={type:"updateMatrix"},j8=Math.PI/6,M8=class extends Zj{constructor(e,t,n,r,i,a,s,o,l){var c,d,h,u,p,f,m,g,y,v,x,S,A,b,k,w,j,M,P;super(),this.object=e,this.domElement=t,this.data=n,this.gloabalPhysics=r,this.controlsManager=i,this.cameraFollow=a,this.camera=s,this.page=o,this.sharedAssets=l,this.enableDamping=!0,this.hiddenMatrix0=new fP,this.target0=new qM,this.zoom0=1,this.rotForce=1,this.moveForce=1,this.pixelsPerMeter=200,this.euler0=new wP(0,0,0,"YXZ"),this.position0Cam=new qM,this.quat0Cam=new GM,this.scale0Cam=new qM,this.hiddenMatrix0Cam=new fP,this.threshEndTranslate=.01,this.threshEndRotate=1e-8,this.threshEndRotVel=.005,this.collider={type:"capsule",radius:40,segment:new wR(new qM(0,-40,0),new qM(0,40,0)),matrix:new fP,position:new qM,rotation:new GM},this.euler=new wP(0,0,0,"YXZ"),this.eulerDelta=new qM,this.lastPosition=new qM,this.lastCameraQuaternion=new GM,this.lastCameraPosition=new qM,this.PI_2=Math.PI/2,this.prevMouse=new cM,this.velocityTarget=new qM,this.velocity=new qM,this.directionXZ=new qM,this.rotVelocityStick=new qM,this.rotVelocityTarget=new qM,this.rotVelocity=new qM,this.rotDirection=new qM,this.nonColliderRotOffset=new fP,this.nonColliderPosOffset=new fP,this.firstPointerId=-1,this.rot=new qM,this.path=[],this.movementState={moveNegZ:0,movePosZ:0,moveNegX:0,movePosX:0,moveNegY:0,movePosY:0,rotPosX:0,rotNegX:0,rotPosY:0,rotNegY:0,jump:0,run:0},this.vrEulerYOffset=0,this.onObject=!1,this.actionState={},this.keyAssignments=[["moveNegZ","W"],["moveNegX","A"],["movePosZ","S"],["movePosX","D"],["rotPosX","ArrowUp"],["rotPosY","ArrowLeft"],["rotNegX","ArrowDown"],["rotNegY","ArrowRight"],["jump"," "]],this.collisionEnabled=!0,this.offsetMatrix=new fP,this.objectToTarget=new qM,this.objectToTarget0=new qM,this.objectToCamXZ=new qM,this.objectToCamXZ0=new qM,this.targetToCamera=new qM,this.targetToCamera0=new qM,this.cameraPolarAxis0=new qM,this.targetPos=new qM,this.targetQuat=new GM,this.lerpFactorPos=(new qM).setScalar(.3),this.lerpFactorPosStart=.3,this.lerpFactorPosEnd=.3,this.lerpFactorRotStart=.3,this.lerpFactorRotEnd=.3,this.lerpFactorPosCamera=.3,this.lerpFactorRotCamera=.3,this.objXZQuat=new GM,this.objXZQuatInv=new GM,this.objXZRotMat=new fP,this.isFirstPerson=!1,this.didHit=!1,this.groundVelocity=new qM,this.pushedVelocity=new qM,this.groundYRotation=0,this.objectRealQuat=new GM,this.colliderWorldQuat=new GM,this.groundNormal=new qM,this.groundTilt=new GM,this.groundTiltInv=new GM,this.lastHitObj=null,this.isFirstFrame=!0,this.rotationAccumWhenOrientWithCamera=0,this.navMeshPathDest=null,this.position=new qM,this.quaternion=new GM,this.scale=new qM,this.initialAction=!0,this.onPointerDown=e=>{e.target!==this.domElement||-1!==this.firstPointerId||(this.firstPointerId=e.pointerId,this.domElement.ownerDocument.addEventListener("pointermove",this.onPointerMove),this.domElement.ownerDocument.addEventListener("pointerup",this.onPointerUp),"keys"!==this.rotBy&&!PW&&(!OW||TW>=15.5)&&this.domElement.requestPointerLock(),this.prevMouse.set(e.clientX,e.clientY))},this.onPointerUp=e=>{this.firstPointerId=-1,this.domElement.ownerDocument.removeEventListener("pointermove",this.onPointerMove),this.domElement.ownerDocument.removeEventListener("pointerup",this.onPointerUp),"mouse"===e.pointerType&&this.domElement.ownerDocument.exitPointerLock()},this.onPointerMove=e=>{if(e.pointerId!==this.firstPointerId)return;let t=e.clientX-this.prevMouse.x,n=e.clientY-this.prevMouse.y;this.prevMouse.set(e.clientX,e.clientY),"mouse"===e.pointerType&&"keys"!==this.rotBy&&(OW&&TW<15.5&&!PW?(this.eulerDelta.y=-t*this.mouseOrbitSensitivity,this.eulerDelta.x=-n*this.mouseOrbitSensitivity):(this.eulerDelta.y=-e.movementX*this.mouseOrbitSensitivity,this.eulerDelta.x=-e.movementY*this.mouseOrbitSensitivity)),"mouse"!==e.pointerType&&"drag"===this.rotByTouch&&(this.eulerDelta.y=-t*this.mouseOrbitSensitivity*5,this.eulerDelta.x=-n*this.mouseOrbitSensitivity*5),this.controlsManager.requestRender()},this.onPointerlockChange=e=>{this.domElement.ownerDocument.pointerLockElement===this.domElement?M8.isLocked=!0:M8.isLocked=!1},this.onPointerlockError=()=>{console.error("SPE.GameControls: Unable to use Pointer Lock API")},this.handleVisibilityChange=()=>{var e;if(null!==(e=document)&&void 0!==e&&e.hidden)for(let t in this.movementState)this.movementState[t]=0},this.onKeyDown=e=>{!(e.target instanceof HTMLInputElement)&&("ArrowLeft"===e.code||"ArrowUp"===e.code||"ArrowRight"===e.code||"ArrowDown"===e.code||"Space"===e.code)&&e.preventDefault();for(let t of this.keyAssignments)if(e.key.toUpperCase()===t[1]||e.key===t[1]){this.movementState[t[0]]=1;break}this.controlsManager.requestRender()},this.onKeyUp=e=>{for(let t of this.keyAssignments)if(e.key.toUpperCase()===t[1]||e.key===t[1]||e.code.slice(3,e.code.length).toUpperCase()===t[1]){this.movementState[t[0]]=0;break}},this.copyVRGamePadValues=(e,t)=>{for(let n=2;n<4;n++){let r=e.axes[n];0===t?2===n?this.movementState.movePosX=r:this.movementState.movePosZ=r:(e.buttons[3].pressed?this.movementState.jump=1:this.movementState.jump=0,2===n?(Math.abs(this.movementState.rotPosY)<.3&&Math.abs(r)>=.3&&(this.vrEulerYOffset+=r<0?1:-1),this.movementState.rotPosY=r):"fly"===this.moveMode&&(this.movementState.moveNegY=r))}},this.sharedGameControlGlobals=i.sharedGameControlGlobals,e===s&&(this.isFirstPerson=!0),this.hiddenMatrix0.copy(this.object.hiddenMatrix),this.object.parent?this.object.hiddenMatrix.copy(this.object.parent.matrixWorld).invert():this.object.hiddenMatrix.identity(),this.object.matrix.copy(this.object.matrixWorld),this.object.matrix.decompose(this.position,this.quaternion,this.scale),this.euler0.setFromQuaternion(this.quaternion,"YXZ");let O=this.euler0.clone(),T=O.y;if(this.objectRealQuat.copy(this.quaternion),O.y=0,this.quaternion.setFromEuler(O),this.objXZQuat.copy(this.quaternion),this.objXZQuatInv.copy(this.objXZQuat).invert(),this.objXZRotMat.makeRotationFromQuaternion(this.quaternion),O.set(0,T,0),this.quaternion.setFromEuler(O),this.rot.setFromEuler(O),this.object.matrixAutoUpdate=!1,(this.isFirstPerson||!0===this.cameraFollow)&&(this.target0.copy(this.camera.getTarget()),this.zoom0=this.camera.zoom),!0===this.cameraFollow){var I;this.position0Cam.copy(this.camera.position),this.quat0Cam.copy(this.camera.quaternion),this.scale0Cam.copy(this.camera.scale),this.hiddenMatrix0Cam.copy(this.camera.hiddenMatrix),this.camera.parent?(this.camera.hiddenMatrix.copy(null===(I=this.camera)||void 0===I?void 0:I.parent.matrixWorld),this.camera.matrix.copy(this.camera.matrixWorld)):this.camera.hiddenMatrix.identity(),this.camera.matrix.copy(this.camera.matrixWorld),this.camera.matrix.decompose(this.camera.position,this.camera.quaternion,this.camera.scale),this.camera.matrixAutoUpdate=!1,this.offsetMatrix.copy(this.object.matrix).invert().multiply(this.camera.matrix);let e,t,n=new qM(0,0,-1).applyQuaternion(this.camera.quaternion),r=(new qM).subVectors(this.position,this.camera.position);this.objectToCamXZ.copy(r),this.objectToCamXZ.y=0,this.objectToCamXZ0.copy(this.objectToCamXZ),Math.abs(n.y)<1e-6?(r.y=0,n.y=0,t=r.projectOnVector(n)):t=r.y/n.y>0?n.multiplyScalar(r.y/n.y):n.multiplyScalar(r.length()),this.targetToCamera0.copy(t).negate(),e=this.camera.position.clone().add(t),this.objectToTarget0.subVectors(e,this.position);let i=(new wP).setFromQuaternion(this.camera.quaternion,"YXZ");this.cameraPolarOffset=-i.x,i.x=0,i.z=0,i.y-=Math.PI/2,this.cameraPolarAxis0.set(0,0,-1).applyEuler(i)}if(this.object instanceof q1&&(this.object.matrixAutoUpdate=!1),this.euler.setFromQuaternion(this.quaternion,"YXZ"),this.rotByTouch=null!==(c=n.rotByTouch)&&void 0!==c?c:"joystick",this.rotBy=null!==(d=n.rotBy)&&void 0!==d?d:"keys",this.rotationMode=null!==(h=n.rotationMode)&&void 0!==h?h:"normal",this.moveMode=null!==(u=n.moveMode)&&void 0!==u?u:"walk",this.collisionEnabled=n.collisionEnabled,this.speedTranslate=1*(null!==(p=n.speedTranslate)&&void 0!==p?p:250),this.speedOrbit=.025*(null!==(f=n.speedRotate)&&void 0!==f?f:100),this.mouseOrbitSensitivity=16e-6*(null!==(m=n.speedRotate)&&void 0!==m?m:100),this.keyAssignments=n.keyAssignments.map((e=>{let t=[e[0],e[1]];return"\u25b2"===t[1]?t[1]="ArrowUp":"\u25c0"===t[1]?t[1]="ArrowLeft":"\u25bc"===t[1]?t[1]="ArrowDown":"\u25b6"===t[1]?t[1]="ArrowRight":"\u21e7"===t[1]?t[1]="Shift":"\u21b5"===t[1]?t[1]="Enter":"Space"===t[1]?t[1]=" ":"\u2318"===t[1]?t[1]="Meta":"Ctrl"===t[1]?t[1]="Control":"Esc"===t[1]&&(t[1]="Escape"),t})),"mouse"===n.rotBy){let e;e=this.keyAssignments.findIndex((e=>"rotNegX"===e[0])),-1!==e&&(this.keyAssignments[e][1]=""),e=this.keyAssignments.findIndex((e=>"rotPosX"===e[0])),-1!==e&&(this.keyAssignments[e][1]=""),e=this.keyAssignments.findIndex((e=>"rotPosY"===e[0])),-1!==e&&(this.keyAssignments[e][1]=""),e=this.keyAssignments.findIndex((e=>"rotNegY"===e[0])),-1!==e&&(this.keyAssignments[e][1]="")}this.lerpFactorPosStart=1-.02**(1/(60*(null!==(g=n.delayPos[0])&&void 0!==g?g:.3))),this.lerpFactorPosEnd=1-.02**(1/(60*(null!==(y=n.delayPos[1])&&void 0!==y?y:.3))),this.lerpFactorPos.setScalar(this.lerpFactorPosStart),this.lerpFactorRotStart=1-.02**(1/(60*(null!==(v=n.delayRot[0])&&void 0!==v?v:.3))),this.lerpFactorRotEnd=1-.02**(1/(60*(null!==(x=n.delayRot[1])&&void 0!==x?x:.3))),this.lerpFactorPosCamera=1-.02**(1/(60*(null!==(S=n.delayPosCamera)&&void 0!==S?S:.3))),this.lerpFactorRotCamera=1-.02**(1/(60*(null!==(A=n.delayRotCamera)&&void 0!==A?A:.3))),this.gravity=12*(null!==(b=this.gloabalPhysics.gravity)&&void 0!==b?b:IN.defaultData.gravity),this.usePhysics=null!==(k=this.gloabalPhysics.usePhysics)&&void 0!==k?k:IN.defaultData.usePhysics,this.jumpPower=20*n.jumpPower,this.resetYPosition=this.position.y+Math.abs(n.resetYPosition)*(this.gravity>0?1:-1),this.alignToGround=null!==(w=n.alignToGround)&&void 0!==w&&w,this.orientMode=n.autoOrientMove?n.orientMode:"none",this.orientWith=null!==(j=n.orientWith)&&void 0!==j?j:hL.defaultDataThirdPerson.orientWith,this.slopeThresh=65*Math.PI/180,"capsule"===n.collider.type?(this.collider.radius=n.collider.radius,this.collider.segment.start.y=n.collider.height/2-n.collider.radius,this.collider.segment.end.y=-this.collider.segment.start.y,this.offset=n.collider.height*i8/this.pixelsPerMeter,this.stepThresh=.3*n.collider.height/this.pixelsPerMeter,this.colliderHeight=n.collider.height):"sphere"===n.collider.type?(this.collider.radius=n.collider.radius,this.collider.segment.start.y=0,this.collider.segment.end.y=0,this.offset=2*n.collider.radius*i8/this.pixelsPerMeter,this.stepThresh=2*n.collider.radius*.3/this.pixelsPerMeter,this.colliderHeight=2*n.collider.radius):(this.offset=n.collider.height*i8/this.pixelsPerMeter,this.stepThresh=.3*n.collider.height/this.pixelsPerMeter,this.colliderHeight=n.collider.height),this.collider.type=n.collider.type;let C=(new qM).fromArray(n.collider.position),E=(new GM).setFromEuler((new wP).fromArray([...n.collider.rotation,"XYZ"]));this.collider.position.copy(C).multiply(this.scale),this.collider.rotation.copy(E),this.collider.matrix.compose(C,E,S8),void 0!==n.cameraXAxis&&(this.cameraXAxis=n.cameraXAxis,this.cameraYAxis=n.cameraYAxis,this.minPolarAngle=n.cameraRotXLimits[0],this.maxPolarAngle=n.cameraRotXLimits[1],this.minAzimuthAngleRel=n.cameraRotYLimits[0],this.maxAzimuthAngleRel=n.cameraRotYLimits[1]),this.forwardDir=null!==(M=n.forwardDirection)&&void 0!==M?M:"-z",this.isFirstPerson&&(this.forwardDir="-z"),this.runMultiplier=null!==(P=n.runMultiplier)&&void 0!==P?P:2;let V=2*n.navmesh.destinationHelperRadius;if(V>0){let e=new oz;e.push({fi:0,data:{...uN.defaultData("light","phong"),alpha:0},id:"layer1"}),e.push({fi:0,data:{...uN.defaultData("color"),color:n.navmesh.destinationHelperColor,alpha:n.navmesh.destinationHelperColor.a},id:"layer2"});let t=new n0({layers:e},{scene:this.page.scene,shared:this.sharedAssets});this.navMeshPathDest=new PO(nZ.create({parameters:{width:V,height:V/10,hollow:.7}}),t),this.navMeshPathDest.material.userData.opacity0=n.navmesh.destinationHelperColor.a}this.activate()}reset(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.object.hiddenMatrix.copy(this.hiddenMatrix0),e){this.object.updateMatrix(),this.object.updateMatrixWorld(),this.object.matrix.copy(this.object.matrixWorld),this.object.matrix.decompose(this.position,this.quaternion,this.scale),this.object.parent?this.object.hiddenMatrix.copy(this.object.parent.matrixWorld).invert():this.object.hiddenMatrix.identity();let e=(new wP).setFromQuaternion(this.quaternion,"YXZ"),t=e.y;this.objectRealQuat.copy(this.quaternion),e.y=0,this.quaternion.setFromEuler(e),this.objXZQuat.copy(this.quaternion),this.objXZQuatInv.copy(this.objXZQuat).invert(),this.objXZRotMat.makeRotationFromQuaternion(this.quaternion),e.set(0,t,0),this.quaternion.setFromEuler(e),this.rot.setFromEuler(e),this.euler.setFromQuaternion(this.quaternion,"YXZ"),this.velocityTarget.set(0,0,0),this.velocity.set(0,0,0)}else this.object instanceof q1?this.object.matrixAutoUpdate=!0:this.object.updateMatrix();!0===this.cameraFollow&&(this.camera.quaternion.copy(this.quat0Cam),this.camera.position.copy(this.position0Cam),this.camera.scale.copy(this.scale0Cam),this.camera.hiddenMatrix.copy(this.hiddenMatrix0Cam),this.camera.matrixAutoUpdate=!0),this.controlsManager.requestRender()}activate(){this.instantiateActions(),this.domElement.ownerDocument.addEventListener("pointerdown",this.onPointerDown),this.domElement.ownerDocument.addEventListener("keydown",this.onKeyDown),this.domElement.ownerDocument.addEventListener("keyup",this.onKeyUp),this.domElement.ownerDocument.addEventListener("pointerlockchange",this.onPointerlockChange),this.domElement.ownerDocument.addEventListener("pointerlockerror",this.onPointerlockError),this.domElement.ownerDocument.addEventListener("visibilitychange",this.handleVisibilityChange)}deactivate(){this.disposeActions(),this.domElement.ownerDocument.removeEventListener("pointerdown",this.onPointerDown),this.domElement.ownerDocument.removeEventListener("keydown",this.onKeyDown),this.domElement.ownerDocument.removeEventListener("keyup",this.onKeyUp),this.domElement.ownerDocument.removeEventListener("pointerlockchange",this.onPointerlockChange),this.domElement.ownerDocument.removeEventListener("pointerlockerror",this.onPointerlockError),this.domElement.ownerDocument.removeEventListener("visibilitychange",this.handleVisibilityChange)}dispose(){var e;this.deactivate(),(null===(e=this.navMeshPathDest)||void 0===e?void 0:e.parent)&&this.page.remove(this.navMeshPathDest)}instantiateActions(){let e=this.data,t=this.sharedAssets;void 0!==e.gameActions&&(this.actions={},dL.list.forEach((n=>{this.actions[n]=L7({...e,disabled:!1,type:"GameControl"},e.gameActions[n],this.page,t,this.controlsManager.eventManager,this.object)}))),this.dispatchStopEvent("move"),this.dispatchStopEvent("run"),this.dispatchStopEvent("jump"),this.dispatchStartEvent("idle"),this.initialAction&&(this.initialAction=!1)}disposeActions(){this.initialAction=!1,this.dispatchStopEvent("idle"),this.dispatchStopEvent("move"),this.dispatchStopEvent("run"),this.dispatchStopEvent("jump"),Y7(this.actions.idle),Y7(this.actions.move),Y7(this.actions.run),Y7(this.actions.jump)}dispatchStartEvent(e){void 0!==this.actions[e]&&(this.actionState[e]||(this.actionState[e]=!0,this.actions[e].Transition.forEach((e=>{e.play()})),this.actions[e].Animation.forEach((e=>{e.play(!1===this.initialAction)})),this.actions[e].Create.forEach((e=>{e.dispatchStart()})),this.actions[e].Audio.forEach((e=>{e.dispatchGameControl("start")})),this.actions[e].Particles.forEach((e=>{e.dispatchGameControl("start")}))))}dispatchStopEvent(e){void 0!==this.actions[e]&&(!this.actionState[e]||(this.actionState[e]=!1,this.actions[e].Transition.forEach((e=>{e.stop(),null!==e.object.currentState&&e.object.changeSelectedState(null,{scene:this.page.scene,shared:this.sharedAssets})})),this.actions[e].Create.forEach((e=>{e.dispatchStop()})),this.actions[e].Audio.forEach((e=>{e.dispatchGameControl("stop")})),this.actions[e].Particles.forEach((e=>{e.dispatchGameControl("stop")}))))}get colliderWorldPosition(){return l8.copy(this.collider.position).applyQuaternion(this.objectRealQuat).add(this.position)}update(e,t,n){var r;if(this.gravity<0?this.position.y<this.resetYPosition:this.position.y>this.resetYPosition)return this.reset(!0),!0;this.sharedGameControlGlobals.gamePads.forEach(this.copyVRGamePadValues);let i=(this.isFirstFrame?16.6:e)/1e3;this.isFirstFrame&&(this.isFirstFrame=!1);let a=60*i,s=!1;if(this.usePhysics&&this.collisionEnabled){var o;let e=c8.set(0,(0===this.velocity.y?this.pixelsPerMeter*Math.max(Math.abs(this.gravity)/120,1)*(this.gravity>0?1:-1):this.velocity.y)*i,0).divideScalar(this.pixelsPerMeter),t=this.sharedGameControlGlobals.rapierWorld.castShape(this.colliderWorldPosition.divideScalar(this.pixelsPerMeter),this.colliderWorldQuat,e,null===(o=this.object.rigidBody)||void 0===o?void 0:o.collider(0).shape,1,!1,16,void 0,void 0,this.object.rigidBody);if(t){var l;this.onObject=!0,this.groundNormal.set(t.normal2.x,t.normal2.y,t.normal2.z).applyQuaternion(this.colliderWorldQuat).negate(),this.alignToGround&&this.groundTiltAdjustment(this.groundNormal),Math.acos(this.groundNormal.y)<this.slopeThresh&&(s=!0),0===(null===(l=t.collider.parent())||void 0===l?void 0:l.bodyType())&&Math.acos(this.groundNormal.y)*(180/Math.PI)>45&&(this.onObject=!1);let e=t.collider.parent();this.groundYRotation=0,this.groundVelocity.set(0,0,0);for(let t of this.sharedGameControlGlobals.entitiesWithTransformAnim)if(t.rigidBody===e&&t.userData.isFollowingObj!==this.object.uuid){(t.hasNonUniformScale?t.matrixWorldRigid:t.matrixWorld).decompose(l8,m8,c8),this.groundVelocity.subVectors(l8,t.prevT),this.object.getWorldPosition(c8).add(this.collider.position).sub(l8),this.groundYRotation=g8.setFromQuaternion(m8).y-t.prevR.y,d8.copy(c8).applyAxisAngle(v8,this.groundYRotation),this.groundVelocity.add(d8.sub(c8)).divideScalar(i);break}}else this.onObject=!1}if("walk"===this.moveMode&&this.collisionEnabled&&(1===this.movementState.jump&&this.onObject&&(this.velocityTarget.y=this.jumpPower,this.movementState.jump=0,this.dispatchStopEvent("idle"),this.dispatchStopEvent("move"),this.dispatchStopEvent("run"),this.dispatchStopEvent("jump"),this.dispatchStartEvent("jump"),this.onObject=!1),this.onObject?this.velocityTarget.y/=2:this.velocityTarget.y+=this.gravity*a),"fly"===this.moveMode&&(this.velocityTarget.y=(this.movementState.movePosY-this.movementState.moveNegY)*this.speedTranslate),this.directionXZ.z=this.movementState.movePosZ-this.movementState.moveNegZ,this.directionXZ.x=this.movementState.movePosX-this.movementState.moveNegX,"+z"===this.forwardDir&&this.directionXZ.multiplyScalar(-1),this.directionXZ.manhattanLength()>0&&(this.path=[]),this.navMeshPathDest){let e=this.navMeshPathDest.material;if("walk"===this.moveMode&&this.path.length>1){this.navMeshPathDest.position.copy(this.path[this.path.length-1]),this.navMeshPathDest.parent||this.page.add(this.navMeshPathDest);let t=l8.subVectors(this.path[1],this.position),n=c8.subVectors(this.path[1],this.path[0]);t.dot(n)<0?this.path.shift():(this.directionXZ.x=n.x,this.directionXZ.z=n.z),e.opacity=e.userData.opacity0}else e.opacity-=.05*e.userData.opacity0,this.navMeshPathDest.material.opacity<=0&&this.navMeshPathDest.parent&&this.page.remove(this.navMeshPathDest)}this.directionXZ.normalize(),this.movementState.run?this.moveForce=this.runMultiplier:this.moveForce=1,this.velocityTarget.z=this.directionXZ.z*this.speedTranslate*this.moveForce,this.velocityTarget.x=this.directionXZ.x*this.speedTranslate*this.moveForce,("walk"===this.moveMode?this.velocityTarget.x+this.velocityTarget.z===0:0===this.velocityTarget.manhattanLength())?this.lerpFactorPos.setScalar(this.lerpFactorPosEnd):this.lerpFactorPos.setScalar(this.lerpFactorPosStart),"walk"===this.moveMode&&(this.lerpFactorPos.y=1),!1===this.didHit&&0===this.pushedVelocity.manhattanLength()||!1===this.usePhysics?(this.velocity.x+=(this.velocityTarget.x-this.velocity.x)*(1-(1-this.lerpFactorPos.x)**a),this.velocity.y+=(this.velocityTarget.y-this.velocity.y)*(1-(1-this.lerpFactorPos.y)**a),this.velocity.z+=(this.velocityTarget.z-this.velocity.z)*(1-(1-this.lerpFactorPos.z)**a)):this.velocity.copy(this.velocityTarget),("walk"===this.moveMode?this.velocity.x**2+this.velocity.z**2<this.speedTranslate:this.velocity.lengthSq()<this.speedTranslate)?(this.dispatchStopEvent("move"),this.dispatchStopEvent("run"),this.onObject&&(this.dispatchStopEvent("jump"),this.dispatchStartEvent("idle"))):(this.dispatchStopEvent("idle"),this.onObject&&(this.dispatchStopEvent("jump"),this.movementState.run?(this.dispatchStopEvent("move"),this.dispatchStartEvent("run")):(this.dispatchStopEvent("run"),this.dispatchStartEvent("move"))));let c=o8.copy(this.velocity);if("none"!==this.orientMode&&!1===this.isFirstPerson){let e=c8.copy(c);e.y=0,c.set(0,c.y,e.length()*("+z"===this.forwardDir?1:-1))}if(this.directionXZ.manhattanLength()>0&&"none"!==this.orientMode&&!1===this.isFirstPerson)if("camera"===this.orientWith&&this.path.length<=1){let e=l8;this.camera.getWorldDirection(e);let t=d8.copy(v8).multiplyScalar(e.dot(v8));e.sub(t);let n=c8.copy(this.directionXZ);n.x*=-1,this.rot.y=e.angleTo(n)*(e.cross(n).y>0?-1:1)+this.rotationAccumWhenOrientWithCamera}else this.rot.y=(this.path.length>1?0:this.euler.y)+Math.atan2(-this.directionXZ.z,this.directionXZ.x)+Math.PI/2*("+z"===this.forwardDir?1:-1);if(g8.setFromVector3(this.rot),"walk"===this.moveMode&&(g8.x=0),c.applyEuler(g8),s&&(m8.setFromUnitVectors(v8,this.groundNormal),c.applyQuaternion(m8)),n){let e=g8.set(0,this.vrEulerYOffset*j8,0);n.applyEuler(e),c.x+=n.x,c.z+=n.z,this.nonColliderPosOffset.elements[13]+=n.y*i}if(!0===this.usePhysics){let e=c8;this.pushedVelocity.set(0,0,0);for(let t of this.sharedGameControlGlobals.entitiesWithTransformAnim){let n=d8.setFromMatrixPosition(t.matrixWorld).sub(t.prevT).divideScalar(i).divideScalar(this.pixelsPerMeter),r=t.rigidBody.collider(0).castCollider(n,this.object.rigidBody.collider(0),l8.copy(c).divideScalar(this.pixelsPerMeter),i,!1);n.multiplyScalar(this.pixelsPerMeter);let a=EF.is(t)?t:t.object;if(null!==r&&this.lastHitObj!==a){let e;t instanceof DF&&(e=t);let n=this.sharedGameControlGlobals.entityToCollisionEvents[a.uuid];if(n)for(let t of n)"character"===t.data.target&&(t.dispatch(e),a.dispatchEvent(Qte));this.lastHitObj=a}if(null!==r){this.pushedVelocity.copy(n),e.copy(r.normal1).applyQuaternion(t.quaternion);break}}if(0!==this.pushedVelocity.manhattanLength()){let t=e.dot(c);t<0&&c.addScaledVector(e,-t),c.add(this.pushedVelocity)}else c.add(this.groundVelocity)}if(this.rotDirection.y=Number(this.movementState.rotPosY)-Number(this.movementState.rotNegY),this.rotDirection.x=Number(this.movementState.rotPosX)-Number(this.movementState.rotNegX),this.rotDirection.normalize(),"normal"===this.rotationMode&&(this.movementState.rotPosX||this.movementState.rotNegX)||"steer"===this.rotationMode&&(this.movementState.rotPosX||this.movementState.rotNegX)&&(this.movementState.movePosZ||this.movementState.moveNegZ||"walk"===this.moveMode)?this.rotVelocityStick.x=-this.rotDirection.x*this.speedOrbit*this.rotForce:this.rotVelocityStick.x=0,"normal"===this.rotationMode&&(this.movementState.rotPosY||this.movementState.rotNegY)||"steer"===this.rotationMode&&(this.movementState.rotPosY||this.movementState.rotNegY)&&(this.movementState.movePosZ||this.movementState.moveNegZ)?this.rotVelocityStick.y=-this.rotDirection.y*this.speedOrbit*this.rotForce:this.rotVelocityStick.y=0,this.rotVelocityTarget.subVectors(this.eulerDelta.divideScalar(i),this.rotVelocityStick),0===this.rotVelocityTarget.manhattanLength()?this.rotVelocity.lerp(this.rotVelocityTarget,1-(1-this.lerpFactorRotEnd)**a):this.rotVelocity.lerp(this.rotVelocityTarget,1-(1-this.lerpFactorRotStart)**a),this.euler.x+=this.rotVelocity.x*i,this.euler.y+=this.rotVelocity.y*i+this.groundYRotation,0===this.rotVelocityTarget.y&&0===this.directionXZ.manhattanLength()?this.rotationAccumWhenOrientWithCamera=0:(!1===this.cameraFollow||"Locked"===this.cameraYAxis)&&(this.rotationAccumWhenOrientWithCamera+=this.rotVelocity.y*i),!1===this.isFirstPerson&&"none"!==this.orientMode&&this.directionXZ.manhattanLength()>0){if("radial"===this.orientMode){this.objectToCamXZ.copy(this.objectToCamXZ0).applyAxisAngle(v8,this.euler.y-this.euler0.y);let e=c8.copy(this.objectToCamXZ).normalize(),t=d8.copy(c).multiplyScalar(i);t.y=0;let n=t.sub(l8.copy(e).multiplyScalar(t.dot(e))).cross(e).y;this.euler.y-=Math.atan2(n,this.objectToCamXZ.length())}}else this.rot.y+=this.rotVelocity.y*i+this.groundYRotation,0!==this.rotVelocityTarget.y&&(!1===this.cameraFollow||"Locked"===this.cameraYAxis)&&(this.euler.y=this.rot.y);if(!0===this.cameraFollow&&("walk"===this.moveMode?"Limit"===this.cameraXAxis?this.euler.x=lM.clamp(this.euler.x,-this.maxPolarAngle+this.cameraPolarOffset+1e-6,-this.minPolarAngle+this.cameraPolarOffset-1e-6):this.euler.x=lM.clamp(this.euler.x,-this.PI_2+this.cameraPolarOffset,this.PI_2+this.cameraPolarOffset):"Limit"===this.cameraXAxis&&(this.euler.x=lM.clamp(this.euler.x,-this.PI_2,this.PI_2))),"fly"===this.moveMode?this.rot.x=this.euler.x:this.isFirstPerson&&(t?(g8.copy(t),g8.y=0):(g8.copy(this.euler),g8.y=0),this.nonColliderRotOffset.makeRotationFromEuler(g8)),t&&("walk"===this.moveMode?(this.rot.y=t.y,this.rot.x=0,this.rot.z=0):this.rot.setFromEuler(t),this.rot.y+=this.vrEulerYOffset*j8),f8.setFromAxisAngle(y8,this.rot.x),m8.setFromAxisAngle(v8,this.rot.y),m8.multiply(f8),f8.setFromAxisAngle(x8,this.rot.z),m8.multiply(f8),this.quaternion.copy(m8),this.objectRealQuat.multiplyQuaternions(this.quaternion,this.objXZQuat),this.colliderWorldQuat.copy(this.objectRealQuat).multiply(this.collider.rotation),this.collisionEnabled)if(this.usePhysics){var d,h;let e=c8.copy(c).multiplyScalar(i/this.pixelsPerMeter),t=null;this.didHit=!1;let n=new qM;for(let r=0;r<5;r++){var u;let i=e.length(),a=d8.copy(e).normalize();if(t=this.sharedGameControlGlobals.rapierWorld.castShape(this.colliderWorldPosition.divideScalar(this.pixelsPerMeter).add(n),this.colliderWorldQuat,a,null===(u=this.object.rigidBody)||void 0===u?void 0:u.collider(0).shape,i,!1,24,void 0,void 0,this.object.rigidBody),null===t){0===r&&0!==this.directionXZ.manhattanLength()&&(this.lastHitObj=null),n.add(e);break}{this.didHit=!0;let s=this.sharedGameControlGlobals.colliderToEntity.get(t.collider.handle);if(s!==this.lastHitObj&&0===r){this.lastHitObj=s;let e=this.sharedGameControlGlobals.entityToCollisionEvents[null===s||void 0===s?void 0:s.uuid];if(e)for(let n of e)if("character"===n.data.target){var p;let e,r=(null===(p=this.sharedGameControlGlobals.rapierWorld)||void 0===p?void 0:p.getCollider(t.collider.handle))._parent;if(s.cloner)for(let t of s.cloner.children)if(t.rigidBody===r){e=t;break}n.dispatch(e),s.dispatchEvent(Qte)}}let o=a8.set(t.normal2.x,t.normal2.y,t.normal2.z).applyQuaternion(this.colliderWorldQuat),l=s8.copy(a).multiplyScalar(t.toi).dot(o),c=t.toi;if(0===c&&(this.position.y+=this.offset*this.pixelsPerMeter),l>this.offset&&(c=t.toi*(l-this.offset)/l,n.addScaledVector(a,c)),e.copy(a).multiplyScalar(i-c),Math.acos(-o.y)>this.slopeThresh){var f;let r=this.colliderWorldPosition.divideScalar(this.pixelsPerMeter).add(n),i=d8.copy(t.witness2).applyQuaternion(this.colliderWorldQuat);i.y=0;let a=r.add(i);a.y+=this.stepThresh;let s=this.sharedGameControlGlobals.rapierWorld.castShape(a,this.colliderWorldQuat,e,null===(f=this.object.rigidBody)||void 0===f?void 0:f.collider(0).shape,1,!1,24,void 0,void 0,this.object.rigidBody);null!==s&&0===s.toi&&(o.y=0,o.normalize())}e.addScaledVector(o,-e.dot(o))}}this.position.addScaledVector(n,this.pixelsPerMeter),null!==(d=this.object.rigidBody)&&void 0!==d&&d.setTranslation(l8.copy(this.position).divideScalar(this.pixelsPerMeter),!0),null===(h=this.object.rigidBody)||void 0===h||h.setRotation(f8.copy(this.quaternion).premultiply(this.groundTilt).multiply(this.objXZQuat),!0)}else{let e=this.onObject?1:5,t=c.multiplyScalar(i/e);for(let n=0;n<e;n++)this.position.add(t),this.collisionAdjustment(i/e)}else this.position.addScaledVector(c,i);if("walk"===this.moveMode&&this.onObject&&(this.velocityTarget.y=0,this.velocity.y=0),this.quaternion.premultiply(this.groundTilt).multiply(this.objXZQuat),this.object.matrix.compose(this.position,this.quaternion,this.scale),this.object.matrixWorldNeedsUpdate=!0,this.object.matrix.multiply(this.nonColliderPosOffset).multiply(this.nonColliderRotOffset),this.quaternion.premultiply(this.groundTiltInv).multiply(this.objXZQuatInv),!0===this.cameraFollow){this.updateFollowArms();let e=this.objectToTarget.add(this.position),t=this.targetToCamera.add(e);h8.lookAt(t,e,v8).setPosition(t),h8.decompose(this.targetPos,this.targetQuat,l8),this.camera.quaternion.slerp(this.targetQuat,1-(1-this.lerpFactorRotCamera)**a),this.camera.position.lerp(this.targetPos,1-(1-this.lerpFactorPosCamera)**a),this.camera.updateMatrix(),this.camera.updateMatrixWorld(),"Limit"===this.cameraYAxis&&"cartesian"===this.orientMode&&(this.euler.y=lM.clamp(this.euler.y,this.minAzimuthAngleRel,this.maxAzimuthAngleRel)),this.euler.x=lM.clamp(this.euler.x,-this.PI_2+(this.cameraPolarOffset<0?this.cameraPolarOffset:0),this.PI_2+(this.cameraPolarOffset>0?this.cameraPolarOffset:0))}return this.eulerDelta.set(0,0,0),this.object.dispatchEvent(w8),(!(this.path.length<2&&this.lastPosition.distanceToSquared(this.position)<this.threshEndTranslate&&Math.abs(this.rotVelocity.x)<this.threshEndRotVel&&Math.abs(this.rotVelocity.y)<this.threshEndRotVel&&(void 0===this.camera||this.isFirstPerson||this.lastCameraPosition.distanceToSquared(this.camera.position)<this.threshEndTranslate&&8*(1-this.lastCameraQuaternion.dot(this.camera.quaternion))<this.threshEndRotate))||"fly"!==this.moveMode&&!0!==this.onObject&&!1!==this.collisionEnabled||!(null===this.navMeshPathDest||this.navMeshPathDest.material.opacity<-.04*(null===(r=this.navMeshPathDest)||void 0===r||null===(r=r.material)||void 0===r?void 0:r.userData.opacity0)))&&(this.camera&&(this.lastCameraPosition.copy(this.camera.position),this.lastCameraQuaternion.copy(this.camera.quaternion)),this.lastPosition.copy(this.position),this.object.dispatchEvent(k8),!0)}updateFollowArms(){this.objectToTarget.copy(this.objectToTarget0),this.targetToCamera.copy(this.targetToCamera0);let e,t=f8.setFromAxisAngle(v8,"Limit"===this.cameraYAxis&&"radial"!==this.orientMode?lM.clamp(this.euler.y-this.euler0.y,this.minAzimuthAngleRel,this.maxAzimuthAngleRel):this.euler.y-this.euler0.y);("Locked"!==this.cameraYAxis||"radial"===this.orientMode)&&this.objectToTarget.applyQuaternion(t),e="Limit"===this.cameraXAxis?lM.clamp(this.euler.x,-this.maxPolarAngle+this.cameraPolarOffset+1e-6,-this.minPolarAngle+this.cameraPolarOffset-1e-6):lM.clamp(this.euler.x,-this.PI_2+this.cameraPolarOffset+1e-6,this.PI_2+this.cameraPolarOffset-1e-6);let n=l8.copy(this.cameraPolarAxis0);("Locked"!==this.cameraYAxis||"radial"===this.orientMode)&&n.applyQuaternion(t);let r=m8.setFromAxisAngle(n,e);"Locked"!==this.cameraYAxis&&this.targetToCamera.applyQuaternion(t),"Locked"!==this.cameraXAxis&&this.targetToCamera.applyQuaternion(r)}groundTiltAdjustment(e){180*v8.angleTo(e)/Math.PI<15||180*v8.angleTo(e)/Math.PI>85?f8.identity():f8.setFromUnitVectors(v8,e),this.groundTilt.slerp(f8,.06),this.groundTiltInv.copy(this.groundTilt).invert()}collisionAdjustment(e){var t;let n=s8.set(0,0,0);this.object.matrix.compose(this.position,this.quaternion,this.scale);let r=h8.multiplyMatrices(this.object.matrix,this.objXZRotMat).multiply(this.collider.matrix).decompose(l8,f8,c8).compose(l8,f8,S8);this.sharedGameControlGlobals.entitiesWithTransformAnim.forEach((e=>{if(e===this.object||e.isDescendantOf(this.object))return;b8.makeEmpty(),e.updateMatrixWorldSVD();let t=e.matrixWorldRigid,i=u8.copy(t).invert(),a=p8.copy(u8).multiply(r);A8.copy(this.collider.segment),A8.start.applyMatrix4(a),A8.end.applyMatrix4(a);let s=a8.copy(this.position).applyMatrix4(i);b8.expandByPoint(A8.start),b8.expandByPoint(A8.end),b8.min.addScalar(-this.collider.radius),b8.max.addScalar(this.collider.radius),e.bvhGeometry.boundsTree.shapecast({traverseBoundsOrder:e=>e.distanceToPoint(A8.end),intersectsBounds:e=>e.intersectsBox(b8),intersectsTriangle:e=>{let r=l8,i=c8,a=e.closestPointToSegment(A8,r,i);if(a<this.collider.radius){let e=this.collider.radius-a,o=i.sub(r).normalize(),l=d8.copy(s);l.addScaledVector(o,e);let c=l.applyMatrix4(t).sub(this.position);n.add(c),A8.start.addScaledVector(o,e),A8.end.addScaledVector(o,e)}}})})),b8.makeEmpty(),A8.copy(this.collider.segment),A8.start.applyMatrix4(r),A8.end.applyMatrix4(r),b8.expandByPoint(A8.start),b8.expandByPoint(A8.end),b8.min.addScalar(-this.collider.radius),b8.max.addScalar(this.collider.radius),null!==(t=this.sharedGameControlGlobals.staticMeshBVH)&&void 0!==t&&t.shapecast({traverseBoundsOrder:e=>e.distanceToPoint(A8.end),intersectsBounds:e=>e.intersectsBox(b8),intersectsTriangle:e=>{let t=l8,r=c8,i=e.closestPointToSegment(A8,t,r);if(i<this.collider.radius){let e=this.collider.radius-i,a=r.sub(t).normalize();this.alignToGround&&this.groundTiltAdjustment(a),n.addScaledVector(a,e),A8.start.addScaledVector(a,e),A8.end.addScaledVector(a,e)}}}),this.onObject=Math.abs(n.y)>Math.abs(e*this.velocity.y*.25),this.onObject&&this.dispatchStopEvent("jump");let i=Math.max(0,n.length()-1e-5);n.normalize().multiplyScalar(i),this.position.add(n)}},P8=M8;P8.isLocked=!1;var O8=Xb(ek());function T8(e,t){let n=new pO;if(!e.getAttribute("position"))return n.setAttribute("position",new aO([],3)),n.setIndex([]),n;let{positions:r,triIndices:i}=zQ(e.getAttribute("position"),e.getIndex());return n.setAttribute("position",new aO(r,3)),n.setIndex(i),t&&n.applyMatrix4(t),n}var I8=new fP,C8=new fP,E8=[[0,0,0],[0,0,0],[0,0,0]];function V8(e){let t=e.elements;E8[0][0]=t[0],E8[0][1]=t[4],E8[0][2]=t[8],E8[1][0]=t[1],E8[1][1]=t[5],E8[1][2]=t[9],E8[2][0]=t[2],E8[2][1]=t[6],E8[2][2]=t[10];let{u:n,v:r}=(0,O8.SVD)(E8),i=I8.set(n[0][0],n[0][1],n[0][2],0,n[1][0],n[1][1],n[1][2],0,n[2][0],n[2][1],n[2][2],0,0,0,0,1),a=C8.set(r[0][0],r[0][1],r[0][2],0,r[1][0],r[1][1],r[1][2],0,r[2][0],r[2][1],r[2][2],0,0,0,0,1);return i.multiply(a.transpose())}var R8=class extends gR{constructor(){super(),this.layers.enable(3),this.layers.enable(8)}setFromCamera(e,t){t.isOrthographicCamera?(this.ray.origin.set(e.x,e.y,-1).unproject(t),this.ray.direction.set(0,0,-1).transformDirection(t.matrixWorld),this.camera=t):t.isPerspectiveCamera?(this.ray.origin.set(e.x,e.y,-1).unproject(t),this.ray.direction.set(e.x,e.y,.5).unproject(t).sub(this.ray.origin).normalize(),this.camera=t):console.error("Raycaster: Unsupported camera type.")}intersectVisibleObjects(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return e.forEach((e=>{e.visible&&this.intersectObject(e,t,n)})),n}createRaycastLineHelper(){let e=new LC({color:65280,linewidth:10}),t=new qM(this.ray.origin.x,this.ray.origin.y,this.ray.origin.z),n=new qM(this.ray.direction.x,this.ray.direction.y,this.ray.direction.z),r=this.camera.far-this.camera.near,i=(new qM).addVectors(t,n.multiplyScalar(r)),a=new pO;return a.setFromPoints([t,i]),new XC(a,e)}},D8=e=>e instanceof K1||e instanceof Q6;function B8(e,t){return e.distance-t.distance}function G8(e,t,n){if(QF(t)&&t.visible){L1(t)&&t.raycast(e,n);for(let r of t.children)G8(e,r,n)}}function q8(e,t,n){if(!(arguments.length>3&&void 0!==arguments[3]&&arguments[3])&&!n.some((t=>void 0!==z8(e,t))))return[];let r=[];return t.children.forEach((t=>G8(e,t,r))),r.sort(B8),r}function H8(e){let t=[];if(e.length){let n=e[0].object;QF(n)&&t.push(n);let r=n.parent;for(;r;)D8(r)&&t.push(r),r=r.parent}return t}function W8(e,t,n,r){let i=e.frame;if(i){let e=t[0]*i.width,a=(1-t[1])*i.height;for(let t of n){let n=t===i.uuid?i:i.find(t);if(null!==n&&void 0!==n&&n.intersects(e,a))return r(n),!0}}return!1}function z8(e,t){if(L1(t)){if(t.visible){let n=[];return t.raycast(e,n),n.length?n[0]:void 0}}else if(D8(t))return J8(e,t)}function J8(e,t){if(QF(t)&&t.visible){if(L1(t)){let n=[];if(t.raycast(e,n),n.length)return n[0]}for(let n of t.children){let t=J8(e,n);if(t)return t}}}var U8=class{constructor(e,t,n,r,i,a,s,o){this.renderer=e,this.publish=t,this.scene=n,this.getCamera=r,this.sharedAssets=i,this.requestRender=a,this.isExport=s,this.frame=o,this.raycaster=new R8,this._useWindowEvents=!1,this.pointerWorld={x:0,y:0},this.pointerScreen={x:0,y:0},this._useWindowEvents="window"===t.mouseEventTarget,this.domElement=e.domElement,this.eventElement=this._useWindowEvents?window:e.domElement,this._domRect=this.domElement.getBoundingClientRect()}get stopRaycast(){return this.publish.stopRaycast}get page(){return this.scene.activePage}set useWindowEvents(e){this._useWindowEvents=e,this.eventElement=e?window:this.renderer.domElement}get useWindowEvents(){return this._useWindowEvents}set domRect(e){this._domRect=e}get domRect(){return this._domRect}updateRaycaster(e){var t;let{pageX:n,pageY:r}=(null===(t=e.touches)||void 0===t?void 0:t.length)>0?e.touches[0]:e;this.pointerWorld=function(e,t,n){return{x:(e-(n.left+window.scrollX))/n.width*2-1,y:-(t-(n.top+window.scrollY))/n.height*2+1}}(n,r,this._domRect),this.pointerScreen=function(e,t,n){return{x:(e-(n.left+window.scrollX))/n.width,y:1-(t-(n.top+window.scrollY))/n.height}}(n,r,this._domRect),this.raycaster.setFromCamera(this.pointerWorld,this.getCamera())}},N8=class{constructor(e){this.eventContext=e,this.domEventsNeeded=new Set,this.hasVideoAction=!1}connect(){}disconnect(){}},L8=[["start","Start"],["keyDown","KeyDown"],["keyUp","KeyUp"],["mouseDown","MouseDown"],["mouseUp","MouseUp"],["mouseHover","MouseHover"],["collision","Collision"],["lookAt","LookAt"],["follow","Follow"],["scroll","Scroll"]],Y8=e=>{var t;return null===(t=L8.find((t=>{let[n,r]=t;return r===e})))||void 0===t?void 0:t[0]},F8=e=>{var t;return null===(t=L8.find((t=>{let[n]=t;return n===e})))||void 0===t?void 0:t[1]},Z8=(e,t)=>{let n=Y8(e);if(n){let e=new CustomEvent(n,{bubbles:!0});return Object.defineProperty(e,"target",{writable:!1,value:t}),e}},K8=class extends N8{constructor(e){super(e),this.objectsPerEvents=new Map,this.splineEvents={},this.onBeginEvent=e=>{var t;if(!e.eventName||!e.target||"Scroll"===e.eventName)return;let n=null===(t=this.splineEvents[Y8(e.eventName)])||void 0===t?void 0:t[e.target.uuid];if(!n)return;"Scroll"===e.eventName&&void 0!==e.deltaY&&Object.assign(n,{deltaY:e.deltaY});let{domElement:r}=this.eventContext;r.dispatchEvent(n)};let{page:t}=this.eventContext;t.traverseEntity((e=>{var t;if(null!==(t=e.data)&&void 0!==t&&t.events.length)for(let[r,i]of L8)if(e.data.events.some((e=>e.data.type===i&&!e.data.disabled))){var n;this.objectsPerEvents.has(r)?null===(n=this.objectsPerEvents.get(r))||void 0===n||n.push(e):this.objectsPerEvents.set(r,[e]);let t={id:e.uuid,name:e.name},a=Z8(i,t),s=this.splineEvents[r];s?s[e.uuid]=a:this.splineEvents[r]={[e.uuid]:a}}}))}connect(){this.objectsPerEvents.forEach((e=>{e.forEach((e=>{e.addEventListener("beginEvent",this.onBeginEvent)}))}))}disconnect(){this.objectsPerEvents.forEach((e=>{e.forEach((e=>{e.removeEventListener("beginEvent",this.onBeginEvent)}))}))}},Q8=class{constructor(e,t,n,r,i,a){if(this.id=e,this.data=t,this.object=n,this.entered=!1,this.alreadyPlayedNonTogglingActions=new Set,this.useToggle="Toggle"===t.runMode,("KeyDown"===t.type||"KeyUp"===t.type||"KeyPress"===t.type)&&!t.key)throw new Error("Missing property");this.actions=L7(t,t.actions,r,i,a,n)}disconnect(){Y7(this.actions)}dispatchHeld(e){this.actions.Create.forEach((t=>{e&&t.dispatchThrottled.cancel(),t.dispatchThrottled()}))}dispatch(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.actions.Transition.forEach((e=>{e.object.currentTransitionEvent!==this?(e.object.currentTransitionEvent=this,e.init()):"Once"===this.data.runMode&&this.alreadyPlayedNonTogglingActions.add(e)})),this.useToggle?(this.actions.Transition.forEach((e=>{e.toggle()})),this.actions.Animation.forEach((e=>{e.toggle()})),this.actions.SwitchCamera.forEach((e=>{e.toggle()}))):"MousePress"===this.data.type||"KeyPress"===this.data.type?this.entered||(this.entered=!0,this.actions.Transition.forEach((e=>e.playFromCurrent())),this.actions.Animation.forEach((e=>e.playFromCurrent())),this.actions.SwitchCamera.forEach((e=>e.playFromCurrent())),this.actions.Create.forEach((e=>e.dispatchStart()))):(this.actions.Transition.some((e=>e.playing))||this.actions.Transition.forEach((e=>{!1===this.alreadyPlayedNonTogglingActions.has(e)&&e.play()})),this.actions.SwitchCamera.some((e=>e.playing))||this.actions.SwitchCamera.forEach((e=>{e.play()})),this.actions.Animation.forEach((e=>{e.play()}))),this.actions.Link.forEach((e=>{e.dispatch()})),this.actions.SceneTransition.forEach((e=>{e.dispatch()})),!1===e&&this.actions.Create.forEach((e=>{e.dispatch()})),this.actions.Destroy.forEach((e=>{e.dispatch()})),this.actions.Reset.forEach((e=>{e.dispatch()})),this.actions.Audio.forEach((e=>{e.dispatchBasic()})),this.actions.Video.forEach((e=>{e.dispatchBasic()})),this.actions.Particles.forEach((e=>{e.dispatchBasic()})),this.actions.SetVariable.forEach((e=>e.checkConditions())),this.actions.SetVariable.forEach((e=>e.dispatch())),this.actions.DynamicVariablePlay.forEach((e=>e.dispatch()))}dispatchRelease(){this.entered&&(this.entered=!1,this.actions.Transition.forEach((e=>e.reverseFromCurrent())),this.actions.Particles.forEach((e=>e.reverseFromCurrent())),this.actions.Animation.forEach((e=>e.reverseFromCurrent())),this.actions.SwitchCamera.forEach((e=>e.reverseFromCurrent())),this.actions.Create.forEach((e=>e.dispatchStop())))}dispatchUserEvent(e){this.actions.Transition.forEach((e=>{e.object.currentTransitionEvent!==this&&(e.object.currentTransitionEvent=this,e.init())})),e?(this.actions.Transition.forEach((e=>e.reverseFromCurrent())),this.actions.Animation.forEach((e=>e.reverseFromCurrent())),this.actions.SwitchCamera.forEach((e=>e.reverseFromCurrent()))):(this.actions.Transition.forEach((e=>e.playFromCurrent())),this.actions.Animation.forEach((e=>e.playFromCurrent())),this.actions.SwitchCamera.forEach((e=>e.playFromCurrent()))),this.actions.Link.forEach((e=>{e.dispatch()})),this.actions.SceneTransition.forEach((e=>{e.dispatch()})),this.actions.Create.forEach((e=>{e.dispatch()})),this.actions.Destroy.forEach((e=>{e.dispatch()})),this.actions.Reset.forEach((e=>{e.dispatch()})),this.actions.Audio.forEach((e=>{e.dispatchBasic()})),this.actions.Video.forEach((e=>{e.dispatchBasic()})),this.actions.Particles.forEach((e=>{e.dispatchBasic()})),this.actions.SetVariable.forEach((e=>e.checkConditions())),this.actions.SetVariable.forEach((e=>e.dispatch())),this.actions.DynamicVariablePlay.forEach((e=>e.dispatch()))}},X8=class extends N8{constructor(e,t,n){super(e),this.useForRaycastProperty=n,this.objectsPerTypes={MouseDown:[],MouseUp:[],MousePress:[],KeyDown:[],KeyUp:[],KeyPress:[]},this.canvasMouseEvents=[],this.eventsPerObjects={MouseDown:{},MouseUp:{},MousePress:{},KeyDown:{},KeyUp:{},KeyPress:{}},this.heldKeys={},this.heldKeysPress={},this._prevObjects=[],this.sceneInterects=null,this.onCanvasRaycast=e=>{if(!0===this.useForRaycastProperty&&null===this.sceneInterects){this.eventContext.updateRaycaster(e);let{raycaster:t,page:n}=this.eventContext,r=q8(t,n,[],!0);this.sceneInterects=r,r.length&&(this.eventContext.sharedAssets.raycastProperty={x:r[0].point.x,y:r[0].point.y,z:r[0].point.z,objX:r[0].object.matrixWorld.elements[12],objY:r[0].object.matrixWorld.elements[13],objZ:r[0].object.matrixWorld.elements[14]})}},this.onCanvasMouseDown=e=>{(e.target===this.eventContext.domElement||"SPLINE-VIEWER"===e.target.tagName)&&this.canvasMouseEvents.forEach((t=>{("MouseDown"===t.data.type||"MousePress"===t.data.type)&&(this.onCanvasRaycast(e),t.dispatch())}))},this.onCanvasMouseUp=e=>{(e.target===this.eventContext.domElement||"SPLINE-VIEWER"===e.target.tagName)&&this.canvasMouseEvents.forEach((t=>{"MouseUp"===t.data.type?(this.onCanvasRaycast(e),t.dispatch()):"MousePress"===t.data.type&&t.dispatchRelease()}))},this.onMouseDown=e=>{VW.length>1||(this.eventContext.updateRaycaster(e),this.handleMouseEvent("MouseDown"))},this.onMouseUp=e=>{VW.length>1||(this.eventContext.updateRaycaster(e),this.handleMouseEvent("MouseUp"))},this.onMousePressDown=e=>{VW.length>1||(this.eventContext.updateRaycaster(e),this.handleMousePressEvent())},this.onMousePressRelease=e=>{VW.length>1||(this.eventContext.updateRaycaster(e),this.handleMousePressEvent(!0))},this.onKeyDown=e=>{this.heldKeys[e.key]||(this.handleKeyEvent(e,"KeyDown"),this.handleKeyEventHeld(e,"KeyDown",!0)),this.heldKeys[e.key]=!0},this.onKeyUp=e=>{this.handleKeyEvent(e,"KeyUp"),this.handleKeyEventHeld(e,"KeyUp",!0)},this.onKeyPressDown=e=>{this.heldKeysPress[e.key]?this.handleKeyEventHeld(e,"KeyPress"):(this.handleKeyEvent(e,"KeyPress"),this.handleKeyEventHeld(e,"KeyPress",!0)),this.heldKeysPress[e.key]=!0},this.onKeyPressUp=e=>{this.handleKeyEvent(e,"KeyPress",!0)},this.releaseHeldKey=e=>{delete this.heldKeys[e.key]},this.releaseHeldKeyPress=e=>{delete this.heldKeysPress[e.key]},this._onUserEvent=e=>{var t,n;let{eventName:r,target:i,reverse:a}=e;if(!r||!i)return;let s=F8(r);s&&("MouseDown"===s||"MouseUp"===s||"MousePress"===s?(i.dispatchEvent({type:"beginEvent",eventName:s}),null===(t=this.eventsPerObjects[s])||void 0===t||null===(t=t[i.uuid])||void 0===t||t.forEach((e=>{e.dispatchUserEvent(a)}))):("KeyDown"===s||"KeyUp"===s||"KeyPress"===s)&&(i.dispatchEvent({type:"beginEvent",eventName:s}),null===(n=this.eventsPerObjects[s])||void 0===n||null===(n=n[i.uuid])||void 0===n||n.forEach((e=>{e.dispatchUserEvent()}))))};let{page:r,sharedAssets:i}=this.eventContext,a=(e,n)=>{var a;if(null===(a=e.data)||void 0===a||!a.events.length)return;let s=["MouseDown","MouseUp","MousePress","KeyDown","KeyUp","KeyPress"];for(let l of s){var o;let a=this.eventsPerObjects[l];e.data.events.filter((e=>{let{data:t}=e;return t.type===l&&!0!==t.disabled})).forEach((n=>{let{id:s,data:o}=n;try{let n=new Q8(s,o,e,r,i,t);n.actions.Video.length&&(this.hasVideoAction=!0),"MouseDown"!==o.type&&"MouseUp"!==o.type&&"MousePress"!==o.type||"Canvas"!==o.mode&&"Window"!==o.mode?a[e.uuid]?a[e.uuid].some((e=>e.id===n.id))||a[e.uuid].push(n):a[e.uuid]=[n]:this.canvasMouseEvents.push(n)}catch(A){}})),(null===(o=a[e.uuid])||void 0===o?void 0:o.length)&&this.objectsPerTypes[l].push(e instanceof r6&&("MouseDown"===l||"MouseUp"===l||"MousePress"===l)?n:e)}};r.traverseEntity((e=>{var t;(e instanceof t5||e instanceof Y6)&&null!==(t=e.frame)&&void 0!==t&&t.traverse((t=>{a(t,e)})),a(e)}))}connect(){var e,t,n,r,i,a;let{domElement:s}=this.eventContext;this.heldKeys={},this.heldKeysPress={},this.domEventsNeeded.clear(),s.addEventListener("pointerdown",this.onCanvasMouseDown),s.addEventListener("pointerup",this.onCanvasMouseUp),(null!==(e=this.objectsPerTypes.MouseDown)&&void 0!==e&&e.length||this.useForRaycastProperty)&&(this.domEventsNeeded.add("pointerdown"),s.addEventListener("pointerdown",this.onMouseDown)),null!==(t=this.objectsPerTypes.MouseUp)&&void 0!==t&&t.length&&(this.domEventsNeeded.add("pointerup"),s.addEventListener("pointerup",this.onMouseUp)),null!==(n=this.objectsPerTypes.MousePress)&&void 0!==n&&n.length&&(this.domEventsNeeded.add("pointerdown"),s.addEventListener("pointerdown",this.onMousePressDown),this.domEventsNeeded.add("pointerup"),s.addEventListener("pointerup",this.onMousePressRelease)),null!==(r=this.objectsPerTypes.KeyDown)&&void 0!==r&&r.length&&(this.domEventsNeeded.add("keydown"),document.addEventListener("keydown",this.onKeyDown),document.addEventListener("keyup",this.releaseHeldKey)),null!==(i=this.objectsPerTypes.KeyUp)&&void 0!==i&&i.length&&(this.domEventsNeeded.add("keyup"),document.addEventListener("keyup",this.onKeyUp)),null!==(a=this.objectsPerTypes.KeyPress)&&void 0!==a&&a.length&&(this.domEventsNeeded.add("keydown"),document.addEventListener("keydown",this.onKeyPressDown),document.addEventListener("keyup",this.releaseHeldKeyPress),this.domEventsNeeded.add("keyup"),document.addEventListener("keyup",this.onKeyPressUp)),Object.entries(this.objectsPerTypes).forEach((e=>{let[t,n]=e;n.forEach((e=>{e.addEventListener("userEvent",this._onUserEvent)}))}))}disconnect(){let{domElement:e}=this.eventContext;this.domEventsNeeded.clear(),this.heldKeys={},this.heldKeysPress={},e.removeEventListener("pointerdown",this.onCanvasMouseDown),e.removeEventListener("pointerup",this.onCanvasMouseUp),e.removeEventListener("pointerdown",this.onMouseDown),e.removeEventListener("pointerdown",this.onMousePressDown),e.removeEventListener("pointerup",this.onMouseUp),e.removeEventListener("pointerup",this.onMousePressRelease),document.removeEventListener("keydown",this.onKeyDown),document.removeEventListener("keyup",this.onKeyUp),document.removeEventListener("keydown",this.onKeyPressDown),document.removeEventListener("keyup",this.onKeyPressUp),document.removeEventListener("keyup",this.releaseHeldKey),Object.values(this.eventsPerObjects).forEach((e=>{Object.values(e).forEach((e=>{e.forEach((e=>{e.disconnect()}))}))})),this.canvasMouseEvents.forEach((e=>{e.disconnect()})),Object.entries(this.objectsPerTypes).forEach((e=>{let[t,n]=e;n.forEach((e=>{e.removeEventListener("userEvent",this._onUserEvent)}))}))}handleMouseEvent(e){let{stopRaycast:t,raycaster:n,page:r,pointerScreen:i}=this.eventContext,a=this.objectsPerTypes[e],s=a.filter((e=>!(e instanceof r6)));if((a.length||this.useForRaycastProperty)&&(!r.uiCanvas||!W8(r,[i.x,i.y],Object.keys(this.eventsPerObjects[e]),(t=>{this.handleObjectMouseEventDispatch(t,e)})))){if(t||this.useForRaycastProperty){let i;if(null===this.sceneInterects?i=q8(n,r,s,this.useForRaycastProperty):(i=this.sceneInterects,this.sceneInterects=null),this.useForRaycastProperty&&i.length&&(this.eventContext.sharedAssets.raycastProperty={x:i[0].point.x,y:i[0].point.y,z:i[0].point.z,objX:i[0].object.matrixWorld.elements[12],objY:i[0].object.matrixWorld.elements[13],objZ:i[0].object.matrixWorld.elements[14]}),t){var o,l,c,d;let t=[null!==(o=null===(l=i[0])||void 0===l||null===(l=l.uv)||void 0===l?void 0:l.x)&&void 0!==o?o:0,null!==(c=null===(d=i[0])||void 0===d||null===(d=d.uv)||void 0===d?void 0:d.y)&&void 0!==c?c:0];H8(i).forEach((n=>{n instanceof t5&&W8(n,t,Object.keys(this.eventsPerObjects[e]),(t=>{this.handleObjectMouseEventDispatch(t,e)})),this.eventsPerObjects[e][n.uuid]&&this.handleObjectMouseEventDispatch(n,e)}))}}t||s.forEach((t=>{var r,i,a,s;let o=z8(n,t);o&&(this.handleObjectMouseEventDispatch(t,e),t instanceof t5&&W8(t,[null!==(r=null===o||void 0===o||null===(i=o.uv)||void 0===i?void 0:i.x)&&void 0!==r?r:0,null!==(a=null===o||void 0===o||null===(s=o.uv)||void 0===s?void 0:s.y)&&void 0!==a?a:0],Object.keys(this.eventsPerObjects[e]),(t=>{this.handleObjectMouseEventDispatch(t,e)})))}))}}handleMousePressEvent(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t="MousePress",n=this.objectsPerTypes[t],r=n.filter((e=>!(e instanceof r6))),i=[];if(n.length){if(!e){let{stopRaycast:e,raycaster:n,page:a,pointerScreen:s}=this.eventContext,o=!1;if(a.uiCanvas&&(o=W8(a,[s.x,s.y],Object.keys(this.eventsPerObjects[t]),(e=>{i.push(e)}))),e&&!o){let e=q8(n,a,r);i=H8(e),e.forEach((e=>{var n,r,a,s;e.object instanceof t5&&W8(e.object,[null!==(n=null===e||void 0===e||null===(r=e.uv)||void 0===r?void 0:r.x)&&void 0!==n?n:0,null!==(a=null===e||void 0===e||null===(s=e.uv)||void 0===s?void 0:s.y)&&void 0!==a?a:0],Object.keys(this.eventsPerObjects[t]),(e=>{i.push(e)}))}))}else r.forEach((e=>{var r,a,s,o;let l=z8(n,e);l&&(i.push(e),e instanceof t5&&W8(e,[null!==(r=null===l||void 0===l||null===(a=l.uv)||void 0===a?void 0:a.x)&&void 0!==r?r:0,null!==(s=null===l||void 0===l||null===(o=l.uv)||void 0===o?void 0:o.y)&&void 0!==s?s:0],Object.keys(this.eventsPerObjects[t]),(e=>{i.push(e)})))}))}this._prevObjects.length&&this._prevObjects.forEach((e=>{i.includes(e)||this.handleObjectMouseEventDispatchRelease(e,t)})),i.length&&i.forEach((e=>{this.handleObjectMouseEventDispatch(e,t)})),this._prevObjects=i}}handleObjectMouseEventDispatch(e,t){var n;e.dispatchEvent({type:"beginEvent",eventName:t}),null===(n=this.eventsPerObjects[t])||void 0===n||null===(n=n[e.uuid])||void 0===n||n.forEach((e=>{e.dispatch()}))}handleObjectMouseEventDispatchRelease(e,t){var n;e.dispatchEvent({type:"beginEvent",eventName:t}),null===(n=this.eventsPerObjects[t])||void 0===n||null===(n=n[e.uuid])||void 0===n||n.forEach((e=>{e.dispatchRelease()}))}handleKeyEvent(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.objectsPerTypes[t].forEach((r=>{let i=this.eventsPerObjects[t][r.uuid];i.some((t=>{let{data:n}=t;return"key"in n&&n.key===e.key}))&&r.dispatchEvent({type:"beginEvent",eventName:t}),i.forEach((t=>{"key"in t.data&&t.data.key===e.key&&(n?t.dispatchRelease():t.dispatch(!0))}))}))}handleKeyEventHeld(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.objectsPerTypes[t].forEach((r=>{this.eventsPerObjects[t][r.uuid].forEach((t=>{"key"in t.data&&t.data.key===e.key&&t.dispatchHeld(n)}))}))}},_8=new qM,$8=new qM,eee=class{constructor(e,t,n,r,i){this.actionsIn=L7(e,e.inActions,n,r,i,t),this.actionsOut=L7(e,e.outActions,n,r,i,t)}disconnect(){Y7(this.actionsIn),Y7(this.actionsOut)}},tee=class extends eee{constructor(e,t,n,r,i,a){super(t,n,r,i,a),this.id=e,this.data=t,this.object=n,this.stage="out",this.objects=[],this.onUpdateMatrixWorld=()=>{for(let r of this.objects)if(!r.visible)return;let e=_8.setFromMatrixPosition(this.objects[0].matrixWorld),t=$8.setFromMatrixPosition(this.objects[1].matrixWorld),n=e.distanceTo(t)<=this.distance?"in":"out";if(this.stage!==n){this.stage=n;let e="in"===n?this.actionsIn:this.actionsOut;e.Audio.forEach((e=>e.dispatchConditional())),e.Particles.forEach((e=>e.dispatchConditional())),e.Video.forEach((e=>e.dispatchConditional())),e.Link.forEach((e=>e.dispatch())),e.Create.forEach((e=>e.dispatch())),e.Destroy.forEach((e=>e.dispatch())),e.Reset.forEach((e=>e.dispatch())),e.Transition.forEach((e=>{e.object.currentTransitionEvent!==this&&(e.object.currentTransitionEvent=this),e.init()})),e.Transition.forEach((e=>e.play())),e.Animation.forEach((e=>e.play())),e.SwitchCamera.forEach((e=>e.play())),e.SceneTransition.forEach((e=>e.dispatch())),e.SetVariable.forEach((e=>e.checkConditions())),e.SetVariable.forEach((e=>e.dispatch())),e.DynamicVariablePlay.forEach((e=>e.dispatch()))}};let{distance:s,fromObject:o,toObject:l}=t.condition;this.distance=s;for(let c of[o,l]){if(!c)throw new Error("Missing property");let e=r.find(c);if(!e)throw new Error("Missing property");this.objects.push(e)}}connect(){window.setTimeout((()=>{this.objects.forEach((e=>{e.addEventListener("updateMatrixWorld",this.onUpdateMatrixWorld)})),this.onUpdateMatrixWorld()}),0)}disconnect(){super.disconnect(),this.stage="out",this.objects.forEach((e=>{e.removeEventListener("updateMatrixWorld",this.onUpdateMatrixWorld)}))}},nee=class extends eee{constructor(e,t,n,r,i,a){var s,o;super(t,n,r,i,a),this.id=e,this.data=t,this.object=n,this.onBegin=e=>{let{target:t,state:n}=e;this.toState!==n&&(this.actionsOut.Audio.forEach((e=>e.dispatchConditional())),this.actionsOut.Particles.forEach((e=>e.dispatchConditional())),this.actionsOut.Video.forEach((e=>e.dispatchConditional())),this.actionsOut.Link.forEach((e=>e.dispatch())),this.actionsOut.Create.forEach((e=>e.dispatch())),this.actionsOut.Destroy.forEach((e=>e.dispatch())),this.actionsOut.Reset.forEach((e=>e.dispatch())),this.actionsIn.Transition.forEach((e=>e.pause())),this.object.currentTransitionEvent=this,this.actionsOut.Transition.forEach((e=>e.play())),this.actionsOut.Animation.forEach((e=>e.play())),this.actionsIn.SwitchCamera.forEach((e=>e.pause())),this.actionsOut.SwitchCamera.forEach((e=>e.play())),this.actionsOut.SceneTransition.forEach((e=>e.dispatch())),this.actionsOut.SetVariable.forEach((e=>e.checkConditions())),this.actionsOut.SetVariable.forEach((e=>e.dispatch())),this.actionsOut.DynamicVariablePlay.forEach((e=>e.dispatch())))},this.onComplete=e=>{let{target:t,state:n}=e;this.toState===n&&(this.actionsIn.Audio.forEach((e=>e.dispatchConditional())),this.actionsIn.Particles.forEach((e=>e.dispatchConditional())),this.actionsIn.Video.forEach((e=>e.dispatchConditional())),this.actionsIn.Link.forEach((e=>e.dispatch())),this.actionsIn.Create.forEach((e=>e.dispatch())),this.actionsIn.Destroy.forEach((e=>e.dispatch())),this.actionsIn.Reset.forEach((e=>e.dispatch())),this.actionsOut.Transition.forEach((e=>e.pause())),this.actionsOut.Transition.forEach((e=>e.pause())),this.object.currentTransitionEvent=this,this.actionsIn.Transition.forEach((e=>e.play())),this.actionsIn.Animation.forEach((e=>e.play())),this.actionsOut.SwitchCamera.forEach((e=>e.pause())),this.actionsIn.SwitchCamera.forEach((e=>e.play())),this.actionsIn.SceneTransition.forEach((e=>e.dispatch())),this.actionsIn.SetVariable.forEach((e=>e.checkConditions())),this.actionsIn.SetVariable.forEach((e=>e.dispatch())),this.actionsIn.DynamicVariablePlay.forEach((e=>e.dispatch())))};let{condition:l}=t;if(!l.object)throw new Error("Missing property");let c=null!==(s=r.find(l.object))&&void 0!==s?s:r.scene.find2D(l.object);if(!c)throw new Error("Missing property");if(this.toObject=c,l.state&&(null===(o=this.toObject.states)||void 0===o||!o[l.state]))throw new Error("Missing property");this.toState=l.state}connect(){xG(this.actionsOut).forEach((e=>{var t;(null===(t=this.actionsOut[e])||void 0===t?void 0:t.length)&&this.toObject.addEventListener("beginState",this.onBegin)})),xG(this.actionsIn).forEach((e=>{var t;(null===(t=this.actionsIn[e])||void 0===t?void 0:t.length)&&this.toObject.addEventListener("completeState",this.onComplete)}))}disconnect(){super.disconnect(),xG(this.actionsOut).forEach((e=>{var t;(null===(t=this.actionsIn[e])||void 0===t?void 0:t.length)&&this.toObject.removeEventListener("beginState",this.onBegin)})),xG(this.actionsIn).forEach((e=>{var t;(null===(t=this.actionsIn[e])||void 0===t?void 0:t.length)&&this.toObject.removeEventListener("completeState",this.onComplete)}))}},ree=class extends N8{constructor(e,t){super(e),this.eventsPerConditions={Comparison:[],Distance:[],State:[]},this.hasVideoAction=!1;let{page:n,sharedAssets:r}=this.eventContext;n.traverseEntity((e=>{var i;if(null!==(i=e.data)&&void 0!==i&&i.events.length)for(let{id:a,data:s}of e.data.events)if(!s.disabled&&"Conditional"===s.type)try{let i;"Comparison"===s.condition.type||("Distance"===s.condition.type?i=new tee(a,s,e,n,r,t):"State"===s.condition.type&&(i=new nee(a,s,e,n,r,t))),i&&(this.eventsPerConditions[s.condition.type].push(i),(i.actionsIn.Video.length||i.actionsOut.Video.length)&&(this.hasVideoAction=!0))}catch(c){}}))}connect(){super.connect(),Object.values(this.eventsPerConditions).forEach((e=>e.forEach((e=>e.connect()))))}disconnect(){super.disconnect(),Object.values(this.eventsPerConditions).forEach((e=>e.forEach((e=>e.disconnect()))))}},iee=new qM,aee=new qM,see=new qM,oee=new NO,lee=new qM,cee=new qM,dee=new qM,hee=new GM,uee=new wP,pee=new fP,fee=new dM,mee=new qM,gee=new qM,yee=.2;function vee(e,t){!t||(t[0]<t[1]&&(e.x=Math.min(Math.max(e.x,t[0]),t[1])),t[2]<t[3]&&(e.y=Math.min(Math.max(e.y,t[2]),t[3])),t[4]<t[5]&&(e.z=Math.min(Math.max(e.z,t[4]),t[5])))}var xee=function(){let e=new fP;return(t,n,r)=>{let i=t.obj;e.copy(i.hiddenMatrix),null!==i.parent&&e.premultiply(i.parent.matrixWorld),e.invert(),i.position.copy(n),"global"===t.reference&&vee(i.position,t.limits),i.position.applyMatrix4(e),"parent"===t.reference?vee(i.position,t.limits):"local"===t.reference&&(hee.copy(t.quat0).invert(),i.position.sub(t.position0),i.position.applyQuaternion(hee),vee(i.position,t.limits),hee.invert(),i.position.applyQuaternion(hee),i.position.add(t.position0)),e.multiply(null!==r&&void 0!==r?r:i.matrixWorld).decompose(lee,i.quaternion,cee),i.updateMatrix(),i.hasNonUniformScale&&(i.updateMatrixWorld(),i.updateMatrixWorldSVD()),i instanceof gX&&Y1(i.parent)&&i.invalidateDownstreamBooleanData(!0)}}(),See=class{constructor(e,t,n,r,i,a){this.object=e,this.data=t,this.dropDestIds=[],this.activeIdx=null,this.wasDragEventTriggered=!1,this.resetDampingFactor=0===this.data.resetSpeed?1:8/this.data.resetSpeed+1,this.snapDampingFactor=0===this.data.snapSpeed?1:8/this.data.snapSpeed+1,this.actionsDrag=L7(t,t.dragDropActions.drag,n,r,i,this.object),this.actionsDrop=L7(t,t.dragDropActions.drop,n,r,i,this.object);let s=[];this.data.objects.forEach((e=>{let t=n.find(e);!t||!1!==t.data.visible&&(s.push(t),a[t.uuid]&&a[t.uuid].forEach((e=>{let t=n.find(e);!t||!1!==t.data.visible&&s.push(t)})))})),this.data.dropDestinations.forEach((e=>{let t=n.find(e);!t||!1!==t.data.visible&&(this.dropDestIds.push(t.uuid),a[t.uuid]&&a[t.uuid].forEach((e=>{let t=n.find(e);!t||!1!==t.data.visible&&this.dropDestIds.push(t.uuid)})))})),this.dragItems=s.map((e=>("locked"===this.data.planeMode&&(e.userData.lockedPlane=!0),e.userData.worldPosition0=(new qM).setFromMatrixPosition(e.matrixWorld),{obj:e,fromPosition:(new qM).setFromMatrixPosition(e.matrixWorld),pointStart:new qM,pointEnd:new qM,paused:!0,currentDampingFactor:this.data.dampingFactor,reset:!1,position0:(new qM).copy(e.position),quat0:(new GM).copy(e.quaternion),snapped:!1,orientationMatrix:new fP,limits:this.data.limits,reference:this.data.referenceFrame})))}get activeDragItem(){return null!==this.activeIdx?this.dragItems[this.activeIdx]:null}dispose(){Y7(this.actionsDrag),Y7(this.actionsDrop),this.dragItems.forEach((e=>{e.fromPosition.copy(e.obj.userData.worldPosition0),e.pointStart.copy(e.fromPosition),e.pointEnd.copy(e.pointStart),e.obj.recursiveBBoxNeedsUpdate=!0,e.obj.userData.lockedPlane=void 0,e.obj.position.copy(e.position0),e.obj.quaternion.copy(e.quat0),e.obj.updateMatrix()}))}},Aee=class extends N8{constructor(e,t){super(e),this.eventManager=t,this.events=[],this.lastDropDestination=null,this.dragTimeout=null,this.onPointerDown=e=>{if(VW.length>1)return;this.eventContext.updateRaycaster(e);let{raycaster:t,page:n}=this.eventContext,r=n.raycastWithClones(t);if(this.lastDropDestination=null,0!==r.length){for(let e of this.events){let t=0;for(let{obj:n,pointEnd:a,pointStart:s}of e.dragItems){if(n===r[0].object||n===r[0].object.object||EF.is(n)&&n.isAncestorOf(r[0].object.uuid)){var i;if(e.activeIdx=t,e.activeDragItem.reset=!1,e.activeDragItem.currentDampingFactor=e.data.dampingFactor,e.activeDragItem.snapped=!1,"hand"===e.data.cursor&&this.setCursor("grabbing"),this.eventManager.controlsManager.usePhysics){e.activeDragItem.obj.rigidBody&&e.activeDragItem.obj.rigidBody.setBodyType(2,!0);let t=e.activeDragItem.obj;n.hasNonUniformScale&&n.updateMatrixWorldSVD(),(t.hasNonUniformScale?t.matrixWorldRigid:t.matrixWorld).decompose(lee,hee,cee),uee.setFromQuaternion(hee),void 0===t.prevR?(t.prevR=uee.clone(),t.prevT=lee.clone()):(t.prevR.copy(uee),t.prevT.copy(lee)),this.eventManager.controlsManager.sharedGameControlGlobals.entitiesWithTransformAnim.push(e.activeDragItem.obj)}return this.calcPlaneIntersectPos(n,s,e.data.plane,e.data.referenceFrame),a.copy(s),(this.eventManager.controlsManager.usePhysics&&"dynamic"===(null===(i=n.data.physics)||void 0===i?void 0:i.rigidBody)||!1===e.data.drop||!1===e.data.resetOnSnapFail)&&e.activeDragItem.fromPosition.setFromMatrixPosition(e.activeDragItem.obj.matrixWorld),this.activeEvent=e,void(this.eventManager.controlsManager.orbitControls&&(this.eventManager.controlsManager.orbitControls.enabled=!1))}t++}}this.activeEvent=null}else this.activeEvent=null},this.onPointerMove=e=>{if(VW.length>1)return;this.eventContext.updateRaycaster(e);let{raycaster:t,page:n}=this.eventContext,r=n.raycastWithClones(t);if(0!==VW.length){if(this.activeEvent&&this.activeEvent.activeDragItem){let e,t=this.activeEvent.activeDragItem;if(t.snapped=!1,this.activeEvent.data.drop&&(e=r.filter((e=>t.obj!==e.object&&!t.obj.isAncestorOf(e.object.uuid)&&!(e.object instanceof K1)&&("all"===this.activeEvent.data.dropOn||this.activeEvent.dropDestIds.some((t=>t===e.object.uuid||n.scene.find(t).isAncestorOf(e.object.uuid))))))[0]),e){let n=dee.copy(e.face.normal).applyMatrix3(fee.getNormalMatrix(e.object.matrixWorld));if("center"===this.activeEvent.data.snapTo)t.fromPosition.setFromMatrixPosition(e.object.matrixWorld);else if("surface"===this.activeEvent.data.snapTo){if(t.fromPosition.copy(e.point),"bbox"===this.activeEvent.data.snapSurfaceMode){lee.copy(n).applyMatrix3(fee.setFromMatrix4(t.obj.matrixWorld).transpose());let e=t.obj;lee.x>yee?cee.x=-e.recursiveBBox.min.x:lee.x<-yee&&(cee.x=-e.recursiveBBox.max.x),lee.y>yee?cee.y=-e.recursiveBBox.min.y:lee.y<-yee&&(cee.y=-e.recursiveBBox.max.y),lee.z>yee?cee.z=-e.recursiveBBox.min.z:lee.z<-yee&&(cee.z=-e.recursiveBBox.max.z),cee.applyMatrix3(fee.invert())}else cee.copy(n).multiplyScalar(this.activeEvent.data.snapSurfaceOffset);t.fromPosition.add(cee)}this.activeEvent.data.autoOrient&&(lee.set(0,1,0).cross(n),lee.length()<1e-4&&lee.set(-1,0,0).cross(n),cee.crossVectors(dee,lee),t.orientationMatrix.makeBasis(lee,cee,n)),t.pointStart.copy(t.fromPosition),t.pointEnd.copy(t.pointStart),t.currentDampingFactor=this.activeEvent.snapDampingFactor,t.snapped=!0,this.lastDropDestination!==e.object&&(this.lastDropDestination=e.object,this.activeEvent.actionsDrop.Transition.forEach((e=>{e.play()})),this.activeEvent.actionsDrop.Animation.forEach((e=>{e.play()})),this.activeEvent.actionsDrop.Audio.forEach((e=>{e.dispatchGameControl("start")})),this.activeEvent.actionsDrop.Particles.forEach((e=>{e.dispatchGameControl("start")})),this.activeEvent.actionsDrop.Create.forEach((e=>{e.dispatchThrottled()})))}else t.orientationMatrix.makeRotationFromQuaternion(t.quat0),this.lastDropDestination=null,t.currentDampingFactor=this.activeEvent.data.dampingFactor,this.calcPlaneIntersectPos(t.obj,t.pointEnd,this.activeEvent.data.plane,this.activeEvent.data.referenceFrame),this.activeEvent.actionsDrop.Transition.forEach((e=>{e.stop(),null!==e.object.currentState&&e.object.changeSelectedState(null,{scene:this.eventContext.page.scene,shared:this.eventContext.sharedAssets})})),this.activeEvent.actionsDrop.Animation.forEach((e=>{e.stop()})),this.activeEvent.actionsDrop.Audio.forEach((e=>{e.dispatchGameControl("stop")})),this.activeEvent.actionsDrop.Particles.forEach((e=>{e.dispatchGameControl("stop")}));this.activeEvent.actionsDrag.Create.forEach((e=>{e.dispatchThrottled()})),this.activeEvent.actionsDrag.SetVariable.forEach((e=>e.checkConditions())),this.activeEvent.actionsDrag.SetVariable.forEach((e=>e.dispatch())),this.activeEvent.actionsDrag.DynamicVariablePlay.forEach((e=>e.dispatch())),!1===this.activeEvent.wasDragEventTriggered&&(this.activeEvent.wasDragEventTriggered=!0,this.activeEvent.actionsDrag.Transition.forEach((e=>{e.play()})),this.activeEvent.actionsDrag.Animation.forEach((e=>{e.play()})),this.activeEvent.actionsDrag.Audio.forEach((e=>{e.dispatchGameControl("start")})),this.activeEvent.actionsDrag.Particles.forEach((e=>{e.dispatchGameControl("start")}))),this.dragTimeout&&window.clearTimeout(this.dragTimeout),this.dragTimeout=window.setTimeout((()=>{!this.activeEvent||(this.activeEvent.wasDragEventTriggered=!1,this.activeEvent.actionsDrag.Audio.forEach((e=>{e.dispatchGameControl("stop")})),this.activeEvent.actionsDrag.Particles.forEach((e=>{e.dispatchGameControl("stop")})),this.activeEvent.actionsDrag.Transition.forEach((e=>{e.stop(),null!==e.object.currentState&&e.object.changeSelectedState(null,{scene:this.eventContext.page.scene,shared:this.eventContext.sharedAssets})})),this.activeEvent.actionsDrag.Animation.forEach((e=>{e.stop()})))}),500),this.updateDragItem(t),t.obj.dispatchEvent({type:"requestRender"})}}else{let e=!1;for(let t of this.events){for(let{obj:n}of t.dragItems){var i,a,s;if(n===(null===(i=r[0])||void 0===i?void 0:i.object)||n===(null===(a=r[0])||void 0===a||null===(a=a.object)||void 0===a?void 0:a.object)||EF.is(n)&&n.isAncestorOf(null===(s=r[0])||void 0===s?void 0:s.object.uuid)){switch(e=!0,t.data.cursor){case"hand":this.setCursor("grab");break;case"move":this.setCursor("move")}break}}if(e)break}e||this.setCursor("default")}},this.onPointerUp=e=>{if(this.activeEvent&&this.activeEvent.activeDragItem){var t;"hand"===this.activeEvent.data.cursor&&this.setCursor("grab");let e="dynamic"===(null===(t=this.activeEvent.activeDragItem.obj.data.physics)||void 0===t?void 0:t.rigidBody);!1===this.activeEvent.activeDragItem.snapped&&this.activeEvent.data.drop&&this.activeEvent.data.resetOnSnapFail&&(!1===this.eventManager.controlsManager.usePhysics||!e)&&(this.activeEvent.activeDragItem.reset=this.activeEvent.data.resetOnSnapFail,this.activeEvent.activeDragItem.paused=!1,this.activeEvent.activeDragItem.currentDampingFactor=this.activeEvent.resetDampingFactor),this.eventManager.controlsManager.usePhysics&&e&&(this.eventManager.controlsManager.sharedGameControlGlobals.entitiesWithTransformAnim.pop(),this.activeEvent.activeDragItem.obj.rigidBody.setBodyType(0,!0),this.activeEvent.activeDragItem.paused=!0),!0===this.activeEvent.wasDragEventTriggered&&(this.activeEvent.wasDragEventTriggered=!1,this.activeEvent.actionsDrag.Transition.forEach((e=>{e.stop(),null!==e.object.currentState&&e.object.changeSelectedState(null,{scene:this.eventContext.page.scene,shared:this.eventContext.sharedAssets})})),this.activeEvent.actionsDrag.Animation.forEach((e=>{e.stop()})),this.activeEvent.actionsDrag.Audio.forEach((e=>{e.dispatchGameControl("stop")})),this.activeEvent.actionsDrag.Particles.forEach((e=>{e.dispatchGameControl("stop")})),this.activeEvent.actionsDrop.SetVariable.forEach((e=>e.checkConditions())),this.activeEvent.actionsDrop.SetVariable.forEach((e=>e.dispatch())),this.activeEvent.actionsDrop.DynamicVariablePlay.forEach((e=>e.dispatch()))),this.eventManager.controlsManager.orbitControls&&(this.eventManager.controlsManager.orbitControls.enabled=!0)}};let n={};e.page.traverseEntity((e=>{e.component&&(n[e.component.uuid]?n[e.component.uuid].push(e.uuid):n[e.component.uuid]=[e.uuid])})),e.page.traverseEntity((r=>{var i;null===(i=r.data)||void 0===i||i.events.filter((e=>"DragDrop"===e.data.type&&!e.data.disabled)).forEach((i=>{this.events.push(new See(r,i.data,e.page,e.sharedAssets,t,n))}))}))}connect(){if(!this.events.length)return;this.domEventsNeeded.clear(),this.domEventsNeeded.add("pointerdown");let e=this.eventContext.domElement;e.addEventListener("pointerdown",this.onPointerDown),e.addEventListener("pointermove",this.onPointerMove),e.addEventListener("pointerup",this.onPointerUp),this.domEventsNeeded.add("pointermove")}disconnect(){if(!this.events.length)return;this.domEventsNeeded.clear();let e=this.eventContext.domElement;e.removeEventListener("pointerdown",this.onPointerDown),e.removeEventListener("pointermove",this.onPointerMove),e.removeEventListener("pointerup",this.onPointerUp),this.events.forEach((e=>e.dispose()))}setCursor(e){this.eventContext.domElement.style.cursor=e}onAnimationFrameDamping(){for(let e of this.events)for(let t of e.dragItems)t.paused||this.updateDragItem(t,!0)}calcPlaneIntersectPos(e,t,n,r){let{getCamera:i,raycaster:a}=this.eventContext;i().getWorldDirection(aee),aee.negate();let s=hee.identity();switch("parent"===r?pee.multiplyMatrices(e.parent.matrixWorld,e.hiddenMatrix).decompose(lee,s,cee):"local"===r&&e.matrixWorld.decompose(lee,s,cee),n){case"x":lee.set(1,0,0).applyQuaternion(s),mee.copy(aee).cross(lee),gee.copy(lee).cross(mee);break;case"y":lee.set(0,1,0).applyQuaternion(s),mee.copy(aee).cross(lee),gee.copy(lee).cross(mee);break;case"z":lee.set(0,0,1).applyQuaternion(s),mee.copy(aee).cross(lee),gee.copy(lee).cross(mee);break;case"xy":gee.set(0,0,1).applyQuaternion(s);break;case"yz":gee.set(1,0,0).applyQuaternion(s);break;case"xz":gee.set(0,1,0).applyQuaternion(s);break;case"adaptive":aee.angleTo(cee.set(0,1,0))>Math.PI/6?(lee.crossVectors(cee.set(0,1,0),aee),gee.crossVectors(lee,cee)):gee.set(0,1,0);break;default:gee.copy(aee)}see.setFromMatrixPosition(e.matrixWorld);let o=e.userData.lockedPlane?e.userData.worldPosition0:see;if(oee.setFromNormalAndCoplanarPoint(gee,o),a.ray.intersectPlane(oee,t)&&("x"===n||"y"===n||"z"===n)){let e=cee.subVectors(t,o).dot(lee);t.copy(o).addScaledVector(lee,e)}}updateDragItem(e){var t,n;let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];see.setFromMatrixPosition(e.obj.matrixWorld),"current"===e.reset?iee.subVectors(e.fromPosition,see).divideScalar(e.currentDampingFactor):"original"===e.reset?(iee.subVectors(e.obj.userData.worldPosition0,see).divideScalar(e.currentDampingFactor),e.fromPosition.copy(e.obj.userData.worldPosition0),e.pointStart.copy(e.fromPosition),e.pointEnd.copy(e.pointStart)):iee.subVectors(e.pointEnd,e.pointStart).add(e.fromPosition).sub(see).divideScalar(e.currentDampingFactor),e.paused=!(e.currentDampingFactor>1)||iee.length()<.01,(this.activeEvent&&1===this.activeEvent.data.dampingFactor||r)&&xee(e,iee.add(see),null!==(t=this.activeEvent)&&void 0!==t&&t.data.drop&&null!==(n=this.activeEvent)&&void 0!==n&&n.data.autoOrient?e.orientationMatrix:null),e.obj.dispatchEvent({type:"beginEvent",eventName:"DragDrop"}),this.eventManager.requestRender()}},bee=new qM,kee=new qM,wee=new qM,jee=new qM,Mee=new NO,Pee={type:"requestRender"},Oee=function(){let e=new qM,t=new qM;return(n,r,i)=>i>0?(e.subVectors(n,r),e.length()<=i?n:t.copy(r).add(e.normalize().multiplyScalar(i))):r}(),Tee=function(){let e=new fP;return(t,n)=>{t.position.copy(n),null!==t.parent&&(e.copy(t.parent.matrixWorld).invert(),t.position.applyMatrix4(e)),e.copy(t.hiddenMatrix).invert(),t.position.applyMatrix4(e),t.updateMatrix(),t.hasNonUniformScale&&(t.updateMatrixWorld(),t.updateMatrixWorldSVD()),t instanceof gX&&Y1(t.parent)&&t.invalidateDownstreamBooleanData(!0)}}(),Iee=class{constructor(e,t,n,r,i){this.data=e,this.object=t,this.paused=!1,this.currentDampingFactor=1,this.snapComplete=!1,this.isReset=!1,this.worldPosition0=new qM,this.timeoutId=null,this.delayFinished=!0,this.wasOutside=!1,this.data={...AU.defaultData,...e,...void 0===e.resetOnPointerLeave&&{resetOnPointerLeave:!1}},void 0===e.target||"cursor"===e.target||(this.target=n.find(e.target)),this.data.dampingFactor&&(this.currentDampingFactor=this.data.dampingFactor),this.resetDampingFactor=80/this.data.resetSpeed+1,this.object.getWorldPosition(this.worldPosition0),this.actions=L7(e,e.actions,n,r,i,t)}},Cee=class extends N8{constructor(e,t){super(e),this.events=[],this.pairOfEventListeners=[],this.onMouseMove=e=>{if(!(VW.length>1)){this.eventContext.updateRaycaster(e);for(let e of this.events)void 0===e.target&&this.updateSingleEvent(e)}},this.onMouseEnter=e=>{for(let t of this.events)void 0===t.target&&(t.isReset=!1,t.currentDampingFactor=t.data.dampingFactor)},this.onMouseLeave=e=>{for(let t of this.events)void 0===t.target&&(t.data.resetOnPointerLeave&&(t.isReset=!0,t.currentDampingFactor=t.resetDampingFactor),this.updateSingleEvent(t))},this.onTargetChange=e=>()=>{this.updateSingleEvent(e)};let{page:n}=this.eventContext;n.traverseEntity((r=>{var i,a;let s=null===(i=r.data)||void 0===i?void 0:i.events.find((e=>"Follow"===e.data.type&&!e.data.disabled));s&&(!n.data.globalPhysics.usePhysics||"dynamic"!==(null===(a=r.dataPatched.physics)||void 0===a?void 0:a.rigidBody))&&this.events.push(new Iee(s.data,r,n,e.sharedAssets,t))}))}connect(){if(!this.events.length)return;let{domElement:e,eventElement:t}=this.eventContext;this.domEventsNeeded.clear(),PW&&(this.domEventsNeeded.add("pointerdown"),e.addEventListener("pointerdown",this.onMouseMove)),this.domEventsNeeded.add("pointermove"),t.addEventListener("pointermove",this.onMouseMove),this.eventContext.useWindowEvents||(e.addEventListener("pointerenter",this.onMouseEnter),e.addEventListener("pointerleave",this.onMouseLeave));for(let n of this.events)if(void 0!==n.target){let e=n.target,t=this.onTargetChange(n);this.pairOfEventListeners.push([e,t]),e.addEventListener("requestRender",t)}}disconnect(){if(!this.events.length)return;let{domElement:e,eventElement:t}=this.eventContext;this.domEventsNeeded.clear(),PW&&e.removeEventListener("pointerdown",this.onMouseMove),t.removeEventListener("pointermove",this.onMouseMove),e.removeEventListener("pointerenter",this.onMouseEnter),e.removeEventListener("pointerleave",this.onMouseLeave);for(let[n,r]of this.pairOfEventListeners)n.removeEventListener("requestRender",r);for(let n of this.events)n.paused=!0,n.isReset=!1,Y7(n.actions)}onAnimationFrameDamping(){for(let e of this.events)e.paused||this.updateSingleEvent(e,!0)}updateSingleEvent(e){var t;let n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.events.forEach((e=>{e.actions.Create.forEach((e=>{e.dispatchThrottled()}))}));let{plane:r,limitDistance:i,limitDistanceEnabled:a}=e.data;if(e.object.getWorldPosition(wee),e.isReset)jee.copy(e.worldPosition0);else if(e.target)e.target.getWorldPosition(jee);else{let{getCamera:e,raycaster:t}=this.eventContext;if("custom"===r?(e().getWorldDirection(kee),kee.negate(),bee.copy(kee)):"xy"===r?bee.set(0,0,1):"xz"===r?bee.set(0,1,0):"yz"===r&&bee.set(1,0,0),Mee.setFromNormalAndCoplanarPoint(bee,wee),!t.ray.intersectPlane(Mee,jee))return}if(!e.isReset)if(jee.distanceTo(e.worldPosition0)>i&&a&&e.target){if(e.snapComplete=!1,e.data.snapDelay&&(e.delayFinished=!1,typeof window<"u"&&null!==e.timeoutId&&(window.clearTimeout(e.timeoutId),e.timeoutId=null)),e.wasOutside=!0,!e.data.resetAfterDistanceLimit)return;jee.copy(e.worldPosition0),e.currentDampingFactor=e.resetDampingFactor}else if(e.wasOutside&&(e.data.snapDelay&&typeof window<"u"&&(e.timeoutId=window.setTimeout((()=>{e.delayFinished=!0,e.paused=!1,this.updateSingleEvent(e)}),1e3*e.data.snapDelay)),e.currentDampingFactor=e.data.dampingFactor,e.wasOutside=!1),!1===e.delayFinished)return;!1===e.data.enabledTranslation[0]&&(jee.x=wee.x),!1===e.data.enabledTranslation[1]&&(jee.y=wee.y),!1===e.data.enabledTranslation[2]&&(jee.z=wee.z);let s=Oee(wee,jee,e.wasOutside?0:e.data.maxDelta);if(e.currentDampingFactor>1){let t=bee.subVectors(s,wee).divideScalar(e.currentDampingFactor);wee.add(t),n&&Tee(e.object,wee),e.paused=t.length()<.01}else Tee(e.object,s),e.paused=!0;null!==(t=e.object)&&void 0!==t&&t.dispatchEvent({type:"beginEvent",eventName:"Follow"}),e.object.dispatchEvent(Pee)}},Eee=new qM,Vee=new qM,Ree=new fP,Dee=new GM,Bee=new GM,Gee=new qM,qee=new qM,Hee=new qM,Wee=new qM,zee=new NO,Jee={type:"requestRender"},Uee={type:"changeRotation"},Nee=function(){let e=new fP;return function(t,n){null!==t.parent?e.multiplyMatrices(t.parent.matrixWorld,t.hiddenMatrix):e.copy(t.hiddenMatrix),n.premultiply(V8(e).invert()),t.rotation.setFromRotationMatrix(n),t.updateMatrix(),t instanceof gX&&Y1(t.parent)&&t.invalidateDownstreamBooleanData(!0)}}(),Lee=class{constructor(e,t,n){this.object=t,this.paused=!1,this.currentDampingFactor=1,this.isReset=!1,this.worldQuaternion0=new GM,this.timeoutId=null,this.delayFinished=!0,this.wasOutside=!1,this.data={...bU.defaultData,...e,...void 0===e.resetOnPointerLeave&&{resetOnPointerLeave:!1}},void 0===e.target||"cursor"===e.target||(this.target=n.find(e.target)),this.data.dampingFactor&&(this.currentDampingFactor=this.data.dampingFactor),this.object.getWorldQuaternion(this.worldQuaternion0),this.resetDampingFactor=80/this.data.resetSpeed+1}},Yee=class extends N8{constructor(e){super(e),this.events=[],this.pairOfEventListeners=[],this.pairOfUserEventListeners=[],this.onMouseMove=e=>{if(!(VW.length>1)){this._lastMouseEvent=e,this.eventContext.updateRaycaster(e);for(let e of this.events)void 0===e.target&&this.updateSingleEvent(e)}},this.onMouseEnter=e=>{for(let t of this.events)void 0===t.target&&(t.isReset=!1,t.currentDampingFactor=t.data.dampingFactor)},this.onMouseLeave=e=>{for(let t of this.events)void 0===t.target&&(t.data.resetOnPointerLeave&&(t.isReset=!0,t.currentDampingFactor=t.resetDampingFactor),this.updateSingleEvent(t))},this.onScroll=e=>{if(this._lastMouseEvent){let e=new PointerEvent("pointermove",{clientX:this._lastMouseEvent.clientX,clientY:this._lastMouseEvent.clientY,bubbles:!0,cancelable:!0,view:window});this.eventContext.eventElement.dispatchEvent(e)}},this.onTargetChange=e=>()=>{this.updateSingleEvent(e)},this.createUserEventListener=e=>t=>{let{eventName:n,target:r}=t;if(!n||!r)return;let i=F8(n);i&&"LookAt"===i&&this.updateSingleEvent(e)};let{page:t}=this.eventContext;t.traverseEntity((e=>{var n,r;let i=null===(n=e.data)||void 0===n?void 0:n.events.find((e=>"LookAt"===e.data.type&&!e.data.disabled));i&&(!t.data.globalPhysics.usePhysics||"dynamic"!==(null===(r=e.dataPatched.physics)||void 0===r?void 0:r.rigidBody))&&this.events.push(new Lee(i.data,e,t))}))}connect(){if(!this.events.length)return;let{domElement:e,eventElement:t}=this.eventContext;this.domEventsNeeded.clear(),PW&&(this.domEventsNeeded.add("pointerdown"),e.addEventListener("pointerdown",this.onMouseMove)),this.domEventsNeeded.add("pointermove"),t.addEventListener("pointermove",this.onMouseMove),this.eventContext.useWindowEvents?t.addEventListener("scroll",this.onScroll):(e.addEventListener("pointerenter",this.onMouseEnter),e.addEventListener("pointerleave",this.onMouseLeave));for(let n of this.events){if(void 0!==n.target){let e=this.onTargetChange(n),t=n.target;this.pairOfEventListeners.push([t,e]),t.addEventListener("requestRender",e)}let e=this.createUserEventListener(n),t=n.object;this.pairOfUserEventListeners.push([t,e]),t.addEventListener("userEvent",e)}}disconnect(){if(!this.events.length)return;let{domElement:e,eventElement:t}=this.eventContext;this.domEventsNeeded.clear(),PW&&e.removeEventListener("pointerdown",this.onMouseMove),t.removeEventListener("pointermove",this.onMouseMove),e.removeEventListener("pointerenter",this.onMouseEnter),e.removeEventListener("pointerleave",this.onMouseLeave),t.removeEventListener("scroll",this.onScroll);for(let[n,r]of this.pairOfEventListeners)n.removeEventListener("requestRender",r);for(let[n,r]of this.pairOfUserEventListeners)n.removeEventListener("userEvent",r);for(let n of this.events)n.paused=!0,n.isReset=!1}onAnimationFrameDamping(){for(let e of this.events)e.paused||this.updateSingleEvent(e)}updateSingleEvent(e){var t;let{tilt:n,axis:r,distance:i,plane:a,limitDistance:s,enabledRotation:o,limitDistanceEnabled:l}=e.data,{getCamera:c,raycaster:d}=this.eventContext,{object:h,target:u}=e;if(h.getWorldPosition(Gee),!e.isReset)if(e.target)e.target.getWorldPosition(qee);else{if("custom"===a?(c().getWorldDirection(Vee),Vee.negate(),zee.setFromNormalAndCoplanarPoint(Vee,Gee)):("xy"===a?Eee.set(0,0,1):"xz"===a?Eee.set(0,1,0):"yz"===a&&Eee.set(1,0,0),zee.setFromNormalAndCoplanarPoint(Eee,Gee)),!d.ray.intersectPlane(zee,qee))return;i>0&&("custom"===a||void 0===a)&&qee.addScaledVector(Vee,i)}if(e.isReset||(u?"target"===n?Hee.copy(u.up).applyMatrix4(Ree.extractRotation(u.matrixWorld)).normalize():o.some((e=>!1===e))?("x"===r?(Wee.set(0,0,1),!1===o[2]&&Wee.set(0,1,0)):"y"===r?(Wee.set(1,0,0),!1===o[0]&&Wee.set(0,0,1)):(Wee.set(0,1,0),!1===o[1]&&Wee.set(1,0,0)),Hee.copy(Wee).applyQuaternion(e.worldQuaternion0).normalize()):Hee.set(0,1,0):"custom"===a?Hee.set(0,1,0):Hee.copy(Eee)),e.isReset)Bee.copy(e.worldQuaternion0);else if(Gee.distanceTo(qee)>s&&l&&u){if(e.data.snapDelay&&(e.delayFinished=!1,typeof window<"u"&&null!==e.timeoutId&&(window.clearTimeout(e.timeoutId),e.timeoutId=null)),e.wasOutside=!0,!e.data.resetAfterDistanceLimit)return;Bee.copy(e.worldQuaternion0),e.currentDampingFactor=e.resetDampingFactor}else{if(e.wasOutside&&(e.data.snapDelay&&typeof window<"u"&&(e.timeoutId=window.setTimeout((()=>{e.delayFinished=!0,e.paused=!1,this.updateSingleEvent(e)}),1e3*e.data.snapDelay)),e.currentDampingFactor=e.data.dampingFactor,e.wasOutside=!1),!1===e.delayFinished)return;(function(e,t,n,r,i,a){let s=e.elements;Kee.subVectors(t,n),0===Kee.lengthSq()&&(Kee.z=1),Kee.normalize(),Zee.crossVectors(r,Kee),0===Zee.lengthSq()&&(1===Math.abs(r.z)?Kee.x+=1e-4:Kee.z+=1e-4,Kee.normalize(),Zee.crossVectors(r,Kee)),Zee.normalize(),Fee.crossVectors(Kee,Zee),"x"===i?1===a.z?[Zee,Fee,Kee]=[Kee,Zee,Fee]:(Zee.negate(),[Zee,Kee]=[Kee,Zee]):"y"===i?1===a.x?[Zee,Fee,Kee]=[Fee,Kee,Zee]:(Zee.negate(),[Fee,Kee]=[Kee,Fee]):1===a.x&&(Zee.negate(),[Zee,Fee]=[Fee,Zee]),s[0]=Zee.x,s[4]=Fee.x,s[8]=Kee.x,s[1]=Zee.y,s[5]=Fee.y,s[9]=Kee.y,s[2]=Zee.z,s[6]=Fee.z,s[10]=Kee.z})(Ree,qee,Gee,Hee,r,Wee),Bee.setFromRotationMatrix(Ree),Dee.setFromUnitVectors(Wee.applyQuaternion(Bee),Hee),o.some((e=>!1===e))&&"target"!==n&&Bee.premultiply(Dee).normalize()}e.currentDampingFactor>1?(h.updateWorldMatrix(!0,!1),Dee.setFromRotationMatrix(V8(h.matrixWorld)),Dee.slerp(Bee,1/e.currentDampingFactor),Nee(h,Ree.makeRotationFromQuaternion(Dee)),e.paused=8*(1-Dee.dot(Bee))<1e-6):(Nee(h,Ree.makeRotationFromQuaternion(Bee)),e.paused=!0),null!==(t=e.object)&&void 0!==t&&t.dispatchEvent({type:"beginEvent",eventName:"LookAt"}),h.dispatchEvent(Jee),h.dispatchEvent(Uee)}},Fee=new qM,Zee=new qM,Kee=new qM;var Qee=class{constructor(e,t,n,r,i,a){this.id=e,this.data=t,this.object=n,this.entered=!1,this.actions=L7(t,t.actions,r,i,a,n)}disconnect(){Y7(this.actions)}dispatchEnter(){this.actions.Transition.forEach((e=>{e.object.currentTransitionEvent!==this&&(e.object.currentTransitionEvent=this,e.init())})),this.entered||(this.entered=!0,this.actions.Transition.forEach((e=>e.playFromCurrent())),this.actions.Animation.forEach((e=>e.play())),this.actions.Create.forEach((e=>e.dispatch())),this.actions.Particles.forEach((e=>e.dispatchBasic())),this.actions.Destroy.forEach((e=>e.dispatch())),this.actions.SwitchCamera.forEach((e=>e.playFromCurrent())),this.actions.SceneTransition.forEach((e=>e.dispatch())),this.actions.SetVariable.forEach((e=>e.checkConditions())),this.actions.SetVariable.forEach((e=>e.dispatch())),this.actions.DynamicVariablePlay.forEach((e=>e.dispatch())))}dispatchLeave(){this.actions.Transition.forEach((e=>{e.object.currentTransitionEvent!==this&&(e.object.currentTransitionEvent=this,e.init())})),this.entered&&(this.entered=!1,this.actions.Transition.forEach((e=>e.reverseFromCurrent())),this.actions.Particles.forEach((e=>e.reverseFromCurrent())),this.actions.SwitchCamera.forEach((e=>e.reverseFromCurrent())))}dispatchUserEvent(e){this.actions.Transition.forEach((e=>{e.object.currentTransitionEvent!==this&&(e.object.currentTransitionEvent=this,e.init())})),e?(this.actions.Transition.forEach((e=>e.reverseFromCurrent())),this.actions.Particles.forEach((e=>e.reverseFromCurrent())),this.actions.Animation.forEach((e=>e.reverseFromCurrent())),this.actions.SwitchCamera.forEach((e=>e.reverseFromCurrent()))):(this.actions.Transition.forEach((e=>e.playFromCurrent())),this.actions.Animation.forEach((e=>e.playFromCurrent())),this.actions.Create.forEach((e=>e.dispatch())),this.actions.Particles.forEach((e=>e.dispatchBasic())),this.actions.Destroy.forEach((e=>e.dispatch())),this.actions.SwitchCamera.forEach((e=>e.playFromCurrent()))),this.actions.SceneTransition.forEach((e=>e.dispatch())),this.actions.SetVariable.forEach((e=>e.checkConditions())),this.actions.SetVariable.forEach((e=>e.dispatch())),this.actions.DynamicVariablePlay.forEach((e=>e.dispatch()))}},Xee=class extends N8{constructor(e,t){super(e),this.eventsPerObjects={},this.objects=[],this.objects2D=[],this._prevObjects=[],this.onMouseDown=e=>{VW.length>1||(this.eventContext.updateRaycaster(e),this.handleMouseHoverEvent())},this.onMouseUp=e=>{VW.length>1||this.handleMouseHoverEvent(!0)},this.onMouseMove=e=>{VW.length>1||(this.eventContext.updateRaycaster(e),this.handleMouseHoverEvent())},this.onUserEvent=e=>{var t;let{eventName:n,target:r,reverse:i}=e;if(!n||!r)return;let a=F8(n);a&&"MouseHover"===a&&(r.dispatchEvent({type:"beginEvent",eventName:"MouseHover"}),null===(t=this.eventsPerObjects[r.uuid])||void 0===t||t.forEach((e=>e.dispatchUserEvent(i))))};let{page:n,sharedAssets:r}=this.eventContext,i=(e,i)=>{var a;if(e.visible&&null!==(a=e.data)&&void 0!==a&&a.events.length){var s;for(let{id:i,data:a}of e.data.events)if(!a.disabled&&"MouseHover"===a.type)try{let s=new Qee(i,a,e,n,r,t);this.eventsPerObjects[e.uuid]?this.eventsPerObjects[e.uuid].push(s):this.eventsPerObjects[e.uuid]=[s]}catch(v){}(null===(s=this.eventsPerObjects[e.uuid])||void 0===s?void 0:s.length)&&this.objects.push(e instanceof r6?i:e)}};n.traverseEntity((e=>{var t;(e instanceof t5||e instanceof Y6)&&null!==(t=e.frame)&&void 0!==t&&t.traverse((t=>{i(t,e)})),i(e)}))}connect(){if(!this.objects.length)return;let{domElement:e}=this.eventContext;this.domEventsNeeded.clear(),PW&&(this.domEventsNeeded.add("pointerdown"),e.addEventListener("pointerdown",this.onMouseDown),this.domEventsNeeded.add("pointerup"),e.addEventListener("pointerup",this.onMouseUp)),this.domEventsNeeded.add("pointermove"),e.addEventListener("pointermove",this.onMouseMove),this.objects.forEach((e=>{e.addEventListener("userEvent",this.onUserEvent)}))}disconnect(){if(!this.objects.length)return;let{domElement:e}=this.eventContext;this.domEventsNeeded.clear(),PW&&(e.removeEventListener("pointerdown",this.onMouseDown),e.removeEventListener("pointerup",this.onMouseUp)),e.removeEventListener("pointermove",this.onMouseMove),Object.values(this.eventsPerObjects).forEach((e=>{e.forEach((e=>{e.disconnect()}))})),this.objects.forEach((e=>{e.removeEventListener("userEvent",this.onUserEvent)}))}handleMouseHoverEvent(){let e=[];if(!(arguments.length>0&&void 0!==arguments[0]&&arguments[0])){let{stopRaycast:t,raycaster:n,page:r,pointerScreen:i}=this.eventContext,a=!1;if(r.uiCanvas&&(a=W8(r,[i.x,i.y],Object.keys(this.eventsPerObjects),(t=>{e.push(t)}))),t&&!a){let t=q8(n,r,this.objects);e=H8(t),t.forEach((t=>{var n,r,i,a;t.object instanceof t5&&W8(t.object,[null!==(n=null===t||void 0===t||null===(r=t.uv)||void 0===r?void 0:r.x)&&void 0!==n?n:0,null!==(i=null===t||void 0===t||null===(a=t.uv)||void 0===a?void 0:a.y)&&void 0!==i?i:0],Object.keys(this.eventsPerObjects),(t=>{e.push(t)}))}))}else this.objects.forEach((t=>{var r,i,a,s;let o=z8(n,t);o&&(e.push(t),t instanceof t5&&W8(t,[null!==(r=null===o||void 0===o||null===(i=o.uv)||void 0===i?void 0:i.x)&&void 0!==r?r:0,null!==(a=null===o||void 0===o||null===(s=o.uv)||void 0===s?void 0:s.y)&&void 0!==a?a:0],Object.keys(this.eventsPerObjects),(t=>{e.push(t)})))}))}this._prevObjects.length&&this._prevObjects.forEach((t=>{var n;e.includes(t)||(t.dispatchEvent({type:"beginEvent",eventName:"MouseHover"}),null===(n=this.eventsPerObjects[t.uuid])||void 0===n||n.forEach((e=>e.dispatchLeave())))})),e.length&&e.forEach((e=>{var t;e.dispatchEvent({type:"beginEvent",eventName:"MouseHover"}),null===(t=this.eventsPerObjects[e.uuid])||void 0===t||t.forEach((e=>e.dispatchEnter()))})),this._prevObjects=e}},_ee=class{constructor(e,t,n,r,i,a){this.id=e,this.data=t,this.object=n,this.scrollCounter=0,this.actions=L7(t,t.actions,r,i,a,n)}connect(){this.scrollCounter=0}disconnect(){Y7(this.actions)}dispatch(e){this.actions.Transition.forEach((e=>{e.object.currentTransitionEvent!==this&&(e.object.currentTransitionEvent=this,e.init())}));let t=e>0?1:-1;this.scrollCounter+=t,this.scrollCounter=Math.min(Math.max(this.scrollCounter,0),this.data.steps);let n=this.scrollCounter/this.data.steps;this.actions.Transition.forEach((e=>e.seek(n))),this.actions.Animation.forEach((e=>e.seek(t))),this.actions.Create.forEach((e=>e.dispatchThrottled())),this.actions.SetVariable.forEach((e=>e.checkConditions())),this.actions.SetVariable.forEach((e=>e.dispatch())),this.actions.DynamicVariablePlay.forEach((e=>e.dispatch()))}dispatchUserEvent(e){this.actions.Transition.forEach((e=>{e.object.currentTransitionEvent!==this&&(e.object.currentTransitionEvent=this,e.init())})),e?(this.actions.Transition.forEach((e=>e.reverseFromCurrent())),this.actions.Animation.forEach((e=>e.reverseFromCurrent()))):(this.actions.Transition.forEach((e=>{e.playFromCurrent()})),this.actions.Animation.forEach((e=>{e.playFromCurrent()}))),this.actions.Create.forEach((e=>e.dispatchThrottled())),this.actions.SetVariable.forEach((e=>e.checkConditions())),this.actions.SetVariable.forEach((e=>e.dispatch())),this.actions.DynamicVariablePlay.forEach((e=>e.dispatch()))}},$ee=class{constructor(e,t,n,r,i,a,s){this.id=e,this.data=t,this.object=n,this.domElement=a,this.eventManager=s,this.scrollStart=0,this.scrollEnd=0,this.actions=L7(t,t.actions,r,i,s,n)}computeScrollBounds(){var e,t;let n=this.domElement.getBoundingClientRect(),r=document.body,i=document.documentElement,a=window.pageYOffset||i.scrollTop||r.scrollTop,s=i.clientTop||r.clientTop||0,o=Math.round(n.top+a-s);if("enter"===this.data.startFrom){let e=window.innerHeight,t=n.height,r=this.data.enterAnchor,i="top"===r?e:"bottom"===r?e-t:e-.5*t;this.scrollStart=o-i}else this.scrollStart=0;this.scrollStart+=null!==(e=this.data.startOffset)&&void 0!==e?e:0,this.scrollEnd=this.scrollStart+(null!==(t=this.data.endAfter)&&void 0!==t?t:400),this.box=n,this.computeScroll({x:window.scrollX,y:window.scrollY})}connect(){this.computeScrollBounds()}disconnect(){Y7(this.actions)}handleResize(){this.computeScrollBounds()}get isInvalidBox(){return void 0===this.box||0===this.box.width&&0===this.box.height&&0===this.box.top&&0===this.box.bottom}computeScroll(e){let{x:t,y:n}=e;this.actions.Transition.forEach((e=>{e.object.currentTransitionEvent!==this&&(e.object.currentTransitionEvent=this,e.init())}));let r=this.scrollEnd-this.scrollStart,i=Math.min(1,Math.max(0,(n-this.scrollStart)/r));this.actions.Transition.forEach((e=>e.seek(i))),this.actions.Animation.forEach((e=>e.seek(i))),this.actions.Create.forEach((e=>e.dispatchThrottled())),this.actions.SetVariable.forEach((e=>e.checkConditions())),this.actions.SetVariable.forEach((e=>e.dispatch())),this.actions.DynamicVariablePlay.forEach((e=>e.dispatch()))}dispatch(e){this.isInvalidBox&&this.computeScrollBounds(),this.computeScroll(e)}dispatchUserEvent(e){this.actions.Transition.forEach((e=>{e.object.currentTransitionEvent!==this&&(e.object.currentTransitionEvent=this,e.init())})),e?(this.actions.Transition.forEach((e=>e.reverseFromCurrent())),this.actions.Animation.forEach((e=>e.reverseFromCurrent()))):(this.actions.Transition.forEach((e=>{e.playFromCurrent()})),this.actions.Animation.forEach((e=>{e.playFromCurrent()}))),this.actions.Create.forEach((e=>e.dispatchThrottled())),this.actions.SetVariable.forEach((e=>e.checkConditions())),this.actions.SetVariable.forEach((e=>e.dispatch())),this.actions.DynamicVariablePlay.forEach((e=>e.dispatch()))}},ete=class extends N8{constructor(e,t){super(e),this.wheelEventsPerObject=new Map,this.scrollEventsPerObject=new Map,this.isInview=!0,this.handleResize=()=>{[...this.scrollEventsPerObject.entries()].forEach((e=>{let[t,n]=e;n.forEach((e=>e.handleResize()))}))},this.onScroll=e=>{if(!this.isInview)return;let t={y:window.scrollY,x:window.scrollX};[...this.scrollEventsPerObject.entries()].forEach((e=>{let[n,r]=e;n.dispatchEvent({type:"beginEvent",eventName:"Scroll",scroll:t}),r.forEach((e=>e.dispatch(t)))}))},this.onWheel=e=>{!this.isInview||e.ctrlKey||[...this.wheelEventsPerObject.entries()].forEach((t=>{let[n,r]=t;n.dispatchEvent({type:"beginEvent",eventName:"Scroll",deltaY:e.deltaY}),r.forEach((t=>t.dispatch(e.deltaY)))}))},this.onUserEvent=e=>{var t;let{eventName:n,target:r,reverse:i}=e;if(!n||!r)return;let a=F8(n);a&&"Scroll"===a&&(r.dispatchEvent({type:"beginEvent",eventName:"Scroll"}),null===(t=this.wheelEventsPerObject.get(r))||void 0===t||t.forEach((e=>{e.dispatchUserEvent(i)})))};let{page:n,sharedAssets:r,domElement:i,isExport:a}=this.eventContext,s=e=>{var s;if(null!==(s=e.data)&&void 0!==s&&s.events.length)for(let{id:c,data:d}of e.data.events)if(!d.disabled&&"Scroll"===d.type)if("load"!==d.trigger&&a){var o;let a=new $ee(c,d,e,n,r,i,t);this.scrollEventsPerObject.has(e)?null===(o=this.scrollEventsPerObject.get(e))||void 0===o||o.push(a):this.scrollEventsPerObject.set(e,[a])}else{var l;let i=new _ee(c,d,e,n,r,t);this.wheelEventsPerObject.has(e)?null===(l=this.wheelEventsPerObject.get(e))||void 0===l||l.push(i):this.wheelEventsPerObject.set(e,[i])}};n.traverseEntity((e=>{var t;(e instanceof t5||e instanceof Y6)&&null!==(t=e.frame)&&void 0!==t&&t.traverse((e=>{s(e)})),s(e)})),this.intersectionObserver=new IntersectionObserver((e=>{let t=e[0];t&&(this.isInview=t.isIntersecting)}),{root:null})}connect(){this.intersectionObserver.observe(this.eventContext.domElement),[...this.wheelEventsPerObject.entries()].forEach((e=>{let[t,n]=e;n.forEach((e=>e.connect())),t.addEventListener("userEvent",this.onUserEvent)})),[...this.scrollEventsPerObject.entries()].forEach((e=>{let[t,n]=e;n.forEach((e=>e.connect())),t.addEventListener("userEvent",this.onUserEvent)})),[...this.wheelEventsPerObject.values()].some((e=>e.length))&&(this.domEventsNeeded.add("wheel"),window.addEventListener("wheel",this.onWheel)),[...this.scrollEventsPerObject.values()].some((e=>e.length))&&(this.domEventsNeeded.add("scroll"),window.addEventListener("scroll",this.onScroll),window.addEventListener("resize",this.handleResize))}disconnect(){window.removeEventListener("wheel",this.onWheel),window.removeEventListener("scroll",this.onScroll),window.removeEventListener("resize",this.handleResize),this.intersectionObserver.unobserve(this.eventContext.domElement),this.domEventsNeeded.clear(),[...this.wheelEventsPerObject.entries()].forEach((e=>{let[t,n]=e;n.forEach((e=>e.disconnect())),t.removeEventListener("userEvent",this.onUserEvent)})),[...this.scrollEventsPerObject.entries()].forEach((e=>{let[t,n]=e;n.forEach((e=>e.disconnect())),t.removeEventListener("userEvent",this.onUserEvent)}))}},tte=class{constructor(e,t,n,r,i,a){this.id=e,this.data=t,this.object=n,this.actions=L7(t,t.actions,r,i,a,n)}disconnect(){Y7(this.actions)}dispatch(){this.actions.Transition.forEach((e=>{e.play()})),this.actions.Animation.forEach((e=>{e.play()})),this.actions.SwitchCamera.forEach((e=>{e.play()})),this.actions.SceneTransition.forEach((e=>{e.dispatch()})),this.actions.Reset.forEach((e=>e.dispatch())),this.actions.SetVariable.forEach((e=>e.checkConditions())),this.actions.SetVariable.forEach((e=>e.dispatch())),this.actions.DynamicVariablePlay.forEach((e=>e.dispatch())),this.actions.Create.forEach((e=>{e.dispatchFromStart()})),this.actions.Destroy.forEach((e=>{e.dispatchFromStart()}))}dispatchAfter(e){this.actions.Audio.forEach((t=>{var n;(null!==(n=t.interaction.data.triggerAfter)&&void 0!==n?n:"any")===e&&(t.interaction instanceof H4?t.interaction.audioPlayer.play():t.interaction instanceof W4&&t.interaction.dispatch())})),this.actions.Video.forEach((t=>{var n;let r=null!==(n=t.interaction.data.triggerAfter)&&void 0!==n?n:"autoplay";r===e&&(t.interaction instanceof K7?t.interaction.play("autoplay"===r):t.interaction instanceof Q7&&t.interaction.dispatch())})),this.actions.Particles.forEach((t=>{var n;(null!==(n=t.data.triggerAfter)&&void 0!==n?n:"any")===e&&t.dispatchBasic()}))}dispatchUserEvent(e){this.actions.Transition.forEach((e=>{e.object.currentTransitionEvent!==this&&(e.object.currentTransitionEvent=this,e.init())})),e?(this.actions.Transition.forEach((e=>e.reverseFromCurrent())),this.actions.Animation.forEach((e=>e.reverseFromCurrent())),this.actions.SwitchCamera.forEach((e=>e.reverseFromCurrent()))):(this.actions.Transition.forEach((e=>e.playFromCurrent())),this.actions.Animation.forEach((e=>e.playFromCurrent())),this.actions.SwitchCamera.forEach((e=>e.playFromCurrent()))),this.actions.SceneTransition.forEach((e=>e.dispatch())),this.actions.Reset.forEach((e=>e.dispatch())),this.actions.SetVariable.forEach((e=>e.checkConditions())),this.actions.SetVariable.forEach((e=>e.dispatch())),this.actions.DynamicVariablePlay.forEach((e=>e.dispatch())),this.actions.Create.forEach((e=>{e.dispatch()})),this.actions.Destroy.forEach((e=>{e.dispatch()})),this.actions.Audio.forEach((e=>{e.interaction instanceof H4?e.interaction.audioPlayer.play():e.interaction instanceof W4&&e.interaction.dispatch()})),this.actions.Video.forEach((e=>{e.interaction instanceof K7?e.interaction.play():e.interaction instanceof Q7&&e.interaction.dispatch()})),this.actions.Particles.forEach((e=>{e.dispatchBasic()}))}},nte=class extends N8{constructor(e,t){super(e),this.eventManager=t,this.eventsPerObject=new Map,this.eventsAfterPerObject=new Map,this.onMouseDown=()=>{[...this.eventsAfterPerObject.entries()].forEach((e=>{let[t,n]=e;t.dispatchEvent({type:"beginEvent",eventName:"Start"}),n.forEach((e=>{e.dispatchAfter("mouseDown")}))}))},this.onKeyDown=()=>{[...this.eventsAfterPerObject.entries()].forEach((e=>{let[t,n]=e;t.dispatchEvent({type:"beginEvent",eventName:"Start"}),n.forEach((e=>{e.dispatchAfter("keyDown")}))}))},this.onAny=()=>{let{domElement:e,isExport:t}=this.eventContext;(t?document:e).removeEventListener("pointerdown",this.onAny),document.removeEventListener("keydown",this.onAny),[...this.eventsAfterPerObject.entries()].forEach((e=>{let[t,n]=e;t.dispatchEvent({type:"beginEvent",eventName:"Start"}),n.forEach((e=>{e.dispatchAfter("any")}))}))},this.onSceneTransitionAudioVideoPlay=()=>{[...this.eventsAfterPerObject.entries()].forEach((e=>{let[t,n]=e;t.dispatchEvent({type:"beginEvent",eventName:"Start"}),n.forEach((e=>{e.actions.Audio.forEach((e=>{e.interaction instanceof H4&&e.interaction.audioPlayer.play()})),e.actions.Video.forEach((e=>{var t;let n=null!==(t=e.interaction.data.triggerAfter)&&void 0!==t?t:"autoplay";e.interaction instanceof K7&&e.interaction.play("autoplay"===n)})),e.actions.Particles.forEach((e=>{e.dispatchBasic()}))}))}))},this.onPlay=()=>{[...this.eventsAfterPerObject.entries()].forEach((e=>{let[t,n]=e;t.dispatchEvent({type:"beginEvent",eventName:"Start"}),n.forEach((e=>{e.dispatchAfter("autoplay")}))}))},this.onUserEvent=e=>{var t,n;let{eventName:r,target:i,reverse:a}=e;if(!r||!i)return;let s=F8(r);s&&"Start"===s&&(i instanceof r6||i.dispatchEvent({type:"beginEvent",eventName:"Start"}),null!==(t=this.eventsPerObject.get(i))&&void 0!==t&&t.forEach((e=>{e.dispatchUserEvent(a)})),null===(n=this.eventsAfterPerObject.get(i))||void 0===n||n.forEach((e=>{e.dispatchUserEvent(a)})))}}connect(){let{sharedAssets:e,page:t}=this.eventContext,n=n=>{var r;if(null!==(r=n.data)&&void 0!==r&&r.events.length)for(let{id:l,data:c}of n.data.events){var i,a,s,o;if(c.disabled||"Start"!==c.type)continue;let r=new tte(l,c,n,t,e,this.eventManager);(r.actions.Transition.length||r.actions.Animation.length||r.actions.SwitchCamera.length||r.actions.Create.length||r.actions.Destroy.length||r.actions.SceneTransition.length||r.actions.Reset.length||r.actions.SetVariable.length||r.actions.DynamicVariablePlay.length)&&(this.eventsPerObject.has(n)?null===(i=this.eventsPerObject.get(n))||void 0===i||i.push(r):this.eventsPerObject.set(n,[r])),r.actions.Audio.length&&(this.eventsAfterPerObject.has(n)?null===(a=this.eventsAfterPerObject.get(n))||void 0===a||a.push(r):this.eventsAfterPerObject.set(n,[r])),r.actions.Video.length&&(this.hasVideoAction=!0,this.eventsAfterPerObject.has(n)?null===(s=this.eventsAfterPerObject.get(n))||void 0===s||s.push(r):this.eventsAfterPerObject.set(n,[r])),r.actions.Particles.length&&(this.eventsAfterPerObject.has(n)?null===(o=this.eventsAfterPerObject.get(n))||void 0===o||o.push(r):this.eventsAfterPerObject.set(n,[r]))}};if(t.traverseEntity((e=>{var t;(e instanceof t5||e instanceof Y6)&&null!==(t=e.frame)&&void 0!==t&&t.traverse((e=>{n(e)})),n(e)})),[...this.eventsAfterPerObject.values()].some((e=>e.length))){if(0===this.eventManager.activateCount){let{domElement:e,isExport:t}=this.eventContext,n=t?document:e;n.addEventListener("pointerdown",this.onMouseDown,{once:!0}),n.addEventListener("mousedown",this.onMouseDown,{once:!0}),document.addEventListener("keydown",this.onKeyDown,{once:!0}),n.addEventListener("pointerdown",this.onAny),n.addEventListener("mousedown",this.onAny),document.addEventListener("keydown",this.onAny),[...this.eventsAfterPerObject.entries()].forEach((e=>{let[t,n]=e;t.addEventListener("userEvent",this.onUserEvent)}))}else this.onSceneTransitionAudioVideoPlay();this.onPlay()}[...this.eventsPerObject.entries()].forEach((e=>{let[t,n]=e;t.dispatchEvent({type:"beginEvent",eventName:"Start"}),n.forEach((e=>e.dispatch())),t.addEventListener("userEvent",this.onUserEvent)}))}disconnect(){if([...this.eventsAfterPerObject.values()].some((e=>e.length))){let{domElement:e,isExport:t}=this.eventContext,n=t?document:e;n.removeEventListener("pointerdown",this.onMouseDown),n.removeEventListener("mousedown",this.onMouseDown),document.removeEventListener("keydown",this.onKeyDown),n.removeEventListener("pointerdown",this.onAny),n.removeEventListener("mousedown",this.onAny),document.removeEventListener("keydown",this.onAny),[...this.eventsAfterPerObject.entries()].forEach((e=>{let[t,n]=e;t.removeEventListener("userEvent",this.onUserEvent),n.forEach((e=>e.disconnect()))}))}[...this.eventsPerObject.entries()].forEach((e=>{let[t,n]=e;t.removeEventListener("userEvent",this.onUserEvent),n.forEach((e=>e.disconnect()))})),this.eventsPerObject.clear(),this.eventsAfterPerObject.clear()}},rte=class{constructor(e,t,n,r,i,a){this.id=e,this.data=t,this.object=n,this.disabled=!1,this.alreadyPlayedNonTogglingActions=new Set,this.actions=L7(t,t.actions,r,i,a,n),this.target=t.target,this.useToggle="Toggle"===t.runMode}disconnect(){Y7(this.actions)}dispatch(e){this.disabled||(this.actions.Transition.forEach((e=>{e.object.currentTransitionEvent!==this?(e.object.currentTransitionEvent=this,e.init()):"Once"===this.data.runMode&&this.alreadyPlayedNonTogglingActions.add(e)})),this.object.dispatchEvent({type:"beginEvent",eventName:"Collision"}),this.useToggle?(this.actions.Transition.forEach((e=>{e.toggle()})),this.actions.Animation.forEach((e=>{e.toggle()}))):(this.actions.Transition.forEach((e=>{!1===this.alreadyPlayedNonTogglingActions.has(e)&&e.play()})),this.actions.Animation.forEach((e=>{e.play()}))),this.actions.Reset.forEach((e=>{e.dispatch()})),this.actions.Link.forEach((e=>{e.dispatch()})),this.actions.Reset.forEach((e=>{e.dispatch()})),this.actions.Create.forEach((e=>{e.dispatch()})),this.actions.Destroy.forEach((t=>{t.dispatch(null!==e&&void 0!==e&&e)})),this.actions.SetVariable.forEach((e=>e.checkConditions())),this.actions.SetVariable.forEach((e=>e.dispatch())),this.actions.DynamicVariablePlay.forEach((e=>e.dispatch())),this.actions.Audio.forEach((e=>{e.dispatchBasic()})),this.actions.Particles.forEach((e=>{e.dispatchBasic()})),this.actions.Video.forEach((e=>{e.dispatchBasic()})))}},ite=class extends N8{constructor(e,t,n,r,i){super(e),this.sharedVariables=t,this.eventManager=n,this.needsMouse=r,this.needsRaycast=i,this.dynamicVars=[],this.variablesToWatch=[],this.prevMouseProperty=null,this.prevRaycastProperty=null,this.pauseTime=0,this.events=[],this.onFrame=e=>{this.rafId=window.requestAnimationFrame(this.onFrame);let t=new Date,n=[],r=[];for(let l=0;l<this.propertiesToWatch.length;l++){let{objectId:e,property:t,prevValue:n}=this.propertiesToWatch[l],i=this.eventContext.scene.find(e),a=TU.propertyPaths[t];if("width"===a[0]||"height"===a[0]||"depth"===a[0])i=i.geometry.userData.parameters[a[0]];else for(let r=0;r<a.length;r++)i=i[a[r]];null===n?this.propertiesToWatch[l].prevValue=i instanceof qM?i.clone():i:(i instanceof qM?!i.equals(n):n!==i)&&(r.push({objId:e,property:t}),i instanceof qM?this.propertiesToWatch[l].prevValue.copy(i):this.propertiesToWatch[l].prevValue=i)}for(let l=0;l<this.variablesToWatch.length;l++){let{id:e,prevValue:t}=this.variablesToWatch[l],r=this.shared.getVariable(e);r!==t&&(n.push(e),this.variablesToWatch[l].prevValue=r)}for(let l=0;l<this.dynamicVars.length;l++){let{id:r,expectedTime:s,last:o,data:c,timerSeconds:d,startValue:h}=this.dynamicVars[l],u=1e3;if("timer"!==c.dynamicVariableType&&"stopwatch"!==c.dynamicVariableType||"number3decimal"!==c.format?"counter"===c.dynamicVariableType?u=c.updateInterval:"random"===c.dynamicVariableType&&(u=c.isStatic?1/0:c.updateInterval):u=1,-1!==s){if("Stopped"!==this.shared.getDynamicVariablePlayState(r)&&"Restarted"!==this.shared.getDynamicVariablePlayState(r)||(this.dynamicVars[l].last=e,this.dynamicVars[l].expectedTime=e+u,"counter"===c.dynamicVariableType&&this.shared.getVariable(r)!==h&&(this.shared.updateVariable(r,h),this.eventManager.requestRender()),("timer"===c.dynamicVariableType||"stopwatch"===c.dynamicVariableType)&&this.dynamicVars[l].timerSeconds!==h&&(this.dynamicVars[l].timerSeconds=h,this.shared.updateVariable(r,cL.getFormattedTimerTime(h,c)),this.eventManager.requestRender()),"Restarted"===this.shared.getDynamicVariablePlayState(r)&&this.shared.setDynamicVariablePlayState(r,"Playing"),"Stopped"!==this.shared.getDynamicVariablePlayState(r))){if("Paused"===this.shared.getDynamicVariablePlayState(r)){void 0===this.dynamicVars[l].deltaToExpectedTime&&(this.dynamicVars[l].deltaToExpectedTime=Math.max(this.dynamicVars[l].expectedTime-e,0)),this.dynamicVars[l].last=e-(u-this.dynamicVars[l].deltaToExpectedTime),this.dynamicVars[l].expectedTime=e+this.dynamicVars[l].deltaToExpectedTime;continue}if(this.dynamicVars[l].deltaToExpectedTime=void 0,e>=s)if(this.dynamicVars[l].last=e,this.dynamicVars[l].expectedTime+=u,"random"===c.dynamicVariableType){let e=c.min+Math.random()*(c.max-c.min),t=c.decimals;e=Math.round(e*Math.pow(10,t))/Math.pow(10,t),this.shared.updateVariable(r,e),n.push(r),this.eventManager.requestRender()}else if("counter"===c.dynamicVariableType){var i;if(0===c.increment)continue;let e=this.shared.getVariable(r),t=null===(i=this.shared.getDynamicVariableToggleIsForward(r))||void 0===i||i,a=this.shared.getVariable(r)+c.increment*(t?1:-1);c.hasEnd&&(a=c.increment>0?lM.clamp(a,h,c.endValue):lM.clamp(a,c.endValue,h),a===h&&this.shared.setDynamicVariableToggleIsForward(r,void 0),c.repeat?a===c.endValue&&(a=h):(a===h||a===c.endValue)&&this.shared.setDynamicVariablePlayState(r,"Paused")),a!==e&&(n.push(r),this.shared.updateVariable(r,a),this.eventManager.requestRender())}else if("time"===c.dynamicVariableType)this.shared.updateVariable(r,G$(t,c)),n.push(r),this.eventManager.requestRender();else{var a;let t=iL.isTextValue(c.endValue)?ste(c.endValue.textValue):c.endValue,i=null===(a=this.shared.getDynamicVariableToggleIsForward(r))||void 0===a||a,s=d+(e-o)/1e3*("timer"===c.dynamicVariableType?-1:1)*(i?1:-1);s=Math.max(s,0),c.hasEnd&&(s="stopwatch"===c.dynamicVariableType?lM.clamp(s,h,t):lM.clamp(s,t,h),s===h&&this.shared.setDynamicVariableToggleIsForward(r,void 0),c.repeat?Math.abs(s-t)<("number3decimal"===c.format?1e-4:.1)&&(s=h):(Math.abs(s-h)<("number3decimal"===c.format?1e-4:.1)||Math.abs(s-t)<("number3decimal"===c.format?1e-4:.1))&&this.shared.setDynamicVariablePlayState(r,"Paused")),s!==d&&(n.push(r),this.dynamicVars[l].timerSeconds=s,this.shared.updateVariable(r,cL.getFormattedTimerTime(s,c)),this.eventManager.requestRender())}}}else this.dynamicVars[l].last=e,this.dynamicVars[l].expectedTime=e+u}this.needsMouse&&this.shared.mouseProperty!==this.prevMouseProperty&&(this.prevMouseProperty=this.shared.mouseProperty,this.events.forEach((e=>{"mouseProperty"===e.data.variableId&&(e.dispatch(),this.eventManager.requestRender())})));let s=!1;this.shared.mouseProperty!==this.prevMouseProperty&&(this.prevMouseProperty=this.shared.mouseProperty,s=!0);let o=!1;this.shared.raycastProperty!==this.prevRaycastProperty&&(this.prevRaycastProperty=this.shared.raycastProperty,o=!0),this.events.forEach((e=>{(n.includes(e.data.variableId)||r.find((t=>t.objId===e.data.objectId&&t.property===e.data.property))||"mouseProperty"===e.data.variableId&&s||"raycastProperty"===e.data.variableId&&o)&&(e.dispatch(),this.eventManager.requestRender())}))},this.onBlur=()=>{this.pause()},this.onFocus=()=>{this.resume()},e.page.traverseEntity((t=>{var r;null===(r=t.data)||void 0===r||r.events.filter((e=>"VariableChange"===e.data.type&&!e.data.disabled)).forEach((r=>{this.events.push(new ate(t.uuid,r.data,t,e.page,e.sharedAssets,n))}))})),this.propertiesToWatch=this.events.filter((e=>"objectProperty"===e.data.variableId&&null!==e.data.objectId)).map((e=>({objectId:e.data.objectId,property:e.data.property,prevValue:null}))),this.shared=e.sharedAssets,this.sharedVariables.forEach((e=>{let t,{id:n,data:r}=e;if("dynamicVariableType"in r)if("timer"===r.dynamicVariableType||"stopwatch"===r.dynamicVariableType){let e;if(iL.isTextValue(r.value)&&Array.isArray(r.value.textValue)){let t=r.value.textValue;e=3===t.length?t[2]+60*t[1]+3600*t[0]:t[1]+60*t[0]}else e=r.value;t=e,this.dynamicVars.push({id:n,last:-1,expectedTime:-1,data:r,timerSeconds:e,startValue:t})}else"time"===r.dynamicVariableType&&this.shared.updateVariable(n,G$(new Date,r)),"counter"===r.dynamicVariableType&&(t=iL.isTextValue(r.value)?ste(r.value.textValue):r.value),this.dynamicVars.push({id:n,last:-1,expectedTime:-1,data:r,startValue:t});else this.events.find((e=>e.data.variableId===n))&&this.variablesToWatch.push({id:n,prevValue:this.shared.getVariable(n)})}))}pause(){this.pauseTime=Date.now()}resume(){let e=Date.now()-this.pauseTime;for(let t=0;t<this.dynamicVars.length;t++)this.dynamicVars[t].last+=e,this.dynamicVars[t].expectedTime+=e}connect(){this.rafId=window.requestAnimationFrame(this.onFrame),window.addEventListener("blur",this.onBlur),window.addEventListener("focus",this.onFocus)}disconnect(){window.removeEventListener("blur",this.onBlur),window.removeEventListener("focus",this.onFocus),this.rafId&&(window.cancelAnimationFrame(this.rafId),this.rafId=void 0),this.events.forEach((e=>e.dispose()))}},ate=class{constructor(e,t,n,r,i,a){this.id=e,this.data=t,this.object=n,this.actions=L7(t,t.actions,r,i,a,n)}dispatch(){let e=this.actions;e.Audio.forEach((e=>e.dispatchConditional())),e.Particles.forEach((e=>e.dispatchConditional())),e.Video.forEach((e=>e.dispatchConditional())),e.Create.forEach((e=>e.dispatch())),e.Destroy.forEach((e=>e.dispatch())),e.Reset.forEach((e=>e.dispatch())),e.Transition.forEach((e=>{e.object.currentTransitionEvent!==this&&(e.object.currentTransitionEvent=this),e.init()})),e.Transition.forEach((e=>e.play())),e.Animation.forEach((e=>e.play())),e.SwitchCamera.forEach((e=>e.play())),e.SceneTransition.forEach((e=>e.dispatch())),e.SetVariable.forEach((e=>e.checkConditions())),e.SetVariable.forEach((e=>e.dispatch())),e.DynamicVariablePlay.forEach((e=>e.dispatch()))}dispose(){Y7(this.actions)}};function ste(e){return 3===e.length?e[2]+60*e[1]+3600*e[0]:e[1]+60*e[0]}var ote,lte,cte,dte="\n(async function() {\n\tconst [wasmImport, wasmBinary] = await Promise.all([\n\t\timport('".concat("https://unpkg.com/@splinetool/runtime@1.0.53/build/","' + 'navmesh.js'),\n\t\tfetch('").concat("https://unpkg.com/@splinetool/navmesh-wasm@1.0.53/build/","' + 'navmesh.wasm').then((res) => res.arrayBuffer()),\n\t]);\n\tconst wasmModule = wasmImport.default;\n\tself.module = await wasmModule({ wasmBinary });\n\tpostMessage('ready');\n})();\n"),hte={cs:6,ch:2,walkableSlopeAngle:90,walkableHeight:20,walkableClimb:5,walkableRadius:0,maxEdgeLen:12,maxSimplificationError:1.3,minRegionArea:8,mergeRegionArea:20,maxVertsPerPoly:6,detailSampleDist:6,detailSampleMaxError:1};LW.then((e=>{ote=e,lte=new e.Vec3,cte=new e.Vec3}));var ute=new qM,pte=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.usePhysics=e,this.isExport=t,this.onPointerDown=e=>{if(1!==VW.length)return;let{raycaster:t,page:n}=this.eventContext;this.eventContext.updateRaycaster(e);let r=n.raycastWithClones(t);if(0!==r.length){if(this.gameControl){let e=ute.copy(this.gameControl.colliderWorldPosition);e.y-=this.gameControl.colliderHeight/2,this.gameControl.path=this.computePath(e,r[0].point)}this.eventContext.requestRender()}},this.traverseWithPhysics=(e,t)=>n=>{var r,i,a,s,o,l;let c;if(n instanceof x1){if(!n.objectForSample)return!0===n.object.dataPatched.physics.fusedBody&&"dynamic"===n.object.dataPatched.physics.rigidBody||void 0;if(n.objectForSample.dataPatched.physics.fusedBody)return;c=n.object}else if(n instanceof DF)c=n.object;else if(c=n,!1===(null===(r=c.dataPatched.cloner)||void 0===r?void 0:r.disabled)&&null!==(i=c.dataPatched.cloner)&&void 0!==i&&i.hideBase&&!0!==(null===(a=c.dataPatched.physics)||void 0===a?void 0:a.fusedBody))return!0;if(t&&!c.userData.navmesh)return;let d=c.dataPatched;if(!d.visible&&!0!==(null===(s=d.physics)||void 0===s?void 0:s.enabled))return!0;n.updateMatrixWorldSVD();let h=_te(d),u=c.userData.hasDestroy,p=c.userData.hasDrag,f=!1,m=!1;for(let e of d.events)!0!==e.data.disabled&&("GameControl"===e.data.type?f=!0:"Follow"===e.data.type&&(m=!0));if(f||h||m||u||p)return!0;var g;if(this.usePhysics&&"dynamic"===(null===(o=d.physics)||void 0===o?void 0:o.rigidBody)){if(this.usePhysics&&null!==(g=d.physics)&&void 0!==g&&g.fusedBody)return!0}else if("geometry"in n&&n.geometry&&e.push(T8(n.geometry,n.matrixWorld)),this.usePhysics&&null!==(l=d.physics)&&void 0!==l&&l.fusedBody)return n.traverseObject(((t,n)=>{var r,i;if(0===n)return;let a;if(t instanceof x1){if(!t.objectForSample)return!0===t.object.dataPatched.physics.fusedBody&&"dynamic"===t.object.dataPatched.physics.rigidBody||void 0;if(t.objectForSample.dataPatched.physics.fusedBody)return;a=t.object}else if(t instanceof DF)a=t.object;else if(a=t,null!==(r=t.dataPatched.cloner)&&void 0!==r&&r.hideBase)return!0;let s=a.dataPatched;if(!s.visible&&!0!==(null===(i=s.physics)||void 0===i?void 0:i.enabled))return!0;"geometry"in t&&t.geometry&&e.push(T8(t.geometry,t.matrixWorld))})),!0},this.traverseNoPhysics=(e,t)=>n=>{let r;if(n instanceof x1)return;r=n instanceof DF?n.object:n;let i=r.dataPatched;if("visibility"===i.physics.enabled?!i.visible:!i.physics.enabled)return!0;if(t&&!r.userData.navmesh)return;let a=n.geometry,s=!0===r.userData.hasDestroy,o=!0===r.userData.hasDrag;if(_te(i)||s||o||r.dataPatched.events.some((e=>!0!==e.data.disabled&&"GameControl"===e.data.type)))return!0;a&&e.push(T8(a,n.matrixWorld))},this.navmeshWasm=ote,this.navMesh=new this.navmeshWasm.NavMesh,this._workerURL=URL.createObjectURL(new Blob([(t?dte:"\n(async function() {\n\tconst [wasmImport, wasmBinary] = await Promise.all([\n\t\timport(self.location.origin + '/_libraries/navmesh.js'),\n\t\tfetch(self.location.origin + '/_libraries/navmesh.wasm').then((res) => res.arrayBuffer()),\n\t]);\n\tconst wasmModule = wasmImport.default;\n\tself.module = await wasmModule({ wasmBinary });\n\tpostMessage('ready');\n})();\n")+"\n\nonmessage = function(messageEvent) {\n\tconst meshData = messageEvent.data;\n\tconst positions = meshData[0];\n\tconst offset = meshData[1];\n\tconst indices = meshData[2];\n\tconst indicesLength = meshData[3];\n\tconst parameters = meshData[4];\n\n\tconst module = self.module;\n\tconst rc = new module.rcConfig();\n\trc.cs = parameters.cs;\n\trc.ch = parameters.ch;\n\trc.borderSize = parameters.borderSize ? parameters.borderSize : 0;\n\trc.tileSize = parameters.tileSize ? parameters.tileSize : 0;\n\trc.walkableSlopeAngle = parameters.walkableSlopeAngle;\n\trc.walkableHeight = parameters.walkableHeight;\n\trc.walkableClimb = parameters.walkableClimb;\n\trc.walkableRadius = parameters.walkableRadius;\n\trc.maxEdgeLen = parameters.maxEdgeLen;\n\trc.maxSimplificationError = parameters.maxSimplificationError;\n\trc.minRegionArea = parameters.minRegionArea;\n\trc.mergeRegionArea = parameters.mergeRegionArea;\n\trc.maxVertsPerPoly = parameters.maxVertsPerPoly;\n\trc.detailSampleDist = parameters.detailSampleDist;\n\trc.detailSampleMaxError = parameters.detailSampleMaxError;\n\n\tif (!self.navMesh) {\n\t\tself.navMesh = new module.NavMesh();\n\t}\n\tself.navMesh.build(positions, offset, indices, indicesLength, rc);\n\n\tconst navmeshData = navMesh.getNavmeshData();\n\tconst arrView = new Uint8Array(module.HEAPU8.buffer, navmeshData.dataPointer, navmeshData.size);\n\tconst ret = new Uint8Array(navmeshData.size);\n\tret.set(arrView);\n\tnavMesh.freeNavmeshData(navmeshData);\n\n\tpostMessage(ret);\n}\n"])),this._worker=new Worker(this._workerURL)}init(e,t,n){this.gameControl=t,this.eventContext=n,this.resolution=e.ch,this.setDefaultQueryExtent((new qM).setScalar(e.ch*e.walkableRadius*1.2)),this._worker.onmessage=()=>{this.createNavMesh(n.page,e,(e=>{this.buildFromNavmeshData(e.data)}))},this.eventContext.renderer.domElement.addEventListener("pointerdown",this.onPointerDown)}createNavMesh(e,t,n){t.objects.forEach((t=>{var n;let r=e.scene.find(t);r.traverseEntity((e=>{e.userData.navmesh=!0})),null===(n=r.cloner)||void 0===n||n.traverseObject((e=>{e.userData.navmesh=!0}))}));let r=[],i=(this.usePhysics?this.traverseWithPhysics:this.traverseNoPhysics)(r,"custom"===t.zones);if(e.traverseChildren(i),t.objects.forEach((t=>{var n;let r=e.scene.find(t);r.traverseEntity((e=>{e.userData.navmesh=void 0})),null===(n=r.cloner)||void 0===n||n.traverseObject((e=>{e.userData.navmesh=void 0}))})),0===r.length)return!1;let a=_L(r),{positions:s,triIndices:o}=zQ(a.getAttribute("position"),a.getIndex());return this._worker.postMessage([s,s.length/3,o,o.length,{...hte,...t}]),this._worker.onmessage=n,!0}createDebugNavGeometry(){let e,t,n=this.navMesh.getDebugNavMesh(),r=n.getTriangleCount(),i=new Uint32Array(3*r),a=new Float32Array(3*r*3);for(e=0;e<3*r;e++)i[e]=e;for(e=0;e<r;e++)for(t=0;t<3;t++){let r=n.getTriangle(e).getPoint(t);a[9*e+3*t+0]=r.x,a[9*e+3*t+1]=r.y,a[9*e+3*t+2]=r.z}let s=new pO;return s.setIndex(new nO(i,1)),s.setAttribute("position",new nO(a,3)),s}getClosestPoint(e){return lte.x=e.x,lte.y=e.y,lte.z=e.z,this.navMesh.getClosestPoint(lte)}getClosestPointToRef(e,t){lte.x=e.x,lte.y=e.y,lte.z=e.z;let n=this.navMesh.getClosestPoint(lte);t.set(n.x,n.y,n.z)}getRandomPointAround(e,t){return lte.x=e.x,lte.y=e.y,lte.z=e.z,this.navMesh.getRandomPointAround(lte,t)}getRandomPointAroundToRef(e,t,n){lte.x=e.x,lte.y=e.y,lte.z=e.z;let r=this.navMesh.getRandomPointAround(lte,t);n.set(r.x,r.y,r.z)}moveAlong(e,t){return lte.x=e.x,lte.y=e.y,lte.z=e.z,cte.x=t.x,cte.y=t.y,cte.z=t.z,this.navMesh.moveAlong(lte,cte)}moveAlongToRef(e,t,n){return lte.x=e.x,lte.y=e.y,lte.z=e.z,cte.x=t.x,cte.y=t.y,cte.z=t.z,this.navMesh.moveAlong(lte,cte)}computePath(e,t){let n=this.getClosestPoint(t);cte.x=n.x,cte.y=n.y,cte.z=n.z,this.getClosestPoint(e);let r=this.navMesh.computePath(lte,cte),i=r.getPointCount(),a=[];for(let s=0;s<i;s++){let e=r.getPoint(s);a.push(new qM(e.x,e.y,e.z))}return a}createCrowd(e,t){return new fte(this,e,t)}setDefaultQueryExtent(e){lte.x=e.x,lte.y=e.y,lte.z=e.z,this.navMesh.setDefaultQueryExtent(lte)}getDefaultQueryExtent(){return this.navMesh.getDefaultQueryExtent()}buildFromNavmeshData(e){let t=e.length*e.BYTES_PER_ELEMENT,n=this.navmeshWasm._malloc(t),r=new Uint8Array(this.navmeshWasm.HEAPU8.buffer,n,t);r.set(e);let i=new this.navmeshWasm.NavmeshData;i.dataPointer=r.byteOffset,i.size=e.length,this.navMesh.buildFromNavmeshData(i),this.navmeshWasm._free(r.byteOffset)}getNavmeshData(){let e=this.navMesh.getNavmeshData(),t=new Uint8Array(this.navmeshWasm.HEAPU8.buffer,e.dataPointer,e.size),n=new Uint8Array(e.size);return n.set(t),this.navMesh.freeNavmeshData(e),n}getDefaultQueryExtentToRef(e){let t=this.navMesh.getDefaultQueryExtent();e.set(t.x,t.y,t.z)}dispose(){var e;this.navMesh.destroy(),this._worker.terminate(),URL.revokeObjectURL(this._workerURL),null===(e=this.eventContext)||void 0===e||e.renderer.domElement.removeEventListener("pointerdown",this.onPointerDown)}addCylinderObstacle(e,t,n){return lte.x=e.x,lte.y=e.y,lte.z=e.z,this.navMesh.addCylinderObstacle(lte,t,n)}addBoxObstacle(e,t,n){return lte.x=e.x,lte.y=e.y,lte.z=e.z,cte.x=t.x,cte.y=t.y,cte.z=t.z,this.navMesh.addBoxObstacle(lte,cte,n)}removeObstacle(e){this.navMesh.removeObstacle(e)}isSupported(){return void 0!==this.navmeshWasm}},fte=class{constructor(e,t,n){this.navmeshWasmWrapper=e,this.transforms=[],this.agents=new Array,this.reachRadii=new Array,this._agentDestinationArmed=new Array,this._agentDestination=new Array,this.crowd=new this.navmeshWasmWrapper.navmeshWasm.Crowd(t,n,this.navmeshWasmWrapper.navMesh.getNavMesh())}onReachTarget(e,t){}addAgent(e,t,n){let r=new this.navmeshWasmWrapper.navmeshWasm.dtCrowdAgentParams;r.radius=t.radius,r.height=t.height,r.maxAcceleration=t.maxAcceleration,r.maxSpeed=t.maxSpeed,r.collisionQueryRange=t.collisionQueryRange,r.pathOptimizationRange=t.pathOptimizationRange,r.separationWeight=t.separationWeight,r.updateFlags=7,r.obstacleAvoidanceType=0,r.queryFilterType=0,r.userData=0;let i=this.crowd.addAgent(new this.navmeshWasmWrapper.navmeshWasm.Vec3(e.x,e.y,e.z),r);return this.transforms.push(n),this.agents.push(i),this.reachRadii.push(t.reachRadius?t.reachRadius:t.radius),this._agentDestinationArmed.push(!1),this._agentDestination.push(new qM(0,0,0)),i}getAgentPosition(e){return this.crowd.getAgentPosition(e)}getAgentPositionToRef(e,t){let n=this.crowd.getAgentPosition(e);t.set(n.x,n.y,n.z)}getAgentVelocity(e){return this.crowd.getAgentVelocity(e)}getAgentVelocityToRef(e,t){let n=this.crowd.getAgentVelocity(e);t.set(n.x,n.y,n.z)}getAgentNextTargetPath(e){return this.crowd.getAgentNextTargetPath(e)}getAgentNextTargetPathToRef(e,t){let n=this.crowd.getAgentNextTargetPath(e);t.set(n.x,n.y,n.z)}getAgentState(e){return this.crowd.getAgentState(e)}overOffmeshConnection(e){return this.crowd.overOffmeshConnection(e)}agentGoto(e,t){this.crowd.agentGoto(e,new this.navmeshWasmWrapper.navmeshWasm.Vec3(t.x,t.y,t.z));let n=this.agents.indexOf(e);n>-1&&(this._agentDestinationArmed[n]=!0,this._agentDestination[n].set(t.x,t.y,t.z))}agentTeleport(e,t){this.crowd.agentTeleport(e,new this.navmeshWasmWrapper.navmeshWasm.Vec3(t.x,t.y,t.z))}updateAgentParameters(e,t){let n=this.crowd.getAgentParameters(e);void 0!==t.radius&&(n.radius=t.radius),void 0!==t.height&&(n.height=t.height),void 0!==t.maxAcceleration&&(n.maxAcceleration=t.maxAcceleration),void 0!==t.maxSpeed&&(n.maxSpeed=t.maxSpeed),void 0!==t.collisionQueryRange&&(n.collisionQueryRange=t.collisionQueryRange),void 0!==t.pathOptimizationRange&&(n.pathOptimizationRange=t.pathOptimizationRange),void 0!==t.separationWeight&&(n.separationWeight=t.separationWeight),this.crowd.setAgentParameters(e,n)}removeAgent(e){this.crowd.removeAgent(e);let t=this.agents.indexOf(e);t>-1&&(this.agents.splice(t,1),this.transforms.splice(t,1),this.reachRadii.splice(t,1),this._agentDestinationArmed.splice(t,1),this._agentDestination.splice(t,1))}getAgents(){return this.agents}update(e){if(this.navmeshWasmWrapper.navMesh.update(),e<=.001)return;let t=1/60;{let n=Math.floor(e/t);n>10&&(n=10),n<1&&(n=1);let r=e/n;for(let e=0;e<n;e++)this.crowd.update(r)}for(let n=0;n<this.agents.length;n++){let e=this.agents[n],t=this.getAgentPosition(e);if(this.transforms[n].copy(t),this._agentDestinationArmed[n]){let r=t.x-this._agentDestination[n].x,i=t.z-this._agentDestination[n].z,a=this.reachRadii[n],s=this._agentDestination[n].y-this.reachRadii[n],o=this._agentDestination[n].y+this.reachRadii[n],l=r*r+i*i;t.y>s&&t.y<o&&l<a*a&&(this.onReachTarget(e,this._agentDestination[n]),this._agentDestinationArmed[n]=!1)}}}setDefaultQueryExtent(e){let t=new this.navmeshWasmWrapper.navmeshWasm.Vec3(e.x,e.y,e.z);this.crowd.setDefaultQueryExtent(t)}getDefaultQueryExtent(){return this.crowd.getDefaultQueryExtent()}getDefaultQueryExtentToRef(e){let t=this.crowd.getDefaultQueryExtent();e.set(t.x,t.y,t.z)}getCorners(e){let t,n=this.crowd.getCorners(e),r=n.getPointCount(),i=[];for(t=0;t<r;t++){let e=n.getPoint(t);i.push(new qM(e.x,e.y,e.z))}return i}dispose(){this.crowd.destroy()}};function mte(e){let t=!1;return e.scene.objects.forEach((n=>{"Page"===n.data.type&&!t&&n.data.publish.gameControlObject&&eL.traverseModuleInstances(e,n.id,((e,n,r)=>{for(let i of r)"GameControl"===i.data.type&&i.data.navmesh.enabled&&(t=!0)}))})),t}var gte={type:"change"},yte={type:"changeZoom"},vte={type:"changePan"},xte={type:"start"},Ste={type:"end",changed:!0},Ate={type:"end",changed:!1},bte=new GM,kte=new cM,wte=2*Math.PI,jte=new qM,Mte=new cM,Pte=new qM,Ote=new GM,Tte=new fP,Ite={type:"requestRender"},Cte=class extends Zj{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{isPlayMode:!1,isExport:!1};super(),this.object=e,this.domElement=t,this.options=n,this.enabled=!0,this.useKeyEvents=!0,this.enableDamping=!1,this.enableZoom=!0,this.enableRotate=!0,this.enablePan=!0,this.autoRotate=!1,this.rotationLimitsMode=0,this.panLimitsMode=0,this.rotationSoftLimit=2,this.panSoftLimit=2,this.hoverRotatePanMode=0,this.zoomLimitsEnabled=!1,this.mouseButtons=[0,5],this.mouseButtonsPlay=[3,4,5],this.touches=[null,Ak,xk],this.offset=new qM,this.eye=new qM,this.lastPosition=new qM,this.lastQuaternion=new GM,this.current=new cM,this.overShoot=new cM,this.overRatio=new cM,this.spherical=new xR,this.sphericalDelta=new xR,this.panOffset=new qM,this.panLeftV=new qM,this.panUpV=new qM,this.panV=new qM,this.rotateStart=new cM,this.rotateEnd=new cM,this.rotateDelta=new cM,this.panStart=new cM,this.panEnd=new cM,this.panDelta=new cM,this.dollyStart=new cM,this.dollyEnd=new cM,this.dollyDelta=new cM,this.rotationRangeFactor=new cM,this.panRangeFactor=new cM,this.state=-1,this.zoomChanged=!1,this.isPointerDown=!1,this.isThetaFlipped=!1,this.prevScale=0,this.scale=1,this.gesture=!1,this.timer=-1,this.timerHover=-1,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPhi=0,this.maxPhi=Math.PI,this.minTheta=-1/0,this.maxTheta=1/0,this.minH=0,this.maxH=Math.PI,this.minV=-1/0,this.maxV=1/0,this.autoRotateClockwise=!0,this.isPanOverShoot=!1,this.isRotateOverShoot=!1,this.resetHoverEffectOnPointerLeave=!1,this.hasChange=!1,this.useWindowEvents=!1,this.isTouchZoom=!0,this.autoRotateSpeed=2,this.dampingFactor=.125,this.zoomSpeed=2,this.rotateSpeed=1,this.panSpeed=1,this.hoverRotatePanStrength=.1,this.hoverRotateDamping=this.dampingFactor,this.thetaIsFree=!1,this.phiIsFree=!1,this.needsUpdate=!0,this.onCameraChange=e=>{this.object.removeEventListener("beginState",this.onBeginState),this.object.removeEventListener("completeState",this.onCompleteState),this.object.removeEventListener("cameraChange",this.onCameraChange),this.object=e.camera,this.object.addEventListener("beginState",this.onBeginState),this.object.addEventListener("completeState",this.onCompleteState),this.object.addEventListener("cameraChange",this.onCameraChange)},this.update=()=>{this.object.updateWorldMatrix(!0,!1),this.object.matrixWorld.decompose(Pte,Ote,jte),this.offset.copy(Pte).sub(this.target),this.spherical.setFromVector3(this.offset),this.object.isUpVectorFlipped&&(this.spherical.phi*=-1,this.spherical.theta-=Math.PI),this.autoRotate&&-1===this.state&&this.rotateLeft((!0===this.autoRotateClockwise?1:-1)*this.getAutoRotationAngle()),0!==this.rotationLimitsMode&&this.applyLimits(this.sphericalDelta,this.rotationLimitsMode,this.rotationSoftLimit,this.maxTheta,this.minTheta,this.maxPhi,this.minPhi,this.rotationRangeFactor),2!==this.rotationLimitsMode&&(this.spherical.phi+=this.sphericalDelta.phi),(1!==this.rotationLimitsMode||!0===this.autoRotate)&&(this.spherical.theta+=this.sphericalDelta.theta),this.spherical.radius*=this.scale,this.zoomLimitsEnabled&&(this.spherical.radius=Math.max(this.minDistance,Math.min(this.maxDistance,this.spherical.radius))),0!==this.panLimitsMode&&(this.target.applyQuaternion(bte.copy(Ote).invert()),this.panOffset.applyQuaternion(bte),this.applyLimits(this.panOffset,this.panLimitsMode,this.panSoftLimit,this.maxH,this.minH,this.maxV,this.minV,this.panRangeFactor),this.target.applyQuaternion(Ote),this.panOffset.applyQuaternion(Ote)),2===this.panLimitsMode&&(this.panOffset.y=0),1===this.panLimitsMode&&(this.panOffset.x=0),-1!==this.state||this.gesture?(this.target.add(this.panOffset),this.panOffset.set(0,0,0)):(this.panOffset.multiplyScalar(1-this.dampingFactor),this.target.add(this.panOffset)),this.offset.setFromSpherical(this.spherical),Pte.copy(this.target).add(this.offset),this.object.position.copy(this.target).add(this.offset),this.object.parent&&(Tte.copy(this.object.parent.matrixWorld).invert(),this.object.position.applyMatrix4(Tte));let e=this.spherical.phi%wte;if(this.eye.copy(this.offset).normalize(),this.object.up.copy(HP.DEFAULT_UP).applyAxisAngle(this.eye,this.object.angleOffsetFromUp),e>0&&e>Math.PI||e<0&&e>-Math.PI?(this.object.up.negate(),this.object.lookAt(this.target),this.object.isUpVectorFlipped=!0):(this.object.lookAt(this.target),this.object.isUpVectorFlipped=!1),-1===this.state||!0===this.enableDamping){let e=1===this.hoverRotatePanMode?this.hoverRotateDamping:this.dampingFactor;this.sphericalDelta.theta*=1-e,this.sphericalDelta.phi*=1-e}else this.sphericalDelta.set(0,0,0);return this.scale=1,this.zoomChanged||this.lastPosition.distanceToSquared(this.object.position)>.01||8*(1-this.lastQuaternion.dot(this.object.quaternion))>1e-8?(this.dispatchEvent(gte),this.object.dispatchEvent(Ite),this.lastPosition.copy(this.object.position),this.lastQuaternion.copy(this.object.quaternion),this.zoomChanged=!1,!0):(this.isPanOverShoot=!1,this.isRotateOverShoot=!1,this.object.wasMovedBySwitchCameraAction=!1,this.sphericalDelta.set(0,0,0),this.panOffset.set(0,0,0),!1)},this.onPointerDown=e=>{!1!==this.enabled&&("touch"===e.pointerType||"pen"===e.pointerType&&PW?this.onPointerDownTouch(e):this.onPointerDownMouse(e),-1!==this.state&&(this.isPointerDown=!0,this.dispatchEvent(xte),this.domElement.addEventListener("pointermove",this.onPointerMove),this.domElement.addEventListener("pointerup",this.onPointerUp),e.stopPropagation(),"touch"===e.pointerType||"pen"===e.pointerType&&PW||this.domElement.setPointerCapture(e.pointerId)))},this.onPointerLeave=e=>{this.resetHoverEffectOnPointerLeave&&!this.useWindowEvents?(1===this.hoverRotatePanMode?(this.sphericalDelta.theta=-this.spherical.theta,this.sphericalDelta.phi=-this.spherical.phi,jte.subVectors(this.position0,this.target0),this.spherical.setFromVector3(jte),this.sphericalDelta.theta+=this.spherical.theta,this.sphericalDelta.phi+=this.spherical.phi,this.sphericalDelta.theta/=8,this.sphericalDelta.phi/=8):2===this.hoverRotatePanMode&&this.panOffset.subVectors(this.target0,this.target).divideScalar(8),this.update()):this.pointerLeaveEvent=e},this.onPointerEnter=e=>{this.resetHoverEffectOnPointerLeave||void 0===this.pointerLeaveEvent?Mte.set(e.clientX-this.domElement.clientWidth/2,e.clientY-this.domElement.clientHeight/2):Mte.set(e.clientX-this.pointerLeaveEvent.clientX,e.clientY-this.pointerLeaveEvent.clientY),1===this.hoverRotatePanMode?(this.rotateDelta.copy(Mte).multiplyScalar(this.rotateSpeed*this.hoverRotatePanStrength).rotateAround(kte,-this.object.angleOffsetFromUp),this.rotateLeft(2*Math.PI*this.rotateDelta.x/this.domElement.clientHeight),this.rotateUp(2*Math.PI*this.rotateDelta.y/this.domElement.clientHeight),this.rotateStart.set(e.clientX,e.clientY)):2===this.hoverRotatePanMode&&(this.panDelta.copy(Mte).multiplyScalar(this.panSpeed*this.hoverRotatePanStrength),this.pan(this.panDelta.x,this.panDelta.y),this.panStart.set(e.clientX,e.clientY)),this.update()},this.onPointerMove=e=>{!1!==this.enabled&&(this.checkRaycastLock()||("touch"===e.pointerType||"pen"===e.pointerType&&PW?this.onPointerMoveTouch(e):this.onPointerMoveMouse(e),e.stopPropagation()))},this.onPointerUp=e=>{this.isPointerDown=!1,0===VW.length&&(this.domElement.removeEventListener("pointermove",this.onPointerMove),this.domElement.removeEventListener("pointerup",this.onPointerUp)),VW.length>1&&e.preventDefault(),this.hasChange?this.dispatchEvent(Ste):this.dispatchEvent(Ate),this.state=-1,e&&(e.stopPropagation(),"touch"===e.pointerType||"pen"===e.pointerType&&PW||this.domElement.releasePointerCapture(e.pointerId))},this.onPointerDownMouse=e=>{let t;switch(t=this.useKeyEvents?this.mouseButtons[e.button]:this.mouseButtonsPlay[e.button],t){case 0:if(!0!==e.altKey||e.shiftKey||EW(e)){if(" "===this.key){if(!1===this.enablePan)return;this.handleMouseDownPan(e),this.state=2}}else{if(!1===this.enableRotate)return;this.handleMouseDownRotate(e),this.state=0}break;case 4:if(!1===this.enablePan)return;this.handleMouseDownPan(e),this.state=2;break;case 3:if(EW(e)||e.shiftKey){if(!1===this.enablePan)return;this.handleMouseDownPan(e),this.state=2}else{if(!1===this.enableRotate)return;this.handleMouseDownRotate(e),this.state=0}break;case 5:if(EW(e)||e.shiftKey){if(!1===this.enableRotate)return;this.handleMouseDownRotate(e),this.state=0}else{if(!1===this.enablePan)return;this.handleMouseDownPan(e),this.state=2}break;default:this.state=-1}},this.onPointerMoveMouse=e=>{switch(this.state){case 0:if(!1===this.enableRotate)return;this.handleMouseMoveRotate(e);break;case 1:if(!1===this.enableZoom)return;this.handleMouseMoveDolly(e);break;case 2:if(!1===this.enablePan)return;this.handleMouseMovePan(e)}this.object.wasMovedByUser=!0},this.onPointerDownTouch=e=>{switch(VW.length>1&&e.preventDefault(),this.touches[VW.length-1]){case vk:if(!1===this.enableRotate)return void(this.state=-1);this.handleTouchStartRotate(),this.state=3;break;case xk:if(!1===this.enablePan)return void(this.state=-1);this.handleTouchStartPan(),this.state=4;break;case Sk:if(!1===this.enableZoom&&!1===this.enablePan)return;this.handleTouchStartDollyPan(),this.state=5;break;case Ak:if(!1===this.enableZoom&&!1===this.enableRotate)return;this.handleTouchStartDollyRotate(),this.state=6;break;default:this.state=-1}},this.onPointerMoveTouch=e=>{switch(VW.length>1&&e.preventDefault(),this.state){case 3:if(!1===this.enableRotate)return;this.handleTouchMoveRotate(e),this.update();break;case 4:if(!1===this.enablePan)return;this.handleTouchMovePan(e),this.update();break;case 5:if(!1===this.enableZoom&&!1===this.enablePan)return;this.handleTouchMoveDollyPan(e),this.update();break;case 6:if(!1===this.enableZoom&&!1===this.enableRotate)return;this.handleTouchMoveDollyRotate(e),this.update();break;default:this.state=-1}this.object.wasMovedByUser=!0},this.dispatchEndDebounced=lW((()=>this.dispatchEvent(Ste)),33),this.onMouseWheel=e=>{!1===this.enabled||!1===this.enableZoom&&!1===this.enablePan||this.checkRaycastLock()||(!this.options.isExport&&this.domElement.clientHeight===document.body.clientHeight&&this.domElement.clientWidth===document.body.clientWidth&&e.preventDefault(),this.dispatchEvent(xte),this.handleMouseWheel(e),this.dispatchEndDebounced(),this.object.wasMovedByUser=!0)},this.onGesture=e=>{if(e.preventDefault(),!1!==this.enabled&&!this.checkRaycastLock()&&!jW)if("gesturechange"===e.type){if(!1===this.enableZoom||!1===this.isTouchZoom)return;this.dispatchEvent(xte),e.scale>this.prevScale?this.dollyIn(this.getZoomScale()):e.scale<this.prevScale&&this.dollyOut(this.getZoomScale()),this.prevScale=e.scale,this.update(),this.object.wasMovedByUser=!0}else this.dispatchEvent(Ste)},this.onContextMenu=e=>{e.preventDefault()},this.onTouchEnd=e=>{e.preventDefault()},this.onKeyDown=e=>{!1!==this.enabled&&(this.key=e.key," "===e.key&&this.dispatchEvent(xte))},this.onKeyUp=e=>{!1!==this.enabled&&(this.key=void 0,-1!==this.state&&"Alt"===e.key&&this.onPointerUp(VW[0])," "===e.key&&this.dispatchEvent(Ste))},this.onPointerHover=e=>{"mouse"!==e.pointerType||!1===this.enabled||-1!==this.state||2===this.hoverRotatePanMode&&this.isPanOverShoot||1===this.hoverRotatePanMode&&this.isRotateOverShoot||(this.isPointerDown=!0,2===this.hoverRotatePanMode?this.handleMouseMovePan(e,this.hoverRotatePanStrength):1===this.hoverRotatePanMode&&this.handleMouseMoveRotate(e,this.hoverRotatePanStrength))},this.onBeginState=()=>{this.enabled=!1,this.needsUpdate=!1},this.onCompleteState=e=>{e.isfromEntity&&this.options.isPlayMode||(this.enabled=!0,this.needsUpdate=!0,this.object.updateUp(),this.object.getTarget(this.target))},this.target=this.object.getTarget(),this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.quat0=this.object.quaternion.clone(),this.isUpVectorFlipped0=this.object.isUpVectorFlipped,this.offset.copy(this.object.position).sub(this.target),this.spherical.setFromVector3(this.offset),this.object.isUpVectorFlipped&&(this.spherical.phi*=-1,this.spherical.theta-=Math.PI),this.addEventListenersToCamera()}dispatchEvent(e){"start"===e.type?this.hasChange=!1:this.hasChange=!0,super.dispatchEvent(e)}addEventListenersToCamera(){this.object.addEventListener("beginState",this.onBeginState),this.object.addEventListener("completeState",this.onCompleteState),this.object.addEventListener("cameraChange",this.onCameraChange)}removeEventListenersFromCamera(){this.object.removeEventListener("beginState",this.onBeginState),this.object.removeEventListener("completeState",this.onCompleteState),this.object.removeEventListener("cameraChange",this.onCameraChange)}updateUseWindowEvents(e){if(window.removeEventListener("pointermove",this.onPointerHover),this.domElement.removeEventListener("pointermove",this.onPointerHover),this.useWindowEvents=e,0!==this.hoverRotatePanMode&&(this.useWindowEvents?window.addEventListener("pointermove",this.onPointerHover):this.domElement.addEventListener("pointermove",this.onPointerHover)),this.domElement.removeEventListener("pointerleave",this.onPointerLeave),this.domElement.removeEventListener("pointerenter",this.onPointerEnter),window.removeEventListener("pointerleave",this.onPointerLeave),window.removeEventListener("pointerenter",this.onPointerEnter),0!==this.hoverRotatePanMode&&!this.useWindowEvents){let e=this.useWindowEvents?window:this.domElement;e.addEventListener("pointerleave",this.onPointerLeave),e.addEventListener("pointerenter",this.onPointerEnter)}}fromJSON(e,t){var n,r;this.setEnableDampingSpeed(e.enableDamping),this.enablePan=e.enablePan,this.enableZoom=e.enableZoom,this.enableRotate=e.enableRotate,this.rotationLimitsMode=e.rotationLimitsMode,this.thetaIsFree=e.rotationHorizontalOffset.min===e.rotationHorizontalOffset.max&&e.rotationHorizontalOffset.min===Math.PI,this.phiIsFree=e.rotationVerticalOffset.min===e.rotationVerticalOffset.max&&e.rotationVerticalOffset.min===Math.PI,this.panLimitsMode=e.panLimitsMode,this.panSoftLimit=e.panSoftLimit,this.rotationSoftLimit=e.rotationSoftLimit,this.hoverRotatePanMode=e.hoverRotatePanMode,this.hoverRotateDamping=null!==(n=e.hoverRotateDamping)&&void 0!==n?n:this.dampingFactor,this.useWindowEvents="window"===t,0!==this.hoverRotatePanMode&&(this.useWindowEvents?window.addEventListener("pointermove",this.onPointerHover):this.domElement.addEventListener("pointermove",this.onPointerHover));let i=e.hoverRotatePanStrength/100;this.hoverRotatePanStrength=i**2,this.zoomLimitsEnabled=e.zoomLimitsEnabled,this.minZoom=e.zoomLimits.min,this.maxZoom=Math.max(e.zoomLimits.min,e.zoomLimits.max),this.minDistance=1e3/e.zoomLimits.max,this.maxDistance=Math.max(this.minDistance,1e3/e.zoomLimits.min),this.autoRotate=e.autoRotate,this.autoRotateSpeed=e.autoRotateSpeed,this.autoRotateClockwise=e.autoRotateClockwise;let a=this.object.getTarget().applyQuaternion(bte.copy(this.object.quaternion).invert());this.minV=-e.panVerticalOffset.min+a.y,this.maxV=e.panVerticalOffset.max+a.y,this.minH=-e.panHorizontalOffset.min+a.x,this.maxH=e.panHorizontalOffset.max+a.x,this.panRangeFactor.set(this.maxH-this.minH,this.maxV-this.minV).divideScalar(2),this.rotationRangeFactor.setScalar(Math.PI).divideScalar(4),this.minPhi=Ete(this.spherical.phi-e.rotationVerticalOffset.min),this.maxPhi=Ete(this.spherical.phi+e.rotationVerticalOffset.max),this.minTheta=Ete(Ete(this.spherical.theta)-e.rotationHorizontalOffset.min),this.maxTheta=Ete(Ete(this.spherical.theta)+e.rotationHorizontalOffset.max),this.isThetaFlipped=this.minTheta>this.maxTheta,1===e.orbitTouches&&(this.touches[0]=vk),1===e.panTouches&&(this.touches[0]=xk),2===e.orbitTouches&&(this.touches[1]=Ak),2===e.panTouches&&(this.touches[1]=Sk),3===e.orbitTouches&&(this.touches[2]=vk),3===e.panTouches&&(this.touches[2]=xk),this.isTouchZoom=e.isTouchZoom,this.resetHoverEffectOnPointerLeave=null!==(r=e.resetHoverEffectOnPointerLeave)&&void 0!==r&&r}connect(){if(this.domElement.addEventListener("contextmenu",this.onContextMenu),this.domElement.addEventListener("pointerdown",this.onPointerDown),this.domElement.addEventListener("wheel",this.onMouseWheel),window.addEventListener("keydown",this.onKeyDown,!1),window.addEventListener("keyup",this.onKeyUp,!1),this.domElement.addEventListener("gesturestart",this.onGesture),this.domElement.addEventListener("gesturechange",this.onGesture),this.domElement.addEventListener("gestureend",this.onGesture),this.domElement.addEventListener("touchend",this.onTouchEnd),0!==this.hoverRotatePanMode&&!this.useWindowEvents){let e=this.useWindowEvents?window:this.domElement;e.addEventListener("pointerleave",this.onPointerLeave),e.addEventListener("pointerenter",this.onPointerEnter)}this.pointerLeaveEvent=void 0}dispose(){this.removeEventListenersFromCamera(),this.domElement.removeEventListener("contextmenu",this.onContextMenu),this.domElement.removeEventListener("pointerdown",this.onPointerDown),this.domElement.removeEventListener("wheel",this.onMouseWheel),window.removeEventListener("keydown",this.onKeyDown,!1),window.removeEventListener("keyup",this.onKeyUp,!1),this.domElement.removeEventListener("pointermove",this.onPointerHover),window.removeEventListener("pointermove",this.onPointerHover),this.domElement.removeEventListener("gesturestart",this.onGesture),this.domElement.removeEventListener("gesturechange",this.onGesture),this.domElement.removeEventListener("gestureend",this.onGesture),this.domElement.removeEventListener("touchend",this.onTouchEnd),this.domElement.removeEventListener("pointerleave",this.onPointerLeave),this.domElement.removeEventListener("pointerenter",this.onPointerEnter),window.removeEventListener("pointerleave",this.onPointerLeave),window.removeEventListener("pointerenter",this.onPointerEnter),this.domElement.removeEventListener("pointermove",this.onPointerMove),this.domElement.removeEventListener("pointerup",this.onPointerUp)}applyLimits(e,t,n,r,i,a,s,o){let l,c,d;this.overShoot.set(0,0),e instanceof qM?(l=e.x,c=e.y,this.current.set(this.target.x,this.target.y),d=!0):(l=e.theta,c=e.phi,this.current.set(Ete(this.spherical.theta),Ete(this.spherical.phi)),d=!1),0===n&&(this.current.x+=l,this.current.y+=c),(3===t||2===t)&&(!d&&this.isThetaFlipped?this.current.x>r&&this.current.x<0?this.overShoot.x=r-this.current.x:this.current.x<i&&this.current.x>0&&(this.overShoot.x=i-this.current.x):this.current.x>r?this.overShoot.x=r-this.current.x:this.current.x<i&&(this.overShoot.x=i-this.current.x)),(3===t||1===t)&&(this.current.y>a?this.overShoot.y=a-this.current.y:this.current.y<s&&(this.overShoot.y=s-this.current.y)),d||(this.overShoot.x=Ete(this.overShoot.x),this.overShoot.y=Ete(this.overShoot.y)),0!==n?(this.overRatio.copy(this.overShoot).divide(o),this.overRatio.x=Math.min(Math.abs(this.overRatio.x),1),this.overRatio.y=Math.min(Math.abs(this.overRatio.y),1),1===n&&(this.overRatio.x=Vte(Math.abs(this.overRatio.x)),this.overRatio.y=Vte(Math.abs(this.overRatio.y))),this.isPointerDown||1===n?2===n&&(this.overRatio.x>.9&&!this.thetaIsFree||this.overRatio.y>.9&&!this.phiIsFree)?this.isPointerDown=!1:(l*this.overShoot.x<0&&!this.thetaIsFree&&(l*=1-this.overRatio.x),c*this.overShoot.y<0&&!this.phiIsFree&&(c*=1-this.overRatio.y)):2===n&&(!d&&(this.overRatio.x>.002&&!this.thetaIsFree||this.overRatio.y>.002&&!this.phiIsFree)||d&&(Math.abs(this.overShoot.x)>2||Math.abs(this.overShoot.y)>2)?(this.thetaIsFree||(l=.05*this.overShoot.x),this.phiIsFree||(c=.05*this.overShoot.y),d?this.isPanOverShoot=!0:this.isRotateOverShoot=!0):d?this.isPanOverShoot=!1:this.isRotateOverShoot=!1)):(l+=this.overShoot.x,c+=this.overShoot.y),e instanceof qM?(e.x=l,e.y=c):(this.thetaIsFree||(e.theta=l),this.phiIsFree||(e.phi=c))}setEnableDampingSpeed(e){this.enableDamping=e,this.rotateSpeed=!0===e?.2:1}stopDamping(){this.sphericalDelta.theta=0,this.sphericalDelta.phi=0}getAutoRotationAngle(){return 2*Math.PI/60/60*this.autoRotateSpeed}getZoomScale(){return Math.pow(.95,this.zoomSpeed)}rotateLeft(e){this.sphericalDelta.theta-=e}rotateUp(e){this.sphericalDelta.phi-=e}panLeft(e,t){this.panLeftV.setFromMatrixColumn(t,0),this.panLeftV.multiplyScalar(-e),this.panOffset.add(this.panLeftV)}panUp(e,t){this.panUpV.setFromMatrixColumn(t,1),this.panUpV.multiplyScalar(e),this.panOffset.add(this.panUpV)}pan(e,t){let n=this.domElement;if(n&&this.object.isPerspectiveCamera){let r=this.object.position;this.panV.copy(r).sub(this.target);let i=this.panV.length();i*=Math.tan(this.object.fov/2*Math.PI/180),this.panLeft(2*e*i/n.clientHeight,this.object.matrixWorld),this.panUp(2*t*i/n.clientHeight,this.object.matrixWorld)}else n&&this.object.isOrthographicCamera&&(this.panLeft(e*(this.object.right-this.object.left)/this.object.zoom/n.clientWidth,this.object.matrixWorld),this.panUp(t*(this.object.top-this.object.bottom)/this.object.zoom/n.clientHeight,this.object.matrixWorld));this.dispatchEvent(vte)}dollyOut(e){this.object.isPerspectiveCamera?this.scale/=e:this.object.isOrthographicCamera&&(this.object.zoom*=e,this.zoomLimitsEnabled&&(this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom))),this.object.updateProjectionMatrix(),this.zoomChanged=!0),this.dispatchEvent(yte)}dollyIn(e){this.object.isPerspectiveCamera?this.scale*=e:this.object.isOrthographicCamera&&(this.object.zoom/=e,this.zoomLimitsEnabled&&(this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom))),this.object.updateProjectionMatrix(),this.zoomChanged=!0),this.dispatchEvent(yte)}zoomOut(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getZoomScale();this.dispatchEvent(xte),this.dollyOut(e),this.dispatchEvent(Ste)}zoomIn(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getZoomScale();this.dispatchEvent(xte),this.dollyIn(e),this.dispatchEvent(Ste)}handleMouseDownRotate(e){this.rotateStart.set(e.clientX,e.clientY)}handleMouseDownDolly(e){this.dollyStart.set(e.clientX,e.clientY)}handleMouseDownPan(e){this.panStart.set(e.clientX,e.clientY)}handleMouseMoveRotate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;void 0!==e.movementX?this.rotateDelta.set(e.movementX,e.movementY):(this.rotateEnd.set(e.clientX,e.clientY),this.rotateDelta.subVectors(this.rotateEnd,this.rotateStart),this.rotateStart.copy(this.rotateEnd)),this.rotateDelta.multiplyScalar(this.rotateSpeed*t).rotateAround(kte,-this.object.angleOffsetFromUp);let n=this.domElement,r=this.useWindowEvents?window.innerHeight:n.clientHeight,i=2*Math.PI*this.rotateDelta.x/r,a=2*Math.PI*this.rotateDelta.y/r;this.rotateLeft(i),this.rotateUp(a),this.update()}handleMouseMoveDolly(e){this.dollyEnd.set(e.clientX,e.clientY),this.dollyDelta.subVectors(this.dollyEnd,this.dollyStart),this.dollyDelta.y>0?this.dollyOut(this.getZoomScale()):this.dollyDelta.y<0&&this.dollyIn(this.getZoomScale()),this.dollyStart.copy(this.dollyEnd),this.update()}handleMouseMovePan(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;void 0!==e.movementX?this.panDelta.set(e.movementX,e.movementY):(this.panEnd.set(e.clientX,e.clientY),this.panDelta.subVectors(this.panEnd,this.panStart),this.panStart.copy(this.panEnd)),this.panDelta.multiplyScalar(this.panSpeed*t),this.pan(this.panDelta.x,this.panDelta.y),this.update()}handleMouseWheel(e){if(!1===MW&&!1===EW(e)&&!0===function(e){return 0===e.wheelDeltaY||0===e.deltaY?!(wW&&e.shiftKey&&Math.abs(e.wheelDeltaX)>=120)&&(e.wheelDeltaX?e.wheelDeltaX===-3*e.deltaX||e.wheelDeltaX===-3*window.devicePixelRatio*e.deltaX:0===e.deltaMode):e.wheelDeltaY?e.wheelDeltaY===-3*e.deltaY||e.wheelDeltaY===-3*window.devicePixelRatio*e.deltaY:0===e.deltaMode}(e)){if(!1===this.enablePan)return;this.gesture?(this.panDelta.set(-e.deltaX,-e.deltaY).multiplyScalar(this.panSpeed),this.panDelta.x=Math.min(Math.abs(this.panDelta.x),100)*(this.panDelta.x<0?-1:1),this.panDelta.y=Math.min(Math.abs(this.panDelta.y),100)*(this.panDelta.y<0?-1:1),e.altKey?this.pan(0,this.panDelta.y):e.shiftKey?this.pan(this.panDelta.x,0):this.pan(this.panDelta.x,this.panDelta.y),this.update()):(this.gesture=!0,this.isPointerDown=!0),window.clearTimeout(this.timer),this.timer=window.setTimeout((()=>{this.gesture=!1,this.isPointerDown=!1}),30)}else{if(!1===this.enableZoom)return;0===e.deltaY?e.deltaX<0?this.dollyIn(this.getZoomScale()):e.deltaX>0&&this.dollyOut(this.getZoomScale()):e.deltaY<0?this.dollyIn(this.getZoomScale()):e.deltaY>0&&this.dollyOut(this.getZoomScale()),this.update(),this.gesture=!1,this.isPointerDown=!1}}handleTouchStartRotate(){if(2===VW.length){let e=.5*(VW[0].pageX+VW[1].pageX),t=.5*(VW[0].pageY+VW[1].pageY);this.rotateStart.set(e,t)}else this.rotateStart.set(VW[0].pageX,VW[0].pageY)}handleTouchStartPan(){if(2===VW.length){let e=.5*(VW[0].pageX+VW[1].pageX),t=.5*(VW[0].pageY+VW[1].pageY);this.panStart.set(e,t)}else this.panStart.set(VW[0].pageX,VW[0].pageY)}handleTouchStartDolly(){let e=VW[0].pageX-VW[1].pageX,t=VW[0].pageY-VW[1].pageY,n=Math.sqrt(e*e+t*t);this.dollyStart.set(0,n)}handleTouchStartDollyPan(){this.enableZoom&&!0===this.isTouchZoom&&this.handleTouchStartDolly(),this.enablePan&&this.handleTouchStartPan()}handleTouchStartDollyRotate(){this.enableZoom&&!0===this.isTouchZoom&&this.handleTouchStartDolly(),this.enableRotate&&this.handleTouchStartRotate()}handleTouchMoveRotate(e){if(2===VW.length){let t=WW(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this.rotateEnd.set(n,r)}else{if(e.pointerId!==VW[0].pointerId)return;this.rotateEnd.set(e.pageX,e.pageY)}this.rotateDelta.subVectors(this.rotateEnd,this.rotateStart).multiplyScalar(this.rotateSpeed);let t=this.domElement;t&&(this.rotateLeft(2*Math.PI*this.rotateDelta.x/t.clientHeight),this.rotateUp(2*Math.PI*this.rotateDelta.y/t.clientHeight)),this.rotateStart.copy(this.rotateEnd)}handleTouchMovePan(e){if(2===VW.length){let t=WW(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this.panEnd.set(n,r)}else{if(e.pointerId!==VW[0].pointerId)return;this.panEnd.set(e.pageX,e.pageY)}this.panDelta.subVectors(this.panEnd,this.panStart).multiplyScalar(this.panSpeed),this.pan(this.panDelta.x,this.panDelta.y),this.panStart.copy(this.panEnd)}handleTouchMoveDolly(e){let t=WW(e),n=e.pageX-t.x,r=e.pageY-t.y,i=Math.sqrt(n*n+r*r);this.dollyEnd.set(0,i),this.dollyDelta.set(0,Math.pow(this.dollyEnd.y/this.dollyStart.y,this.zoomSpeed)),this.dollyOut(this.dollyDelta.y),this.dollyStart.copy(this.dollyEnd)}handleTouchMoveDollyPan(e){this.enableZoom&&!0===this.isTouchZoom&&this.handleTouchMoveDolly(e),this.enablePan&&this.handleTouchMovePan(e)}handleTouchMoveDollyRotate(e){this.enableZoom&&!0===this.isTouchZoom&&this.handleTouchMoveDolly(e),this.enableRotate&&this.handleTouchMoveRotate(e)}checkRaycastLock(){if(this.object.data.raycastLock){if(this.options.isPlayMode)return!1;{var e;let t=null===(e=this.options)||void 0===e?void 0:e.showCameraLock;return t&&t(),!0}}return!1}};function Ete(e){let t=2*Math.PI;for(;e<=-Math.PI;)e+=t;for(;e>Math.PI;)e-=t;return e}function Vte(e){return 1-Math.pow(1-e,4)}var Rte,Dte=class{constructor(e,t,n,r,i,a){this.id=e,this.data=t,this.object=n,this.page=r,this.currentIntersectedObjects=[],this.disabled=!1,this.alreadyPlayedNonTogglingActions=new Set,this.actions=L7(t,t.actions,r,i,a,n),this.target=t.target,this.useToggle="Toggle"===t.runMode,this.triggeringObjects=t.triggeringObjects.map((e=>r.scene.find(e)))}isValidTriggeringObject(e){return"all"===this.target||this.triggeringObjects.some((t=>t===e||t.isAncestorOf(e.uuid)||e.isAncestorOf(t.uuid)))}disconnect(){Y7(this.actions)}dispatch(){this.disabled||this.object.destroyedInAction||(this.actions.Transition.forEach((e=>{e.object.currentTransitionEvent!==this?(e.object.currentTransitionEvent=this,e.init()):"Once"===this.data.runMode&&this.alreadyPlayedNonTogglingActions.add(e)})),this.object.dispatchEvent({type:"beginEvent",eventName:"Trigger"}),this.useToggle?(this.actions.Transition.forEach((e=>{e.toggle()})),this.actions.SwitchCamera.forEach((e=>{e.toggle()}))):(this.actions.Transition.forEach((e=>{!1===this.alreadyPlayedNonTogglingActions.has(e)&&e.play()})),this.actions.SwitchCamera.forEach((e=>{e.play()}))),this.actions.Link.forEach((e=>{e.dispatch()})),this.actions.Reset.forEach((e=>{e.dispatch()})),this.actions.Create.forEach((e=>{e.dispatch()})),this.actions.Destroy.forEach((e=>{e.dispatch(!1)})),this.actions.Audio.forEach((e=>{e.dispatchBasic()})),this.actions.Particles.forEach((e=>{e.dispatchBasic()})),this.actions.Video.forEach((e=>{e.dispatchBasic()})),this.actions.SceneTransition.forEach((e=>{e.dispatch()})),this.actions.SetVariable.forEach((e=>e.checkConditions())),this.actions.SetVariable.forEach((e=>e.dispatch())),this.actions.DynamicVariablePlay.forEach((e=>e.dispatch())))}};KW.then((e=>Rte=e));var Bte=new qM,Gte=new GM,qte=new qM,Hte=new wP(0,0,0,"YXZ"),Wte=new wP(0,0,0,"XYZ"),zte=new qM,Jte=new qM,Ute=new qM(1,1,1),Nte=new GM,Lte=new fP,Yte=new fP,Fte={type:"updateMatrix"},Zte=new GM,Kte=new aP,Qte={type:"beginEvent",eventName:"Collision"},Xte={type:"beginEvent",eventName:"Trigger"};var _te=e=>e.states.some((e=>void 0!==e.data.position||void 0!==e.data.rotation||void 0!==e.data.hiddenMatrix||void 0!==e.data.cloner||void 0!==e.data.pathSnapping)),$te=class{constructor(e){this.eventContext=e,this.isEnabled=!1,this.gameControl=null,this.joysticks=[],this.joystickToGameControls=[],this.sharedGameControlGlobals={entitiesWithTransformAnim:[],entityToCollisionEvents:{},colliderToEntity:new Map,triggers:[],gamePads:[],createdObjects:[],nCreatedPerAction:{}},this.sensorToTriggerEvent={},this.eventManager=void 0,this.needsCollisionDetection=!1,this.initializationCounter=-1,this.rigidBodyToMesh=new Map,this.nActiveRigidBodies=0,this.collisionEvents=[],this.isExport=!1,this.processRigidBody=e=>{if(e.bodyType()!==Rte.RigidBodyType.Dynamic)return;e.isSleeping()||this.nActiveRigidBodies++;let[t,n,r]=this.rigidBodyToMesh.get(e.handle);if(Bte.copy(e.translation()).multiplyScalar(this.pixelsPerMeter),Gte.copy(e.rotation()),t.matrixWorld.compose(Bte,Gte,n),t.hasNonUniformScale&&t.matrixWorld.multiply(t.shearScale),t.dispatchEvent(Fte),r){let e=t.cloner;if(e&&void 0===e.objectForSample){e.matrixWorld.copy(t.matrixWorld);for(let t of e.children)t.updateMatrixWorld(!0)}for(let n of t.children)n.updateMatrixWorld(!0)}},this.accumulator=0,this.handleCollisionEvents=(e,t,n)=>{var r,i;if(!1===n)return;let a,s;if(this.sensorToTriggerEvent[e]?(a=this.sensorToTriggerEvent[e],s=this.sharedGameControlGlobals.colliderToEntity.get(t)):this.sensorToTriggerEvent[t]&&(a=this.sensorToTriggerEvent[t],s=this.sharedGameControlGlobals.colliderToEntity.get(e)),a&&s&&a.isValidTriggeringObject(s))a.dispatch();else{for(let n=this.sharedGameControlGlobals.createdObjects.length-1;n>=0;n--){var o,l;let r=this.sharedGameControlGlobals.createdObjects[n];if(r.userData.hasCollisionDestroy&&((null===(o=r.rigidBody)||void 0===o?void 0:o.collider(0).handle)===e||(null===(l=r.rigidBody)||void 0===l?void 0:l.collider(0).handle)===t)){this.sharedGameControlGlobals.createdObjects.splice(n,1),r.removeFromParent(),requestAnimationFrame((()=>{var e;return null===(e=this.sharedGameControlGlobals.rapierWorld)||void 0===e?void 0:e.removeRigidBody(r.rigidBody)}));break}}if((null===(r=this.gameControl)||void 0===r?void 0:r.object)===this.sharedGameControlGlobals.colliderToEntity.get(e)){let e=this.sharedGameControlGlobals.colliderToEntity.get(t),n=this.sharedGameControlGlobals.entityToCollisionEvents[e.uuid];if(void 0===n)return;for(let r of n)"character"===r.data.target&&this.dispatchCollisionEvent(r,e,t)}else if((null===(i=this.gameControl)||void 0===i?void 0:i.object)===this.sharedGameControlGlobals.colliderToEntity.get(t)){let t=this.sharedGameControlGlobals.colliderToEntity.get(e),n=this.sharedGameControlGlobals.entityToCollisionEvents[t.uuid];if(void 0===n)return;for(let r of n)"character"===r.data.target&&this.dispatchCollisionEvent(r,t,e)}else{let n=this.sharedGameControlGlobals.colliderToEntity.get(e),r=this.sharedGameControlGlobals.entityToCollisionEvents[n.uuid];if(void 0!==r)for(let t of r)"scene"===t.data.target&&this.dispatchCollisionEvent(t,n,e);let i=this.sharedGameControlGlobals.colliderToEntity.get(t),a=this.sharedGameControlGlobals.entityToCollisionEvents[null===i||void 0===i?void 0:i.uuid];if(void 0!==a)for(let e of a)"scene"===e.data.target&&this.dispatchCollisionEvent(e,i,t)}}},this.isExport=e.isExport,this.sharedAssets=e.sharedAssets,this.renderer=e.renderer,this.requestRender=e.requestRender,this.domElement=this.renderer.domElement,this.pixelsPerMeter=200,this.gravity=this.page.data.globalPhysics.gravity}get page(){return this.eventContext.page}attachVRControllers(e){e.forEach((e=>{e.addEventListener("connected",(e=>{"gamepad"in e.data&&"axes"in e.data.gamepad&&this.sharedGameControlGlobals.gamePads.push(e.data.gamepad)}))}))}markIsDestroyTarget(){this.page.traverseVisibleEntity((e=>{let t=e.dataPatched;for(let r of t.events){var n;if(!0===r.data.disabled)continue;let e=null===(n=r.data.actions)||void 0===n||null===(n=n.find((e=>"Destroy"===e.data.type)))||void 0===n?void 0:n.data;if(e)for(let t of e.objects){let e=this.page.scene.find(t);e&&(e.userData.hasDestroy=!0)}}}))}markIsDragObject(){this.page.traverseVisibleEntity((e=>{let t=e.dataPatched;for(let n of t.events)if(!0!==n.data.disabled&&"DragDrop"===n.data.type)for(let e of n.data.objects){let t=this.page.scene.find(e);t&&(t.userData.hasDrag=!0)}}))}initBVH(){let e=[];if(this.page.traverseChildren((t=>{var n,r;let i;if(t instanceof x1||t instanceof Q1||t instanceof m5)return;i=t instanceof DF?t.object:t;let a=i.dataPatched;if("visibility"===(null===(n=a.physics)||void 0===n?void 0:n.enabled)?!a.visible:null===(r=a.physics)||void 0===r||!r.enabled)return!0;let s=t.geometry,o=!0===i.userData.hasDestroy,l=!0===i.userData.hasDrag;if(_te(a)||o||l||i.dataPatched.events.some((e=>!0!==e.data.disabled&&"GameControl"===e.data.type)))return t.updateMatrixWorldSVD(),this.addBoundsTree(t),!0;s&&e.push(T8(s,t.matrixWorld))})),e.length>0){let t=_L(e,!1);this.sharedGameControlGlobals.staticMeshBVH=new mF(t)}}addRigidBody(e,t,n){let r=[],i="geometry"in e?e.geometry:void 0,a=t.dataPatched;if(void 0!==(null===i||void 0===i?void 0:i.getAttribute("position"))&&r.push(T8(i,e.shearScale)),a.physics.fusedBody){let t=this.gatherChildrenGeom(e,r);e.traverseObject(t),e.children.forEach((e=>e.updateMatrixWorld(!0)));let n=e.cloner;n&&void 0===n.objectForSample&&"dynamic"===a.physics.rigidBody&&(n.traverseObject(t),n.children.forEach((e=>e.updateMatrixWorld(!0))))}if(r.length>0){let s,o=!n.fromCreate&&"dynamic"===a.physics.rigidBody||n.fromCreate&&n.dynamic;o?(s=Rte.RigidBodyDesc.dynamic(),s.setLinearDamping(a.physics.damping).setAngularDamping(a.physics.damping).setAdditionalMass(1e-9).setGravityScale(a.physics.gravityScale).enabledRotations(...a.physics.enabledRotation).enabledTranslations(...a.physics.enabledTranslation)):(n.hasTransformAnim||n.hasFollow||n.hasDrag)&&!n.fromCreate?(s=Rte.RigidBodyDesc.kinematicPositionBased(),this.sharedGameControlGlobals.entitiesWithTransformAnim.push(e)):s=Rte.RigidBodyDesc.fixed();let l=_L(r);(e.hasNonUniformScale?e.matrixWorldRigid:e.matrixWorld).decompose(Bte,Gte,qte),e.position0=Bte.clone().divideScalar(this.pixelsPerMeter),e.rotation0=Gte.clone(),Bte.divideScalar(this.pixelsPerMeter),s.setTranslation(Bte.x,Bte.y,Bte.z).setRotation(Gte),i?null===l||void 0===l||l.scale(1/this.pixelsPerMeter,1/this.pixelsPerMeter,1/this.pixelsPerMeter):null===l||void 0===l||l.scale(qte.x/this.pixelsPerMeter,qte.y/this.pixelsPerMeter,qte.z/this.pixelsPerMeter);let c=this.sharedGameControlGlobals.rapierWorld.createRigidBody(s);o&&this.rigidBodyToMesh.set(c.handle,[e,qte.clone(),a.physics.fusedBody]);let d=!(void 0===a.geometry||"SubdivGeometry"===a.geometry.type||"NonParametricGeometry"===a.geometry.type||"BooleanGeometry"===a.geometry.type||"VectorGeometry"===a.geometry.type||"StarGeometry"===a.geometry.type||"RectangleGeometry"===a.geometry.type||"EllipseGeometry"===a.geometry.type||"TriangleGeometry"===a.geometry.type||"TorusGeometry"===a.geometry.type||"HelixGeometry"===a.geometry.type);try{this.addCollider(c,a.physics,l,t,d)}catch{try{this.addCollider(c,a.physics,l,t,!1)}catch(h){console.error(h)}}e.rigidBody=c}}addBoundsTree(e){var t,n;let r=[];if(void 0!==(null===(t=e.geometry)||void 0===t?void 0:t.getAttribute("position"))&&(null===(n=e.geometry)||void 0===n?void 0:n.getAttribute("position").count)>0&&r.push(T8(e.geometry,e.shearScale)),e.traverseObject(this.gatherChildrenGeom(e,r)),e.children.forEach((e=>e.updateMatrixWorld(!0))),r.length>0){let t=_L(r,!1);e.bvhGeometry=t,e.bvhGeometry.boundsTree=new mF(t),this.sharedGameControlGlobals.entitiesWithTransformAnim.push(e)}}addCollider(e,t,n,r){var i,a;let s,o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];if(0===(null===n||void 0===n?void 0:n.getAttribute("position").count)||0===(null===n||void 0===n||null===(i=n.getIndex())||void 0===i?void 0:i.count))return;n&&(s="trimesh"===t.colliderType?Rte.ColliderDesc.trimesh(n.getAttribute("position").array,n.getIndex().array):Rte.ColliderDesc.convexMesh(n.getAttribute("position").array,o?n.getIndex().array:void 0)),s.setFrictionCombineRule(Rte.CoefficientCombineRule.Average).setRestitutionCombineRule(Rte.CoefficientCombineRule.Average).setDensity(t.density).setFriction(t.friction).setRestitution(t.restitution);let l=this.sharedGameControlGlobals.rapierWorld.createCollider(s,e);this.sharedGameControlGlobals.colliderToEntity.set(l.handle,r),(null===(a=this.sharedGameControlGlobals.entityToCollisionEvents[r.uuid])||void 0===a?void 0:a.some((e=>"scene"===e.target)))&&l.setActiveEvents(Rte.ActiveEvents.COLLISION_EVENTS)}gatherChildrenGeom(e,t){return(n,r)=>{var i;if(0===r)return;let a;if(n instanceof x1){if(!n.objectForSample)return!0===n.object.dataPatched.physics.fusedBody&&"dynamic"===n.object.dataPatched.physics.rigidBody||void 0;if(n.objectForSample.dataPatched.physics.fusedBody)return;a=n.object}else if(n instanceof DF)a=n.object;else if(a=n,null!==(i=a.dataPatched.cloner)&&void 0!==i&&i.hideBase)return!0;let s=a.dataPatched;if("visibility"===s.physics.enabled?!s.visible:!s.physics.enabled)return!0;1===r?e.hasNonUniformScale?n.matrixWorld.multiplyMatrices(e.shearScale,n.hiddenMatrix):n.matrixWorld.copy(n.hiddenMatrix):n.matrixWorld.multiplyMatrices(n.parent.matrixWorld,n.hiddenMatrix),n.matrixWorld.multiply(n.matrix);let o=n.geometry;void 0!==(null===o||void 0===o?void 0:o.getAttribute("position"))&&t.push(T8(o,n.matrixWorld))}}activate(e){if(this.isEnabled)return;this.isEnabled=!0,this.eventManager=e,this.usePhysics=this.page.data.globalPhysics.usePhysics;let t=this.page.playCamera,n=!1,r=5,i=8,a=9,s="drag",o=this.page.data.publish.gameControlObject,l=null!==o?this.page.find(o):null,c=null;if(l)for(let f of l.data.events){if(f.data.disabled||"GameControl"!==f.data.type)break;let e=l;for(;this.usePhysics&&null!==(null===(d=e=e.parent)||void 0===d?void 0:d.parent)&&(null===(h=e.data.physics)||void 0===h||!h.fusedBody);)var d,h;f.data.collisionEnabled&&(this.needsCollisionDetection=!0),null===c&&(c=f.data)}if(this.page.traverseEntity((e=>{for(let t of e.dataPatched.events)if(!1===t.data.disabled&&"Trigger"===t.data.type)return this.needsCollisionDetection=!0,!0})),l&&c){n=n||c.camera===t.uuid||l.uuid===t.uuid;let e=new P8(l,this.renderer.domElement,c,this.eventContext.page.data.globalPhysics,this,l.uuid!==t.uuid&&c.camera===t.uuid,t,this.page,this.sharedAssets);this.gameControl=e,r=c.joystickPosLoc,i=c.joystickRotLoc,a=c.jumpTouchButtonLoc,s=c.rotByTouch,PW&&c.touchControl&&(this.joystickToGameControls[r]="pos","walk"===c.moveMode&&(this.joystickToGameControls[a]="jmp"),"joystick"===s&&(this.joystickToGameControls[i]="rot"))}if(this.gameControl&&this.gameControl.data.navmesh.enabled){let e=this.gameControl.data;if(!this.navigationMeshWrapper){let t;this.navigationMeshWrapper=new pte(this.usePhysics,this.isExport),t="sphere"===e.collider.type?2*e.collider.radius:e.collider.height,t=Math.floor(t/e.navmesh.ch-1),this.navigationMeshWrapper.init({...e.navmesh,walkableHeight:t},this.gameControl,this.eventContext)}}if(!1===n){let{enableRotate:e,enablePan:n,enableZoom:r,autoRotate:i,hoverRotatePanMode:a}=this.eventManager.publish.orbitControls;(e||n||r||i||0!==a)&&(this.orbitControls=new Cte(t,this.renderer.domElement,{isExport:this.isExport,isPlayMode:!0}),this.orbitControls.addEventListener("change",this.requestRender),this.orbitControls.addEventListener("end",this.requestRender),this.orbitControls.addEventListener("start",this.requestRender),this.orbitControls.fromJSON(this.eventManager.publish.orbitControls,this.eventManager.publish.mouseEventTarget),this.orbitControls.useKeyEvents=!1,this.orbitControls.addEventListenersToCamera(),this.orbitControls.connect(),this.orbitControls.update())}let u=this.renderer.domElement.width/this.renderer.getPixelRatio(),p=this.renderer.domElement.height/this.renderer.getPixelRatio();this.joystickToGameControls.forEach(((e,t)=>{let n=document.body.appendChild(document.createElement("div")),[r,i,a]=this.eventManager.eventContext.publish.joystickSizeAndXYOffset[t],s=(u-5*r)/4+r,o={},l="jmp"===e,c=l?0:r;t<10?(t<5?o.top=c/2:o.bottom=c/2,o.left=c/2+t%5*s):10===t?(o.left=c/2,o.top=p/2):(o.right=c/2,o.top=p/2),o.top?o.top-=i[1]:o.bottom+=i[1],o.left?o.left+=i[0]:o.right-=i[0];for(let u in o)o[u]+="px";if(l){let e=n.appendChild(document.createElement("div"));Object.assign(e.style,o,{position:"absolute",width:r+"px",height:r+"px",backgroundColor:"rgba(255,255,255,".concat("show"===a?.4:0,")"),zIndex:"9999",borderRadius:r+"px",border:"show"===a?"solid 2px rgba(0, 0, 0, .1)":"none",display:"flex",alignItems:"center",justifyContent:"center",touchAction:"none"});let i=r/16*16*.4;return"show"===a&&(e.innerHTML='\n\t\t\t\t\t\t<svg width="'.concat(i,'" height="').concat(.4*r,'" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">\n\t\t\t\t\t\t\t<path d="M2 10L8 4L14 10" stroke="black" stroke-opacity="40%" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t')),e.addEventListener("pointerdown",(()=>{this.gameControl.movementState.jump=1,this.requestRender()})),e.addEventListener("touchend",(e=>e.preventDefault())),void(this.joysticks[t]=[void 0,n])}let d={zone:n,mode:"static",position:o,size:r};"hide"===a&&(d.restOpacity=0);let h=B4(d);h.on("move",((t,n)=>{let r=this.gameControl;"pos"===e?n.force<.2?r.moveForce=0:(r.movementState.movePosZ=Math.sin(-n.angle.radian),r.movementState.movePosX=Math.cos(-n.angle.radian),n.force>1.2?r.movementState.run=1:r.movementState.run=0,n.force<.3?r.moveForce=(n.force-.2)/.1:r.moveForce=1):"rot"===e&&(n.force<.2?r.rotForce=0:(r.movementState.rotPosX=n.vector.y,r.movementState.rotPosY=-n.vector.x,n.force<.3?r.rotForce=(n.force-.2)/.1:r.rotForce=1)),this.requestRender()})),h.on("end",((t,n)=>{let r=this.gameControl;"pos"===e?(r.movementState.movePosZ=0,r.movementState.movePosX=0,r.moveForce=1):"rot"===e&&(r.movementState.rotPosX=0,r.movementState.rotPosY=0,r.rotForce=1)})),this.joysticks[t]=[h,n]})),this.markIsDestroyTarget(),this.markIsDragObject(),this.rebuildBVH(),this.initializationCounter++,window.setTimeout((()=>{this.collisionEvents.forEach((e=>e.disabled=!1))}),80)}initPhysics(){var e;null!==(e=this.sharedGameControlGlobals.rapierWorld)&&void 0!==e&&e.free(),this.sharedGameControlGlobals.rapierWorld=new Rte.World(new Rte.Vector3(0,this.gravity,0)),this.events=new Rte.EventQueue(!0);let t=[],n=[];if(this.page.traverseChildren((e=>{var r;let i;if(e instanceof x1){if(!e.objectForSample)return!0===e.object.dataPatched.physics.fusedBody&&"dynamic"===e.object.dataPatched.physics.rigidBody||void 0;if(e.objectForSample.dataPatched.physics.fusedBody)return;i=e.object}else if(e instanceof DF)i=e.object;else{var a,s,o;if(e instanceof m5||e instanceof Q1)return;if(i=e,!1===(null===(a=i.dataPatched.cloner)||void 0===a?void 0:a.disabled)&&null!==(s=i.dataPatched.cloner)&&void 0!==s&&s.hideBase&&!0!==(null===(o=i.dataPatched.physics)||void 0===o?void 0:o.fusedBody))return!0}let l,c=i.dataPatched;for(let t of c.events)!0!==t.data.disabled&&"GameControl"===t.data.type&&(l=t.data);if(!c.physics||("visibility"===c.physics.enabled?!c.visible:!c.physics.enabled))return!0;e.updateMatrixWorldSVD();let d=_te(c),h=!1,u=i.userData.hasDestroy,p=i.userData.hasDrag,f=!1;for(let t of c.events)if(!0!==t.data.disabled)if("Collision"===t.data.type){h=!0;let e=new rte(t.id,t.data,i,this.page,this.sharedAssets,this.eventManager);e.disabled=!0,this.collisionEvents.push(e),this.sharedGameControlGlobals.entityToCollisionEvents[i.uuid]&&this.sharedGameControlGlobals.entityToCollisionEvents[i.uuid].every((e=>e.id!==t.id))?this.sharedGameControlGlobals.entityToCollisionEvents[i.uuid].push(e):this.sharedGameControlGlobals.entityToCollisionEvents[i.uuid]=[e]}else if("Follow"===t.data.type){f=!0;let n=t.data.target;e.traverseVisible((e=>{e.userData.isFollowingObj=n}))}"dynamic"===c.physics.rigidBody&&!1===c.physics.fusedBody&&(e.matrixWorldFusedFalse=e.matrixWorld.clone());let m=e.geometry;if(void 0!==l){let t=Rte.RigidBodyDesc.kinematicPositionBased();(e.hasNonUniformScale?e.matrixWorldRigid:e.matrixWorld).decompose(Bte,Gte,qte),e.position0=Bte.clone().divideScalar(this.pixelsPerMeter),e.rotation0=Gte.clone(),Bte.divideScalar(this.pixelsPerMeter),t.setTranslation(Bte.x,Bte.y,Bte.z).setRotation(Gte);let n,r=this.sharedGameControlGlobals.rapierWorld.createRigidBody(t);e.rigidBody=r,n="sphere"===l.collider.type?Rte.ColliderDesc.ball(l.collider.radius/this.pixelsPerMeter):"capsule"===l.collider.type?Rte.ColliderDesc.capsule((l.collider.height/2-l.collider.radius)/this.pixelsPerMeter,l.collider.radius/this.pixelsPerMeter):Rte.ColliderDesc.cuboid(l.collider.width/this.pixelsPerMeter/2,l.collider.height/this.pixelsPerMeter/2,l.collider.depth/this.pixelsPerMeter/2),n.setFrictionCombineRule(Rte.CoefficientCombineRule.Average).setRestitutionCombineRule(Rte.CoefficientCombineRule.Average).setDensity(c.physics.density).setFriction(c.physics.friction).setRestitution(c.physics.restitution);let a=this.sharedGameControlGlobals.rapierWorld.createCollider(n,r);this.sharedGameControlGlobals.colliderToEntity.set(a.handle,i),Bte.fromArray(l.collider.position).multiply(qte.setFromMatrixScale(i.matrixWorld)).divideScalar(this.pixelsPerMeter),a.setTranslationWrtParent(Bte);let s=(new GM).setFromEuler((new wP).setFromVector3((new qM).fromArray(l.collider.rotation)));a.setRotationWrtParent(s),a.setActiveEvents(Rte.ActiveEvents.COLLISION_EVENTS),this.generateSensorColliderDescs(i,!0)}else"dynamic"===c.physics.rigidBody||d||f||u||p||h?(this.addRigidBody(e,i,{hasFollow:f,hasTransformAnim:d,hasDrag:p}),this.generateSensorColliderDescs(i,c.physics.fusedBody)):(m&&t.push(T8(m,e.matrixWorld)),c.physics.fusedBody&&e.traverseObject(((e,n)=>{if(0===n)return;let r;if(e instanceof x1){if(!e.objectForSample)return!0===e.object.dataPatched.physics.fusedBody&&"dynamic"===e.object.dataPatched.physics.rigidBody||void 0;if(e.objectForSample.dataPatched.physics.fusedBody)return;r=e.object}else{var i;if(e instanceof m5||e instanceof Q1)return;if(e instanceof DF)r=e.object;else if(r=e,null!==(i=r.dataPatched.cloner)&&void 0!==i&&i.hideBase)return!0}let a=r.dataPatched;if("visibility"===a.physics.enabled?!a.visible:!a.physics.enabled)return!0;let s=e.geometry;void 0!==(null===s||void 0===s?void 0:s.getAttribute("position"))&&t.push(T8(s,e.matrixWorld))})),this.generateSensorColliderDescs(i,c.physics.fusedBody,n));return!(!0!==(null===(r=c.physics)||void 0===r?void 0:r.fusedBody)&&!l)||void 0})),0===t.length)return;let r=_L(t);r.scale(1/this.pixelsPerMeter,1/this.pixelsPerMeter,1/this.pixelsPerMeter);let i=Rte.RigidBodyDesc.fixed(),a=this.sharedGameControlGlobals.rapierWorld.createRigidBody(i),s=Rte.ColliderDesc.trimesh(r.getAttribute("position").array,r.getIndex().array).setFrictionCombineRule(Rte.CoefficientCombineRule.Multiply).setRestitutionCombineRule(Rte.CoefficientCombineRule.Multiply).setFriction(1).setRestitution(1);this.sharedGameControlGlobals.rapierWorld.createCollider(s,a);for(let[o,l]of n){let e=this.sharedGameControlGlobals.rapierWorld.createCollider(o,a);this.sensorToTriggerEvent[e.handle]=l}}updatePositions(){return this.nActiveRigidBodies=0,this.sharedGameControlGlobals.rapierWorld.forEachRigidBody(this.processRigidBody),this.nActiveRigidBodies>0}rebuildBVH(){this.usePhysics?this.initPhysics():(this.page.traverseEntity((e=>{for(let t of e.dataPatched.events)if("Trigger"===t.data.type&&!0!==t.data.disabled){let n=new Dte(t.id,t.data,e,this.page,this.sharedAssets,this.eventManager),r=(new fP).compose(zte.fromArray(t.data.position),Nte.setFromEuler(Wte.fromArray(t.data.rotation)),Ute);if("box"===t.data.triggerZone){let i=new zM;i.min.fromArray(t.data.size).multiplyScalar(-.5),i.max.fromArray(t.data.size).multiplyScalar(.5),this.sharedGameControlGlobals.triggers.push([i,r,e,n])}else this.sharedGameControlGlobals.triggers.push([t.data.radius,r,e,n])}})),this.needsCollisionDetection&&this.initBVH())}disconnectEvents(){this.collisionEvents.forEach((e=>e.disconnect())),this.sharedGameControlGlobals.triggers.forEach((e=>e[3].disconnect())),this.sharedGameControlGlobals.triggers.length=0}deactivate(){if(this.isEnabled){var e,t,n,r;this.isEnabled=!1,this.page.traverse((e=>{let t=e;t.matrixWorldFusedFalse&&(t.matrixWorldFusedFalse=void 0),t.rigidBody&&(t.rigidBody=void 0),t.position0&&(t.position0=void 0),t.rotation0&&(t.rotation0=void 0)})),null!==(e=this.sharedGameControlGlobals.rapierWorld)&&void 0!==e&&e.free(),this.sharedGameControlGlobals.rapierWorld=void 0,this.sharedGameControlGlobals.staticMeshBVH=void 0,this.accumulator=0,this.sharedGameControlGlobals.entitiesWithTransformAnim=[],this.disconnectEvents(),null!==(t=this.gameControl)&&void 0!==t&&t.reset(),null!==(n=this.gameControl)&&void 0!==n&&n.dispose(),this.gameControl=null,this.initializationCounter=-1,this.joysticks.forEach((e=>{let[t,n]=e;null!==t&&void 0!==t&&t.destroy(),n.remove()})),this.joystickToGameControls=[],this.joysticks=[],this.orbitControls&&(this.orbitControls.dispose(),this.orbitControls=void 0),null!==(r=this.navigationMeshWrapper)&&void 0!==r&&r.dispose(),this.navigationMeshWrapper=void 0;for(let e of Object.values(this.sharedGameControlGlobals.entityToCollisionEvents))e.forEach((e=>e.disconnect()));this.sharedGameControlGlobals.entityToCollisionEvents={},this.page.updateMatrixWorld(!0)}}update(e,t,n){if(!this.isEnabled)return!0;let r=!0;if(void 0!==this.orbitControls&&this.orbitControls.needsUpdate&&(r=!this.orbitControls.update()),this.initializationCounter>=0&&this.initializationCounter<2?(this.initializationCounter++,r=!1):2===this.initializationCounter&&this.gameControl&&(r=!this.gameControl.update(e,t,n)&&r),!1===this.usePhysics&&this.checkTrigger(),this.usePhysics){let t=.016666666666666666;if(0===e)r=this.stepPhysics()&&r;else{let n=e/1e3;n<t&&n>.55*t&&(n=t),this.accumulator+=n;let i=performance.now(),a=0,s=6;for(;this.accumulator>=t&&a<s&&(r=this.stepPhysics()&&r,this.accumulator-=t,a++,!(performance.now()-i>1e3*t)););this.accumulator=this.accumulator%t}}return r}stepPhysics(){var e;for(let t of this.sharedGameControlGlobals.entitiesWithTransformAnim){(t.hasNonUniformScale?t.matrixWorldRigid:t.matrixWorld).decompose(Bte,Gte,qte),Hte.setFromQuaternion(Gte);let e=t;void 0===e.prevR?(e.prevR=Hte.clone(),e.prevT=Bte.clone()):(e.prevR.copy(Hte),e.prevT.copy(Bte)),t.rigidBody&&(t.rigidBody.setNextKinematicTranslation(Bte.divideScalar(this.pixelsPerMeter)),t.rigidBody.setNextKinematicRotation(Gte))}return this.sharedGameControlGlobals.rapierWorld.step(this.events),null!==(e=this.events)&&void 0!==e&&e.drainCollisionEvents(this.handleCollisionEvents),!this.updatePositions()}dispatchCollisionEvent(e,t,n){var r;let i,a=(null===(r=this.sharedGameControlGlobals.rapierWorld)||void 0===r?void 0:r.getCollider(n))._parent;if(t.cloner)for(let s of t.cloner.children)if(s.rigidBody===a){i=s;break}e.dispatch(i),t.dispatchEvent(Qte)}updateUseWindowEvents(e){var t;null===(t=this.orbitControls)||void 0===t||t.updateUseWindowEvents(e)}generateSensorColliderDescs(e,t,n){let r=Yte.copy(e.matrixWorld).invert();e.traverseEntity(((i,a)=>{if(!1===t&&1===a)return!0;for(let t of i.dataPatched.events)if("Trigger"===t.data.type&&!0!==t.data.disabled){let a,s=new Dte(t.id,t.data,i,this.page,this.sharedAssets,this.eventManager);if(a="box"===t.data.triggerZone?Rte.ColliderDesc.cuboid(...t.data.size.map((e=>e/(2*this.pixelsPerMeter)))):Rte.ColliderDesc.ball(t.data.radius/this.pixelsPerMeter),a.setDensity(0).setSensor(!0).setActiveEvents(Rte.ActiveEvents.COLLISION_EVENTS),zte.fromArray(t.data.position),Nte.setFromEuler(Wte.fromArray(t.data.rotation)),Lte.compose(zte,Nte,Ute).premultiply(i.matrixWorld),n?(Lte.decompose(zte,Nte,Jte),a.setActiveCollisionTypes(Rte.ActiveCollisionTypes.KINEMATIC_FIXED|Rte.ActiveCollisionTypes.DYNAMIC_FIXED)):(Lte.premultiply(r).decompose(zte,Nte,Jte),e.rigidBody.bodyType()===Rte.RigidBodyType.Dynamic||(e.rigidBody.bodyType()===Rte.RigidBodyType.Fixed?a.setActiveCollisionTypes(Rte.ActiveCollisionTypes.KINEMATIC_FIXED|Rte.ActiveCollisionTypes.DYNAMIC_FIXED):a.setActiveCollisionTypes(Rte.ActiveCollisionTypes.KINEMATIC_KINEMATIC|Rte.ActiveCollisionTypes.DYNAMIC_KINEMATIC))),zte.divideScalar(this.pixelsPerMeter),a.setTranslation(zte.x,zte.y,zte.z),a.setRotation(Nte),n)n.push([a,s]);else{let t=this.sharedGameControlGlobals.rapierWorld.createCollider(a,e.rigidBody);this.sensorToTriggerEvent[t.handle]=s}}}))}checkTrigger(){let e;for(let t=0;t<this.sharedGameControlGlobals.triggers.length;t++){let[n,r,i,a]=this.sharedGameControlGlobals.triggers[t];for(let t=0;t<this.sharedGameControlGlobals.entitiesWithTransformAnim.length;t++){let s=this.sharedGameControlGlobals.entitiesWithTransformAnim[t];if(i===s||!1===a.isValidTriggeringObject(EF.is(s)?s:s.object))continue;let o=Yte.copy(i.matrixWorld).decompose(zte,Zte,Jte).compose(zte,Zte,Ute).multiply(r),l=Lte.copy(s.matrixWorld).invert().multiply(o);n instanceof zM?e=s.bvhGeometry.boundsTree.intersectsBox(n,l):(Kte.radius=n,Kte.center.setFromMatrixPosition(l),e=s.bvhGeometry.boundsTree.intersectsSphere(Kte)),e?-1===a.currentIntersectedObjects.indexOf(s)&&(a.currentIntersectedObjects.push(s),a.dispatch(),i.dispatchEvent(Xte)):a.currentIntersectedObjects=a.currentIntersectedObjects.filter((e=>e!==s))}}}};function ene(e){var t;let n=this._clip.duration,r=null!==(t=this._clip.start)&&void 0!==t?t:0,i=this.loop,a=this.time+e,s=this._loopCount,o=i===Oj;if(0===e)return-1===s?a:o&&1===(1&s)?n-(a-r):a;if(2200===i){-1===s&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(a>=n)a=n;else{if(!(a<0)){this.time=a;break e}a=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=a,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(-1===s&&(e>=0?(s=0,this._setEndings(!0,0===this.repetitions,o)):this._setEndings(0===this.repetitions,!0,o)),a>=n||a<r){let t=Math.floor((a-r)/(n-r));a-=(n-r)*t,s+=Math.abs(t);let i=this.repetitions-s;if(i<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,o||(a=e>0?n:r,1===this.repetitions&&(a=n)),this.time=a,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(1===i){let t=e<0;this._setEndings(t,!t,o)}else this._setEndings(!1,!1,o);this._loopCount=s,this.time=a,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:t})}}else this.time=a;if(o&&1===(1&s))return n-(a-r)}return a}var tne,nne=!1,rne=class{constructor(e,t,n,r){this.scene=e,this.requestRender=t,this.updateDisplayProgress=n,this.animationInspectorState=r,this.clipIdToAction={},this.activeClip=null,this.needsUpdate=!1,this.addClip=e=>{"Empty"===e.data.type&&e.data.animations&&e.data.animations.forEach(((t,n)=>{let r=t[0]+"/";if(Array.isArray(e.identity)?r+=e.identity[0]:r+=e.uuid,this.clipIdToAction[r])return;let i=wV.parse(JSON.parse(t[2]));e.animations[n]=i;let a=this.mixer.clipAction(i,e);!1===nne&&(Object.getPrototypeOf(a)._updateTime=ene,nne=!0),a.clampWhenFinished=!0,this.clipIdToAction[r]=a}))},this.mixer=new fR(e),this.scene.traverseEntity(this.addClip)}deleteClip(e,t){let n=this.scene.find(t);if(!n)return;let r=n.animations.find((t=>t.uuid===e));if(!r)return;let i=this.clipIdToAction[e];!i||(i.stop(),this.mixer.uncacheClip(r),delete this.clipIdToAction[e],n.animations=n.animations.filter((t=>t.uuid!==e)))}get isPlaying(){return Object.values(this.clipIdToAction).some((e=>e.isRunning()))}playFromInspector(e){this.mixer.stopAllAction();let t=this.clipIdToAction[e];!t||(t.play(),this.activeClip=t.getClip(),this.requestRender())}onExitPlayMode(){Object.values(this.clipIdToAction).forEach((e=>{e.repetitions=1/0,e.loop=2201})),this.mixer.stopAllAction(),this.requestRender()}play(e){let t=e.clipId+"/"+e.object,n=this.clipIdToAction[t];if(n)return e&&(e.repeat>=0&&(n.repetitions=e.repeat+1),"pingpong"===e.direction&&0!==e.repeat&&(n.loop=Oj)),n.play(),n.paused=!1,this.requestRender(),n}resumeFromInspector(e){let t=this.clipIdToAction[e];!t||(t.play(),t.paused=!1,this.requestRender())}pauseFromInspector(e){let t=this.clipIdToAction[e];!t||(t.paused=!0)}stop(){this.mixer.stopAllAction(),this.requestRender()}update(e){var t;if(this.needsUpdate)this.needsUpdate=!1;else if(!1===this.isPlaying||null!==(t=this.animationInspectorState)&&void 0!==t&&t.isScrubbing)return;this.mixer.update(e/1e3),this.activeClip&&this.updateDisplayProgress(Math.round(this.mixer.time/this.activeClip.duration*this.maxFrames%this.maxFrames)),this.requestRender()}get maxFrames(){var e,t;return null!==(e=null===(t=this.activeClip)||void 0===t||null===(t=t.tracks[0])||void 0===t?void 0:t.times.length)&&void 0!==e?e:0}setProgressFromInspector(e,t){if(!this.clipIdToAction[t])return;this.activeClip!==this.clipIdToAction[t].getClip()&&this.playFromInspector(t);let n=this.clipIdToAction[t].paused;this.clipIdToAction[t].paused=!1,this.mixer.setTime(Math.min(this.maxFrames?e/this.maxFrames:0,.9999)*this.activeClip.duration),this.requestRender(),n&&(this.clipIdToAction[t].paused=!0)}},ine=new WeakMap,ane=class extends TV{constructor(e){super(e),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}}setDecoderPath(e){return this.decoderPath=e,this}setDecoderConfig(e){return this.decoderConfig=e,this}setWorkerLimit(e){return this.workerLimit=e,this}load(e,t,n,r){let i=new EV(this.manager);i.setPath(this.path),i.setResponseType("arraybuffer"),i.setRequestHeader(this.requestHeader),i.setWithCredentials(this.withCredentials),i.load(e,(e=>{this.decodeDracoFile(e,t).catch(r)}),n,r)}decodeDracoFile(e,t,n,r){let i={attributeIDs:n||this.defaultAttributeIDs,attributeTypes:r||this.defaultAttributeTypes,useUniqueIDs:!!n};return this.decodeGeometry(e,i).then(t)}decodeGeometry(e,t){let n=JSON.stringify(t);if(ine.has(e)){let t=ine.get(e);if(t.key===n)return t.promise;if(0===e.byteLength)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let r,i=this.workerNextTaskID++,a=e.byteLength,s=this._getWorker(i,a).then((n=>(r=n,new Promise(((n,a)=>{r._callbacks[i]={resolve:n,reject:a},r.postMessage({type:"decode",id:i,taskConfig:t,buffer:e},[e])}))))).then((e=>this._createGeometry(e.geometry)));return s.catch((()=>!0)).then((()=>{r&&i&&this._releaseTask(r,i)})),ine.set(e,{key:n,promise:s}),s}_createGeometry(e){let t=new pO;e.index&&t.setIndex(new nO(e.index.array,1));for(let n=0;n<e.attributes.length;n++){let r=e.attributes[n],i=r.name,a=r.array,s=r.itemSize;t.setAttribute(i,new nO(a,s))}return t}_loadLibrary(e,t){let n=new EV(this.manager);return n.setPath(this.decoderPath),n.setResponseType(t),n.setWithCredentials(this.withCredentials),new Promise(((t,r)=>{n.load(e,t,void 0,r)}))}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;let e="object"!=typeof WebAssembly||"js"===this.decoderConfig.type,t=[];return e?t.push(this._loadLibrary("draco_decoder.js","text")):(t.push(this._loadLibrary("draco_wasm_wrapper.js","text")),t.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(t).then((t=>{let n=t[0];e||(this.decoderConfig.wasmBinary=t[1]);let r=sne.toString(),i=["/* draco decoder */",n,"","/* worker */",r.substring(r.indexOf("{")+1,r.lastIndexOf("}"))].join("\n");this.workerSourceURL=URL.createObjectURL(new Blob([i]))})),this.decoderPending}_getWorker(e,t){return this._initDecoder().then((()=>{if(this.workerPool.length<this.workerLimit){let e=new Worker(this.workerSourceURL);e._callbacks={},e._taskCosts={},e._taskLoad=0,e.postMessage({type:"init",decoderConfig:this.decoderConfig}),e.onmessage=function(t){let n=t.data;switch(n.type){case"decode":e._callbacks[n.id].resolve(n);break;case"error":e._callbacks[n.id].reject(n);break;default:console.error('THREE.DRACOLoader: Unexpected message, "'+n.type+'"')}},this.workerPool.push(e)}else this.workerPool.sort((function(e,t){return e._taskLoad>t._taskLoad?-1:1}));let n=this.workerPool[this.workerPool.length-1];return n._taskCosts[e]=t,n._taskLoad+=t,n}))}_releaseTask(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]}debug(){console.log("Task load: ",this.workerPool.map((e=>e._taskLoad)))}dispose(){for(let e=0;e<this.workerPool.length;++e)this.workerPool[e].terminate();return this.workerPool.length=0,""!==this.workerSourceURL&&URL.revokeObjectURL(this.workerSourceURL),this}};function sne(){let e,t;function n(e,t,n,r,i,a){let s=a.num_components(),o=n.num_points()*s,l=o*i.BYTES_PER_ELEMENT,c=function(e,t){switch(t){case Float32Array:return e.DT_FLOAT32;case Int8Array:return e.DT_INT8;case Int16Array:return e.DT_INT16;case Int32Array:return e.DT_INT32;case Uint8Array:return e.DT_UINT8;case Uint16Array:return e.DT_UINT16;case Uint32Array:return e.DT_UINT32}}(e,i),d=e._malloc(l);t.GetAttributeDataArrayForAllPoints(n,a,c,l,d);let h=new i(e.HEAPF32.buffer,d,o).slice();return e._free(d),{name:r,array:h,itemSize:s}}onmessage=function(r){let i=r.data;switch(i.type){case"init":e=i.decoderConfig,t=new Promise((function(t){e.onModuleLoaded=function(e){t({draco:e})},DracoDecoderModule(e)}));break;case"decode":let r=i.buffer,a=i.taskConfig;t.then((e=>{let t=e.draco,s=new t.Decoder,o=new t.DecoderBuffer;o.Init(new Int8Array(r),r.byteLength);try{let e=function(e,t,r,i){let a,s,o=i.attributeIDs,l=i.attributeTypes,c=t.GetEncodedGeometryType(r);if(c===e.TRIANGULAR_MESH)a=new e.Mesh,s=t.DecodeBufferToMesh(r,a);else{if(c!==e.POINT_CLOUD)throw new Error("THREE.DRACOLoader: Unexpected geometry type.");a=new e.PointCloud,s=t.DecodeBufferToPointCloud(r,a)}if(!s.ok()||0===a.ptr)throw new Error("THREE.DRACOLoader: Decoding failed: "+s.error_msg());let d={index:null,attributes:[]};for(let h in o){let r,s,c=self[l[h]];if(i.useUniqueIDs)s=o[h],r=t.GetAttributeByUniqueId(a,s);else{if(s=t.GetAttributeId(a,e[o[h]]),-1===s)continue;r=t.GetAttribute(a,s)}d.attributes.push(n(e,t,a,h,c,r))}return c===e.TRIANGULAR_MESH&&(d.index=function(e,t,n){let r=3*n.num_faces(),i=4*r,a=e._malloc(i);t.GetTrianglesUInt32Array(n,i,a);let s=new Uint32Array(e.HEAPF32.buffer,a,r).slice();return e._free(a),{array:s,itemSize:1}}(e,t,a)),e.destroy(a),d}(t,s,o,a),r=e.attributes.map((e=>e.array.buffer));e.index&&r.push(e.index.array.buffer),self.postMessage({type:"decode",id:i.id,geometry:e},r)}catch(m){console.error(m),self.postMessage({type:"error",id:i.id,error:m.message})}finally{t.destroy(o),t.destroy(s)}}))}}}async function one(e){if(tne){let t,n={attributeIDs:tne.defaultAttributeIDs,attributeTypes:tne.defaultAttributeTypes,useUniqueIDs:!1};try{t=await tne.decodeGeometry(new Int8Array(e).buffer,n)}catch(a){console.error(a)}if(t)return{index:t.index?{array:t.index.array}:void 0,attributes:Object.entries(t.attributes).map((e=>{let[t,n]=e;return{name:t,itemSize:n.itemSize,array:n.array}}))}}return null}async function lne(e,t){let[n,r]=Gz(aU.deserialize(new Uint8Array(e)));XL(n);let i=[];n.scene.objects.traverse(((e,t)=>{"Mesh"===t.type&&"NonParametricGeometry"===t.geometry.type&&void 0!==t.geometry.data.draco&&i.push(t)})),i.length&&await(tne||(tne=new ane).setDecoderPath("https://www.gstatic.com/draco/versioned/decoders/1.5.2/").preload(),tne.decoderPending);for(let a of i){let e=await one(Hz(a.geometry.data.draco));if(e){e.index&&(a.geometry.data.index={array:e.index.array,itemSize:1,normalized:!1,type:"Uint32Array"});let t={};e.attributes.forEach((e=>{let{name:n,array:r,itemSize:i}=e;t[n]={array:r,itemSize:i,type:"Float32Array",normalized:!1}})),a.geometry.data.attributes=t,a.geometry.data.draco=void 0}}return t&&t(n),r.result().data}var cne=class{constructor(e,t,n,r,i,a,s){this.id=e,this.data=t,this.dataEvent=n,this.object=r,this.stage=!1,this.actions=L7(n,t.actions,i,a,s,r)}disconnect(){Y7(this.actions)}dispatchIn(){this.actions.Audio.forEach((e=>e.dispatchBasic())),this.actions.Particles.forEach((e=>e.dispatchBasic())),this.actions.Video.forEach((e=>e.dispatchBasic())),this.actions.Create.forEach((e=>e.dispatch())),this.actions.Destroy.forEach((e=>e.dispatch())),this.actions.Reset.forEach((e=>e.dispatch())),this.actions.Link.forEach((e=>e.dispatch())),this.actions.Transition.forEach((e=>{e.object.currentTransitionEvent!==this&&(e.object.currentTransitionEvent=this,e.init())})),this.actions.Transition.forEach((e=>e.toggle())),this.actions.Animation.forEach((e=>e.play())),this.actions.SwitchCamera.forEach((e=>e.play())),this.actions.SceneTransition.forEach((e=>e.dispatch())),this.actions.SetVariable.forEach((e=>e.checkConditions())),this.actions.SetVariable.forEach((e=>e.dispatch())),this.actions.DynamicVariablePlay.forEach((e=>e.dispatch()))}dispatchOut(){this.actions.Transition.forEach((e=>{e.toggle()}))}},dne=class extends N8{constructor(e,t){super(e),this.eventManager=t,this.breakpoints=[],this.resize=(e,t)=>{this.breakpoints.forEach((n=>{let r,i=OU.deviceToSize(n.data.size),a="horizontal"===n.dataEvent.orientation?e:t;switch(n.data.operator){case"<":r=a<i[0];break;case">":r=a>i[0];break;case"<>":r=a>i[0]&&a<i[1]}n.stage!==r&&(n.stage=r,n.stage?n.dispatchIn():n.dispatchOut())}))},this.onResizeObserver=new ResizeObserver((e=>{for(let t of e){let{width:e,height:n}=t.contentRect;this.resize(e,n)}}))}connect(){let{page:e,sharedAssets:t,domElement:n}=this.eventContext;this.onResizeObserver.observe(n);let r=n=>{var r;if(n.visible&&null!==(r=n.data)&&void 0!==r&&r.events.length)for(let{data:i}of n.data.events)i.disabled||"Resize"===i.type&&i.breakpoints.forEach((r=>{let{data:a,id:s}=r;try{let r=new cne(s,a,i,n,e,t,this.eventManager);this.breakpoints.push(r)}catch(u){}}))};e.traverseEntity((e=>{var t;(e instanceof t5||e instanceof Y6)&&null!==(t=e.frame)&&void 0!==t&&t.traverse((e=>{r(e)})),r(e)}))}disconnect(){this.onResizeObserver.disconnect(),this.breakpoints.forEach((e=>{e.disconnect()})),this.breakpoints=[]}},hne=class{constructor(e,t,n,r,i){this.publish=e,this.controlsManager=t,this.animationControls=n,this.eventContext=r,this.sharedVariables=i,this.isEnabled=!1,this.activateCount=0,this.needsMouse=!1,this.needsRaycast=!1,this.onTouchMovePreventScroll=e=>{(e.touches.length>1||this.preventTouchScroll)&&e.preventDefault()},this.onMouseWheelPreventScroll=e=>{this.preventScroll&&e.preventDefault()},this.onMouseMove=e=>{this.eventContext.sharedAssets.mouseProperty={...this.getMousePosition(e),pressed:e.buttons>0}},this.onMouseDown=e=>{this.eventContext.sharedAssets.mouseProperty={...this.getMousePosition(e),pressed:!0}},this.onMouseUp=e=>{this.eventContext.sharedAssets.mouseProperty={...this.getMousePosition(e),pressed:!1}},this.getMousePosition=e=>{var t;let{domRect:n}=this.eventContext,{pageX:r,pageY:i}=(null===(t=e.touches)||void 0===t?void 0:t.length)>0?e.touches[0]:e;return{x:r-(n.left+window.scrollX),y:i-(n.top+window.scrollY)}},this.stopRaycast=e.stopRaycast,this.preventScroll=e.preventScroll,this.preventTouchScroll=e.preventTouchScroll,this.hideCursor=e.hideCursor,this.requestRender=r.requestRender}activate(){if(this.isEnabled)return;this.isEnabled=!0,this.initializeActionsDependentStates(),this.needsMouse&&(this.eventContext.domElement.addEventListener("pointermove",this.onMouseMove),this.eventContext.domElement.addEventListener("pointerdown",this.onMouseDown)),this.handlers={Spline:new K8(this.eventContext),DynamicVariable:new ite(this.eventContext,this.sharedVariables,this,this.needsMouse,this.needsRaycast),Conditional:new ree(this.eventContext,this),Start:new nte(this.eventContext,this),Basic:new X8(this.eventContext,this,this.needsRaycast),MouseHover:new Xee(this.eventContext,this),Scroll:new ete(this.eventContext,this),Follow:new Cee(this.eventContext,this),DragDrop:new Aee(this.eventContext,this),LookAt:new Yee(this.eventContext),Resize:new dne(this.eventContext,this)};let{page:e,domElement:t}=this.eventContext;this.hideCursor&&(t.style.cursor="none"),e.traverseEntity((e=>{e.addEventListener("requestRender",this.requestRender)})),Object.values(this.handlers).forEach((e=>e.connect())),t.addEventListener("wheel",this.onMouseWheelPreventScroll),t.addEventListener("touchmove",this.onTouchMovePreventScroll),this.activateCount++}deactivate(){var e;if(!this.isEnabled)return;this.isEnabled=!1,this.eventContext.domElement.removeEventListener("pointermove",this.onMouseMove),this.eventContext.domElement.removeEventListener("pointerdown",this.onMouseDown),this.eventContext.domElement.removeEventListener("pointerup",this.onMouseUp),this.eventContext.sharedAssets.mouseProperty=null,this.eventContext.sharedAssets.raycastProperty=null;let{page:t,domElement:n}=this.eventContext;n.style.cursor="",Object.values(this.handlers).forEach((e=>e.disconnect())),null!==(e=this.controlsManager.gameControl)&&void 0!==e&&e.disposeActions(),this.controlsManager.disconnectEvents(),t.traverseEntity((e=>{e.removeEventListener("requestRender",this.requestRender),e.destroyedInAction=!1})),n.removeEventListener("touchmove",this.onTouchMovePreventScroll),n.removeEventListener("wheel",this.onMouseWheelPreventScroll),this.animationControls.onExitPlayMode()}get isPaused(){return this.isEnabled}pause(){this.deactivate()}resume(){this.activate()}reset(){this.deactivate(),this.activate(),this.controlsManager.page.updateMatrixWorld(!0),this.controlsManager.rebuildBVH()}updateUseWindowEvents(e){let t=this.isEnabled;t&&this.deactivate(),this.eventContext.useWindowEvents=e,t&&this.activate()}initializeActionsDependentStates(){let e=this.eventContext.sharedAssets;e.resetDynamicVariablePlayState();let t=n=>{if("Conditional"===n.data.type&&(n.data.ifActions.forEach(t),n.data.elseActions.forEach(t)),"Conditional"===n.data.type||"SetVariable"===n.data.type)for(let e of"Conditional"===n.data.type?n.data.condition:n.data.expression)"id"in e&&Array.isArray(e.id)&&("mouse"===e.id[0]&&(this.needsMouse=!0),"raycast"===e.id[0]&&(this.needsRaycast=!0));"DynamicVariablePlay"===n.data.type&&""!==n.data.variableId&&("Play"===n.data.mode||"PlayPause"===n.data.mode||"Toggle"===n.data.mode)&&e.setDynamicVariablePlayState(n.data.variableId,"Stopped")};this.eventContext.page.traverseEntity((e=>{var n;if(null!==(n=e.data)&&void 0!==n&&n.events.length)for(let r of e.data.events)if(!r.data.disabled)if("VariableChange"===r.data.type&&("mouseProperty"===r.data.variableId&&(this.needsMouse=!0),"raycastProperty"===r.data.variableId&&(this.needsRaycast=!0)),"Conditional"===r.data.type)for(let e of["inActions","outActions"])r.data[e].forEach(t);else if("DragDrop"===r.data.type)for(let e of["drag","drop"])r.data.dragDropActions[e].forEach(t);else if("GameControl"===r.data.type)for(let e of["idle","move","jump","run"])r.data.gameActions[e].forEach(t);else if("Resize"===r.data.type)for(let e of r.data.breakpoints)e.data.actions.forEach(t);else"LookAt"===r.data.type||r.data.actions.forEach(t)}))}},une=class{constructor(e,t,n,r,i){this._aspect=1,this.enableResponsive=!1,this._renderer=e,this._camera=t,this._frameSize=(new cM).copy(n),this._editorSize=(new cM).copy(r),this._aspect=t.aspect,this._fov=null!==i&&void 0!==i?i:t.fov}set frameSize(e){this._frameSize.copy(e)}updateRenderer(){!this._renderer||this._renderer.setSize(this._frameSize.x,this._frameSize.y)}updateViewport(){if(!this._renderer||!this._camera||"PerspectiveCamera"!==this._camera.cameraType)return;let e=this._frameSize.x,t=this._frameSize.y,n=this._editorSize.y;this._aspect=e/t,t<=n&&(this._camera.zoom*=n/t),this._renderer.setViewport(0,0,e,t)}updateCamera(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(this._camera)if("PerspectiveCamera"===this._camera.cameraType){let t=this._frameSize.y,n=this._editorSize.y,r=this._fov;if(e&&t>n){let e=function(e,t,n,r,i){return(e-t)/(n-t)*(i-r)+r}(t,1080,2160,1,15)/100;r*=t/n,r*=1-e}this._camera.aspect=this._aspect,this._camera.fov=r,this._camera.updateProjectionMatrix()}else this._camera.setViewplaneSize(this._frameSize.x,this._frameSize.y,this.enableResponsive)}setCamera(e){this._camera=e,this._aspect=e.aspect,this._fov=e.fov}revert(){let e=window.innerWidth,t=window.innerHeight;this._renderer&&(this._renderer.setViewport(0,0,e,t),this._renderer.setSize(e,t)),this._camera&&(this._camera.aspect=e/t,this._camera.fov=this._fov,this._camera.setViewplaneSize(e,t,this.enableResponsive),this._camera.updateProjectionMatrix())}};var pne=class{get sharedAssets(){return this.shared}constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.shared=new k0(e.shared,t),this.scene=new o4(e.scene,this.sharedAssets),this.shared.setEntityOpContext({scene:this.scene,shared:this.shared})}reset(e,t){this.scene.clearScene(),this.sharedAssets.reset(e.shared),this.scene.resetAfterClear(e.scene,this.sharedAssets)}resetPersonalCameraFromDocumentData(){for(let e of this.scene.children)e instanceof Y6&&!e.uiScene&&e.personalCamera.updateState(e.data.camera,{scene:this.scene,shared:this.shared})}dispose(){this.scene.dispose(),this.shared.dispose()}gc(){this.shared.geometryCache.startGc(),this.shared.geometryCache2.startGc(),this.scene.traverseEntity((e=>{e instanceof I0&&e.markGeometryAsReachable(this.shared)})),this.shared.geometryCache.endGc(),this.shared.geometryCache2.endGc()}},fne=class{constructor(e){let{x:t=10,y:n=10}=e;this._startTime=0;let r=document.getElementById("spe-perfs");r?this.element=r:(this.element=document.createElement("div"),document.body.appendChild(this.element),this.element.style.position="absolute",this.element.style.zIndex="10000",this.element.style.fontFamily="monospace",this.element.style.background="black",this.element.style.color="white",this.element.style.padding="10px",this.element.style.opacity="0.5",this.element.style.fontSize="11px",this.element.setAttribute("id","spe-perfs")),this.element.style.left="".concat(t,"px"),this.element.style.top="".concat(n,"px")}dispose(){var e;null===(e=this.element.parentElement)||void 0===e||e.removeChild(this.element)}start(){this._startTime=performance.now()}end(){let e=performance.now()-this._startTime;this.element.innerHTML=e.toFixed(3)+" ms"}};function mne(e){let t;if(e.index)for(let n=0;n<e.index.array.length;n+=3)t=e.index.array[n],e.index.array[n]=e.index.array[n+2],e.index.array[n+2]=t}function gne(e){return e instanceof B0?"SubdivObject":"NonParametricGeometry"===e.geometry.type?"NonParametric":"Mesh"}function yne(e,t){let n=function(e,t){let n={};return e.traverseEntity((e=>{if(!e.visible||!(e instanceof gX)||"Mesh"!==e.type||Array.isArray(e.material)||e.states&&Object.keys(e.states).length)return;let r=e.parent;for(;r;){if(r instanceof gX&&e.states&&Object.keys(e.states).length)return;r=r.parent}let i=e.material.uuid,a=t.shared.materials[i];if(a){if(!pN.isMergable(a))return}else{var s;let n=null===(s=t.scene.objects.get(e.uuid))||void 0===s?void 0:s.data;if(n&&"material"in n&&"string"!=typeof n.material){if(!pN.isMergable(n.material))return;i=pN.getHash(n.material)}}n[i]||(n[i]={});let o=n[i][gne(e)];if(o){if(o.push(e),e.cloner)for(let t of e.cloner.children)o.push(t)}else if(n[i][gne(e)]=[e],e.cloner)for(let t of e.cloner.children)n[i][gne(e)].push(t)})),n}(t,e),r=function(e){let t=0;return Object.values(e).forEach((e=>{Object.values(e).forEach((e=>{let n=e.length;n>t&&(t=n)}))})),t}(n),i=new Array(r),a=0,s=new Array(r),o=0,l=new Array(r),c=0,d=new Array(r),h=0;for(let[u,p]of Object.entries(n))for(let e of Object.values(p)){if(o=0,c=0,e.forEach((e=>{e instanceof gX&&(s[o++]=e.geometry.clone(),l[c++]=e)})),c<2)continue;for(let e=0;e<c;e++)l[e].updateWorldMatrix(!0,!1),s[e].applyMatrix4(l[e].matrixWorld),l[e].matrixWorld.determinant()<0&&mne(s[e]);let r=_L(s.slice(0,o),!1);if(r){let e;if("SubdivObject"===u)console.warn("Turning subdiv object into mesh"),e=new PO(r,l[0].material);else e=new PO(r,l[0].material);e.castShadow=l[0].castShadow,e.receiveShadow=l[0].receiveShadow,t.add(e);let s=e=>{h=0;for(let t of e)t.children&&s(t.children),t instanceof gX&&(Array.isArray(t.material)||n[t.material.uuid]&&n[t.material.uuid][gne(t)]&&n[t.material.uuid][gne(t)].length>1||(d[h++]=t));for(let n=0;n<h;n++)t.attach(d[n])};for(let t=0;t<c;t++){let e=l[t];s(e.children),i[a++]=e}}}for(let u=0;u<a;u++)i[u].removeFromParent()}var vne=Xb(gk(),1),xne=new cM;var Sne,Ane=class{constructor(e){let{renderOnDemand:t,renderMode:n="auto"}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._viewportMode=1,this._viewportWidth=window.innerWidth,this._viewportHeight=window.innerHeight,this._proxyObjectCache=new Map,this._variablesCache=new Map,this._isPaused=!1,this._renderRequested=!1,this._skipRender=!1,this.time=performance.now(),this.dt=0,this.currentTAAFrame=0,this.disposed=!1,this._requestRenderAutoMode=()=>{this._skipRender=!1},this.requestRender=()=>{this._renderRequested=!0},this.render=e=>{var t,n,r,i,a,s,o,l,c,d,h,u;if(this.time=e,this._lastTime&&(this.dt=this.time-this._lastTime),this._lastTime=this.time,null!==(t=this._perfs)&&void 0!==t&&t.start(),this._renderer)if(this._isPaused||!("manual"===this.renderMode&&!this._renderRequested||"auto"===this.renderMode&&this._skipRender)){if(this._renderRequested=!1,this._skipRender=!0,this._controls&&(this._skipRender=this._controls.update(this.dt)),this._eventManager&&(null!==(n=this._eventManager.handlers)&&void 0!==n&&n.Start.hasVideoAction||null!==(r=this._eventManager.handlers)&&void 0!==r&&r.Basic.hasVideoAction||null!==(i=this._eventManager.handlers)&&void 0!==i&&i.Conditional.hasVideoAction)&&(this._skipRender=!1),null!==(a=this._animationControls)&&void 0!==a&&a.update(this.dt),this._skipRender?(this.currentTAAFrame++,this.currentTAAFrame<32?this._skipRender=!1:this.currentTAAFrame=0):this.currentTAAFrame=0,null!==(s=this._scene)&&void 0!==s&&s.traverseVisibleEntity((e=>{"ParticleSystem"===e.type&&(e.update(this.dt),this._skipRender=!1)})),this._scene&&this._scene.activeCamera!==this._camera&&(this._camera=this._scene.activeCamera),null!==(o=this._eventManager)&&void 0!==o&&o.isEnabled&&((null===(l=this._eventManager.handlers)||void 0===l?void 0:l.Follow).onAnimationFrameDamping(),(null===(c=this._eventManager.handlers)||void 0===c?void 0:c.LookAt).onAnimationFrameDamping(),(null===(d=this._eventManager.handlers)||void 0===d?void 0:d.DragDrop).onAnimationFrameDamping()),this._scene&&this._camera){if(this._scene.pathConstraints.applyConstraints(this._scene),this._renderer.sceneTransitionTimeRemaining>0){this._renderer.sceneTransitionTimeRemaining-=this.dt;let e=1-this._renderer.sceneTransitionTimeRemaining/this._renderer.sceneTransitionDuration;this._renderer.pipeline.sceneTransitionPass.uniforms.mixRatio.value=e,this._skipRender=!1}else this._renderer.pipeline.sceneTransitionFromTexture=null;this._renderer.renderSplineScene(this._scene,this._camera)}this.canvas.dispatchEvent(this._renderedEvent),null===(h=this._perfs)||void 0===h||h.end()}else{var p;null===(p=this._perfs)||void 0===p||p.end()}else null===(u=this._perfs)||void 0===u||u.end()},this._resize=()=>{if(this._renderer){var e,t,n,r,i,a,s,o;if(1===this._viewportMode&&this._frameView&&(this._frameView.frameSize=xne.set(this._viewportWidth,this._viewportHeight)),this._renderer.setSize(this._viewportWidth,this._viewportHeight,!1),this._camera=null===(e=this._scene)||void 0===e?void 0:e.activeCamera,null!==(t=this._scene)&&void 0!==t&&t.updateViewPlaneSize(null!==(n=null===(r=this._frameView)||void 0===r||null===(r=r.frameSize)||void 0===r?void 0:r.x)&&void 0!==n?n:this._viewportWidth,null!==(i=null===(a=this._frameView)||void 0===a||null===(a=a.frameSize)||void 0===a?void 0:a.y)&&void 0!==i?i:this._viewportHeight,null!==(s=null===(o=this._frameView)||void 0===o?void 0:o.enableResponsive)&&void 0!==s&&s),this._camera){var l,c,d,h,u;let e=null!==(l=Object.values(null!==(c=null===(d=this._data)||void 0===d?void 0:d.frames)&&void 0!==c?c:{})[0].preset)&&void 0!==l?l:"fullscreen";null!==(h=this._frameView)&&void 0!==h&&h.setCamera(this._camera),null!==(u=this._frameView)&&void 0!==u&&u.updateCamera("fullscreen"!==e),"PerspectiveCamera"===this._camera.cameraType&&(this._camera.aspect=this._viewportWidth/this._viewportHeight),this._camera.updateProjectionMatrix()}this.eventManager&&(this.eventManager.eventContext.domRect=this.canvas.getBoundingClientRect()),this._requestRenderAutoMode()}},this._debouncedResize=lW(this._resize,10),this._onScroll=e=>{this.eventManager&&(this.eventManager.eventContext.domRect=this.canvas.getBoundingClientRect())},this.canvas=e,this.renderMode=t?"auto":n,this._renderedEvent=new CustomEvent("rendered",{bubbles:!0}),Object.defineProperty(this._renderedEvent,"target",{writable:!1,value:this}),window.location.search.includes("perfs")&&(this._perfs=new fne({x:10,y:10})),function(e){e.addEventListener("pointerdown",GW,!0),e.addEventListener("pointerdown",HW,!0),e.addEventListener("pointermove",HW,!0),e.addEventListener("pointerup",qW,!0),e.addEventListener("pointercancel",qW,!0),e.addEventListener("pointerleave",qW,!0),window.addEventListener("keydown",zW,!0),window.addEventListener("keyup",JW,!0)}(e)}async load(e,t,n){(function(e){let t="The Spline Runtime only accepts .splinecode files that are generated from Spline export panel.";e.endsWith(".spline")?console.warn(t+" The .spline files are only meant to be used by the Editor."):e.endsWith(".splinecode")||console.warn(t)})(e),this.disposed=!1;let r=await(await fetch(e,n)).arrayBuffer();await this.start(r,{variables:t})}async start(e){var t,n,r,i,a;let{interactive:s=!0,variables:o}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.disposed)return;let l=await lne(e);this._data=l,l.version&&(0,vne.default)(l.version,"1.0.53")>0&&console.warn("Your .splinecode file is more recent than the library. Please upgrade @splinetool/runtime to the latest version."),await Promise.all([z1(l)&&$Q(),D0(l)&&OQ(),eL.physicsEnabled(l.scene.objects)&&QW(),t1(l)&&f0(),y6(l)&&g6(),mte(l)&&YW()].filter(Boolean)),null!==(t=this._eventManager)&&void 0!==t&&t.deactivate(),null!==(n=this._controls)&&void 0!==n&&n.deactivate(),null===(r=this._scene)||void 0===r||r.dispose();let c=new pne(l);if(c.resetPersonalCameraFromDocumentData(),this._scene=c.scene,this._sharedAssetsManager=c.sharedAssets,this._camera=this._scene.activeCamera,window.location.search.includes("merge-geometries")){let e=performance.now();yne(l,c.scene);let t=performance.now();console.log("Merged geometries in ",t-e," ms")}z1(l)&&this._scene.traverse((e=>{Y1(e)&&e.recomputeBoolean()})),this._sharedAssetsManager.setRequestRender((()=>{var e;this._requestRenderAutoMode(),null===(e=this._scene)||void 0===e||e.traverse((e=>{e instanceof x1&&e.pendingMediaLoad&&e.update()}))})),null===(i=this._scene)||void 0===i||i.traverse((e=>{"ParticleSystem"===e.type&&(e.wakeUp(),e.data.autoPlay?e.start():e.stop())}));let d=Object.keys(l.shared.fonts).map((e=>this._sharedAssetsManager.getFont(e).loadingPromise));if(Promise.all(d).then((()=>{c.scene.markNeedsUpdateRendererDirty(),this._requestRenderAutoMode()})),t1(l)&&function(e){if(eL.physicsEnabled(e.scene.objects))return!0;let t=!1;return e.scene.objects.traverse(((e,n)=>{if(n.events)if(Array.isArray(n.events)){for(let r of n.events)if(!0!==r.data.disabled&&"GameControl"===r.data.type&&r.data.collisionEnabled){t=!0;break}}else for(let r of Object.values(n.events))if(!0!==r.disabled&&"GameControl"===r.type&&r.collisionEnabled){t=!0;break}})),t}(l)&&await Promise.all(d),y6(l)){let e=[];this._scene.traverseEntity((t=>{(t instanceof t5||t instanceof Y6)&&t.uiCanvas&&e.push(t.uiCanvas)})),await Promise.all(e.map((e=>e.promise)))}this._scene.rewriteEventsBeforeGoToPlayMode(),M7(this._scene.activePage,this._sharedAssetsManager),this._renderer||(this._renderer=new J3({canvas:this.canvas,antialias:!1,alpha:!0,stencil:!1,depth:!1,powerPreference:"high-performance"}),this._renderer.hdTransmission=!0===l.scene.publish.hdTransmission,this._renderer.setPixelRatio(window.devicePixelRatio),this._renderer.pipeline.enableUIOverlay(),this._renderer.pipeline.addEventListener("smaaloaded",this._requestRenderAutoMode)),this._scene.initializeSplatViewer(this._renderer),void 0!==l.scene.blueNoiseTextureData&&this._renderer.pipeline.updateBlueNoiseTexture(l.scene.blueNoiseTextureData);let h=Object.values(l.frames)[0];if(this._frameView?this._frameView.setCamera(this._camera):("fullscreen"===h.preset?(this._viewportMode=1,this.canvas.style.display="block",this.canvas.parentElement&&(this._viewportWidth=this.canvas.parentElement.clientWidth||300,this.canvas.style.width="100%"),this.canvas.parentElement&&(this._viewportHeight=this.canvas.parentElement.clientHeight||150,this.canvas.style.height="100%")):(this._viewportMode=2,this._viewportWidth=h.size[0],this._viewportHeight=h.size[1],this.canvas.style.width="".concat(this._viewportWidth,"px"),this.canvas.style.height="".concat(this._viewportHeight,"px")),this._renderer.setSize(this._viewportWidth,this._viewportHeight,!1),this._frameView=new une(this._renderer,this._camera,new cM(this._viewportWidth,this._viewportHeight),new cM(window.innerWidth,window.innerHeight)),this._frameView.enableResponsive=null!==(a=h.allowResponsive)&&void 0!==a&&a&&"fullscreen"===h.preset),s){let e=new U8(this._renderer,this.data.scene.publish,this._scene,(()=>this._scene.activeCamera),this._sharedAssetsManager,this._requestRenderAutoMode,!0,h);this._scene.updateMatrixWorld(!0),this._controls=new $te(e),this._animationControls=new rne(this._scene,this._requestRenderAutoMode),this._eventManager=new hne(l.scene.publish,this._controls,this._animationControls,e,l.shared.variables),this._eventManager.activate(),this._controls.activate(this._eventManager)}this._resize(),void 0!==o&&this.setVariables(o),0===this.dt&&(this.render(performance.now()),setTimeout((()=>{var e;null===(e=this._renderer)||void 0===e||e.setAnimationLoop(this.render)}),0)),this._resizeObserverTimeout=setTimeout((()=>{!this._resizeObserver&&this.canvas.parentElement&&(this._resizeObserver=new ResizeObserver((()=>{this._viewportWidth=this.canvas.clientWidth,this._viewportHeight=this.canvas.clientHeight,this._debouncedResize()})),this._resizeObserver.observe(this.canvas.parentElement))}),300),document.addEventListener("scroll",this._onScroll)}setVariables(e){if(void 0!==this._data){let t=Object.entries(e);for(let[e,n]of t)this.setVariable(e,n)}}setVariable(e,t){let n=this._getVariableByName(e);if(n&&!("dynamicVariableType"in n.data)){var r;let e=t;"number"==typeof n.data.value?e="number"==typeof t?t:"boolean"==typeof t?!0===t?1:0:parseFloat(t):"boolean"==typeof n.data.value?e="number"==typeof t?!!t:"boolean"==typeof t?t:"false"!==t.toLocaleLowerCase()&&!!t:"string"!=typeof n.data.value&&void 0!==n.data.value.textValue&&(e=t.toString());let i="string"==typeof e?{textValue:e}:e;null!==(r=this._sharedAssetsManager)&&void 0!==r&&r.updateVariable(n.id,i),this.requestRender(),this._requestRenderAutoMode()}else void 0===n?console.warn("No variable named ".concat(e," was found in your Spline file. Make sure to create it from Spline editor.")):"dynamicVariableType"in n.data&&console.warn("Dynamic variables like ".concat(e," cannot be updated from code."))}getVariables(){let e={};return this._data&&this._data.shared.variables.forEach((t=>{void 0===e[t.data.name]&&(e[t.data.name]=this._getVariableValue(this._sharedAssetsManager.getVariable(t.id)))})),e}getVariable(e){let t=this._getVariableByName(e);if(t){let e=this._sharedAssetsManager.getVariable(t.id);return this._getVariableValue(e)}}_getVariableValue(e){return"string"!=typeof e&&iL.isTextValue(e)?iL.getDisplayedValue(e):e}_getVariableByName(e){if(this._data){if(this._variablesCache.has(e))return this._variablesCache.get(e);let t=this._data.shared.variables.find((t=>t.data.name===e));return t&&this._variablesCache.set(e,t),t}}findObjectById(e){var t;let n=null===(t=this._scene)||void 0===t?void 0:t.getObjectByProperty("uuid",e);return this._createProxyObject(n)}findObjectByName(e){var t;let n=null===(t=this._scene)||void 0===t?void 0:t.getObjectByName(e);return this._createProxyObject(n)}getAllObjects(){var e;let t=[];return null!==(e=this._scene)&&void 0!==e&&e.traverseEntity((e=>{if(e.uuid!==LU&&!this._scene.isInvisibleObjects(e)&&!(e instanceof Y6)){let n=this._createProxyObject(e);n&&t.push(n)}})),t}getSplineEvents(){var e;return(null===(e=this._eventManager)||void 0===e||null===(e=e.handlers)||void 0===e?void 0:e.Spline).splineEvents}emitEvent(e,t){var n;null===(n=this.findObjectById(t)||this.findObjectByName(t))||void 0===n||n.emitEvent(e)}emitEventReverse(e,t){var n;null===(n=this.findObjectById(t)||this.findObjectByName(t))||void 0===n||n.emitEventReverse(e)}addEventListener(e,t){this.canvas.addEventListener(e,t)}removeEventListener(e,t){this.canvas.removeEventListener(e,t)}setZoom(e){var t,n;(null===(t=this._controls)||void 0===t?void 0:t.orbitControls)instanceof Cte&&(null===(n=this._controls)||void 0===n||n.orbitControls.zoomOut(e))}get eventManager(){return this._eventManager}get controls(){return this._controls}setSize(e,t){this._viewportWidth=e,this._viewportHeight=t,this._viewportMode=2,this._resize()}setBackgroundColor(e){var t;let{r:n,g:r,b:i,a:a}={r:0,g:0,b:0,a:1},s=new wX(n,r,i,a);try{s.setStyle(e)}catch{console.error("This is not a valid css color",e)}null!==(t=this._scene)&&void 0!==t&&t.activePage.setBackgroundColor(s),this._requestRenderAutoMode()}dispose(){var e,t,n,r,i,a,s;this.disposed=!0,null!==(e=this._eventManager)&&void 0!==e&&e.deactivate(),null!==(t=this._scene)&&void 0!==t&&t.dispose(),null!==(n=this._sharedAssetsManager)&&void 0!==n&&n.dispose(),this._proxyObjectCache.forEach((e=>{bD.unsubscribe(e)})),this._variablesCache.clear(),null!==(r=this._renderer)&&void 0!==r&&r.setAnimationLoop(null),null!==(i=this._renderer)&&void 0!==i&&i.dispose(),this._renderer=void 0,null!==(a=this._sharedAssetsManager)&&void 0!==a&&a.dispose(),this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=void 0),void 0!==this._resizeObserverTimeout&&clearTimeout(this._resizeObserverTimeout),this.canvas.style.width="",this.canvas.style.height="",this.canvas.removeAttribute("width"),this.canvas.removeAttribute("height"),this._frameView&&(this._frameView=void 0),null!==(s=this._controls)&&void 0!==s&&s.deactivate(),function(e){e.removeEventListener("pointerdown",GW,!0),e.removeEventListener("pointerdown",HW,!0),e.removeEventListener("pointermove",HW,!0),e.removeEventListener("pointerup",qW,!0),e.removeEventListener("pointercancel",qW,!0),e.removeEventListener("pointerleave",qW,!0),window.removeEventListener("keydown",zW,!0),window.removeEventListener("keyup",JW,!0)}(this.canvas),document.removeEventListener("scroll",this._onScroll)}get isStopped(){return this._isPaused}stop(){var e,t,n;this._isPaused||(null!==(e=this._renderer)&&void 0!==e&&e.setAnimationLoop(null),this._isPaused=!0,null!==(t=this._eventManager)&&void 0!==t&&t.pause(),(null===(n=this._controls)||void 0===n?void 0:n.orbitControls)&&(this._controls.orbitControls.enabled=!1))}play(){var e,t,n;!this._isPaused||(this._isPaused=!1,null!==(e=this._eventManager)&&void 0!==e&&e.resume(),null!==(t=this._controls)&&void 0!==t&&t.orbitControls&&(this._controls.orbitControls.enabled=!0),null===(n=this._renderer)||void 0===n||n.setAnimationLoop(this.render))}setGlobalEvents(e){var t;null===(t=this._eventManager)||void 0===t||t.updateUseWindowEvents(e)}get data(){return this._data}_createProxyObject(e){var t;if(null==e)return;if(this._proxyObjectCache.has(e.uuid))return this._proxyObjectCache.get(e.uuid);let n;e.traverseAncestors((e=>{e instanceof Y6&&(n=e.name)}));let r={name:e.name,uuid:e.uuid,visible:e.visible,intensity:e.intensity,position:e.position,rotation:e.rotation,scale:e.scale,type:e.data.type,page:n,parentUuid:e.parent instanceof Y6||e instanceof o4||null===(t=e.parent)||void 0===t?void 0:t.uuid,emitEvent(t){e.dispatchEvent({type:"userEvent",eventName:t})},emitEventReverse(t){e.dispatchEvent({type:"userEvent",eventName:t,reverse:!0})}},i=bD(r,((t,n)=>{var r;"object"!=typeof e[t]&&null!==(r=Object.getOwnPropertyDescriptor(e,t))&&void 0!==r&&r.writable&&(e[t]=n),this._requestRenderAutoMode(),e.updateMatrix()}));return this._proxyObjectCache.set(e.uuid,i),i}setUIWasmUrl(e){__.skiaWasmUrl=e}},bne=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},kne={},wne={get exports(){return kne},set exports(e){kne=e}},jne={};!function(e){e.exports=function(){if(Sne)return jne;Sne=1;var e=t,n=Symbol.for("react.element"),r=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,a=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function o(e,t,r){var o,l={},c=null,d=null;for(o in void 0!==r&&(c=""+r),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(d=t.ref),t)i.call(t,o)&&!s.hasOwnProperty(o)&&(l[o]=t[o]);if(e&&e.defaultProps)for(o in t=e.defaultProps)void 0===l[o]&&(l[o]=t[o]);return{$$typeof:n,type:e,key:c,ref:d,props:l,_owner:a.current}}return jne.Fragment=r,jne.jsx=o,jne.jsxs=o,jne}()}(wne);const Mne=kne.jsx;var Pne=NaN,One="[object Symbol]",Tne=/^\s+|\s+$/g,Ine=/^[-+]0x[0-9a-f]+$/i,Cne=/^0b[01]+$/i,Ene=/^0o[0-7]+$/i,Vne=parseInt,Rne="object"==typeof bne&&bne&&bne.Object===Object&&bne,Dne="object"==typeof self&&self&&self.Object===Object&&self,Bne=Rne||Dne||Function("return this")(),Gne=Object.prototype.toString,qne=Math.max,Hne=Math.min,Wne=function(){return Bne.Date.now()};function zne(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function Jne(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&Gne.call(e)==One}(e))return Pne;if(zne(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=zne(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(Tne,"");var n=Cne.test(e);return n||Ene.test(e)?Vne(e.slice(2),n?2:8):Ine.test(e)?Pne:+e}var Une=function(e,t,n){var r,i,a,s,o,l,c=0,d=!1,h=!1,u=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function p(t){var n=r,a=i;return r=i=void 0,c=t,s=e.apply(a,n)}function f(e){var n=e-l;return void 0===l||n>=t||n<0||h&&e-c>=a}function m(){var e=Wne();if(f(e))return g(e);o=setTimeout(m,function(e){var n=t-(e-l);return h?Hne(n,a-(e-c)):n}(e))}function g(e){return o=void 0,u&&r?p(e):(r=i=void 0,s)}function y(){var e=Wne(),n=f(e);if(r=arguments,i=this,l=e,n){if(void 0===o)return function(e){return c=e,o=setTimeout(m,t),d?p(e):s}(l);if(h)return o=setTimeout(m,t),p(l)}return void 0===o&&(o=setTimeout(m,t)),s}return t=Jne(t)||0,zne(n)&&(d=!!n.leading,a=(h="maxWait"in n)?qne(Jne(n.maxWait)||0,t):a,u="trailing"in n?!!n.trailing:u),y.cancel=function(){void 0!==o&&clearTimeout(o),c=0,r=l=i=o=void 0},y.flush=function(){return void 0===o?s:g(Wne())},y};function Nne(e){return t=>{e.forEach((e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)}))}}const Lne=[],Yne={width:"100%",height:"100%"},Fne=(0,t.forwardRef)((function(e,n){let{className:r,children:i,debounceTime:a=300,ignoreDimensions:s=Lne,parentSizeStyles:o,enableDebounceLeadingCall:l=!0,resizeObserverPolyfill:c,...d}=e;const h=(0,t.useRef)(null),u=(0,t.useRef)(0),[p,f]=(0,t.useState)({width:0,height:0,top:0,left:0}),m=(0,t.useMemo)((()=>{const e=Array.isArray(s)?s:[s];return Une((t=>{f((n=>Object.keys(n).filter((e=>n[e]!==t[e])).every((t=>e.includes(t)))?n:t))}),a,{leading:l})}),[a,l,s]);return(0,t.useEffect)((()=>{const e=new(c||window.ResizeObserver)((e=>{e.forEach((e=>{var t;const{left:n,top:r,width:i,height:a}=null!==(t=null==e?void 0:e.contentRect)&&void 0!==t?t:{};u.current=window.requestAnimationFrame((()=>{m({width:i,height:a,top:r,left:n})}))}))}));return h.current&&e.observe(h.current),()=>{window.cancelAnimationFrame(u.current),e.disconnect(),m.cancel()}}),[m,c]),Mne("div",{style:{...Yne,...o},ref:Nne([n,h]),className:r,...d,children:i({...p,ref:h.current,resize:m})})})),Zne=(0,t.forwardRef)(((e,n)=>{let{scene:r,style:i,onMouseDown:a,onMouseUp:s,onMouseHover:o,onKeyDown:l,onKeyUp:c,onStart:d,onLookAt:h,onFollow:u,onWheel:p,onLoad:f,renderOnDemand:m=!0,...g}=e;const y=(0,t.useRef)(null),[v,x]=(0,t.useState)(!0);return(0,t.useEffect)((()=>{let e;x(!0);const t=[{name:"mouseDown",cb:a},{name:"mouseUp",cb:s},{name:"mouseHover",cb:o},{name:"keyDown",cb:l},{name:"keyUp",cb:c},{name:"start",cb:d},{name:"lookAt",cb:h},{name:"follow",cb:u},{name:"scroll",cb:p}];if(y.current){async function n(){await e.load(r);for(let n of t)n.cb&&e.addEventListener(n.name,n.cb);x(!1),null==f||f(e)}e=new Ane(y.current,{renderOnDemand:m}),n()}return()=>{for(let n of t)n.cb&&e.removeEventListener(n.name,n.cb);e.dispose()}}),[r]),Mne(Fne,{ref:n,parentSizeStyles:i,debounceTime:50,...g,children:()=>Mne("canvas",{ref:y,style:{display:v?"none":"block"}})})})),Kne=e=>{let{image:t,numbers:n,description:r,index:i}=e;return(0,$o.jsxs)("div",{className:"solution-card solution-card--".concat(i+1),children:[(0,$o.jsx)("img",{src:t,alt:t}),(0,$o.jsx)("div",{className:"solution-card__title",children:n}),(0,$o.jsx)("p",{className:"body1",children:r})]})},Qne=__webpack_require__.p+"static/media/new-video.a0420b20af8ce3ecb276.mp4",Xne="data:image/jpeg;base64,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";Yu.registerPlugin(ag);const _ne=()=>{const{first_screen_title:e,banner_title:n,banner_cards:r=[]}=hs(ni),i=hs(Pi),a=(0,t.useRef)(null),[s,o]=(0,t.useState)(!1);(0,t.useEffect)((()=>{a&&a.current&&a.current.play().catch((e=>{console.error("Error attempting to play",e)}))}),[]);const l=(0,t.useRef)();return _u((()=>{let e=Yu.timeline({scrollTrigger:{trigger:".hero",start:"top top",end:"+=500px",scrub:1}});e.fromTo(".information-wrapper__news-wrapper",{marginRight:-8,opacity:1},{marginRight:-382,opacity:0}),e.to(".information-wrapper__box-for-border",{translateX:366,opacity:0},"<"),e.to(".hero__piece",{translateX:358},"<"),e.to(".information-wrapper__offer-section",{height:"780px"},"<"),e.fromTo("canvas",{translateX:"35%",translateY:"-32%",scale:.6},{translateX:"0%",translateY:"0",scale:1},"<"),e.to(".information-wrapper__offer-section .gradient-text",{scale:1.5},"<"),e.to(".test-helper",{height:"0"},"<");let t=Yu.timeline({scrollTrigger:{trigger:".test",start:"top 90px",end:"bottom",scrub:1,pin:!0}});t.to(".solution-card--1",{yPercent:-180},"<"),t.to(".solution-card--4",{yPercent:-170},"-=0.4"),t.to(".solution-card--2",{yPercent:-170},"-=0.4"),t.to(".solution-card--3",{yPercent:-130},"-=0.3")}),{scope:l,dependencies:[s]}),(0,$o.jsxs)("section",{className:"container",ref:l,style:{overflow:"hidden"},children:[(0,$o.jsxs)("div",{className:"hero",children:[(0,$o.jsx)("video",{playsInline:!0,loop:!0,muted:!0,src:Qne,ref:a,poster:Xne}),(0,$o.jsx)(ol,{textColor:"white",className:"has-animation",children:(0,$o.jsx)("h1",{dangerouslySetInnerHTML:{__html:e}})}),(0,$o.jsx)("div",{className:"hero__piece"})]}),(0,$o.jsx)("div",{className:"test",children:(0,$o.jsxs)("div",{className:"information-wrapper",children:[(0,$o.jsxs)("div",{className:"information-wrapper__offer-section",children:[(0,$o.jsx)("div",{className:"asdasdasdasd",children:(0,$o.jsx)(ol,{size:"super-small",textColor:"white",className:"has-animation",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:n}})})}),(0,$o.jsx)(Zne,{className:"canvas-container ".concat(s?"loaded":""),scene:"https://prod.spline.design/QMHsLmTlrQlLNtn5/scene.splinecode",onLoad:e=>{e.findObjectById("8ee353d4-07de-46c1-86d1-53b653da295e")&&o(!0)}})]}),(0,$o.jsx)("div",{className:"information-wrapper__box-for-border"}),(0,$o.jsx)("div",{className:"information-wrapper__box-for-border radius16"}),(0,$o.jsx)("div",{className:"information-wrapper__news-wrapper",children:(0,$o.jsx)(Jb,{className:"slider-head",children:null===i||void 0===i?void 0:i.map((e=>(0,$o.jsx)(zA,{children:(0,$o.jsx)(Ub,{card:e,array:i})},e.slug)))})}),r.map(((e,t)=>(0,$o.jsx)(Kne,{index:t,image:e.icon,numbers:e.title,description:e.text},e.title)))]})}),(0,$o.jsx)("div",{className:"test-helper"})]})},$ne=()=>{const{discover_information_description:e,discover_information_title:t,discover_nutrition_background:n,discover_nutrition_description:r,discover_nutrition_title:i,discover_trial_description:a,discover_trial_image:s,discover_trial_title:o,discover_title:l}=hs(ni);return(0,$o.jsx)($o.Fragment,{children:(0,$o.jsx)("section",{className:"container",children:(0,$o.jsxs)("div",{className:"trial-results",children:[(0,$o.jsx)(ol,{size:"middle",textColor:"white",className:"has-animation",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:l}})}),(0,$o.jsxs)("div",{className:"discover",children:[(0,$o.jsxs)("div",{className:"discover-1 discover-item",children:[(0,$o.jsx)("img",{src:s,alt:"charts"}),(0,$o.jsxs)("div",{className:"discover-1-content",children:[(0,$o.jsx)("div",{className:"discover-title",children:o}),(0,$o.jsx)("p",{className:"discover-text",children:a}),(0,$o.jsx)(al,{href:Fo.trialResults,type:"learn-more-arrow"})]})]}),(0,$o.jsxs)("div",{className:"discover-2 discover-item",style:{backgroundImage:'url("'.concat(n,'")')},children:[(0,$o.jsx)("div",{className:"discover-title",children:i}),(0,$o.jsx)("p",{className:"discover-text",children:r}),(0,$o.jsx)(al,{href:Fo.cropNutritionPrograms,type:"learn-more-arrow"})]}),(0,$o.jsxs)("div",{className:"discover-3 discover-item",children:[(0,$o.jsx)("div",{className:"discover-title",children:t}),(0,$o.jsx)("p",{className:"discover-text",children:e}),(0,$o.jsx)(al,{href:Fo.informationMaterials,type:"learn-more-arrow"})]})]})]})})})},ere=()=>{const{news_button:e,news_description:t,news_tag:n,news_title:r}=hs(ni),i=hs(Pi),a=[LA],s=Dy("max-width: 1023px");return(0,$o.jsxs)("section",{className:"container",children:[(0,$o.jsx)("div",{className:"inner-container type-3",children:(0,$o.jsxs)("div",{className:"main-text-container with-absolute-label",children:[(0,$o.jsx)(ll,{children:n}),(0,$o.jsx)("div",{className:"offset-left-4",children:(0,$o.jsx)(ol,{size:"middle",className:"has-animation",children:(0,$o.jsx)("h2",{children:r})})})]})}),(0,$o.jsx)(Dv,{containerType:"type-2",Sidebar:(0,$o.jsxs)("div",{className:"homepage-news-text has-animation",children:[(0,$o.jsx)(ol,{size:"super-small",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:t}})}),(0,$o.jsx)(al,{href:Fo.news,type:"learn-more-arrow",children:e})]}),children:s?(0,$o.jsx)("div",{className:"news-slider homepage-news-slider has-animation",children:(0,$o.jsx)(WA,{pagination:!0,modules:a,breakpoints:{320:{slidesPerView:1},768:{slidesPerView:2}},spaceBetween:8,children:i.map((e=>(0,$o.jsx)(zA,{children:(0,$o.jsx)(mS,{data:e})},e.slug)))})}):(0,$o.jsx)("div",{className:"latest-cards-container has-animation",children:i.map((e=>(0,$o.jsx)(mS,{data:e},e.slug)))})})]})};Yu.registerPlugin(ag);const tre=()=>{const{banner_cards:e=[],banner_title:n}=hs(ni),r=(0,t.useRef)(),i=Dy("max-width: 1023px")?[-250,-180,-220,-270]:[-300,-200,-150,-270];return _u((()=>{Yu.utils.toArray([".solution-card"]).forEach(((e,t)=>{Yu.to(e,{yPercent:i[t],ease:"none",scrollTrigger:{trigger:".solutions",scrub:1}})}))}),{scope:r}),(0,$o.jsx)("section",{id:"information-wrapper",className:"container",ref:r,children:(0,$o.jsxs)("div",{className:"solutions",children:[(0,$o.jsx)(ol,{size:"super-small",textColor:"white",className:"has-animation",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:n}})}),(0,$o.jsx)("div",{children:e.map(((e,t)=>(0,$o.jsx)(Kne,{index:t,image:e.icon,numbers:e.title,description:e.text},e.title)))})]})})},nre=()=>{const{about_button:e,about_tag:t,about_text:n,about_title:r}=hs(ni);return(0,$o.jsx)("section",{className:"container",children:(0,$o.jsx)("div",{className:"inner-container type-2",children:(0,$o.jsxs)("div",{className:"main-text-container",children:[(0,$o.jsx)(ll,{children:t}),(0,$o.jsx)(ol,{className:"has-animation",children:(0,$o.jsx)("p",{dangerouslySetInnerHTML:{__html:r}})}),(0,$o.jsxs)("div",{className:"offset-left-4 has-animation",children:[(0,$o.jsx)(ol,{size:"small",children:(0,$o.jsx)("p",{dangerouslySetInnerHTML:{__html:n}})}),(0,$o.jsx)(al,{href:Fo.aboutUs,type:"learn-more-arrow",className:"business-philosophy-button",children:e})]})]})})})},rre=e=>{let{data:t,index:n}=e;const{logo:r,preview_title:i,preview_image:a,slug:s}=t;return(0,$o.jsxs)(No,{to:Fo.products+"/"+s,className:"product-link",children:[(0,$o.jsxs)("div",{className:"product-link__name",children:[i,(0,$o.jsx)("div",{className:"gradient-number dark",children:(0,$o.jsx)("span",{children:n+1})})]}),(0,$o.jsx)("div",{className:"product-link__image",style:{backgroundImage:'url("'.concat(a,'")')},children:(0,$o.jsx)("div",{className:"product-link__image-logo",children:(0,$o.jsx)("img",{src:r,alt:"product-logo"})})}),(0,$o.jsx)("div",{className:"button learn-more-arrow",children:(0,$o.jsx)("div",{})})]})},ire=()=>{const{products_tag:e,products_title:t}=hs(ni),n=hs(vr);return(0,$o.jsxs)("section",{className:"container our-products",children:[(0,$o.jsx)("div",{className:"inner-container type-3",children:(0,$o.jsxs)("div",{className:"main-text-container with-absolute-label",children:[(0,$o.jsx)(ll,{children:e}),(0,$o.jsx)("div",{className:"offset-left-4",children:(0,$o.jsx)(ol,{size:"middle has-animation",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:t}})})})]})}),(0,$o.jsx)(Dv,{containerType:"type-2",Sidebar:(0,$o.jsx)($o.Fragment,{}),breakpoint:"lg",children:(0,$o.jsx)("div",{className:"homepage-product-items",children:n.map(((e,t)=>(0,$o.jsx)(rre,{index:t,data:e},e.slug)))})})]})};const are=__webpack_require__.p+"static/media/heart.7f0d0494172e4d5ca95e16472d329a90.svg";const sre=__webpack_require__.p+"static/media/comment.a0080a94965b4a5f588fc8b43ef373ed.svg";const ore=__webpack_require__.p+"static/media/share.0ba99cc410690f8c77939ff15d8d46ad.svg";const lre=__webpack_require__.p+"static/media/bookmark.1a80f3d05501f22cc15e1f6e562c70dd.svg",cre=e=>{let{image:t}=e;return(0,$o.jsxs)("div",{className:"instagram-card",children:[(0,$o.jsx)("img",{src:t,alt:"instagram card"}),(0,$o.jsxs)("div",{className:"icons-wrapper",children:[(0,$o.jsxs)("div",{className:"left-icons-wrapper",children:[(0,$o.jsx)("img",{src:are,alt:"heart icon"}),(0,$o.jsx)("img",{src:sre,alt:"comment icon"}),(0,$o.jsx)("img",{src:ore,alt:"share icon"})]}),(0,$o.jsx)("img",{src:lre,alt:"bookmark icon"})]})]})};const dre=__webpack_require__.p+"static/media/blackInstagram.3253bd5a30f342eac2856fea4729bfd4.svg";Yu.registerPlugin(ag);const hre=()=>{const[e,n]=t.useState({width:void 0,height:void 0});return t.useEffect((()=>{const e=()=>n({width:window.innerWidth,height:window.innerHeight});return window.addEventListener("resize",e),e(),()=>{window.removeEventListener("resize",e)}}),[]),e},ure=__webpack_require__.p+"static/media/new-video-mobile.560444a7b32b2b10d828.mp4",pre=()=>{const{first_screen_title:e,banner_title:n}=hs(ni),r=hs(Pi),i=(0,t.useRef)(null);(0,t.useEffect)((()=>{i&&i.current&&i.current.play().catch((e=>{console.error("Error attempting to play",e)}))}),[]);return(0,$o.jsxs)("section",{className:"container hero-mobile",children:[(0,$o.jsxs)("div",{className:"hero",children:[(0,$o.jsx)("video",{playsInline:!0,loop:!0,muted:!0,src:ure,ref:i,poster:Xne}),(0,$o.jsx)(ol,{textColor:"white",className:"has-animation",children:(0,$o.jsx)("h1",{dangerouslySetInnerHTML:{__html:e}})})]}),(0,$o.jsxs)("div",{className:"information-wrapper",children:[(0,$o.jsxs)("div",{className:"information-wrapper__offer-section",children:[(0,$o.jsx)(ol,{size:"super-small",textColor:"white",className:"has-animation",children:(0,$o.jsx)("span",{dangerouslySetInnerHTML:{__html:n}})}),(0,$o.jsx)(al,{type:"white-arrow",onClick:()=>Wa("solutions",100)})]}),(0,$o.jsx)("div",{className:"information-wrapper__box-for-border"}),(0,$o.jsx)("div",{className:"information-wrapper__box-for-border radius16"}),(0,$o.jsx)("div",{className:"information-wrapper__box-for-border location-left"}),(0,$o.jsx)("div",{className:"information-wrapper__box-for-border location-left radius16"}),(0,$o.jsx)("div",{className:"information-wrapper__news-wrapper",children:(0,$o.jsx)(Jb,{className:"slider-head",children:null===r||void 0===r?void 0:r.map((e=>(0,$o.jsx)(zA,{children:(0,$o.jsx)(Ub,{card:e,array:r})},e.slug)))})})]})]})};const fre=__webpack_require__.p+"static/media/insta-bg-mask.5e21781e7ba976a3e60f6ae128072a13.svg",mre=__webpack_require__.p+"static/media/carles-rabada-hd2jIyRo7iY-unsplash (1) (1) (2).af38b19e707e26571b8c.jpg";Yu.registerPlugin(ag);const gre=e=>{let{loading:n}=e;const r={maskImage:"url('".concat(fre,"')"),WebkitMaskImage:"url('".concat(fre,"')")},{instagram_photo_1:i,instagram_photo_2:a,instagram_photo_3:s,instagram_photo_4:o,instagram_title:l}=hs(ni),{footer_instagram_link:c}=hs(Ta),d=Dy("max-width: 1023px")?[-400,-150,-370,-105]:[-280,-120,-300,-150],h=(0,t.useRef)();return _u((()=>{Yu.from(".new-insta__content",{y:10,opacity:0,ease:"power1.in",duration:.4,scrollTrigger:{trigger:h.current,start:"top 70%"}}),Yu.from(".new-insta__mask",{y:10,opacity:0,ease:"power1.in",duration:.4,scrollTrigger:{trigger:h.current,start:"top 50%"}})}),{dependencies:[n],scope:h}),_u((()=>{let e=Yu.timeline({scrollTrigger:{trigger:h.current,start:"top 8px",scrub:1,pin:!0}});e.fromTo(".new-insta__mask",{maskSize:60},{maskSize:120}),e.fromTo(".new-insta-anim-card__1",{yPercent:0},{yPercent:d[0]},"-=.3"),e.fromTo(".new-insta-anim-card__3",{yPercent:0},{yPercent:d[2]},"-=.35"),e.fromTo(".new-insta-anim-card__2",{yPercent:0},{yPercent:d[1]},"-=.3"),e.fromTo(".new-insta-anim-card__4",{yPercent:0},{yPercent:d[3]},"-=.35")}),{dependencies:[n],scope:h}),(0,$o.jsx)("section",{className:"container",ref:h,children:(0,$o.jsxs)("div",{className:"new-insta",children:[(0,$o.jsx)("div",{className:"new-insta__mask",style:r,children:(0,$o.jsx)("img",{src:mre,alt:"background"})}),(0,$o.jsxs)("div",{className:"new-insta__content",children:[(0,$o.jsx)("div",{className:"h1",children:l}),(0,$o.jsx)(No,{target:"_blank",to:c,children:(0,$o.jsx)("img",{src:dre,alt:"instagram"})})]}),(0,$o.jsx)("div",{className:"new-insta-anim-card new-insta-anim-card__1",children:(0,$o.jsx)(cre,{image:i})}),(0,$o.jsx)("div",{className:"new-insta-anim-card new-insta-anim-card__2",children:(0,$o.jsx)(cre,{image:a})}),(0,$o.jsx)("div",{className:"new-insta-anim-card new-insta-anim-card__3",children:(0,$o.jsx)(cre,{image:s})}),(0,$o.jsx)("div",{className:"new-insta-anim-card new-insta-anim-card__4",children:(0,$o.jsx)(cre,{image:o})})]})})},yre=()=>{const e=hs(ri),{mission_background_image:n,mission_cards:r,mission_title:i}=hs(ni),{width:a}=hre(),s=(0,t.useRef)();return Sg({items:[],container:s,dependencies:[e]}),Ag({item:".discover-item",trigger:".discover",container:s,dependencies:[e]}),Ag({item:".product-link",trigger:".homepage-product-items",container:s,dependencies:[e]}),(0,$o.jsxs)("div",{ref:s,children:[a>=1024?(0,$o.jsx)(_ne,{}):(0,$o.jsxs)($o.Fragment,{children:[(0,$o.jsx)(pre,{}),(0,$o.jsx)(tre,{})]}),(0,$o.jsx)(nre,{}),(0,$o.jsx)(eS,{loading:e,background:n,title:i,data:r}),(0,$o.jsx)(ire,{}),(0,$o.jsx)($ne,{}),(0,$o.jsx)(ere,{}),(0,$o.jsx)(gre,{loading:e}),(0,$o.jsx)(Kv,{})]})},vre=()=>{const e=Ss(),n=hs(ri),r=hs(Ia),i=hs(Oi),a=hs(hi),[s,o]=(0,t.useState)(!0);return Sx((()=>{o(!1)}),2e3),(0,t.useEffect)((()=>{(async()=>{await e(ai()),await e(si()),e(Pa()),e(bi({limit:4})),e(hr()),e(ei())})()}),[e]),r||n||s||i||a?(0,$o.jsx)(py,{main:!0}):(0,$o.jsx)($o.Fragment,{children:(0,$o.jsx)(Do,{children:(0,$o.jsxs)(Vo,{path:Fo.base,element:(0,$o.jsx)(Rv,{}),children:[(0,$o.jsx)(Vo,{path:Fo.base,element:(0,$o.jsx)(yre,{})}),(0,$o.jsx)(Vo,{path:Fo.products,element:(0,$o.jsx)(fy,{})}),(0,$o.jsx)(Vo,{path:Fo.products+"/:slug",element:(0,$o.jsx)(jx,{})}),(0,$o.jsx)(Vo,{path:Fo.resources,element:(0,$o.jsx)(my,{})}),(0,$o.jsx)(Vo,{path:Fo.trialResults,element:(0,$o.jsx)(Px,{})}),(0,$o.jsx)(Vo,{path:Fo.trialResults+"/:slug",element:(0,$o.jsx)(zx,{})}),(0,$o.jsx)(Vo,{path:Fo.cropNutritionPrograms,element:(0,$o.jsx)(Mx,{})}),(0,$o.jsx)(Vo,{path:Fo.cropNutritionPrograms+"/:slug",element:(0,$o.jsx)(Hx,{})}),(0,$o.jsx)(Vo,{path:Fo.informationMaterials,element:(0,$o.jsx)(Jx,{})}),(0,$o.jsx)(Vo,{path:Fo.aboutUs,element:(0,$o.jsx)(rS,{})}),(0,$o.jsx)(Vo,{path:Fo.news,element:(0,$o.jsx)(AS,{})}),(0,$o.jsx)(Vo,{path:Fo.news+"/:slug",element:(0,$o.jsx)(_A,{})}),(0,$o.jsx)(Vo,{path:Fo.career,element:(0,$o.jsx)(Tb,{})}),(0,$o.jsx)(Vo,{path:Fo.career+"/:slug",element:(0,$o.jsx)(wb,{})}),(0,$o.jsx)(Vo,{path:Fo.termsAndConditions,element:(0,$o.jsx)(Eb,{})}),(0,$o.jsx)(Vo,{path:Fo.legalInfo,element:(0,$o.jsx)(Vb,{})}),(0,$o.jsx)(Vo,{path:Fo.contacts,element:(0,$o.jsx)(Hb,{})}),(0,$o.jsx)(Vo,{path:"*",element:(0,$o.jsx)(zb,{})})]})})})},xre=()=>{const{pathname:e}=fo();return(0,t.useEffect)((()=>{window.scrollTo(0,0)}),[e]),null},Sre=()=>{const e=Ss(),{cookie_icon:t,cookie_title:n,cookie_description:r,cookie_btn:i}=hs(Ta);return!hs(Na)&&(0,$o.jsxs)("div",{className:"cookie-popup",children:[(0,$o.jsxs)("div",{className:"cookie-popup-content",children:[(0,$o.jsxs)("div",{className:"cookie-popup__title",children:[(0,$o.jsx)("img",{src:t,alt:""}),n]}),(0,$o.jsx)("div",{className:"cookie-popup__text",dangerouslySetInnerHTML:{__html:r}})]}),(0,$o.jsx)("button",{className:"button-submit",onClick:()=>e(Fa()),children:i})]})};r.createRoot(document.getElementById("root")).render((0,$o.jsx)(gs,{store:Ka,children:(0,$o.jsxs)(zo,{children:[(0,$o.jsx)(xre,{}),(0,$o.jsx)(vre,{}),(0,$o.jsx)(Sre,{})]})}))})()})();
//# sourceMappingURL=main.4fd70f77.js.map