!function(t){var e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(i,r,function(e){return t[e]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=403)}([function(t,e,n){"use strict";(function(t,i){n.d(e,"k",function(){return r}),n.d(e,"m",function(){return a}),n.d(e,"l",function(){return o}),n.d(e,"i",function(){return u}),n.d(e,"a",function(){return l}),n.d(e,"b",function(){return h}),n.d(e,"c",function(){return c}),n.d(e,"d",function(){return p}),n.d(e,"e",function(){return d}),n.d(e,"f",function(){return f}),n.d(e,"g",function(){return m}),n.d(e,"h",function(){return g}),n.d(e,"j",function(){return v});
/*!
 * VERSION: 2.0.2
 * DATE: 2018-08-27
 * UPDATES AND DOCS AT: http://greensock.com
 *
 * @license Copyright (c) 2008-2018, GreenSock. All rights reserved.
 * This work is subject to the terms at http://greensock.com/standard-license or for
 * Club GreenSock members, the software agreement that was issued with your membership.
 *
 * @author: Jack Doyle, jack@greensock.com
 */
var r="undefined"!=typeof window?window:void 0!==t&&t.exports&&void 0!==i?i:{},o=function(t,e){var n={},i=t.document,r=t.GreenSockGlobals=t.GreenSockGlobals||t;if(r.TweenLite)return r.TweenLite;var o,a,s,u,l,h=function(t){var e,n=t.split("."),i=r;for(e=0;e<n.length;e++)i[n[e]]=i=i[n[e]]||{};return i},c=h("com.greensock"),p=function(t){var e,n=[],i=t.length;for(e=0;e!==i;n.push(t[e++]));return n},d=function(){},f=function(){var t=Object.prototype.toString,e=t.call([]);return function(n){return null!=n&&(n instanceof Array||"object"==typeof n&&!!n.push&&t.call(n)===e)}}(),m={},g=function(t,e,i,o){this.sc=m[t]?m[t].sc:[],m[t]=this,this.gsClass=null,this.func=i;var a=[];this.check=function(s){for(var u,l,c,p,d=e.length,f=d;--d>-1;)(u=m[e[d]]||new g(e[d],[])).gsClass?(a[d]=u.gsClass,f--):s&&u.sc.push(this);if(0===f&&i)for(c=(l=("com.greensock."+t).split(".")).pop(),p=h(l.join("."))[c]=this.gsClass=i.apply(i,a),o&&(r[c]=n[c]=p),d=0;d<this.sc.length;d++)this.sc[d].check()},this.check(!0)},v=t._gsDefine=function(t,e,n,i){return new g(t,e,n,i)},y=c._class=function(t,e,n){return e=e||function(){},v(t,[],function(){return e},n),e};v.globals=r;var _=[0,0,1,1],b=y("easing.Ease",function(t,e,n,i){this._func=t,this._type=n||0,this._power=i||0,this._params=e?_.concat(e):_},!0),x=b.map={},w=b.register=function(t,e,n,i){for(var r,o,a,s,u=e.split(","),l=u.length,h=(n||"easeIn,easeOut,easeInOut").split(",");--l>-1;)for(o=u[l],r=i?y("easing."+o,null,!0):c.easing[o]||{},a=h.length;--a>-1;)s=h[a],x[o+"."+s]=x[s+o]=r[s]=t.getRatio?t:t[s]||new t};for((s=b.prototype)._calcEnd=!1,s.getRatio=function(t){if(this._func)return this._params[0]=t,this._func.apply(null,this._params);var e=this._type,n=this._power,i=1===e?1-t:2===e?t:t<.5?2*t:2*(1-t);return 1===n?i*=i:2===n?i*=i*i:3===n?i*=i*i*i:4===n&&(i*=i*i*i*i),1===e?1-i:2===e?i:t<.5?i/2:1-i/2},a=(o=["Linear","Quad","Cubic","Quart","Quint,Strong"]).length;--a>-1;)s=o[a]+",Power"+a,w(new b(null,null,1,a),s,"easeOut",!0),w(new b(null,null,2,a),s,"easeIn"+(0===a?",easeNone":"")),w(new b(null,null,3,a),s,"easeInOut");x.linear=c.easing.Linear.easeIn,x.swing=c.easing.Quad.easeInOut;var A=y("events.EventDispatcher",function(t){this._listeners={},this._eventTarget=t||this});(s=A.prototype).addEventListener=function(t,e,n,i,r){r=r||0;var o,a,s=this._listeners[t],h=0;for(this!==u||l||u.wake(),null==s&&(this._listeners[t]=s=[]),a=s.length;--a>-1;)(o=s[a]).c===e&&o.s===n?s.splice(a,1):0===h&&o.pr<r&&(h=a+1);s.splice(h,0,{c:e,s:n,up:i,pr:r})},s.removeEventListener=function(t,e){var n,i=this._listeners[t];if(i)for(n=i.length;--n>-1;)if(i[n].c===e)return void i.splice(n,1)},s.dispatchEvent=function(t){var e,n,i,r=this._listeners[t];if(r)for((e=r.length)>1&&(r=r.slice(0)),n=this._eventTarget;--e>-1;)(i=r[e])&&(i.up?i.c.call(i.s||n,{type:t,target:n}):i.c.call(i.s||n))};var S=t.requestAnimationFrame,T=t.cancelAnimationFrame,E=Date.now||function(){return(new Date).getTime()},M=E();for(a=(o=["ms","moz","webkit","o"]).length;--a>-1&&!S;)S=t[o[a]+"RequestAnimationFrame"],T=t[o[a]+"CancelAnimationFrame"]||t[o[a]+"CancelRequestAnimationFrame"];y("Ticker",function(t,e){var n,r,o,a,s,h=this,c=E(),p=!(!1===e||!S)&&"auto",f=500,m=33,g=function(t){var e,i,u=E()-M;u>f&&(c+=u-m),M+=u,h.time=(M-c)/1e3,e=h.time-s,(!n||e>0||!0===t)&&(h.frame++,s+=e+(e>=a?.004:a-e),i=!0),!0!==t&&(o=r(g)),i&&h.dispatchEvent("tick")};A.call(h),h.time=h.frame=0,h.tick=function(){g(!0)},h.lagSmoothing=function(t,e){if(!arguments.length)return f<1e10;f=t||1e10,m=Math.min(e,f,0)},h.sleep=function(){null!=o&&(p&&T?T(o):clearTimeout(o),r=d,o=null,h===u&&(l=!1))},h.wake=function(t){null!==o?h.sleep():t?c+=-M+(M=E()):h.frame>10&&(M=E()-f+5),r=0===n?d:p&&S?S:function(t){return setTimeout(t,1e3*(s-h.time)+1|0)},h===u&&(l=!0),g(2)},h.fps=function(t){if(!arguments.length)return n;a=1/((n=t)||60),s=this.time+a,h.wake()},h.useRAF=function(t){if(!arguments.length)return p;h.sleep(),p=t,h.fps(n)},h.fps(t),setTimeout(function(){"auto"===p&&h.frame<5&&"hidden"!==(i||{}).visibilityState&&h.useRAF(!1)},1500)}),(s=c.Ticker.prototype=new c.events.EventDispatcher).constructor=c.Ticker;var P=y("core.Animation",function(t,e){if(this.vars=e=e||{},this._duration=this._totalDuration=t||0,this._delay=Number(e.delay)||0,this._timeScale=1,this._active=!0===e.immediateRender,this.data=e.data,this._reversed=!0===e.reversed,Y){l||u.wake();var n=this.vars.useFrames?X:Y;n.add(this,n._time),this.vars.paused&&this.paused(!0)}});u=P.ticker=new c.Ticker,(s=P.prototype)._dirty=s._gc=s._initted=s._paused=!1,s._totalTime=s._time=0,s._rawPrevTime=-1,s._next=s._last=s._onUpdate=s._timeline=s.timeline=null,s._paused=!1;var C=function(){l&&E()-M>2e3&&("hidden"!==(i||{}).visibilityState||!u.lagSmoothing())&&u.wake();var t=setTimeout(C,2e3);t.unref&&t.unref()};C(),s.play=function(t,e){return null!=t&&this.seek(t,e),this.reversed(!1).paused(!1)},s.pause=function(t,e){return null!=t&&this.seek(t,e),this.paused(!0)},s.resume=function(t,e){return null!=t&&this.seek(t,e),this.paused(!1)},s.seek=function(t,e){return this.totalTime(Number(t),!1!==e)},s.restart=function(t,e){return this.reversed(!1).paused(!1).totalTime(t?-this._delay:0,!1!==e,!0)},s.reverse=function(t,e){return null!=t&&this.seek(t||this.totalDuration(),e),this.reversed(!0).paused(!1)},s.render=function(t,e,n){},s.invalidate=function(){return this._time=this._totalTime=0,this._initted=this._gc=!1,this._rawPrevTime=-1,!this._gc&&this.timeline||this._enabled(!0),this},s.isActive=function(){var t,e=this._timeline,n=this._startTime;return!e||!this._gc&&!this._paused&&e.isActive()&&(t=e.rawTime(!0))>=n&&t<n+this.totalDuration()/this._timeScale-1e-7},s._enabled=function(t,e){return l||u.wake(),this._gc=!t,this._active=this.isActive(),!0!==e&&(t&&!this.timeline?this._timeline.add(this,this._startTime-this._delay):!t&&this.timeline&&this._timeline._remove(this,!0)),!1},s._kill=function(t,e){return this._enabled(!1,!1)},s.kill=function(t,e){return this._kill(t,e),this},s._uncache=function(t){for(var e=t?this:this.timeline;e;)e._dirty=!0,e=e.timeline;return this},s._swapSelfInParams=function(t){for(var e=t.length,n=t.concat();--e>-1;)"{self}"===t[e]&&(n[e]=this);return n},s._callback=function(t){var e=this.vars,n=e[t],i=e[t+"Params"],r=e[t+"Scope"]||e.callbackScope||this;switch(i?i.length:0){case 0:n.call(r);break;case 1:n.call(r,i[0]);break;case 2:n.call(r,i[0],i[1]);break;default:n.apply(r,i)}},s.eventCallback=function(t,e,n,i){if("on"===(t||"").substr(0,2)){var r=this.vars;if(1===arguments.length)return r[t];null==e?delete r[t]:(r[t]=e,r[t+"Params"]=f(n)&&-1!==n.join("").indexOf("{self}")?this._swapSelfInParams(n):n,r[t+"Scope"]=i),"onUpdate"===t&&(this._onUpdate=e)}return this},s.delay=function(t){return arguments.length?(this._timeline.smoothChildTiming&&this.startTime(this._startTime+t-this._delay),this._delay=t,this):this._delay},s.duration=function(t){return arguments.length?(this._duration=this._totalDuration=t,this._uncache(!0),this._timeline.smoothChildTiming&&this._time>0&&this._time<this._duration&&0!==t&&this.totalTime(this._totalTime*(t/this._duration),!0),this):(this._dirty=!1,this._duration)},s.totalDuration=function(t){return this._dirty=!1,arguments.length?this.duration(t):this._totalDuration},s.time=function(t,e){return arguments.length?(this._dirty&&this.totalDuration(),this.totalTime(t>this._duration?this._duration:t,e)):this._time},s.totalTime=function(t,e,n){if(l||u.wake(),!arguments.length)return this._totalTime;if(this._timeline){if(t<0&&!n&&(t+=this.totalDuration()),this._timeline.smoothChildTiming){this._dirty&&this.totalDuration();var i=this._totalDuration,r=this._timeline;if(t>i&&!n&&(t=i),this._startTime=(this._paused?this._pauseTime:r._time)-(this._reversed?i-t:t)/this._timeScale,r._dirty||this._uncache(!1),r._timeline)for(;r._timeline;)r._timeline._time!==(r._startTime+r._totalTime)/r._timeScale&&r.totalTime(r._totalTime,!0),r=r._timeline}this._gc&&this._enabled(!0,!1),this._totalTime===t&&0!==this._duration||(I.length&&Z(),this.render(t,e,!1),I.length&&Z())}return this},s.progress=s.totalProgress=function(t,e){var n=this.duration();return arguments.length?this.totalTime(n*t,e):n?this._time/n:this.ratio},s.startTime=function(t){return arguments.length?(t!==this._startTime&&(this._startTime=t,this.timeline&&this.timeline._sortChildren&&this.timeline.add(this,t-this._delay)),this):this._startTime},s.endTime=function(t){return this._startTime+(0!=t?this.totalDuration():this.duration())/this._timeScale},s.timeScale=function(t){if(!arguments.length)return this._timeScale;var e,n;for(t=t||1e-10,this._timeline&&this._timeline.smoothChildTiming&&(n=(e=this._pauseTime)||0===e?e:this._timeline.totalTime(),this._startTime=n-(n-this._startTime)*this._timeScale/t),this._timeScale=t,n=this.timeline;n&&n.timeline;)n._dirty=!0,n.totalDuration(),n=n.timeline;return this},s.reversed=function(t){return arguments.length?(t!=this._reversed&&(this._reversed=t,this.totalTime(this._timeline&&!this._timeline.smoothChildTiming?this.totalDuration()-this._totalTime:this._totalTime,!0)),this):this._reversed},s.paused=function(t){if(!arguments.length)return this._paused;var e,n,i=this._timeline;return t!=this._paused&&i&&(l||t||u.wake(),n=(e=i.rawTime())-this._pauseTime,!t&&i.smoothChildTiming&&(this._startTime+=n,this._uncache(!1)),this._pauseTime=t?e:null,this._paused=t,this._active=this.isActive(),!t&&0!==n&&this._initted&&this.duration()&&(e=i.smoothChildTiming?this._totalTime:(e-this._startTime)/this._timeScale,this.render(e,e===this._totalTime,!0))),this._gc&&!t&&this._enabled(!0,!1),this};var L=y("core.SimpleTimeline",function(t){P.call(this,0,t),this.autoRemoveChildren=this.smoothChildTiming=!0});(s=L.prototype=new P).constructor=L,s.kill()._gc=!1,s._first=s._last=s._recent=null,s._sortChildren=!1,s.add=s.insert=function(t,e,n,i){var r,o;if(t._startTime=Number(e||0)+t._delay,t._paused&&this!==t._timeline&&(t._pauseTime=this.rawTime()-(t._timeline.rawTime()-t._pauseTime)),t.timeline&&t.timeline._remove(t,!0),t.timeline=t._timeline=this,t._gc&&t._enabled(!0,!0),r=this._last,this._sortChildren)for(o=t._startTime;r&&r._startTime>o;)r=r._prev;return r?(t._next=r._next,r._next=t):(t._next=this._first,this._first=t),t._next?t._next._prev=t:this._last=t,t._prev=r,this._recent=t,this._timeline&&this._uncache(!0),this},s._remove=function(t,e){return t.timeline===this&&(e||t._enabled(!1,!0),t._prev?t._prev._next=t._next:this._first===t&&(this._first=t._next),t._next?t._next._prev=t._prev:this._last===t&&(this._last=t._prev),t._next=t._prev=t.timeline=null,t===this._recent&&(this._recent=this._last),this._timeline&&this._uncache(!0)),this},s.render=function(t,e,n){var i,r=this._first;for(this._totalTime=this._time=this._rawPrevTime=t;r;)i=r._next,(r._active||t>=r._startTime&&!r._paused&&!r._gc)&&(r._reversed?r.render((r._dirty?r.totalDuration():r._totalDuration)-(t-r._startTime)*r._timeScale,e,n):r.render((t-r._startTime)*r._timeScale,e,n)),r=i},s.rawTime=function(){return l||u.wake(),this._totalTime};var R=y("TweenLite",function(e,n,i){if(P.call(this,n,i),this.render=R.prototype.render,null==e)throw"Cannot tween a null target.";this.target=e="string"!=typeof e?e:R.selector(e)||e;var r,o,a,s=e.jquery||e.length&&e!==t&&e[0]&&(e[0]===t||e[0].nodeType&&e[0].style&&!e.nodeType),u=this.vars.overwrite;if(this._overwrite=u=null==u?W[R.defaultOverwrite]:"number"==typeof u?u>>0:W[u],(s||e instanceof Array||e.push&&f(e))&&"number"!=typeof e[0])for(this._targets=a=p(e),this._propLookup=[],this._siblings=[],r=0;r<a.length;r++)(o=a[r])?"string"!=typeof o?o.length&&o!==t&&o[0]&&(o[0]===t||o[0].nodeType&&o[0].style&&!o.nodeType)?(a.splice(r--,1),this._targets=a=a.concat(p(o))):(this._siblings[r]=q(o,this,!1),1===u&&this._siblings[r].length>1&&J(o,this,null,1,this._siblings[r])):"string"==typeof(o=a[r--]=R.selector(o))&&a.splice(r+1,1):a.splice(r--,1);else this._propLookup={},this._siblings=q(e,this,!1),1===u&&this._siblings.length>1&&J(e,this,null,1,this._siblings);(this.vars.immediateRender||0===n&&0===this._delay&&!1!==this.vars.immediateRender)&&(this._time=-1e-10,this.render(Math.min(0,-this._delay)))},!0),O=function(e){return e&&e.length&&e!==t&&e[0]&&(e[0]===t||e[0].nodeType&&e[0].style&&!e.nodeType)};(s=R.prototype=new P).constructor=R,s.kill()._gc=!1,s.ratio=0,s._firstPT=s._targets=s._overwrittenProps=s._startAt=null,s._notifyPluginsOfEnabled=s._lazy=!1,R.version="2.0.2",R.defaultEase=s._ease=new b(null,null,1,1),R.defaultOverwrite="auto",R.ticker=u,R.autoSleep=120,R.lagSmoothing=function(t,e){u.lagSmoothing(t,e)},R.selector=t.$||t.jQuery||function(e){var n=t.$||t.jQuery;return n?(R.selector=n,n(e)):(i||(i=t.document),i?i.querySelectorAll?i.querySelectorAll(e):i.getElementById("#"===e.charAt(0)?e.substr(1):e):e)};var I=[],N={},D=/(?:(-|-=|\+=)?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/gi,B=/[\+-]=-?[\.\d]/,k=function(t){for(var e,n=this._firstPT;n;)e=n.blob?1===t&&null!=this.end?this.end:t?this.join(""):this.start:n.c*t+n.s,n.m?e=n.m.call(this._tween,e,this._target||n.t,this._tween):e<1e-6&&e>-1e-6&&!n.blob&&(e=0),n.f?n.fp?n.t[n.p](n.fp,e):n.t[n.p](e):n.t[n.p]=e,n=n._next},G=function(t,e,n,i){var r,o,a,s,u,l,h,c=[],p=0,d="",f=0;for(c.start=t,c.end=e,t=c[0]=t+"",e=c[1]=e+"",n&&(n(c),t=c[0],e=c[1]),c.length=0,r=t.match(D)||[],o=e.match(D)||[],i&&(i._next=null,i.blob=1,c._firstPT=c._applyPT=i),u=o.length,s=0;s<u;s++)h=o[s],d+=(l=e.substr(p,e.indexOf(h,p)-p))||!s?l:",",p+=l.length,f?f=(f+1)%5:"rgba("===l.substr(-5)&&(f=1),h===r[s]||r.length<=s?d+=h:(d&&(c.push(d),d=""),a=parseFloat(r[s]),c.push(a),c._firstPT={_next:c._firstPT,t:c,p:c.length-1,s:a,c:("="===h.charAt(1)?parseInt(h.charAt(0)+"1",10)*parseFloat(h.substr(2)):parseFloat(h)-a)||0,f:0,m:f&&f<4?Math.round:0}),p+=h.length;return(d+=e.substr(p))&&c.push(d),c.setRatio=k,B.test(e)&&(c.end=null),c},U=function(t,e,n,i,r,o,a,s,u){"function"==typeof i&&(i=i(u||0,t));var l=typeof t[e],h="function"!==l?"":e.indexOf("set")||"function"!=typeof t["get"+e.substr(3)]?e:"get"+e.substr(3),c="get"!==n?n:h?a?t[h](a):t[h]():t[e],p="string"==typeof i&&"="===i.charAt(1),d={t:t,p:e,s:c,f:"function"===l,pg:0,n:r||e,m:o?"function"==typeof o?o:Math.round:0,pr:0,c:p?parseInt(i.charAt(0)+"1",10)*parseFloat(i.substr(2)):parseFloat(i)-c||0};if(("number"!=typeof c||"number"!=typeof i&&!p)&&(a||isNaN(c)||!p&&isNaN(i)||"boolean"==typeof c||"boolean"==typeof i?(d.fp=a,d={t:G(c,p?parseFloat(d.s)+d.c+(d.s+"").replace(/[0-9\-\.]/g,""):i,s||R.defaultStringFilter,d),p:"setRatio",s:0,c:1,f:2,pg:0,n:r||e,pr:0,m:0}):(d.s=parseFloat(c),p||(d.c=parseFloat(i)-d.s||0))),d.c)return(d._next=this._firstPT)&&(d._next._prev=d),this._firstPT=d,d},V=R._internals={isArray:f,isSelector:O,lazyTweens:I,blobDif:G},z=R._plugins={},H=V.tweenLookup={},F=0,j=V.reservedProps={ease:1,delay:1,overwrite:1,onComplete:1,onCompleteParams:1,onCompleteScope:1,useFrames:1,runBackwards:1,startAt:1,onUpdate:1,onUpdateParams:1,onUpdateScope:1,onStart:1,onStartParams:1,onStartScope:1,onReverseComplete:1,onReverseCompleteParams:1,onReverseCompleteScope:1,onRepeat:1,onRepeatParams:1,onRepeatScope:1,easeParams:1,yoyo:1,immediateRender:1,repeat:1,repeatDelay:1,data:1,paused:1,reversed:1,autoCSS:1,lazy:1,onOverwrite:1,callbackScope:1,stringFilter:1,id:1,yoyoEase:1},W={none:0,all:1,auto:2,concurrent:3,allOnStart:4,preexisting:5,true:1,false:0},X=P._rootFramesTimeline=new L,Y=P._rootTimeline=new L,K=30,Z=V.lazyRender=function(){var t,e=I.length;for(N={};--e>-1;)(t=I[e])&&!1!==t._lazy&&(t.render(t._lazy[0],t._lazy[1],!0),t._lazy=!1);I.length=0};Y._startTime=u.time,X._startTime=u.frame,Y._active=X._active=!0,setTimeout(Z,1),P._updateRoot=R.render=function(){var t,e,n;if(I.length&&Z(),Y.render((u.time-Y._startTime)*Y._timeScale,!1,!1),X.render((u.frame-X._startTime)*X._timeScale,!1,!1),I.length&&Z(),u.frame>=K){for(n in K=u.frame+(parseInt(R.autoSleep,10)||120),H){for(t=(e=H[n].tweens).length;--t>-1;)e[t]._gc&&e.splice(t,1);0===e.length&&delete H[n]}if((!(n=Y._first)||n._paused)&&R.autoSleep&&!X._first&&1===u._listeners.tick.length){for(;n&&n._paused;)n=n._next;n||u.sleep()}}},u.addEventListener("tick",P._updateRoot);var q=function(t,e,n){var i,r,o=t._gsTweenID;if(H[o||(t._gsTweenID=o="t"+F++)]||(H[o]={target:t,tweens:[]}),e&&((i=H[o].tweens)[r=i.length]=e,n))for(;--r>-1;)i[r]===e&&i.splice(r,1);return H[o].tweens},Q=function(t,e,n,i){var r,o,a=t.vars.onOverwrite;return a&&(r=a(t,e,n,i)),(a=R.onOverwrite)&&(o=a(t,e,n,i)),!1!==r&&!1!==o},J=function(t,e,n,i,r){var o,a,s,u;if(1===i||i>=4){for(u=r.length,o=0;o<u;o++)if((s=r[o])!==e)s._gc||s._kill(null,t,e)&&(a=!0);else if(5===i)break;return a}var l,h=e._startTime+1e-10,c=[],p=0,d=0===e._duration;for(o=r.length;--o>-1;)(s=r[o])===e||s._gc||s._paused||(s._timeline!==e._timeline?(l=l||$(e,0,d),0===$(s,l,d)&&(c[p++]=s)):s._startTime<=h&&s._startTime+s.totalDuration()/s._timeScale>h&&((d||!s._initted)&&h-s._startTime<=2e-10||(c[p++]=s)));for(o=p;--o>-1;)if(u=(s=c[o])._firstPT,2===i&&s._kill(n,t,e)&&(a=!0),2!==i||!s._firstPT&&s._initted&&u){if(2!==i&&!Q(s,e))continue;s._enabled(!1,!1)&&(a=!0)}return a},$=function(t,e,n){for(var i=t._timeline,r=i._timeScale,o=t._startTime;i._timeline;){if(o+=i._startTime,r*=i._timeScale,i._paused)return-100;i=i._timeline}return(o/=r)>e?o-e:n&&o===e||!t._initted&&o-e<2e-10?1e-10:(o+=t.totalDuration()/t._timeScale/r)>e+1e-10?0:o-e-1e-10};s._init=function(){var t,e,n,i,r,o,a=this.vars,s=this._overwrittenProps,u=this._duration,l=!!a.immediateRender,h=a.ease;if(a.startAt){for(i in this._startAt&&(this._startAt.render(-1,!0),this._startAt.kill()),r={},a.startAt)r[i]=a.startAt[i];if(r.data="isStart",r.overwrite=!1,r.immediateRender=!0,r.lazy=l&&!1!==a.lazy,r.startAt=r.delay=null,r.onUpdate=a.onUpdate,r.onUpdateParams=a.onUpdateParams,r.onUpdateScope=a.onUpdateScope||a.callbackScope||this,this._startAt=R.to(this.target||{},0,r),l)if(this._time>0)this._startAt=null;else if(0!==u)return}else if(a.runBackwards&&0!==u)if(this._startAt)this._startAt.render(-1,!0),this._startAt.kill(),this._startAt=null;else{for(i in 0!==this._time&&(l=!1),n={},a)j[i]&&"autoCSS"!==i||(n[i]=a[i]);if(n.overwrite=0,n.data="isFromStart",n.lazy=l&&!1!==a.lazy,n.immediateRender=l,this._startAt=R.to(this.target,0,n),l){if(0===this._time)return}else this._startAt._init(),this._startAt._enabled(!1),this.vars.immediateRender&&(this._startAt=null)}if(this._ease=h=h?h instanceof b?h:"function"==typeof h?new b(h,a.easeParams):x[h]||R.defaultEase:R.defaultEase,a.easeParams instanceof Array&&h.config&&(this._ease=h.config.apply(h,a.easeParams)),this._easeType=this._ease._type,this._easePower=this._ease._power,this._firstPT=null,this._targets)for(o=this._targets.length,t=0;t<o;t++)this._initProps(this._targets[t],this._propLookup[t]={},this._siblings[t],s?s[t]:null,t)&&(e=!0);else e=this._initProps(this.target,this._propLookup,this._siblings,s,0);if(e&&R._onPluginEvent("_onInitAllProps",this),s&&(this._firstPT||"function"!=typeof this.target&&this._enabled(!1,!1)),a.runBackwards)for(n=this._firstPT;n;)n.s+=n.c,n.c=-n.c,n=n._next;this._onUpdate=a.onUpdate,this._initted=!0},s._initProps=function(e,n,i,r,o){var a,s,u,l,h,c;if(null==e)return!1;for(a in N[e._gsTweenID]&&Z(),this.vars.css||e.style&&e!==t&&e.nodeType&&z.css&&!1!==this.vars.autoCSS&&function(t,e){var n,i={};for(n in t)j[n]||n in e&&"transform"!==n&&"x"!==n&&"y"!==n&&"width"!==n&&"height"!==n&&"className"!==n&&"border"!==n||!(!z[n]||z[n]&&z[n]._autoCSS)||(i[n]=t[n],delete t[n]);t.css=i}(this.vars,e),this.vars)if(c=this.vars[a],j[a])c&&(c instanceof Array||c.push&&f(c))&&-1!==c.join("").indexOf("{self}")&&(this.vars[a]=c=this._swapSelfInParams(c,this));else if(z[a]&&(l=new z[a])._onInitTween(e,this.vars[a],this,o)){for(this._firstPT=h={_next:this._firstPT,t:l,p:"setRatio",s:0,c:1,f:1,n:a,pg:1,pr:l._priority,m:0},s=l._overwriteProps.length;--s>-1;)n[l._overwriteProps[s]]=this._firstPT;(l._priority||l._onInitAllProps)&&(u=!0),(l._onDisable||l._onEnable)&&(this._notifyPluginsOfEnabled=!0),h._next&&(h._next._prev=h)}else n[a]=U.call(this,e,a,"get",c,a,0,null,this.vars.stringFilter,o);return r&&this._kill(r,e)?this._initProps(e,n,i,r,o):this._overwrite>1&&this._firstPT&&i.length>1&&J(e,this,n,this._overwrite,i)?(this._kill(n,e),this._initProps(e,n,i,r,o)):(this._firstPT&&(!1!==this.vars.lazy&&this._duration||this.vars.lazy&&!this._duration)&&(N[e._gsTweenID]=!0),u)},s.render=function(t,e,n){var i,r,o,a,s=this._time,u=this._duration,l=this._rawPrevTime;if(t>=u-1e-7&&t>=0)this._totalTime=this._time=u,this.ratio=this._ease._calcEnd?this._ease.getRatio(1):1,this._reversed||(i=!0,r="onComplete",n=n||this._timeline.autoRemoveChildren),0===u&&(this._initted||!this.vars.lazy||n)&&(this._startTime===this._timeline._duration&&(t=0),(l<0||t<=0&&t>=-1e-7||1e-10===l&&"isPause"!==this.data)&&l!==t&&(n=!0,l>1e-10&&(r="onReverseComplete")),this._rawPrevTime=a=!e||t||l===t?t:1e-10);else if(t<1e-7)this._totalTime=this._time=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0,(0!==s||0===u&&l>0)&&(r="onReverseComplete",i=this._reversed),t<0&&(this._active=!1,0===u&&(this._initted||!this.vars.lazy||n)&&(l>=0&&(1e-10!==l||"isPause"!==this.data)&&(n=!0),this._rawPrevTime=a=!e||t||l===t?t:1e-10)),(!this._initted||this._startAt&&this._startAt.progress())&&(n=!0);else if(this._totalTime=this._time=t,this._easeType){var h=t/u,c=this._easeType,p=this._easePower;(1===c||3===c&&h>=.5)&&(h=1-h),3===c&&(h*=2),1===p?h*=h:2===p?h*=h*h:3===p?h*=h*h*h:4===p&&(h*=h*h*h*h),this.ratio=1===c?1-h:2===c?h:t/u<.5?h/2:1-h/2}else this.ratio=this._ease.getRatio(t/u);if(this._time!==s||n){if(!this._initted){if(this._init(),!this._initted||this._gc)return;if(!n&&this._firstPT&&(!1!==this.vars.lazy&&this._duration||this.vars.lazy&&!this._duration))return this._time=this._totalTime=s,this._rawPrevTime=l,I.push(this),void(this._lazy=[t,e]);this._time&&!i?this.ratio=this._ease.getRatio(this._time/u):i&&this._ease._calcEnd&&(this.ratio=this._ease.getRatio(0===this._time?0:1))}for(!1!==this._lazy&&(this._lazy=!1),this._active||!this._paused&&this._time!==s&&t>=0&&(this._active=!0),0===s&&(this._startAt&&(t>=0?this._startAt.render(t,!0,n):r||(r="_dummyGS")),this.vars.onStart&&(0===this._time&&0!==u||e||this._callback("onStart"))),o=this._firstPT;o;)o.f?o.t[o.p](o.c*this.ratio+o.s):o.t[o.p]=o.c*this.ratio+o.s,o=o._next;this._onUpdate&&(t<0&&this._startAt&&-1e-4!==t&&this._startAt.render(t,!0,n),e||(this._time!==s||i||n)&&this._callback("onUpdate")),r&&(this._gc&&!n||(t<0&&this._startAt&&!this._onUpdate&&-1e-4!==t&&this._startAt.render(t,!0,n),i&&(this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[r]&&this._callback(r),0===u&&1e-10===this._rawPrevTime&&1e-10!==a&&(this._rawPrevTime=0)))}},s._kill=function(t,e,n){if("all"===t&&(t=null),null==t&&(null==e||e===this.target))return this._lazy=!1,this._enabled(!1,!1);e="string"!=typeof e?e||this._targets||this.target:R.selector(e)||e;var i,r,o,a,s,u,l,h,c,p=n&&this._time&&n._startTime===this._startTime&&this._timeline===n._timeline,d=this._firstPT;if((f(e)||O(e))&&"number"!=typeof e[0])for(i=e.length;--i>-1;)this._kill(t,e[i],n)&&(u=!0);else{if(this._targets){for(i=this._targets.length;--i>-1;)if(e===this._targets[i]){s=this._propLookup[i]||{},this._overwrittenProps=this._overwrittenProps||[],r=this._overwrittenProps[i]=t?this._overwrittenProps[i]||{}:"all";break}}else{if(e!==this.target)return!1;s=this._propLookup,r=this._overwrittenProps=t?this._overwrittenProps||{}:"all"}if(s){if(l=t||s,h=t!==r&&"all"!==r&&t!==s&&("object"!=typeof t||!t._tempKill),n&&(R.onOverwrite||this.vars.onOverwrite)){for(o in l)s[o]&&(c||(c=[]),c.push(o));if((c||!t)&&!Q(this,n,e,c))return!1}for(o in l)(a=s[o])&&(p&&(a.f?a.t[a.p](a.s):a.t[a.p]=a.s,u=!0),a.pg&&a.t._kill(l)&&(u=!0),a.pg&&0!==a.t._overwriteProps.length||(a._prev?a._prev._next=a._next:a===this._firstPT&&(this._firstPT=a._next),a._next&&(a._next._prev=a._prev),a._next=a._prev=null),delete s[o]),h&&(r[o]=1);!this._firstPT&&this._initted&&d&&this._enabled(!1,!1)}}return u},s.invalidate=function(){return this._notifyPluginsOfEnabled&&R._onPluginEvent("_onDisable",this),this._firstPT=this._overwrittenProps=this._startAt=this._onUpdate=null,this._notifyPluginsOfEnabled=this._active=this._lazy=!1,this._propLookup=this._targets?{}:[],P.prototype.invalidate.call(this),this.vars.immediateRender&&(this._time=-1e-10,this.render(Math.min(0,-this._delay))),this},s._enabled=function(t,e){if(l||u.wake(),t&&this._gc){var n,i=this._targets;if(i)for(n=i.length;--n>-1;)this._siblings[n]=q(i[n],this,!0);else this._siblings=q(this.target,this,!0)}return P.prototype._enabled.call(this,t,e),!(!this._notifyPluginsOfEnabled||!this._firstPT)&&R._onPluginEvent(t?"_onEnable":"_onDisable",this)},R.to=function(t,e,n){return new R(t,e,n)},R.from=function(t,e,n){return n.runBackwards=!0,n.immediateRender=0!=n.immediateRender,new R(t,e,n)},R.fromTo=function(t,e,n,i){return i.startAt=n,i.immediateRender=0!=i.immediateRender&&0!=n.immediateRender,new R(t,e,i)},R.delayedCall=function(t,e,n,i,r){return new R(e,0,{delay:t,onComplete:e,onCompleteParams:n,callbackScope:i,onReverseComplete:e,onReverseCompleteParams:n,immediateRender:!1,lazy:!1,useFrames:r,overwrite:0})},R.set=function(t,e){return new R(t,0,e)},R.getTweensOf=function(t,e){if(null==t)return[];var n,i,r,o;if(t="string"!=typeof t?t:R.selector(t)||t,(f(t)||O(t))&&"number"!=typeof t[0]){for(n=t.length,i=[];--n>-1;)i=i.concat(R.getTweensOf(t[n],e));for(n=i.length;--n>-1;)for(o=i[n],r=n;--r>-1;)o===i[r]&&i.splice(n,1)}else if(t._gsTweenID)for(n=(i=q(t).concat()).length;--n>-1;)(i[n]._gc||e&&!i[n].isActive())&&i.splice(n,1);return i||[]},R.killTweensOf=R.killDelayedCallsTo=function(t,e,n){"object"==typeof e&&(n=e,e=!1);for(var i=R.getTweensOf(t,e),r=i.length;--r>-1;)i[r]._kill(n,t)};var tt=y("plugins.TweenPlugin",function(t,e){this._overwriteProps=(t||"").split(","),this._propName=this._overwriteProps[0],this._priority=e||0,this._super=tt.prototype},!0);if(s=tt.prototype,tt.version="1.19.0",tt.API=2,s._firstPT=null,s._addTween=U,s.setRatio=k,s._kill=function(t){var e,n=this._overwriteProps,i=this._firstPT;if(null!=t[this._propName])this._overwriteProps=[];else for(e=n.length;--e>-1;)null!=t[n[e]]&&n.splice(e,1);for(;i;)null!=t[i.n]&&(i._next&&(i._next._prev=i._prev),i._prev?(i._prev._next=i._next,i._prev=null):this._firstPT===i&&(this._firstPT=i._next)),i=i._next;return!1},s._mod=s._roundProps=function(t){for(var e,n=this._firstPT;n;)(e=t[this._propName]||null!=n.n&&t[n.n.split(this._propName+"_").join("")])&&"function"==typeof e&&(2===n.f?n.t._applyPT.m=e:n.m=e),n=n._next},R._onPluginEvent=function(t,e){var n,i,r,o,a,s=e._firstPT;if("_onInitAllProps"===t){for(;s;){for(a=s._next,i=r;i&&i.pr>s.pr;)i=i._next;(s._prev=i?i._prev:o)?s._prev._next=s:r=s,(s._next=i)?i._prev=s:o=s,s=a}s=e._firstPT=r}for(;s;)s.pg&&"function"==typeof s.t[t]&&s.t[t]()&&(n=!0),s=s._next;return n},tt.activate=function(t){for(var e=t.length;--e>-1;)t[e].API===tt.API&&(z[(new t[e])._propName]=t[e]);return!0},v.plugin=function(t){if(!(t&&t.propName&&t.init&&t.API))throw"illegal plugin definition.";var e,n=t.propName,i=t.priority||0,r=t.overwriteProps,o={init:"_onInitTween",set:"setRatio",kill:"_kill",round:"_mod",mod:"_mod",initAll:"_onInitAllProps"},a=y("plugins."+n.charAt(0).toUpperCase()+n.substr(1)+"Plugin",function(){tt.call(this,n,i),this._overwriteProps=r||[]},!0===t.global),s=a.prototype=new tt(n);for(e in s.constructor=a,a.API=t.API,o)"function"==typeof t[e]&&(s[o[e]]=t[e]);return a.version=t.version,tt.activate([a]),a},o=t._gsQueue){for(a=0;a<o.length;a++)o[a]();for(s in m)m[s].func||t.console.log("GSAP encountered missing dependency: "+s)}return l=!1,R}(r),a=r.GreenSockGlobals,s=a.com.greensock,u=s.core.SimpleTimeline,l=s.core.Animation,h=a.Ease,c=a.Linear,p=c,d=a.Power1,f=a.Power2,m=a.Power3,g=a.Power4,v=a.TweenPlugin;s.events.EventDispatcher}).call(this,n(199)(t),n(164))},function(t,e,n){var i=n(3),r=n(35),o=n(20),a=n(19),s=n(28),u=function(t,e,n){var l,h,c,p,d=t&u.F,f=t&u.G,m=t&u.S,g=t&u.P,v=t&u.B,y=f?i:m?i[e]||(i[e]={}):(i[e]||{}).prototype,_=f?r:r[e]||(r[e]={}),b=_.prototype||(_.prototype={});for(l in f&&(n=e),n)c=((h=!d&&y&&void 0!==y[l])?y:n)[l],p=v&&h?s(c,i):g&&"function"==typeof c?s(Function.call,c):c,y&&a(y,l,c,t&u.U),_[l]!=c&&o(_,l,p),g&&b[l]!=c&&(b[l]=c)};i.core=r,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e,n){var i=n(5);t.exports=function(t){if(!i(t))throw TypeError(t+" is not an object!");return t}},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){var i=n(82)("wks"),r=n(51),o=n(3).Symbol,a="function"==typeof o;(t.exports=function(t){return i[t]||(i[t]=a&&o[t]||(a?o:r)("Symbol."+t))}).store=i},function(t,e){t.exports={ControlKit:"controlKit",Panel:"panel",Head:"head",Label:"label",Menu:"menu",Wrap:"wrap",ButtonMenuClose:"button-menu-close",ButtonMenuHide:"button-menu-hide",ButtonMenuShow:"button-menu-show",ButtonMenuUndo:"button-menu-undo",ButtonMenuLoad:"button-menu-load",ButtonMenuSave:"button-menu-save",MenuActive:"menu-active",Button:"button",ButtonPreset:"button-preset",ButtonPresetActive:"button-preset-active",WrapInputWPreset:"input-with-preset-wrap",WrapColorWPreset:"color-with-preset-wrap",HeadInactive:"head-inactive",PanelHeadInactive:"panel-head-inactive",GroupList:"group-list",Group:"group",SubGroupList:"sub-group-list",SubGroup:"sub-group",TextAreaWrap:"textarea-wrap",WrapSlider:"wrap-slider",SliderWrap:"slider-wrap",SliderSlot:"slider-slot",SliderHandle:"slider-handle",ArrowBMin:"arrow-b-min",ArrowBMax:"arrow-b-max",ArrowBSubMin:"arrow-b-sub-min",ArrowBSubMax:"arrow-b-sub-max",ArrowSMin:"arrow-s-min",ArrowSMax:"arrow-s-max",Select:"select",SelectActive:"select-active",Options:"options",OptionsSelected:"li-selected",CanvasListItem:"canvas-list-item",CanvasWrap:"canvas-wrap",SVGListItem:"svg-list-item",SVGWrap:"svg-wrap",GraphSliderXWrap:"graph-slider-x-wrap",GraphSliderYWrap:"graph-slider-y-wrap",GraphSliderX:"graph-slider-x",GraphSliderY:"graph-slider-y",GraphSliderXHandle:"graph-slider-x-handle",GraphSliderYHandle:"graph-slider-y-handle",Picker:"picker",PickerFieldWrap:"field-wrap",PickerInputWrap:"input-wrap",PickerInputField:"input-field",PickerControlsWrap:"controls-wrap",PickerColorContrast:"color-contrast",PickerHandleField:"indicator",PickerHandleSlider:"indicator",Color:"color",ScrollBar:"scrollBar",ScrollWrap:"scroll-wrap",ScrollBarBtnUp:"btnUp",ScrollBarBtnDown:"btnDown",ScrollBarTrack:"track",ScrollBarThumb:"thumb",ScrollBuffer:"scroll-buffer"}},function(t,e){function n(){switch(this._element=null,arguments.length){case 1:var t=arguments[0];t!=n.INPUT_TEXT&&t!=n.INPUT_BUTTON&&t!=n.INPUT_SELECT&&t!=n.INPUT_CHECKBOX?this._element=document.createElement(t):(this._element=document.createElement("input"),this._element.type=t);break;case 0:this._element=document.createElement("div")}}n.DIV="div",n.INPUT_TEXT="text",n.INPUT_BUTTON="button",n.INPUT_SELECT="select",n.INPUT_CHECKBOX="checkbox",n.OPTION="option",n.LIST="ul",n.LIST_ITEM="li",n.SPAN="span",n.TEXTAREA="textarea",n.prototype={addChild:function(t){return this._element.appendChild(t.getElement()),t},addChildren:function(){for(var t=-1,e=arguments.length,n=this._element;++t<e;)n.appendChild(arguments[t].getElement());return this},addChildAt:function(t,e){return this._element.insertBefore(t.getElement(),this._element.children[e]),t},removeChild:function(t){return this.contains(t)?(this._element.removeChild(t.getElement()),t):null},removeChildren:function(){for(var t=-1,e=arguments.length,n=this._element;++t<e;)n.removeChild(arguments[t].getElement());return this},removeChildAt:function(t,e){return this.contains(t)?(this._element.removeChild(t.getElement()),t):null},removeAllChildren:function(){for(var t=this._element;t.hasChildNodes();)t.removeChild(t.lastChild);return this},setWidth:function(t){return this._element.style.width=t+"px",this},getWidth:function(){return this._element.offsetWidth},setHeight:function(t){return this._element.style.height=t+"px",this},getHeight:function(){return this._element.offsetHeight},setPosition:function(t,e){return this.setPosition(t).setPosition(e)},setPositionX:function(t){return this._element.style.marginLeft=t+"px",this},setPositionY:function(t){return this._element.style.marginTop=t+"px",this},setPositionGlobal:function(t,e){return this.setPositionGlobalX(t).setPositionGlobalY(e)},setPositionGlobalX:function(t){return this._element.style.left=t+"px",this},setPositionGlobalY:function(t){return this._element.style.top=t+"px",this},getPosition:function(){return[this.getPositionX(),this.getPositionY()]},getPositionX:function(){return this._element.offsetLeft},getPositionY:function(){return this._element.offsetTop},getPositionGlobal:function(){for(var t=[0,0],e=this._element;e;)t[0]+=e.offsetLeft,t[1]+=e.offsetTop,e=e.offsetParent;return t},getPositionGlobalX:function(){for(var t=0,e=this._element;e;)t+=e.offsetLeft,e=e.offsetParent;return t},getPositionGlobalY:function(){for(var t=0,e=this._element;e;)t+=e.offsetTop,e=e.offsetParent;return t},addEventListener:function(t,e,n){return this._element.addEventListener(t,e,n),this},removeEventListener:function(t,e,n){return this._element.removeEventListener(t,e,n),this},dispatchEvent:function(t){return this._element.dispatchEvent(t),this},setStyleClass:function(t){return this._element.className=t,this},setStyleProperty:function(t,e){return this._element.style[t]=e,this},getStyleProperty:function(t){return this._element.style[t]},setStyleProperties:function(t){for(var e in t)this._element.style[e]=t[e];return this},deleteStyleClass:function(){return this._element.className="",this},deleteStyleProperty:function(t){return this._element.style[t]="",this},deleteStyleProperties:function(t){for(var e in t)this._element.style[e]="";return this},getChildAt:function(t){return(new n).setElement(this._element.children[t])},getChildIndex:function(t){return this._indexOf(this._element,t.getElement())},getNumChildren:function(){return this._element.children.length},getFirstChild:function(){return(new n).setElement(this._element.firstChild)},getLastChild:function(){return(new n).setElement(this._element.lastChild)},hasChildren:function(){return 0!=this._element.children.length},contains:function(t){return-1!=this._indexOf(this._element,t.getElement())},_indexOf:function(t,e){return Array.prototype.indexOf.call(t.children,e)},setProperty:function(t,e){return this._element[t]=e,this},setProperties:function(t){for(var e in t)this._element[e]=t[e];return this},getProperty:function(t){return this._element[t]},setElement:function(t){return this._element=t,this},getElement:function(){return this._element},getStyle:function(){return this._element.style},getParent:function(){return(new n).setElement(this._element.parentNode)}},n.getNodeByElement=function(t){return(new n).setElement(t)},n.getNodeById=function(t){return(new n).setElement(document.getElementById(t))},t.exports=n},function(t,e,n){var i=n(32),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(2),r=n(163),o=n(34),a=Object.defineProperty;e.f=n(11)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return a(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){t.exports=!n(4)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t,e,n){this.sender=t,this.type=e,this.data=n}},function(t,e,n){var i=n(33);t.exports=function(t){return Object(i(t))}},function(t,e){t.exports={MOUSE_DOWN:"mousedown",MOUSE_UP:"mouseup",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",KEY_DOWN:"keydown",KEY_UP:"keyup",CHANGE:"change",FINISH:"finish",DBL_CLICK:"dblclick",ON_CLICK:"click",SELECT_START:"selectstart",DRAG_START:"dragstart",DRAG:"drag",DRAG_END:"dragend",DRAG_ENTER:"dragenter",DRAG_OVER:"dragover",DRAG_LEAVE:"dragleave",RESIZE:"resize"}},function(t,e){t.exports={VALUE_UPDATED:"valueUpdated",UPDATE_VALUE:"updateValue",INPUT_SELECT_DRAG:"inputSelectDrag",ENABLE:"enable",DISABLE:"disable"}},function(t,e){t.exports={MOUSE_MOVE:"mousemove",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_WHEEL:"mousewheel",WINDOW_RESIZE:"resize"}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,n){var i=n(1),r=n(4),o=n(33),a=/"/g,s=function(t,e,n,i){var r=String(o(t)),s="<"+e;return""!==n&&(s+=" "+n+'="'+String(i).replace(a,"&quot;")+'"'),s+">"+r+"</"+e+">"};t.exports=function(t,e){var n={};n[t]=e(s),i(i.P+i.F*r(function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}),"String",n)}},function(t,e,n){var i=n(3),r=n(20),o=n(24),a=n(51)("src"),s=Function.toString,u=(""+s).split("toString");n(35).inspectSource=function(t){return s.call(t)},(t.exports=function(t,e,n,s){var l="function"==typeof n;l&&(o(n,"name")||r(n,"name",e)),t[e]!==n&&(l&&(o(n,a)||r(n,a,t[e]?""+t[e]:u.join(String(e)))),t===i?t[e]=n:s?t[e]?t[e]=n:r(t,e,n):(delete t[e],r(t,e,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[a]||s.call(this)})},function(t,e,n){var i=n(10),r=n(52);t.exports=n(11)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var i=n(24),r=n(13),o=n(112)("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},function(t,e,n){var i=n(62),r=n(52),o=n(23),a=n(34),s=n(24),u=n(163),l=Object.getOwnPropertyDescriptor;e.f=n(11)?l:function(t,e){if(t=o(t),e=a(e,!0),u)try{return l(t,e)}catch(t){}if(s(t,e))return r(!i.f.call(t,e),t[e])}},function(t,e,n){var i=n(63),r=n(33);t.exports=function(t){return i(r(t))}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e){t.exports={COMPONENT_MIN_HEIGHT:25,STROKE_SIZE:1,PADDING_WRAPPER:12,PADDING_OPTIONS:2,PADDING_PRESET:20,SCROLLBAR_TRACK_PADDING:2,FUNCTION_PLOTTER_LABEL_TICK_SIZE:6}},function(t,e,n){"use strict";var i=n(4);t.exports=function(t,e){return!!t&&i(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var i=n(17);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var i=n(60),r=n(66),o=n(15),a=n(65),s=n(182),u=n(12);function l(t,e,n,i){if(void 0===e[n])throw new s(e,n);(i=i||{}).label=i.label||n,r.apply(this,[t,i.label]),this._obj=e,this._key=n,this._onChange=function(){},a.get().addEventListener(o.UPDATE_VALUE,this,"onValueUpdate"),this.addEventListener(o.VALUE_UPDATED,a.get(),"onValueUpdated")}l.prototype=Object.create(r.prototype),l.prototype.constructor=l,l.prototype.applyValue=function(){},l.prototype.onValueUpdate=function(t){},l.prototype.pushHistoryState=function(){var t=this._obj,e=this._key;i.get().pushState(t,e,t[e])},l.prototype.setValue=function(t){this._obj[this._key]=t,this.dispatchEvent(new u(this,o.VALUE_UPDATED,null))},l.prototype.getData=function(){var t={};return t[this._key]=this._obj[this._key],t},t.exports=l},function(t,e,n){var i=n(28),r=n(63),o=n(13),a=n(9),s=n(95);t.exports=function(t,e){var n=1==t,u=2==t,l=3==t,h=4==t,c=6==t,p=5==t||c,d=e||s;return function(e,s,f){for(var m,g,v=o(e),y=r(v),_=i(s,f,3),b=a(y.length),x=0,w=n?d(e,b):u?d(e,0):void 0;b>x;x++)if((p||x in y)&&(g=_(m=y[x],x,v),t))if(n)w[x]=g;else if(g)switch(t){case 3:return!0;case 5:return m;case 6:return x;case 2:w.push(m)}else if(h)return!1;return c?-1:l||h?h:w}}},function(t,e,n){var i=n(1),r=n(35),o=n(4);t.exports=function(t,e){var n=(r.Object||{})[t]||Object[t],a={};a[t]=e(n),i(i.S+i.F*o(function(){n(1)}),"Object",a)}},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on  "+t);return t}},function(t,e,n){var i=n(5);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},function(t,e){var n=t.exports={version:"2.5.7"};"number"==typeof __e&&(__e=n)},function(t,e){function n(){this._listeners=[]}n.prototype={addEventListener:function(t,e,n){this._listeners[t]=this._listeners[t]||[],this._listeners[t].push({obj:e,method:n})},dispatchEvent:function(t){var e=t.type;if(this.hasEventListener(e))for(var n,i,r=this._listeners[e],o=-1,a=r.length;++o<a;){if(!(n=r[o].obj)[i=r[o].method])throw n+" has no method "+i;n[i](t)}},removeEventListener:function(t,e,n){if(this.hasEventListener(t))for(var i=this._listeners[t],r=i.length;--r>-1;)if(i[r].obj==e&&i[r].method==n){i.splice(r,1),0==i.length&&delete this._listeners[t];break}},removeAllEventListeners:function(){this._listeners=[]},hasEventListener:function(t){return void 0!=this._listeners[t]&&null!=this._listeners[t]}},t.exports=n},function(t,e,n){var i=n(142),r=n(1),o=n(82)("metadata"),a=o.store||(o.store=new(n(139))),s=function(t,e,n){var r=a.get(t);if(!r){if(!n)return;a.set(t,r=new i)}var o=r.get(e);if(!o){if(!n)return;r.set(e,o=new i)}return o};t.exports={store:a,map:s,has:function(t,e,n){var i=s(e,n,!1);return void 0!==i&&i.has(t)},get:function(t,e,n){var i=s(e,n,!1);return void 0===i?void 0:i.get(t)},set:function(t,e,n,i){s(n,i,!0).set(t,e)},keys:function(t,e){var n=s(t,e,!1),i=[];return n&&n.forEach(function(t,e){i.push(e)}),i},key:function(t){return void 0===t||"symbol"==typeof t?t:String(t)},exp:function(t){r(r.S,"Reflect",t)}}},function(t,e,n){"use strict";if(n(11)){var i=n(40),r=n(3),o=n(4),a=n(1),s=n(71),u=n(89),l=n(28),h=n(45),c=n(52),p=n(20),d=n(43),f=n(32),m=n(9),g=n(137),v=n(49),y=n(34),_=n(24),b=n(61),x=n(5),w=n(13),A=n(98),S=n(48),T=n(21),E=n(47).f,M=n(96),P=n(51),C=n(6),L=n(30),R=n(81),O=n(74),I=n(93),N=n(56),D=n(77),B=n(46),k=n(94),G=n(147),U=n(10),V=n(22),z=U.f,H=V.f,F=r.RangeError,j=r.TypeError,W=r.Uint8Array,X=Array.prototype,Y=u.ArrayBuffer,K=u.DataView,Z=L(0),q=L(2),Q=L(3),J=L(4),$=L(5),tt=L(6),et=R(!0),nt=R(!1),it=I.values,rt=I.keys,ot=I.entries,at=X.lastIndexOf,st=X.reduce,ut=X.reduceRight,lt=X.join,ht=X.sort,ct=X.slice,pt=X.toString,dt=X.toLocaleString,ft=C("iterator"),mt=C("toStringTag"),gt=P("typed_constructor"),vt=P("def_constructor"),yt=s.CONSTR,_t=s.TYPED,bt=s.VIEW,xt=L(1,function(t,e){return Et(O(t,t[vt]),e)}),wt=o(function(){return 1===new W(new Uint16Array([1]).buffer)[0]}),At=!!W&&!!W.prototype.set&&o(function(){new W(1).set({})}),St=function(t,e){var n=f(t);if(n<0||n%e)throw F("Wrong offset!");return n},Tt=function(t){if(x(t)&&_t in t)return t;throw j(t+" is not a typed array!")},Et=function(t,e){if(!(x(t)&&gt in t))throw j("It is not a typed array constructor!");return new t(e)},Mt=function(t,e){return Pt(O(t,t[vt]),e)},Pt=function(t,e){for(var n=0,i=e.length,r=Et(t,i);i>n;)r[n]=e[n++];return r},Ct=function(t,e,n){z(t,e,{get:function(){return this._d[n]}})},Lt=function(t){var e,n,i,r,o,a,s=w(t),u=arguments.length,h=u>1?arguments[1]:void 0,c=void 0!==h,p=M(s);if(void 0!=p&&!A(p)){for(a=p.call(s),i=[],e=0;!(o=a.next()).done;e++)i.push(o.value);s=i}for(c&&u>2&&(h=l(h,arguments[2],2)),e=0,n=m(s.length),r=Et(this,n);n>e;e++)r[e]=c?h(s[e],e):s[e];return r},Rt=function(){for(var t=0,e=arguments.length,n=Et(this,e);e>t;)n[t]=arguments[t++];return n},Ot=!!W&&o(function(){dt.call(new W(1))}),It=function(){return dt.apply(Ot?ct.call(Tt(this)):Tt(this),arguments)},Nt={copyWithin:function(t,e){return G.call(Tt(this),t,e,arguments.length>2?arguments[2]:void 0)},every:function(t){return J(Tt(this),t,arguments.length>1?arguments[1]:void 0)},fill:function(t){return k.apply(Tt(this),arguments)},filter:function(t){return Mt(this,q(Tt(this),t,arguments.length>1?arguments[1]:void 0))},find:function(t){return $(Tt(this),t,arguments.length>1?arguments[1]:void 0)},findIndex:function(t){return tt(Tt(this),t,arguments.length>1?arguments[1]:void 0)},forEach:function(t){Z(Tt(this),t,arguments.length>1?arguments[1]:void 0)},indexOf:function(t){return nt(Tt(this),t,arguments.length>1?arguments[1]:void 0)},includes:function(t){return et(Tt(this),t,arguments.length>1?arguments[1]:void 0)},join:function(t){return lt.apply(Tt(this),arguments)},lastIndexOf:function(t){return at.apply(Tt(this),arguments)},map:function(t){return xt(Tt(this),t,arguments.length>1?arguments[1]:void 0)},reduce:function(t){return st.apply(Tt(this),arguments)},reduceRight:function(t){return ut.apply(Tt(this),arguments)},reverse:function(){for(var t,e=Tt(this).length,n=Math.floor(e/2),i=0;i<n;)t=this[i],this[i++]=this[--e],this[e]=t;return this},some:function(t){return Q(Tt(this),t,arguments.length>1?arguments[1]:void 0)},sort:function(t){return ht.call(Tt(this),t)},subarray:function(t,e){var n=Tt(this),i=n.length,r=v(t,i);return new(O(n,n[vt]))(n.buffer,n.byteOffset+r*n.BYTES_PER_ELEMENT,m((void 0===e?i:v(e,i))-r))}},Dt=function(t,e){return Mt(this,ct.call(Tt(this),t,e))},Bt=function(t){Tt(this);var e=St(arguments[1],1),n=this.length,i=w(t),r=m(i.length),o=0;if(r+e>n)throw F("Wrong length!");for(;o<r;)this[e+o]=i[o++]},kt={entries:function(){return ot.call(Tt(this))},keys:function(){return rt.call(Tt(this))},values:function(){return it.call(Tt(this))}},Gt=function(t,e){return x(t)&&t[_t]&&"symbol"!=typeof e&&e in t&&String(+e)==String(e)},Ut=function(t,e){return Gt(t,e=y(e,!0))?c(2,t[e]):H(t,e)},Vt=function(t,e,n){return!(Gt(t,e=y(e,!0))&&x(n)&&_(n,"value"))||_(n,"get")||_(n,"set")||n.configurable||_(n,"writable")&&!n.writable||_(n,"enumerable")&&!n.enumerable?z(t,e,n):(t[e]=n.value,t)};yt||(V.f=Ut,U.f=Vt),a(a.S+a.F*!yt,"Object",{getOwnPropertyDescriptor:Ut,defineProperty:Vt}),o(function(){pt.call({})})&&(pt=dt=function(){return lt.call(this)});var zt=d({},Nt);d(zt,kt),p(zt,ft,kt.values),d(zt,{slice:Dt,set:Bt,constructor:function(){},toString:pt,toLocaleString:It}),Ct(zt,"buffer","b"),Ct(zt,"byteOffset","o"),Ct(zt,"byteLength","l"),Ct(zt,"length","e"),z(zt,mt,{get:function(){return this[_t]}}),t.exports=function(t,e,n,u){var l=t+((u=!!u)?"Clamped":"")+"Array",c="get"+t,d="set"+t,f=r[l],v=f||{},y=f&&T(f),_=!f||!s.ABV,w={},A=f&&f.prototype,M=function(t,n){z(t,n,{get:function(){return function(t,n){var i=t._d;return i.v[c](n*e+i.o,wt)}(this,n)},set:function(t){return function(t,n,i){var r=t._d;u&&(i=(i=Math.round(i))<0?0:i>255?255:255&i),r.v[d](n*e+r.o,i,wt)}(this,n,t)},enumerable:!0})};_?(f=n(function(t,n,i,r){h(t,f,l,"_d");var o,a,s,u,c=0,d=0;if(x(n)){if(!(n instanceof Y||"ArrayBuffer"==(u=b(n))||"SharedArrayBuffer"==u))return _t in n?Pt(f,n):Lt.call(f,n);o=n,d=St(i,e);var v=n.byteLength;if(void 0===r){if(v%e)throw F("Wrong length!");if((a=v-d)<0)throw F("Wrong length!")}else if((a=m(r)*e)+d>v)throw F("Wrong length!");s=a/e}else s=g(n),o=new Y(a=s*e);for(p(t,"_d",{b:o,o:d,l:a,e:s,v:new K(o)});c<s;)M(t,c++)}),A=f.prototype=S(zt),p(A,"constructor",f)):o(function(){f(1)})&&o(function(){new f(-1)})&&D(function(t){new f,new f(null),new f(1.5),new f(t)},!0)||(f=n(function(t,n,i,r){var o;return h(t,f,l),x(n)?n instanceof Y||"ArrayBuffer"==(o=b(n))||"SharedArrayBuffer"==o?void 0!==r?new v(n,St(i,e),r):void 0!==i?new v(n,St(i,e)):new v(n):_t in n?Pt(f,n):Lt.call(f,n):new v(g(n))}),Z(y!==Function.prototype?E(v).concat(E(y)):E(v),function(t){t in f||p(f,t,v[t])}),f.prototype=A,i||(A.constructor=f));var P=A[ft],C=!!P&&("values"==P.name||void 0==P.name),L=kt.values;p(f,gt,!0),p(A,_t,l),p(A,bt,!0),p(A,vt,f),(u?new f(1)[mt]==l:mt in A)||z(A,mt,{get:function(){return l}}),w[l]=f,a(a.G+a.W+a.F*(f!=v),w),a(a.S,l,{BYTES_PER_ELEMENT:e}),a(a.S+a.F*o(function(){v.of.call(f,1)}),l,{from:Lt,of:Rt}),"BYTES_PER_ELEMENT"in A||p(A,"BYTES_PER_ELEMENT",e),a(a.P,l,Nt),B(l),a(a.P+a.F*At,l,{set:Bt}),a(a.P+a.F*!C,l,kt),i||A.toString==pt||(A.toString=pt),a(a.P+a.F*o(function(){new f(1).slice()}),l,{slice:Dt}),a(a.P+a.F*(o(function(){return[1,2].toLocaleString()!=new f([1,2]).toLocaleString()})||!o(function(){A.toLocaleString.call([1,2])})),l,{toLocaleString:It}),N[l]=C?P:L,i||C||p(A,ft,L)}}else t.exports=function(){}},function(t,e,n){var i=n(6)("unscopables"),r=Array.prototype;void 0==r[i]&&n(20)(r,i,{}),t.exports=function(t){r[i][t]=!0}},function(t,e){t.exports=!1},function(t,e,n){var i=n(51)("meta"),r=n(5),o=n(24),a=n(10).f,s=0,u=Object.isExtensible||function(){return!0},l=!n(4)(function(){return u(Object.preventExtensions({}))}),h=function(t){a(t,i,{value:{i:"O"+ ++s,w:{}}})},c=t.exports={KEY:i,NEED:!1,fastKey:function(t,e){if(!r(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,i)){if(!u(t))return"F";if(!e)return"E";h(t)}return t[i].i},getWeak:function(t,e){if(!o(t,i)){if(!u(t))return!0;if(!e)return!1;h(t)}return t[i].w},onFreeze:function(t){return l&&c.NEED&&u(t)&&!o(t,i)&&h(t),t}}},function(t,e,n){var i=n(36),r=n(12),o=n(16),a=null;function s(){i.apply(this),this._pos=[0,0],this._wheelDirection=0,this._hoverElement=null;var t=this;this._onDocumentMouseMove=function(e){var n=0,i=0;e||(e=window.event),e.pageX?(n=e.pageX,i=e.pageY):e.clientX&&(n=e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,i=e.clientY+document.body.scrollTop+document.documentElement.scrollTop),t._pos[0]=n,t._pos[1]=i,t._hoverElement=document.elementFromPoint(n,i)},this._onDocumentMouseWheel=function(e){t._wheelDirection=e.detail<0?1:e.wheelDelta>0?1:-1,t.dispatchEvent(new r(t,o.MOUSE_WHEEL,e))},document.addEventListener(o.MOUSE_MOVE,this._onDocumentMouseMove),document.addEventListener(o.MOUSE_WHEEL,this._onDocumentMouseWheel)}s.prototype=Object.create(i.prototype),s.prototype.constructor=s,s.prototype._removeDocumentListener=function(){document.removeEventListener(o.MOUSE_MOVE,this._onDocumentMouseMove),document.removeEventListener(o.MOUSE_WHEEL,this._onDocumentMouseWheel)},s.prototype.getPosition=function(){return this._pos},s.prototype.getX=function(){return this._pos[0]},s.prototype.getY=function(){return this._pos[1]},s.prototype.getWheelDirection=function(){return this._wheelDirection},s.prototype.getHoverElement=function(){return this._hoverElement},s.setup=function(){return a=a||new s},s.get=function(){return a},s.destroy=function(){a._removeDocumentListener(),a=null},t.exports=s},function(t,e,n){var i=n(19);t.exports=function(t,e,n){for(var r in e)i(t,r,e[r],n);return t}},function(t,e,n){var i=n(28),r=n(149),o=n(98),a=n(2),s=n(9),u=n(96),l={},h={};(e=t.exports=function(t,e,n,c,p){var d,f,m,g,v=p?function(){return t}:u(t),y=i(n,c,e?2:1),_=0;if("function"!=typeof v)throw TypeError(t+" is not iterable!");if(o(v)){for(d=s(t.length);d>_;_++)if((g=e?y(a(f=t[_])[0],f[1]):y(t[_]))===l||g===h)return g}else for(m=v.call(t);!(f=m.next()).done;)if((g=r(m,y,f.value,e))===l||g===h)return g}).BREAK=l,e.RETURN=h},function(t,e){t.exports=function(t,e,n,i){if(!(t instanceof e)||void 0!==i&&i in t)throw TypeError(n+": incorrect invocation!");return t}},function(t,e,n){"use strict";var i=n(3),r=n(10),o=n(11),a=n(6)("species");t.exports=function(t){var e=i[t];o&&e&&!e[a]&&r.f(e,a,{configurable:!0,get:function(){return this}})}},function(t,e,n){var i=n(161),r=n(111).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return i(t,r)}},function(t,e,n){var i=n(2),r=n(160),o=n(111),a=n(112)("IE_PROTO"),s=function(){},u=function(){var t,e=n(114)("iframe"),i=o.length;for(e.style.display="none",n(110).appendChild(e),e.src="javascript:",(t=e.contentWindow.document).open(),t.write("<script>document.F=Object<\/script>"),t.close(),u=t.F;i--;)delete u.prototype[o[i]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(s.prototype=i(t),n=new s,s.prototype=null,n[a]=t):n=u(),void 0===e?n:r(n,e)}},function(t,e,n){var i=n(32),r=Math.max,o=Math.min;t.exports=function(t,e){return(t=i(t))<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(161),r=n(111);t.exports=Object.keys||function(t){return i(t,r)}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+i).toString(36))}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){t.exports={GROUP_SIZE_CHANGE:"groupSizeChange",GROUP_LIST_SIZE_CHANGE:"groupListSizeChange",GROUP_SIZE_UPDATE:"groupSizeUpdate",SUBGROUP_TRIGGER:"subGroupTrigger",SUBGROUP_ENABLE:"enableSubGroup",SUBGROUP_DISABLE:"disableSubGroup"}},function(t,e,n){"use strict";n.r(e),function(t){function i(){}n.d(e,"WebGLRenderTargetCube",function(){return Ze}),n.d(e,"WebGLRenderTarget",function(){return Ke}),n.d(e,"WebGLRenderer",function(){return pr}),n.d(e,"ShaderLib",function(){return sn}),n.d(e,"UniformsLib",function(){return an}),n.d(e,"UniformsUtils",function(){return nn}),n.d(e,"ShaderChunk",function(){return en}),n.d(e,"FogExp2",function(){return dr}),n.d(e,"Fog",function(){return fr}),n.d(e,"Scene",function(){return mr}),n.d(e,"Sprite",function(){return _r}),n.d(e,"LOD",function(){return br}),n.d(e,"SkinnedMesh",function(){return Ar}),n.d(e,"Skeleton",function(){return xr}),n.d(e,"Bone",function(){return wr}),n.d(e,"Mesh",function(){return zn}),n.d(e,"LineSegments",function(){return Er}),n.d(e,"LineLoop",function(){return Mr}),n.d(e,"Line",function(){return Tr}),n.d(e,"Points",function(){return Cr}),n.d(e,"Group",function(){return ir}),n.d(e,"VideoTexture",function(){return Lr}),n.d(e,"DataTexture",function(){return qe}),n.d(e,"DataTexture3D",function(){return jn}),n.d(e,"CompressedTexture",function(){return Rr}),n.d(e,"CubeTexture",function(){return Fn}),n.d(e,"CanvasTexture",function(){return Or}),n.d(e,"DepthTexture",function(){return Ir}),n.d(e,"Texture",function(){return Xe}),n.d(e,"AnimationLoader",function(){return Ta}),n.d(e,"CompressedTextureLoader",function(){return Ea}),n.d(e,"DataTextureLoader",function(){return Ma}),n.d(e,"CubeTextureLoader",function(){return Ca}),n.d(e,"TextureLoader",function(){return La}),n.d(e,"ObjectLoader",function(){return vs}),n.d(e,"MaterialLoader",function(){return cs}),n.d(e,"BufferGeometryLoader",function(){return ds}),n.d(e,"DefaultLoadingManager",function(){return wa}),n.d(e,"LoadingManager",function(){return xa}),n.d(e,"JSONLoader",function(){return gs}),n.d(e,"ImageLoader",function(){return Pa}),n.d(e,"ImageBitmapLoader",function(){return ws}),n.d(e,"FontLoader",function(){return Es}),n.d(e,"FileLoader",function(){return Sa}),n.d(e,"Loader",function(){return ms}),n.d(e,"LoaderUtils",function(){return ps}),n.d(e,"Cache",function(){return ba}),n.d(e,"AudioLoader",function(){return Ps}),n.d(e,"SpotLightShadow",function(){return is}),n.d(e,"SpotLight",function(){return rs}),n.d(e,"PointLight",function(){return os}),n.d(e,"RectAreaLight",function(){return hs}),n.d(e,"HemisphereLight",function(){return es}),n.d(e,"DirectionalLightShadow",function(){return ss}),n.d(e,"DirectionalLight",function(){return us}),n.d(e,"AmbientLight",function(){return ls}),n.d(e,"LightShadow",function(){return ns}),n.d(e,"Light",function(){return ts}),n.d(e,"StereoCamera",function(){return Cs}),n.d(e,"PerspectiveCamera",function(){return or}),n.d(e,"OrthographicCamera",function(){return as}),n.d(e,"CubeCamera",function(){return Ls}),n.d(e,"ArrayCamera",function(){return ar}),n.d(e,"Camera",function(){return rr}),n.d(e,"AudioListener",function(){return Os}),n.d(e,"PositionalAudio",function(){return Ns}),n.d(e,"AudioContext",function(){return Ms}),n.d(e,"AudioAnalyser",function(){return Ds}),n.d(e,"Audio",function(){return Is}),n.d(e,"VectorKeyframeTrack",function(){return va}),n.d(e,"StringKeyframeTrack",function(){return ga}),n.d(e,"QuaternionKeyframeTrack",function(){return ma}),n.d(e,"NumberKeyframeTrack",function(){return da}),n.d(e,"ColorKeyframeTrack",function(){return pa}),n.d(e,"BooleanKeyframeTrack",function(){return ca}),n.d(e,"PropertyMixer",function(){return Bs}),n.d(e,"PropertyBinding",function(){return Vs}),n.d(e,"KeyframeTrack",function(){return ha}),n.d(e,"AnimationUtils",function(){return oa}),n.d(e,"AnimationObjectGroup",function(){return zs}),n.d(e,"AnimationMixer",function(){return Fs}),n.d(e,"AnimationClip",function(){return ya}),n.d(e,"Uniform",function(){return js}),n.d(e,"InstancedBufferGeometry",function(){return Ws}),n.d(e,"BufferGeometry",function(){return Ln}),n.d(e,"Geometry",function(){return gn}),n.d(e,"InterleavedBufferAttribute",function(){return vr}),n.d(e,"InstancedInterleavedBuffer",function(){return Xs}),n.d(e,"InterleavedBuffer",function(){return gr}),n.d(e,"InstancedBufferAttribute",function(){return Ys}),n.d(e,"Face3",function(){return hn}),n.d(e,"Object3D",function(){return fn}),n.d(e,"Raycaster",function(){return Ks}),n.d(e,"Layers",function(){return pn}),n.d(e,"EventDispatcher",function(){return i}),n.d(e,"Clock",function(){return Rs}),n.d(e,"QuaternionLinearInterpolant",function(){return fa}),n.d(e,"LinearInterpolant",function(){return ua}),n.d(e,"DiscreteInterpolant",function(){return la}),n.d(e,"CubicInterpolant",function(){return sa}),n.d(e,"Interpolant",function(){return aa}),n.d(e,"Triangle",function(){return Un}),n.d(e,"Math",function(){return Ge}),n.d(e,"Spherical",function(){return Qs}),n.d(e,"Cylindrical",function(){return Js}),n.d(e,"Plane",function(){return $e}),n.d(e,"Frustum",function(){return tn}),n.d(e,"Sphere",function(){return Je}),n.d(e,"Ray",function(){return Gn}),n.d(e,"Matrix4",function(){return Ve}),n.d(e,"Matrix3",function(){return Fe}),n.d(e,"Box3",function(){return Qe}),n.d(e,"Box2",function(){return $s}),n.d(e,"Line3",function(){return tu}),n.d(e,"Euler",function(){return cn}),n.d(e,"Vector4",function(){return Ye}),n.d(e,"Vector3",function(){return He}),n.d(e,"Vector2",function(){return Ue}),n.d(e,"Quaternion",function(){return ze}),n.d(e,"Color",function(){return on}),n.d(e,"ImmediateRenderObject",function(){return eu}),n.d(e,"VertexNormalsHelper",function(){return nu}),n.d(e,"SpotLightHelper",function(){return iu}),n.d(e,"SkeletonHelper",function(){return ru}),n.d(e,"PointLightHelper",function(){return ou}),n.d(e,"RectAreaLightHelper",function(){return au}),n.d(e,"HemisphereLightHelper",function(){return su}),n.d(e,"GridHelper",function(){return uu}),n.d(e,"PolarGridHelper",function(){return lu}),n.d(e,"FaceNormalsHelper",function(){return hu}),n.d(e,"DirectionalLightHelper",function(){return cu}),n.d(e,"CameraHelper",function(){return pu}),n.d(e,"BoxHelper",function(){return du}),n.d(e,"Box3Helper",function(){return fu}),n.d(e,"PlaneHelper",function(){return mu}),n.d(e,"ArrowHelper",function(){return gu}),n.d(e,"AxesHelper",function(){return vu}),n.d(e,"Shape",function(){return $a}),n.d(e,"Path",function(){return Ja}),n.d(e,"ShapePath",function(){return As}),n.d(e,"Font",function(){return Ss}),n.d(e,"CurvePath",function(){return Qa}),n.d(e,"Curve",function(){return Ra}),n.d(e,"ImageUtils",function(){return je}),n.d(e,"ShapeUtils",function(){return wo}),n.d(e,"WebGLUtils",function(){return nr}),n.d(e,"WireframeGeometry",function(){return Nr}),n.d(e,"ParametricGeometry",function(){return Dr}),n.d(e,"ParametricBufferGeometry",function(){return Br}),n.d(e,"TetrahedronGeometry",function(){return Ur}),n.d(e,"TetrahedronBufferGeometry",function(){return Vr}),n.d(e,"OctahedronGeometry",function(){return zr}),n.d(e,"OctahedronBufferGeometry",function(){return Hr}),n.d(e,"IcosahedronGeometry",function(){return Fr}),n.d(e,"IcosahedronBufferGeometry",function(){return jr}),n.d(e,"DodecahedronGeometry",function(){return Wr}),n.d(e,"DodecahedronBufferGeometry",function(){return Xr}),n.d(e,"PolyhedronGeometry",function(){return kr}),n.d(e,"PolyhedronBufferGeometry",function(){return Gr}),n.d(e,"TubeGeometry",function(){return Yr}),n.d(e,"TubeBufferGeometry",function(){return Kr}),n.d(e,"TorusKnotGeometry",function(){return Zr}),n.d(e,"TorusKnotBufferGeometry",function(){return qr}),n.d(e,"TorusGeometry",function(){return Qr}),n.d(e,"TorusBufferGeometry",function(){return Jr}),n.d(e,"TextGeometry",function(){return Co}),n.d(e,"TextBufferGeometry",function(){return Lo}),n.d(e,"SphereGeometry",function(){return Ro}),n.d(e,"SphereBufferGeometry",function(){return Oo}),n.d(e,"RingGeometry",function(){return Io}),n.d(e,"RingBufferGeometry",function(){return No}),n.d(e,"PlaneGeometry",function(){return In}),n.d(e,"PlaneBufferGeometry",function(){return Nn}),n.d(e,"LatheGeometry",function(){return Do}),n.d(e,"LatheBufferGeometry",function(){return Bo}),n.d(e,"ShapeGeometry",function(){return ko}),n.d(e,"ShapeBufferGeometry",function(){return Go}),n.d(e,"ExtrudeGeometry",function(){return To}),n.d(e,"ExtrudeBufferGeometry",function(){return Eo}),n.d(e,"EdgesGeometry",function(){return Vo}),n.d(e,"ConeGeometry",function(){return Fo}),n.d(e,"ConeBufferGeometry",function(){return jo}),n.d(e,"CylinderGeometry",function(){return zo}),n.d(e,"CylinderBufferGeometry",function(){return Ho}),n.d(e,"CircleGeometry",function(){return Wo}),n.d(e,"CircleBufferGeometry",function(){return Xo}),n.d(e,"BoxGeometry",function(){return Rn}),n.d(e,"BoxBufferGeometry",function(){return On}),n.d(e,"ShadowMaterial",function(){return Ko}),n.d(e,"SpriteMaterial",function(){return yr}),n.d(e,"RawShaderMaterial",function(){return Zo}),n.d(e,"ShaderMaterial",function(){return kn}),n.d(e,"PointsMaterial",function(){return Pr}),n.d(e,"MeshPhysicalMaterial",function(){return Qo}),n.d(e,"MeshStandardMaterial",function(){return qo}),n.d(e,"MeshPhongMaterial",function(){return Jo}),n.d(e,"MeshToonMaterial",function(){return $o}),n.d(e,"MeshNormalMaterial",function(){return ta}),n.d(e,"MeshLambertMaterial",function(){return ea}),n.d(e,"MeshDepthMaterial",function(){return Ji}),n.d(e,"MeshDistanceMaterial",function(){return $i}),n.d(e,"MeshBasicMaterial",function(){return Vn}),n.d(e,"MeshMatcapMaterial",function(){return na}),n.d(e,"LineDashedMaterial",function(){return ia}),n.d(e,"LineBasicMaterial",function(){return Sr}),n.d(e,"Material",function(){return Bn}),n.d(e,"Float64BufferAttribute",function(){return En}),n.d(e,"Float32BufferAttribute",function(){return Tn}),n.d(e,"Uint32BufferAttribute",function(){return Sn}),n.d(e,"Int32BufferAttribute",function(){return An}),n.d(e,"Uint16BufferAttribute",function(){return wn}),n.d(e,"Int16BufferAttribute",function(){return xn}),n.d(e,"Uint8ClampedBufferAttribute",function(){return bn}),n.d(e,"Uint8BufferAttribute",function(){return _n}),n.d(e,"Int8BufferAttribute",function(){return yn}),n.d(e,"BufferAttribute",function(){return vn}),n.d(e,"ArcCurve",function(){return Ia}),n.d(e,"CatmullRomCurve3",function(){return Ua}),n.d(e,"CubicBezierCurve",function(){return Fa}),n.d(e,"CubicBezierCurve3",function(){return ja}),n.d(e,"EllipseCurve",function(){return Oa}),n.d(e,"LineCurve",function(){return Wa}),n.d(e,"LineCurve3",function(){return Xa}),n.d(e,"QuadraticBezierCurve",function(){return Ya}),n.d(e,"QuadraticBezierCurve3",function(){return Ka}),n.d(e,"SplineCurve",function(){return Za}),n.d(e,"REVISION",function(){return r}),n.d(e,"MOUSE",function(){return o}),n.d(e,"CullFaceNone",function(){return a}),n.d(e,"CullFaceBack",function(){return s}),n.d(e,"CullFaceFront",function(){return u}),n.d(e,"CullFaceFrontBack",function(){return l}),n.d(e,"FrontFaceDirectionCW",function(){return h}),n.d(e,"FrontFaceDirectionCCW",function(){return c}),n.d(e,"BasicShadowMap",function(){return p}),n.d(e,"PCFShadowMap",function(){return d}),n.d(e,"PCFSoftShadowMap",function(){return f}),n.d(e,"FrontSide",function(){return m}),n.d(e,"BackSide",function(){return g}),n.d(e,"DoubleSide",function(){return v}),n.d(e,"FlatShading",function(){return y}),n.d(e,"SmoothShading",function(){return _}),n.d(e,"NoColors",function(){return b}),n.d(e,"FaceColors",function(){return x}),n.d(e,"VertexColors",function(){return w}),n.d(e,"NoBlending",function(){return A}),n.d(e,"NormalBlending",function(){return S}),n.d(e,"AdditiveBlending",function(){return T}),n.d(e,"SubtractiveBlending",function(){return E}),n.d(e,"MultiplyBlending",function(){return M}),n.d(e,"CustomBlending",function(){return P}),n.d(e,"AddEquation",function(){return C}),n.d(e,"SubtractEquation",function(){return L}),n.d(e,"ReverseSubtractEquation",function(){return R}),n.d(e,"MinEquation",function(){return O}),n.d(e,"MaxEquation",function(){return I}),n.d(e,"ZeroFactor",function(){return N}),n.d(e,"OneFactor",function(){return D}),n.d(e,"SrcColorFactor",function(){return B}),n.d(e,"OneMinusSrcColorFactor",function(){return k}),n.d(e,"SrcAlphaFactor",function(){return G}),n.d(e,"OneMinusSrcAlphaFactor",function(){return U}),n.d(e,"DstAlphaFactor",function(){return V}),n.d(e,"OneMinusDstAlphaFactor",function(){return z}),n.d(e,"DstColorFactor",function(){return H}),n.d(e,"OneMinusDstColorFactor",function(){return F}),n.d(e,"SrcAlphaSaturateFactor",function(){return j}),n.d(e,"NeverDepth",function(){return W}),n.d(e,"AlwaysDepth",function(){return X}),n.d(e,"LessDepth",function(){return Y}),n.d(e,"LessEqualDepth",function(){return K}),n.d(e,"EqualDepth",function(){return Z}),n.d(e,"GreaterEqualDepth",function(){return q}),n.d(e,"GreaterDepth",function(){return Q}),n.d(e,"NotEqualDepth",function(){return J}),n.d(e,"MultiplyOperation",function(){return $}),n.d(e,"MixOperation",function(){return tt}),n.d(e,"AddOperation",function(){return et}),n.d(e,"NoToneMapping",function(){return nt}),n.d(e,"LinearToneMapping",function(){return it}),n.d(e,"ReinhardToneMapping",function(){return rt}),n.d(e,"Uncharted2ToneMapping",function(){return ot}),n.d(e,"CineonToneMapping",function(){return at}),n.d(e,"UVMapping",function(){return st}),n.d(e,"CubeReflectionMapping",function(){return ut}),n.d(e,"CubeRefractionMapping",function(){return lt}),n.d(e,"EquirectangularReflectionMapping",function(){return ht}),n.d(e,"EquirectangularRefractionMapping",function(){return ct}),n.d(e,"SphericalReflectionMapping",function(){return pt}),n.d(e,"CubeUVReflectionMapping",function(){return dt}),n.d(e,"CubeUVRefractionMapping",function(){return ft}),n.d(e,"RepeatWrapping",function(){return mt}),n.d(e,"ClampToEdgeWrapping",function(){return gt}),n.d(e,"MirroredRepeatWrapping",function(){return vt}),n.d(e,"NearestFilter",function(){return yt}),n.d(e,"NearestMipMapNearestFilter",function(){return _t}),n.d(e,"NearestMipMapLinearFilter",function(){return bt}),n.d(e,"LinearFilter",function(){return xt}),n.d(e,"LinearMipMapNearestFilter",function(){return wt}),n.d(e,"LinearMipMapLinearFilter",function(){return At}),n.d(e,"UnsignedByteType",function(){return St}),n.d(e,"ByteType",function(){return Tt}),n.d(e,"ShortType",function(){return Et}),n.d(e,"UnsignedShortType",function(){return Mt}),n.d(e,"IntType",function(){return Pt}),n.d(e,"UnsignedIntType",function(){return Ct}),n.d(e,"FloatType",function(){return Lt}),n.d(e,"HalfFloatType",function(){return Rt}),n.d(e,"UnsignedShort4444Type",function(){return Ot}),n.d(e,"UnsignedShort5551Type",function(){return It}),n.d(e,"UnsignedShort565Type",function(){return Nt}),n.d(e,"UnsignedInt248Type",function(){return Dt}),n.d(e,"AlphaFormat",function(){return Bt}),n.d(e,"RGBFormat",function(){return kt}),n.d(e,"RGBAFormat",function(){return Gt}),n.d(e,"LuminanceFormat",function(){return Ut}),n.d(e,"LuminanceAlphaFormat",function(){return Vt}),n.d(e,"RGBEFormat",function(){return zt}),n.d(e,"DepthFormat",function(){return Ht}),n.d(e,"DepthStencilFormat",function(){return Ft}),n.d(e,"RedFormat",function(){return jt}),n.d(e,"RGB_S3TC_DXT1_Format",function(){return Wt}),n.d(e,"RGBA_S3TC_DXT1_Format",function(){return Xt}),n.d(e,"RGBA_S3TC_DXT3_Format",function(){return Yt}),n.d(e,"RGBA_S3TC_DXT5_Format",function(){return Kt}),n.d(e,"RGB_PVRTC_4BPPV1_Format",function(){return Zt}),n.d(e,"RGB_PVRTC_2BPPV1_Format",function(){return qt}),n.d(e,"RGBA_PVRTC_4BPPV1_Format",function(){return Qt}),n.d(e,"RGBA_PVRTC_2BPPV1_Format",function(){return Jt}),n.d(e,"RGB_ETC1_Format",function(){return $t}),n.d(e,"RGBA_ASTC_4x4_Format",function(){return te}),n.d(e,"RGBA_ASTC_5x4_Format",function(){return ee}),n.d(e,"RGBA_ASTC_5x5_Format",function(){return ne}),n.d(e,"RGBA_ASTC_6x5_Format",function(){return ie}),n.d(e,"RGBA_ASTC_6x6_Format",function(){return re}),n.d(e,"RGBA_ASTC_8x5_Format",function(){return oe}),n.d(e,"RGBA_ASTC_8x6_Format",function(){return ae}),n.d(e,"RGBA_ASTC_8x8_Format",function(){return se}),n.d(e,"RGBA_ASTC_10x5_Format",function(){return ue}),n.d(e,"RGBA_ASTC_10x6_Format",function(){return le}),n.d(e,"RGBA_ASTC_10x8_Format",function(){return he}),n.d(e,"RGBA_ASTC_10x10_Format",function(){return ce}),n.d(e,"RGBA_ASTC_12x10_Format",function(){return pe}),n.d(e,"RGBA_ASTC_12x12_Format",function(){return de}),n.d(e,"LoopOnce",function(){return fe}),n.d(e,"LoopRepeat",function(){return me}),n.d(e,"LoopPingPong",function(){return ge}),n.d(e,"InterpolateDiscrete",function(){return ve}),n.d(e,"InterpolateLinear",function(){return ye}),n.d(e,"InterpolateSmooth",function(){return _e}),n.d(e,"ZeroCurvatureEnding",function(){return be}),n.d(e,"ZeroSlopeEnding",function(){return xe}),n.d(e,"WrapAroundEnding",function(){return we}),n.d(e,"TrianglesDrawMode",function(){return Ae}),n.d(e,"TriangleStripDrawMode",function(){return Se}),n.d(e,"TriangleFanDrawMode",function(){return Te}),n.d(e,"LinearEncoding",function(){return Ee}),n.d(e,"sRGBEncoding",function(){return Me}),n.d(e,"GammaEncoding",function(){return Pe}),n.d(e,"RGBEEncoding",function(){return Ce}),n.d(e,"LogLuvEncoding",function(){return Le}),n.d(e,"RGBM7Encoding",function(){return Re}),n.d(e,"RGBM16Encoding",function(){return Oe}),n.d(e,"RGBDEncoding",function(){return Ie}),n.d(e,"BasicDepthPacking",function(){return Ne}),n.d(e,"RGBADepthPacking",function(){return De}),n.d(e,"TangentSpaceNormalMap",function(){return Be}),n.d(e,"ObjectSpaceNormalMap",function(){return ke}),n.d(e,"CubeGeometry",function(){return Rn}),n.d(e,"Face4",function(){return yu}),n.d(e,"LineStrip",function(){return _u}),n.d(e,"LinePieces",function(){return bu}),n.d(e,"MeshFaceMaterial",function(){return xu}),n.d(e,"MultiMaterial",function(){return wu}),n.d(e,"PointCloud",function(){return Au}),n.d(e,"Particle",function(){return Su}),n.d(e,"ParticleSystem",function(){return Tu}),n.d(e,"PointCloudMaterial",function(){return Eu}),n.d(e,"ParticleBasicMaterial",function(){return Mu}),n.d(e,"ParticleSystemMaterial",function(){return Pu}),n.d(e,"Vertex",function(){return Cu}),n.d(e,"DynamicBufferAttribute",function(){return Lu}),n.d(e,"Int8Attribute",function(){return Ru}),n.d(e,"Uint8Attribute",function(){return Ou}),n.d(e,"Uint8ClampedAttribute",function(){return Iu}),n.d(e,"Int16Attribute",function(){return Nu}),n.d(e,"Uint16Attribute",function(){return Du}),n.d(e,"Int32Attribute",function(){return Bu}),n.d(e,"Uint32Attribute",function(){return ku}),n.d(e,"Float32Attribute",function(){return Gu}),n.d(e,"Float64Attribute",function(){return Uu}),n.d(e,"ClosedSplineCurve3",function(){return Vu}),n.d(e,"SplineCurve3",function(){return zu}),n.d(e,"Spline",function(){return Hu}),n.d(e,"AxisHelper",function(){return Fu}),n.d(e,"BoundingBoxHelper",function(){return ju}),n.d(e,"EdgesHelper",function(){return Wu}),n.d(e,"WireframeHelper",function(){return Xu}),n.d(e,"XHRLoader",function(){return Yu}),n.d(e,"BinaryTextureLoader",function(){return Ku}),n.d(e,"GeometryUtils",function(){return Zu}),n.d(e,"Projector",function(){return qu}),n.d(e,"CanvasRenderer",function(){return Qu}),n.d(e,"SceneUtils",function(){return Ju}),n.d(e,"LensFlare",function(){return $u}),void 0===Number.EPSILON&&(Number.EPSILON=Math.pow(2,-52)),void 0===Number.isInteger&&(Number.isInteger=function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t}),void 0===Math.sign&&(Math.sign=function(t){return t<0?-1:t>0?1:+t}),"name"in Function.prototype==!1&&Object.defineProperty(Function.prototype,"name",{get:function(){return this.toString().match(/^\s*function\s*([^\(\s]*)/)[1]}}),void 0===Object.assign&&(Object.assign=function(t){if(void 0===t||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n<arguments.length;n++){var i=arguments[n];if(void 0!==i&&null!==i)for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(e[r]=i[r])}return e}),Object.assign(i.prototype,{addEventListener:function(t,e){void 0===this._listeners&&(this._listeners={});var n=this._listeners;void 0===n[t]&&(n[t]=[]),-1===n[t].indexOf(e)&&n[t].push(e)},hasEventListener:function(t,e){if(void 0===this._listeners)return!1;var n=this._listeners;return void 0!==n[t]&&-1!==n[t].indexOf(e)},removeEventListener:function(t,e){if(void 0!==this._listeners){var n=this._listeners[t];if(void 0!==n){var i=n.indexOf(e);-1!==i&&n.splice(i,1)}}},dispatchEvent:function(t){if(void 0!==this._listeners){var e=this._listeners[t.type];if(void 0!==e){t.target=this;for(var n=e.slice(0),i=0,r=n.length;i<r;i++)n[i].call(this,t)}}}});var r="98",o={LEFT:0,MIDDLE:1,RIGHT:2},a=0,s=1,u=2,l=3,h=0,c=1,p=0,d=1,f=2,m=0,g=1,v=2,y=1,_=2,b=0,x=1,w=2,A=0,S=1,T=2,E=3,M=4,P=5,C=100,L=101,R=102,O=103,I=104,N=200,D=201,B=202,k=203,G=204,U=205,V=206,z=207,H=208,F=209,j=210,W=0,X=1,Y=2,K=3,Z=4,q=5,Q=6,J=7,$=0,tt=1,et=2,nt=0,it=1,rt=2,ot=3,at=4,st=300,ut=301,lt=302,ht=303,ct=304,pt=305,dt=306,ft=307,mt=1e3,gt=1001,vt=1002,yt=1003,_t=1004,bt=1005,xt=1006,wt=1007,At=1008,St=1009,Tt=1010,Et=1011,Mt=1012,Pt=1013,Ct=1014,Lt=1015,Rt=1016,Ot=1017,It=1018,Nt=1019,Dt=1020,Bt=1021,kt=1022,Gt=1023,Ut=1024,Vt=1025,zt=Gt,Ht=1026,Ft=1027,jt=1028,Wt=33776,Xt=33777,Yt=33778,Kt=33779,Zt=35840,qt=35841,Qt=35842,Jt=35843,$t=36196,te=37808,ee=37809,ne=37810,ie=37811,re=37812,oe=37813,ae=37814,se=37815,ue=37816,le=37817,he=37818,ce=37819,pe=37820,de=37821,fe=2200,me=2201,ge=2202,ve=2300,ye=2301,_e=2302,be=2400,xe=2401,we=2402,Ae=0,Se=1,Te=2,Ee=3e3,Me=3001,Pe=3007,Ce=3002,Le=3003,Re=3004,Oe=3005,Ie=3006,Ne=3200,De=3201,Be=0,ke=1,Ge={DEG2RAD:Math.PI/180,RAD2DEG:180/Math.PI,generateUUID:function(){for(var t=[],e=0;e<256;e++)t[e]=(e<16?"0":"")+e.toString(16);return function(){var e=4294967295*Math.random()|0,n=4294967295*Math.random()|0,i=4294967295*Math.random()|0,r=4294967295*Math.random()|0;return(t[255&e]+t[e>>8&255]+t[e>>16&255]+t[e>>24&255]+"-"+t[255&n]+t[n>>8&255]+"-"+t[n>>16&15|64]+t[n>>24&255]+"-"+t[63&i|128]+t[i>>8&255]+"-"+t[i>>16&255]+t[i>>24&255]+t[255&r]+t[r>>8&255]+t[r>>16&255]+t[r>>24&255]).toUpperCase()}}(),clamp:function(t,e,n){return Math.max(e,Math.min(n,t))},euclideanModulo:function(t,e){return(t%e+e)%e},mapLinear:function(t,e,n,i,r){return i+(t-e)*(r-i)/(n-e)},lerp:function(t,e,n){return(1-n)*t+n*e},smoothstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*(3-2*t)},smootherstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*t*(t*(6*t-15)+10)},randInt:function(t,e){return t+Math.floor(Math.random()*(e-t+1))},randFloat:function(t,e){return t+Math.random()*(e-t)},randFloatSpread:function(t){return t*(.5-Math.random())},degToRad:function(t){return t*Ge.DEG2RAD},radToDeg:function(t){return t*Ge.RAD2DEG},isPowerOfTwo:function(t){return 0==(t&t-1)&&0!==t},ceilPowerOfTwo:function(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},floorPowerOfTwo:function(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}};function Ue(t,e){this.x=t||0,this.y=e||0}function Ve(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}function ze(t,e,n,i){this._x=t||0,this._y=e||0,this._z=n||0,this._w=void 0!==i?i:1}function He(t,e,n){this.x=t||0,this.y=e||0,this.z=n||0}function Fe(){this.elements=[1,0,0,0,1,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}Object.defineProperties(Ue.prototype,{width:{get:function(){return this.x},set:function(t){this.x=t}},height:{get:function(){return this.y},set:function(t){this.y=t}}}),Object.assign(Ue.prototype,{isVector2:!0,set:function(t,e){return this.x=t,this.y=e,this},setScalar:function(t){return this.x=t,this.y=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setComponent:function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error("index is out of range: "+t)}return this},getComponent:function(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t)}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(t){return this.x=t.x,this.y=t.y,this},add:function(t,e){return void 0!==e?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this)},addScalar:function(t){return this.x+=t,this.y+=t,this},addVectors:function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this},addScaledVector:function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this},sub:function(t,e){return void 0!==e?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this)},subScalar:function(t){return this.x-=t,this.y-=t,this},subVectors:function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this},multiply:function(t){return this.x*=t.x,this.y*=t.y,this},multiplyScalar:function(t){return this.x*=t,this.y*=t,this},divide:function(t){return this.x/=t.x,this.y/=t.y,this},divideScalar:function(t){return this.multiplyScalar(1/t)},applyMatrix3:function(t){var e=this.x,n=this.y,i=t.elements;return this.x=i[0]*e+i[3]*n+i[6],this.y=i[1]*e+i[4]*n+i[7],this},min:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this},max:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this},clamp:function(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this},clampScalar:function(){var t=new Ue,e=new Ue;return function(n,i){return t.set(n,n),e.set(i,i),this.clamp(t,e)}}(),clampLength:function(t,e){var n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},roundToZero:function(){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:function(){return this.x=-this.x,this.y=-this.y,this},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)},normalize:function(){return this.divideScalar(this.length()||1)},angle:function(){var t=Math.atan2(this.y,this.x);return t<0&&(t+=2*Math.PI),t},distanceTo:function(t){return Math.sqrt(this.distanceToSquared(t))},distanceToSquared:function(t){var e=this.x-t.x,n=this.y-t.y;return e*e+n*n},manhattanDistanceTo:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)},setLength:function(t){return this.normalize().multiplyScalar(t)},lerp:function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this},lerpVectors:function(t,e,n){return this.subVectors(e,t).multiplyScalar(n).add(t)},equals:function(t){return t.x===this.x&&t.y===this.y},fromArray:function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t},fromBufferAttribute:function(t,e,n){return void 0!==n&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this},rotateAround:function(t,e){var n=Math.cos(e),i=Math.sin(e),r=this.x-t.x,o=this.y-t.y;return this.x=r*n-o*i+t.x,this.y=r*i+o*n+t.y,this}}),Object.assign(Ve.prototype,{isMatrix4:!0,set:function(t,e,n,i,r,o,a,s,u,l,h,c,p,d,f,m){var g=this.elements;return g[0]=t,g[4]=e,g[8]=n,g[12]=i,g[1]=r,g[5]=o,g[9]=a,g[13]=s,g[2]=u,g[6]=l,g[10]=h,g[14]=c,g[3]=p,g[7]=d,g[11]=f,g[15]=m,this},identity:function(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this},clone:function(){return(new Ve).fromArray(this.elements)},copy:function(t){var e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],e[9]=n[9],e[10]=n[10],e[11]=n[11],e[12]=n[12],e[13]=n[13],e[14]=n[14],e[15]=n[15],this},copyPosition:function(t){var e=this.elements,n=t.elements;return e[12]=n[12],e[13]=n[13],e[14]=n[14],this},extractBasis:function(t,e,n){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this},makeBasis:function(t,e,n){return this.set(t.x,e.x,n.x,0,t.y,e.y,n.y,0,t.z,e.z,n.z,0,0,0,0,1),this},extractRotation:function(){var t=new He;return function(e){var n=this.elements,i=e.elements,r=1/t.setFromMatrixColumn(e,0).length(),o=1/t.setFromMatrixColumn(e,1).length(),a=1/t.setFromMatrixColumn(e,2).length();return n[0]=i[0]*r,n[1]=i[1]*r,n[2]=i[2]*r,n[3]=0,n[4]=i[4]*o,n[5]=i[5]*o,n[6]=i[6]*o,n[7]=0,n[8]=i[8]*a,n[9]=i[9]*a,n[10]=i[10]*a,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}}(),makeRotationFromEuler:function(t){t&&t.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");var e=this.elements,n=t.x,i=t.y,r=t.z,o=Math.cos(n),a=Math.sin(n),s=Math.cos(i),u=Math.sin(i),l=Math.cos(r),h=Math.sin(r);if("XYZ"===t.order){var c=o*l,p=o*h,d=a*l,f=a*h;e[0]=s*l,e[4]=-s*h,e[8]=u,e[1]=p+d*u,e[5]=c-f*u,e[9]=-a*s,e[2]=f-c*u,e[6]=d+p*u,e[10]=o*s}else if("YXZ"===t.order){var m=s*l,g=s*h,v=u*l,y=u*h;e[0]=m+y*a,e[4]=v*a-g,e[8]=o*u,e[1]=o*h,e[5]=o*l,e[9]=-a,e[2]=g*a-v,e[6]=y+m*a,e[10]=o*s}else if("ZXY"===t.order){m=s*l,g=s*h,v=u*l,y=u*h;e[0]=m-y*a,e[4]=-o*h,e[8]=v+g*a,e[1]=g+v*a,e[5]=o*l,e[9]=y-m*a,e[2]=-o*u,e[6]=a,e[10]=o*s}else if("ZYX"===t.order){c=o*l,p=o*h,d=a*l,f=a*h;e[0]=s*l,e[4]=d*u-p,e[8]=c*u+f,e[1]=s*h,e[5]=f*u+c,e[9]=p*u-d,e[2]=-u,e[6]=a*s,e[10]=o*s}else if("YZX"===t.order){var _=o*s,b=o*u,x=a*s,w=a*u;e[0]=s*l,e[4]=w-_*h,e[8]=x*h+b,e[1]=h,e[5]=o*l,e[9]=-a*l,e[2]=-u*l,e[6]=b*h+x,e[10]=_-w*h}else if("XZY"===t.order){_=o*s,b=o*u,x=a*s,w=a*u;e[0]=s*l,e[4]=-h,e[8]=u*l,e[1]=_*h+w,e[5]=o*l,e[9]=b*h-x,e[2]=x*h-b,e[6]=a*l,e[10]=w*h+_}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this},makeRotationFromQuaternion:function(){var t=new He(0,0,0),e=new He(1,1,1);return function(n){return this.compose(t,n,e)}}(),lookAt:function(){var t=new He,e=new He,n=new He;return function(i,r,o){var a=this.elements;return n.subVectors(i,r),0===n.lengthSq()&&(n.z=1),n.normalize(),t.crossVectors(o,n),0===t.lengthSq()&&(1===Math.abs(o.z)?n.x+=1e-4:n.z+=1e-4,n.normalize(),t.crossVectors(o,n)),t.normalize(),e.crossVectors(n,t),a[0]=t.x,a[4]=e.x,a[8]=n.x,a[1]=t.y,a[5]=e.y,a[9]=n.y,a[2]=t.z,a[6]=e.z,a[10]=n.z,this}}(),multiply:function(t,e){return void 0!==e?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(t,e)):this.multiplyMatrices(this,t)},premultiply:function(t){return this.multiplyMatrices(t,this)},multiplyMatrices:function(t,e){var n=t.elements,i=e.elements,r=this.elements,o=n[0],a=n[4],s=n[8],u=n[12],l=n[1],h=n[5],c=n[9],p=n[13],d=n[2],f=n[6],m=n[10],g=n[14],v=n[3],y=n[7],_=n[11],b=n[15],x=i[0],w=i[4],A=i[8],S=i[12],T=i[1],E=i[5],M=i[9],P=i[13],C=i[2],L=i[6],R=i[10],O=i[14],I=i[3],N=i[7],D=i[11],B=i[15];return r[0]=o*x+a*T+s*C+u*I,r[4]=o*w+a*E+s*L+u*N,r[8]=o*A+a*M+s*R+u*D,r[12]=o*S+a*P+s*O+u*B,r[1]=l*x+h*T+c*C+p*I,r[5]=l*w+h*E+c*L+p*N,r[9]=l*A+h*M+c*R+p*D,r[13]=l*S+h*P+c*O+p*B,r[2]=d*x+f*T+m*C+g*I,r[6]=d*w+f*E+m*L+g*N,r[10]=d*A+f*M+m*R+g*D,r[14]=d*S+f*P+m*O+g*B,r[3]=v*x+y*T+_*C+b*I,r[7]=v*w+y*E+_*L+b*N,r[11]=v*A+y*M+_*R+b*D,r[15]=v*S+y*P+_*O+b*B,this},multiplyScalar:function(t){var e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this},applyToBufferAttribute:function(){var t=new He;return function(e){for(var n=0,i=e.count;n<i;n++)t.x=e.getX(n),t.y=e.getY(n),t.z=e.getZ(n),t.applyMatrix4(this),e.setXYZ(n,t.x,t.y,t.z);return e}}(),determinant:function(){var t=this.elements,e=t[0],n=t[4],i=t[8],r=t[12],o=t[1],a=t[5],s=t[9],u=t[13],l=t[2],h=t[6],c=t[10],p=t[14];return t[3]*(+r*s*h-i*u*h-r*a*c+n*u*c+i*a*p-n*s*p)+t[7]*(+e*s*p-e*u*c+r*o*c-i*o*p+i*u*l-r*s*l)+t[11]*(+e*u*h-e*a*p-r*o*h+n*o*p+r*a*l-n*u*l)+t[15]*(-i*a*l-e*s*h+e*a*c+i*o*h-n*o*c+n*s*l)},transpose:function(){var t,e=this.elements;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this},setPosition:function(t){var e=this.elements;return e[12]=t.x,e[13]=t.y,e[14]=t.z,this},getInverse:function(t,e){var n=this.elements,i=t.elements,r=i[0],o=i[1],a=i[2],s=i[3],u=i[4],l=i[5],h=i[6],c=i[7],p=i[8],d=i[9],f=i[10],m=i[11],g=i[12],v=i[13],y=i[14],_=i[15],b=d*y*c-v*f*c+v*h*m-l*y*m-d*h*_+l*f*_,x=g*f*c-p*y*c-g*h*m+u*y*m+p*h*_-u*f*_,w=p*v*c-g*d*c+g*l*m-u*v*m-p*l*_+u*d*_,A=g*d*h-p*v*h-g*l*f+u*v*f+p*l*y-u*d*y,S=r*b+o*x+a*w+s*A;if(0===S){var T="THREE.Matrix4: .getInverse() can't invert matrix, determinant is 0";if(!0===e)throw new Error(T);return console.warn(T),this.identity()}var E=1/S;return n[0]=b*E,n[1]=(v*f*s-d*y*s-v*a*m+o*y*m+d*a*_-o*f*_)*E,n[2]=(l*y*s-v*h*s+v*a*c-o*y*c-l*a*_+o*h*_)*E,n[3]=(d*h*s-l*f*s-d*a*c+o*f*c+l*a*m-o*h*m)*E,n[4]=x*E,n[5]=(p*y*s-g*f*s+g*a*m-r*y*m-p*a*_+r*f*_)*E,n[6]=(g*h*s-u*y*s-g*a*c+r*y*c+u*a*_-r*h*_)*E,n[7]=(u*f*s-p*h*s+p*a*c-r*f*c-u*a*m+r*h*m)*E,n[8]=w*E,n[9]=(g*d*s-p*v*s-g*o*m+r*v*m+p*o*_-r*d*_)*E,n[10]=(u*v*s-g*l*s+g*o*c-r*v*c-u*o*_+r*l*_)*E,n[11]=(p*l*s-u*d*s-p*o*c+r*d*c+u*o*m-r*l*m)*E,n[12]=A*E,n[13]=(p*v*a-g*d*a+g*o*f-r*v*f-p*o*y+r*d*y)*E,n[14]=(g*l*a-u*v*a-g*o*h+r*v*h+u*o*y-r*l*y)*E,n[15]=(u*d*a-p*l*a+p*o*h-r*d*h-u*o*f+r*l*f)*E,this},scale:function(t){var e=this.elements,n=t.x,i=t.y,r=t.z;return e[0]*=n,e[4]*=i,e[8]*=r,e[1]*=n,e[5]*=i,e[9]*=r,e[2]*=n,e[6]*=i,e[10]*=r,e[3]*=n,e[7]*=i,e[11]*=r,this},getMaxScaleOnAxis:function(){var t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],n=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],i=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,n,i))},makeTranslation:function(t,e,n){return this.set(1,0,0,t,0,1,0,e,0,0,1,n,0,0,0,1),this},makeRotationX:function(t){var e=Math.cos(t),n=Math.sin(t);return this.set(1,0,0,0,0,e,-n,0,0,n,e,0,0,0,0,1),this},makeRotationY:function(t){var e=Math.cos(t),n=Math.sin(t);return this.set(e,0,n,0,0,1,0,0,-n,0,e,0,0,0,0,1),this},makeRotationZ:function(t){var e=Math.cos(t),n=Math.sin(t);return this.set(e,-n,0,0,n,e,0,0,0,0,1,0,0,0,0,1),this},makeRotationAxis:function(t,e){var n=Math.cos(e),i=Math.sin(e),r=1-n,o=t.x,a=t.y,s=t.z,u=r*o,l=r*a;return this.set(u*o+n,u*a-i*s,u*s+i*a,0,u*a+i*s,l*a+n,l*s-i*o,0,u*s-i*a,l*s+i*o,r*s*s+n,0,0,0,0,1),this},makeScale:function(t,e,n){return this.set(t,0,0,0,0,e,0,0,0,0,n,0,0,0,0,1),this},makeShear:function(t,e,n){return this.set(1,e,n,0,t,1,n,0,t,e,1,0,0,0,0,1),this},compose:function(t,e,n){var i=this.elements,r=e._x,o=e._y,a=e._z,s=e._w,u=r+r,l=o+o,h=a+a,c=r*u,p=r*l,d=r*h,f=o*l,m=o*h,g=a*h,v=s*u,y=s*l,_=s*h,b=n.x,x=n.y,w=n.z;return i[0]=(1-(f+g))*b,i[1]=(p+_)*b,i[2]=(d-y)*b,i[3]=0,i[4]=(p-_)*x,i[5]=(1-(c+g))*x,i[6]=(m+v)*x,i[7]=0,i[8]=(d+y)*w,i[9]=(m-v)*w,i[10]=(1-(c+f))*w,i[11]=0,i[12]=t.x,i[13]=t.y,i[14]=t.z,i[15]=1,this},decompose:function(){var t=new He,e=new Ve;return function(n,i,r){var o=this.elements,a=t.set(o[0],o[1],o[2]).length(),s=t.set(o[4],o[5],o[6]).length(),u=t.set(o[8],o[9],o[10]).length();this.determinant()<0&&(a=-a),n.x=o[12],n.y=o[13],n.z=o[14],e.copy(this);var l=1/a,h=1/s,c=1/u;return e.elements[0]*=l,e.elements[1]*=l,e.elements[2]*=l,e.elements[4]*=h,e.elements[5]*=h,e.elements[6]*=h,e.elements[8]*=c,e.elements[9]*=c,e.elements[10]*=c,i.setFromRotationMatrix(e),r.x=a,r.y=s,r.z=u,this}}(),makePerspective:function(t,e,n,i,r,o){void 0===o&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");var a=this.elements,s=2*r/(e-t),u=2*r/(n-i),l=(e+t)/(e-t),h=(n+i)/(n-i),c=-(o+r)/(o-r),p=-2*o*r/(o-r);return a[0]=s,a[4]=0,a[8]=l,a[12]=0,a[1]=0,a[5]=u,a[9]=h,a[13]=0,a[2]=0,a[6]=0,a[10]=c,a[14]=p,a[3]=0,a[7]=0,a[11]=-1,a[15]=0,this},makeOrthographic:function(t,e,n,i,r,o){var a=this.elements,s=1/(e-t),u=1/(n-i),l=1/(o-r),h=(e+t)*s,c=(n+i)*u,p=(o+r)*l;return a[0]=2*s,a[4]=0,a[8]=0,a[12]=-h,a[1]=0,a[5]=2*u,a[9]=0,a[13]=-c,a[2]=0,a[6]=0,a[10]=-2*l,a[14]=-p,a[3]=0,a[7]=0,a[11]=0,a[15]=1,this},equals:function(t){for(var e=this.elements,n=t.elements,i=0;i<16;i++)if(e[i]!==n[i])return!1;return!0},fromArray:function(t,e){void 0===e&&(e=0);for(var n=0;n<16;n++)this.elements[n]=t[n+e];return this},toArray:function(t,e){void 0===t&&(t=[]),void 0===e&&(e=0);var n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t[e+9]=n[9],t[e+10]=n[10],t[e+11]=n[11],t[e+12]=n[12],t[e+13]=n[13],t[e+14]=n[14],t[e+15]=n[15],t}}),Object.assign(ze,{slerp:function(t,e,n,i){return n.copy(t).slerp(e,i)},slerpFlat:function(t,e,n,i,r,o,a){var s=n[i+0],u=n[i+1],l=n[i+2],h=n[i+3],c=r[o+0],p=r[o+1],d=r[o+2],f=r[o+3];if(h!==f||s!==c||u!==p||l!==d){var m=1-a,g=s*c+u*p+l*d+h*f,v=g>=0?1:-1,y=1-g*g;if(y>Number.EPSILON){var _=Math.sqrt(y),b=Math.atan2(_,g*v);m=Math.sin(m*b)/_,a=Math.sin(a*b)/_}var x=a*v;if(s=s*m+c*x,u=u*m+p*x,l=l*m+d*x,h=h*m+f*x,m===1-a){var w=1/Math.sqrt(s*s+u*u+l*l+h*h);s*=w,u*=w,l*=w,h*=w}}t[e]=s,t[e+1]=u,t[e+2]=l,t[e+3]=h}}),Object.defineProperties(ze.prototype,{x:{get:function(){return this._x},set:function(t){this._x=t,this.onChangeCallback()}},y:{get:function(){return this._y},set:function(t){this._y=t,this.onChangeCallback()}},z:{get:function(){return this._z},set:function(t){this._z=t,this.onChangeCallback()}},w:{get:function(){return this._w},set:function(t){this._w=t,this.onChangeCallback()}}}),Object.assign(ze.prototype,{isQuaternion:!0,set:function(t,e,n,i){return this._x=t,this._y=e,this._z=n,this._w=i,this.onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._w)},copy:function(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this.onChangeCallback(),this},setFromEuler:function(t,e){if(!t||!t.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var n=t._x,i=t._y,r=t._z,o=t.order,a=Math.cos,s=Math.sin,u=a(n/2),l=a(i/2),h=a(r/2),c=s(n/2),p=s(i/2),d=s(r/2);return"XYZ"===o?(this._x=c*l*h+u*p*d,this._y=u*p*h-c*l*d,this._z=u*l*d+c*p*h,this._w=u*l*h-c*p*d):"YXZ"===o?(this._x=c*l*h+u*p*d,this._y=u*p*h-c*l*d,this._z=u*l*d-c*p*h,this._w=u*l*h+c*p*d):"ZXY"===o?(this._x=c*l*h-u*p*d,this._y=u*p*h+c*l*d,this._z=u*l*d+c*p*h,this._w=u*l*h-c*p*d):"ZYX"===o?(this._x=c*l*h-u*p*d,this._y=u*p*h+c*l*d,this._z=u*l*d-c*p*h,this._w=u*l*h+c*p*d):"YZX"===o?(this._x=c*l*h+u*p*d,this._y=u*p*h+c*l*d,this._z=u*l*d-c*p*h,this._w=u*l*h-c*p*d):"XZY"===o&&(this._x=c*l*h-u*p*d,this._y=u*p*h-c*l*d,this._z=u*l*d+c*p*h,this._w=u*l*h+c*p*d),!1!==e&&this.onChangeCallback(),this},setFromAxisAngle:function(t,e){var n=e/2,i=Math.sin(n);return this._x=t.x*i,this._y=t.y*i,this._z=t.z*i,this._w=Math.cos(n),this.onChangeCallback(),this},setFromRotationMatrix:function(t){var e,n=t.elements,i=n[0],r=n[4],o=n[8],a=n[1],s=n[5],u=n[9],l=n[2],h=n[6],c=n[10],p=i+s+c;return p>0?(e=.5/Math.sqrt(p+1),this._w=.25/e,this._x=(h-u)*e,this._y=(o-l)*e,this._z=(a-r)*e):i>s&&i>c?(e=2*Math.sqrt(1+i-s-c),this._w=(h-u)/e,this._x=.25*e,this._y=(r+a)/e,this._z=(o+l)/e):s>c?(e=2*Math.sqrt(1+s-i-c),this._w=(o-l)/e,this._x=(r+a)/e,this._y=.25*e,this._z=(u+h)/e):(e=2*Math.sqrt(1+c-i-s),this._w=(a-r)/e,this._x=(o+l)/e,this._y=(u+h)/e,this._z=.25*e),this.onChangeCallback(),this},setFromUnitVectors:function(){var t,e=new He;return function(n,i){return void 0===e&&(e=new He),(t=n.dot(i)+1)<1e-6?(t=0,Math.abs(n.x)>Math.abs(n.z)?e.set(-n.y,n.x,0):e.set(0,-n.z,n.y)):e.crossVectors(n,i),this._x=e.x,this._y=e.y,this._z=e.z,this._w=t,this.normalize()}}(),angleTo:function(t){return 2*Math.acos(Math.abs(Ge.clamp(this.dot(t),-1,1)))},rotateTowards:function(t,e){var n=this.angleTo(t);if(0===n)return this;var i=Math.min(1,e/n);return this.slerp(t,i),this},inverse:function(){return this.conjugate()},conjugate:function(){return this._x*=-1,this._y*=-1,this._z*=-1,this.onChangeCallback(),this},dot:function(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w},lengthSq:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},length:function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){var t=this.length();return 0===t?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x=this._x*t,this._y=this._y*t,this._z=this._z*t,this._w=this._w*t),this.onChangeCallback(),this},multiply:function(t,e){return void 0!==e?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(t,e)):this.multiplyQuaternions(this,t)},premultiply:function(t){return this.multiplyQuaternions(t,this)},multiplyQuaternions:function(t,e){var n=t._x,i=t._y,r=t._z,o=t._w,a=e._x,s=e._y,u=e._z,l=e._w;return this._x=n*l+o*a+i*u-r*s,this._y=i*l+o*s+r*a-n*u,this._z=r*l+o*u+n*s-i*a,this._w=o*l-n*a-i*s-r*u,this.onChangeCallback(),this},slerp:function(t,e){if(0===e)return this;if(1===e)return this.copy(t);var n=this._x,i=this._y,r=this._z,o=this._w,a=o*t._w+n*t._x+i*t._y+r*t._z;if(a<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,a=-a):this.copy(t),a>=1)return this._w=o,this._x=n,this._y=i,this._z=r,this;var s=1-a*a;if(s<=Number.EPSILON){var u=1-e;return this._w=u*o+e*this._w,this._x=u*n+e*this._x,this._y=u*i+e*this._y,this._z=u*r+e*this._z,this.normalize()}var l=Math.sqrt(s),h=Math.atan2(l,a),c=Math.sin((1-e)*h)/l,p=Math.sin(e*h)/l;return this._w=o*c+this._w*p,this._x=n*c+this._x*p,this._y=i*c+this._y*p,this._z=r*c+this._z*p,this.onChangeCallback(),this},equals:function(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w},fromArray:function(t,e){return void 0===e&&(e=0),this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this.onChangeCallback(),this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t},onChange:function(t){return this.onChangeCallback=t,this},onChangeCallback:function(){}}),Object.assign(He.prototype,{isVector3:!0,set:function(t,e,n){return this.x=t,this.y=e,this.z=n,this},setScalar:function(t){return this.x=t,this.y=t,this.z=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setZ:function(t){return this.z=t,this},setComponent:function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("index is out of range: "+t)}return this},getComponent:function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t)}},clone:function(){return new this.constructor(this.x,this.y,this.z)},copy:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},add:function(t,e){return void 0!==e?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this)},addScalar:function(t){return this.x+=t,this.y+=t,this.z+=t,this},addVectors:function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this},addScaledVector:function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this},sub:function(t,e){return void 0!==e?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this)},subScalar:function(t){return this.x-=t,this.y-=t,this.z-=t,this},subVectors:function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},multiply:function(t,e){return void 0!==e?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(t,e)):(this.x*=t.x,this.y*=t.y,this.z*=t.z,this)},multiplyScalar:function(t){return this.x*=t,this.y*=t,this.z*=t,this},multiplyVectors:function(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this},applyEuler:function(){var t=new ze;return function(e){return e&&e.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(t.setFromEuler(e))}}(),applyAxisAngle:function(){var t=new ze;return function(e,n){return this.applyQuaternion(t.setFromAxisAngle(e,n))}}(),applyMatrix3:function(t){var e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[3]*n+r[6]*i,this.y=r[1]*e+r[4]*n+r[7]*i,this.z=r[2]*e+r[5]*n+r[8]*i,this},applyMatrix4:function(t){var e=this.x,n=this.y,i=this.z,r=t.elements,o=1/(r[3]*e+r[7]*n+r[11]*i+r[15]);return this.x=(r[0]*e+r[4]*n+r[8]*i+r[12])*o,this.y=(r[1]*e+r[5]*n+r[9]*i+r[13])*o,this.z=(r[2]*e+r[6]*n+r[10]*i+r[14])*o,this},applyQuaternion:function(t){var e=this.x,n=this.y,i=this.z,r=t.x,o=t.y,a=t.z,s=t.w,u=s*e+o*i-a*n,l=s*n+a*e-r*i,h=s*i+r*n-o*e,c=-r*e-o*n-a*i;return this.x=u*s+c*-r+l*-a-h*-o,this.y=l*s+c*-o+h*-r-u*-a,this.z=h*s+c*-a+u*-o-l*-r,this},project:function(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)},unproject:function(){var t=new Ve;return function(e){return this.applyMatrix4(t.getInverse(e.projectionMatrix)).applyMatrix4(e.matrixWorld)}}(),transformDirection:function(t){var e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[4]*n+r[8]*i,this.y=r[1]*e+r[5]*n+r[9]*i,this.z=r[2]*e+r[6]*n+r[10]*i,this.normalize()},divide:function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this},divideScalar:function(t){return this.multiplyScalar(1/t)},min:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this},max:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this},clamp:function(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this},clampScalar:function(){var t=new He,e=new He;return function(n,i){return t.set(n,n,n),e.set(i,i,i),this.clamp(t,e)}}(),clampLength:function(t,e){var n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this},roundToZero:function(){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:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(t){return this.normalize().multiplyScalar(t)},lerp:function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this},lerpVectors:function(t,e,n){return this.subVectors(e,t).multiplyScalar(n).add(t)},cross:function(t,e){return void 0!==e?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(t,e)):this.crossVectors(this,t)},crossVectors:function(t,e){var n=t.x,i=t.y,r=t.z,o=e.x,a=e.y,s=e.z;return this.x=i*s-r*a,this.y=r*o-n*s,this.z=n*a-i*o,this},projectOnVector:function(t){var e=t.dot(this)/t.lengthSq();return this.copy(t).multiplyScalar(e)},projectOnPlane:function(){var t=new He;return function(e){return t.copy(this).projectOnVector(e),this.sub(t)}}(),reflect:function(){var t=new He;return function(e){return this.sub(t.copy(e).multiplyScalar(2*this.dot(e)))}}(),angleTo:function(t){var e=this.dot(t)/Math.sqrt(this.lengthSq()*t.lengthSq());return Math.acos(Ge.clamp(e,-1,1))},distanceTo:function(t){return Math.sqrt(this.distanceToSquared(t))},distanceToSquared:function(t){var e=this.x-t.x,n=this.y-t.y,i=this.z-t.z;return e*e+n*n+i*i},manhattanDistanceTo:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)},setFromSpherical:function(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)},setFromSphericalCoords:function(t,e,n){var i=Math.sin(e)*t;return this.x=i*Math.sin(n),this.y=Math.cos(e)*t,this.z=i*Math.cos(n),this},setFromCylindrical:function(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)},setFromCylindricalCoords:function(t,e,n){return this.x=t*Math.sin(e),this.y=n,this.z=t*Math.cos(e),this},setFromMatrixPosition:function(t){var e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this},setFromMatrixScale:function(t){var e=this.setFromMatrixColumn(t,0).length(),n=this.setFromMatrixColumn(t,1).length(),i=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=n,this.z=i,this},setFromMatrixColumn:function(t,e){return this.fromArray(t.elements,4*e)},equals:function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z},fromArray:function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t},fromBufferAttribute:function(t,e,n){return void 0!==n&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}}),Object.assign(Fe.prototype,{isMatrix3:!0,set:function(t,e,n,i,r,o,a,s,u){var l=this.elements;return l[0]=t,l[1]=i,l[2]=a,l[3]=e,l[4]=r,l[5]=s,l[6]=n,l[7]=o,l[8]=u,this},identity:function(){return this.set(1,0,0,0,1,0,0,0,1),this},clone:function(){return(new this.constructor).fromArray(this.elements)},copy:function(t){var e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],this},setFromMatrix4:function(t){var e=t.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this},applyToBufferAttribute:function(){var t=new He;return function(e){for(var n=0,i=e.count;n<i;n++)t.x=e.getX(n),t.y=e.getY(n),t.z=e.getZ(n),t.applyMatrix3(this),e.setXYZ(n,t.x,t.y,t.z);return e}}(),multiply:function(t){return this.multiplyMatrices(this,t)},premultiply:function(t){return this.multiplyMatrices(t,this)},multiplyMatrices:function(t,e){var n=t.elements,i=e.elements,r=this.elements,o=n[0],a=n[3],s=n[6],u=n[1],l=n[4],h=n[7],c=n[2],p=n[5],d=n[8],f=i[0],m=i[3],g=i[6],v=i[1],y=i[4],_=i[7],b=i[2],x=i[5],w=i[8];return r[0]=o*f+a*v+s*b,r[3]=o*m+a*y+s*x,r[6]=o*g+a*_+s*w,r[1]=u*f+l*v+h*b,r[4]=u*m+l*y+h*x,r[7]=u*g+l*_+h*w,r[2]=c*f+p*v+d*b,r[5]=c*m+p*y+d*x,r[8]=c*g+p*_+d*w,this},multiplyScalar:function(t){var e=this.elements;return e[0]*=t,e[3]*=t,e[6]*=t,e[1]*=t,e[4]*=t,e[7]*=t,e[2]*=t,e[5]*=t,e[8]*=t,this},determinant:function(){var t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],o=t[4],a=t[5],s=t[6],u=t[7],l=t[8];return e*o*l-e*a*u-n*r*l+n*a*s+i*r*u-i*o*s},getInverse:function(t,e){t&&t.isMatrix4&&console.error("THREE.Matrix3: .getInverse() no longer takes a Matrix4 argument.");var n=t.elements,i=this.elements,r=n[0],o=n[1],a=n[2],s=n[3],u=n[4],l=n[5],h=n[6],c=n[7],p=n[8],d=p*u-l*c,f=l*h-p*s,m=c*s-u*h,g=r*d+o*f+a*m;if(0===g){var v="THREE.Matrix3: .getInverse() can't invert matrix, determinant is 0";if(!0===e)throw new Error(v);return console.warn(v),this.identity()}var y=1/g;return i[0]=d*y,i[1]=(a*c-p*o)*y,i[2]=(l*o-a*u)*y,i[3]=f*y,i[4]=(p*r-a*h)*y,i[5]=(a*s-l*r)*y,i[6]=m*y,i[7]=(o*h-c*r)*y,i[8]=(u*r-o*s)*y,this},transpose:function(){var t,e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this},getNormalMatrix:function(t){return this.setFromMatrix4(t).getInverse(this).transpose()},transposeIntoArray:function(t){var e=this.elements;return t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],this},setUvTransform:function(t,e,n,i,r,o,a){var s=Math.cos(r),u=Math.sin(r);this.set(n*s,n*u,-n*(s*o+u*a)+o+t,-i*u,i*s,-i*(-u*o+s*a)+a+e,0,0,1)},scale:function(t,e){var n=this.elements;return n[0]*=t,n[3]*=t,n[6]*=t,n[1]*=e,n[4]*=e,n[7]*=e,this},rotate:function(t){var e=Math.cos(t),n=Math.sin(t),i=this.elements,r=i[0],o=i[3],a=i[6],s=i[1],u=i[4],l=i[7];return i[0]=e*r+n*s,i[3]=e*o+n*u,i[6]=e*a+n*l,i[1]=-n*r+e*s,i[4]=-n*o+e*u,i[7]=-n*a+e*l,this},translate:function(t,e){var n=this.elements;return n[0]+=t*n[2],n[3]+=t*n[5],n[6]+=t*n[8],n[1]+=e*n[2],n[4]+=e*n[5],n[7]+=e*n[8],this},equals:function(t){for(var e=this.elements,n=t.elements,i=0;i<9;i++)if(e[i]!==n[i])return!1;return!0},fromArray:function(t,e){void 0===e&&(e=0);for(var n=0;n<9;n++)this.elements[n]=t[n+e];return this},toArray:function(t,e){void 0===t&&(t=[]),void 0===e&&(e=0);var n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t}});var je={getDataURL:function(t){var e;if("undefined"==typeof HTMLCanvasElement)return t.src;if(t instanceof HTMLCanvasElement)e=t;else{(e=document.createElementNS("http://www.w3.org/1999/xhtml","canvas")).width=t.width,e.height=t.height;var n=e.getContext("2d");t instanceof ImageData?n.putImageData(t,0,0):n.drawImage(t,0,0,t.width,t.height)}return e.width>2048||e.height>2048?e.toDataURL("image/jpeg",.6):e.toDataURL("image/png")}},We=0;function Xe(t,e,n,i,r,o,a,s,u,l){Object.defineProperty(this,"id",{value:We++}),this.uuid=Ge.generateUUID(),this.name="",this.image=void 0!==t?t:Xe.DEFAULT_IMAGE,this.mipmaps=[],this.mapping=void 0!==e?e:Xe.DEFAULT_MAPPING,this.wrapS=void 0!==n?n:gt,this.wrapT=void 0!==i?i:gt,this.magFilter=void 0!==r?r:xt,this.minFilter=void 0!==o?o:At,this.anisotropy=void 0!==u?u:1,this.format=void 0!==a?a:Gt,this.type=void 0!==s?s:St,this.offset=new Ue(0,0),this.repeat=new Ue(1,1),this.center=new Ue(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new Fe,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=void 0!==l?l:Ee,this.version=0,this.onUpdate=null}function Ye(t,e,n,i){this.x=t||0,this.y=e||0,this.z=n||0,this.w=void 0!==i?i:1}function Ke(t,e,n){this.width=t,this.height=e,this.scissor=new Ye(0,0,t,e),this.scissorTest=!1,this.viewport=new Ye(0,0,t,e),void 0===(n=n||{}).minFilter&&(n.minFilter=xt),this.texture=new Xe(void 0,void 0,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.encoding),this.texture.generateMipmaps=void 0===n.generateMipmaps||n.generateMipmaps,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}function Ze(t,e,n){Ke.call(this,t,e,n),this.activeCubeFace=0,this.activeMipMapLevel=0}function qe(t,e,n,i,r,o,a,s,u,l,h,c){Xe.call(this,null,o,a,s,u,l,i,r,h,c),this.image={data:t,width:e,height:n},this.magFilter=void 0!==u?u:yt,this.minFilter=void 0!==l?l:yt,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}function Qe(t,e){this.min=void 0!==t?t:new He(1/0,1/0,1/0),this.max=void 0!==e?e:new He(-1/0,-1/0,-1/0)}function Je(t,e){this.center=void 0!==t?t:new He,this.radius=void 0!==e?e:0}function $e(t,e){this.normal=void 0!==t?t:new He(1,0,0),this.constant=void 0!==e?e:0}function tn(t,e,n,i,r,o){this.planes=[void 0!==t?t:new $e,void 0!==e?e:new $e,void 0!==n?n:new $e,void 0!==i?i:new $e,void 0!==r?r:new $e,void 0!==o?o:new $e]}Xe.DEFAULT_IMAGE=void 0,Xe.DEFAULT_MAPPING=st,Xe.prototype=Object.assign(Object.create(i.prototype),{constructor:Xe,isTexture:!0,updateMatrix:function(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.name=t.name,this.image=t.image,this.mipmaps=t.mipmaps.slice(0),this.mapping=t.mapping,this.wrapS=t.wrapS,this.wrapT=t.wrapT,this.magFilter=t.magFilter,this.minFilter=t.minFilter,this.anisotropy=t.anisotropy,this.format=t.format,this.type=t.type,this.offset.copy(t.offset),this.repeat.copy(t.repeat),this.center.copy(t.center),this.rotation=t.rotation,this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrix.copy(t.matrix),this.generateMipmaps=t.generateMipmaps,this.premultiplyAlpha=t.premultiplyAlpha,this.flipY=t.flipY,this.unpackAlignment=t.unpackAlignment,this.encoding=t.encoding,this},toJSON:function(t){var e=void 0===t||"string"==typeof t;if(!e&&void 0!==t.textures[this.uuid])return t.textures[this.uuid];var n={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,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,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY};if(void 0!==this.image){var i=this.image;if(void 0===i.uuid&&(i.uuid=Ge.generateUUID()),!e&&void 0===t.images[i.uuid]){var r;if(Array.isArray(i)){r=[];for(var o=0,a=i.length;o<a;o++)r.push(je.getDataURL(i[o]))}else r=je.getDataURL(i);t.images[i.uuid]={uuid:i.uuid,url:r}}n.image=i.uuid}return e||(t.textures[this.uuid]=n),n},dispose:function(){this.dispatchEvent({type:"dispose"})},transformUv:function(t){if(this.mapping!==st)return t;if(t.applyMatrix3(this.matrix),t.x<0||t.x>1)switch(this.wrapS){case mt:t.x=t.x-Math.floor(t.x);break;case gt:t.x=t.x<0?0:1;break;case vt:1===Math.abs(Math.floor(t.x)%2)?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x)}if(t.y<0||t.y>1)switch(this.wrapT){case mt:t.y=t.y-Math.floor(t.y);break;case gt:t.y=t.y<0?0:1;break;case vt:1===Math.abs(Math.floor(t.y)%2)?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y)}return this.flipY&&(t.y=1-t.y),t}}),Object.defineProperty(Xe.prototype,"needsUpdate",{set:function(t){!0===t&&this.version++}}),Object.assign(Ye.prototype,{isVector4:!0,set:function(t,e,n,i){return this.x=t,this.y=e,this.z=n,this.w=i,this},setScalar:function(t){return this.x=t,this.y=t,this.z=t,this.w=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setZ:function(t){return this.z=t,this},setW:function(t){return this.w=t,this},setComponent:function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:throw new Error("index is out of range: "+t)}return this},getComponent:function(t){switch(t){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: "+t)}},clone:function(){return new this.constructor(this.x,this.y,this.z,this.w)},copy:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=void 0!==t.w?t.w:1,this},add:function(t,e){return void 0!==e?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this)},addScalar:function(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this},addVectors:function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this},addScaledVector:function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this},sub:function(t,e){return void 0!==e?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this)},subScalar:function(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this},subVectors:function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this},multiplyScalar:function(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},applyMatrix4:function(t){var e=this.x,n=this.y,i=this.z,r=this.w,o=t.elements;return this.x=o[0]*e+o[4]*n+o[8]*i+o[12]*r,this.y=o[1]*e+o[5]*n+o[9]*i+o[13]*r,this.z=o[2]*e+o[6]*n+o[10]*i+o[14]*r,this.w=o[3]*e+o[7]*n+o[11]*i+o[15]*r,this},divideScalar:function(t){return this.multiplyScalar(1/t)},setAxisAngleFromQuaternion:function(t){this.w=2*Math.acos(t.w);var e=Math.sqrt(1-t.w*t.w);return e<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=t.x/e,this.y=t.y/e,this.z=t.z/e),this},setAxisAngleFromRotationMatrix:function(t){var e,n,i,r,o=t.elements,a=o[0],s=o[4],u=o[8],l=o[1],h=o[5],c=o[9],p=o[2],d=o[6],f=o[10];if(Math.abs(s-l)<.01&&Math.abs(u-p)<.01&&Math.abs(c-d)<.01){if(Math.abs(s+l)<.1&&Math.abs(u+p)<.1&&Math.abs(c+d)<.1&&Math.abs(a+h+f-3)<.1)return this.set(1,0,0,0),this;e=Math.PI;var m=(a+1)/2,g=(h+1)/2,v=(f+1)/2,y=(s+l)/4,_=(u+p)/4,b=(c+d)/4;return m>g&&m>v?m<.01?(n=0,i=.707106781,r=.707106781):(i=y/(n=Math.sqrt(m)),r=_/n):g>v?g<.01?(n=.707106781,i=0,r=.707106781):(n=y/(i=Math.sqrt(g)),r=b/i):v<.01?(n=.707106781,i=.707106781,r=0):(n=_/(r=Math.sqrt(v)),i=b/r),this.set(n,i,r,e),this}var x=Math.sqrt((d-c)*(d-c)+(u-p)*(u-p)+(l-s)*(l-s));return Math.abs(x)<.001&&(x=1),this.x=(d-c)/x,this.y=(u-p)/x,this.z=(l-s)/x,this.w=Math.acos((a+h+f-1)/2),this},min:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this.w=Math.min(this.w,t.w),this},max:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this.w=Math.max(this.w,t.w),this},clamp:function(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this.w=Math.max(t.w,Math.min(e.w,this.w)),this},clampScalar:function(){var t,e;return function(n,i){return void 0===t&&(t=new Ye,e=new Ye),t.set(n,n,n,n),e.set(i,i,i,i),this.clamp(t,e)}}(),clampLength:function(t,e){var n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))},floor:function(){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:function(){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:function(){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:function(){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:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(t){return this.normalize().multiplyScalar(t)},lerp:function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this.w+=(t.w-this.w)*e,this},lerpVectors:function(t,e,n){return this.subVectors(e,t).multiplyScalar(n).add(t)},equals:function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.w===this.w},fromArray:function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this.w=t[e+3],this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t[e+3]=this.w,t},fromBufferAttribute:function(t,e,n){return void 0!==n&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this.w=t.getW(e),this}}),Ke.prototype=Object.assign(Object.create(i.prototype),{constructor:Ke,isWebGLRenderTarget:!0,setSize:function(t,e){this.width===t&&this.height===e||(this.width=t,this.height=e,this.dispose()),this.viewport.set(0,0,t,e),this.scissor.set(0,0,t,e)},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.width=t.width,this.height=t.height,this.viewport.copy(t.viewport),this.texture=t.texture.clone(),this.depthBuffer=t.depthBuffer,this.stencilBuffer=t.stencilBuffer,this.depthTexture=t.depthTexture,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),Ze.prototype=Object.create(Ke.prototype),Ze.prototype.constructor=Ze,Ze.prototype.isWebGLRenderTargetCube=!0,qe.prototype=Object.create(Xe.prototype),qe.prototype.constructor=qe,qe.prototype.isDataTexture=!0,Object.assign(Qe.prototype,{isBox3:!0,set:function(t,e){return this.min.copy(t),this.max.copy(e),this},setFromArray:function(t){for(var e=1/0,n=1/0,i=1/0,r=-1/0,o=-1/0,a=-1/0,s=0,u=t.length;s<u;s+=3){var l=t[s],h=t[s+1],c=t[s+2];l<e&&(e=l),h<n&&(n=h),c<i&&(i=c),l>r&&(r=l),h>o&&(o=h),c>a&&(a=c)}return this.min.set(e,n,i),this.max.set(r,o,a),this},setFromBufferAttribute:function(t){for(var e=1/0,n=1/0,i=1/0,r=-1/0,o=-1/0,a=-1/0,s=0,u=t.count;s<u;s++){var l=t.getX(s),h=t.getY(s),c=t.getZ(s);l<e&&(e=l),h<n&&(n=h),c<i&&(i=c),l>r&&(r=l),h>o&&(o=h),c>a&&(a=c)}return this.min.set(e,n,i),this.max.set(r,o,a),this},setFromPoints:function(t){this.makeEmpty();for(var e=0,n=t.length;e<n;e++)this.expandByPoint(t[e]);return this},setFromCenterAndSize:function(){var t=new He;return function(e,n){var i=t.copy(n).multiplyScalar(.5);return this.min.copy(e).sub(i),this.max.copy(e).add(i),this}}(),setFromObject:function(t){return this.makeEmpty(),this.expandByObject(t)},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.min.copy(t.min),this.max.copy(t.max),this},makeEmpty:function(){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:function(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z},getCenter:function(t){return void 0===t&&(console.warn("THREE.Box3: .getCenter() target is now required"),t=new He),this.isEmpty()?t.set(0,0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)},getSize:function(t){return void 0===t&&(console.warn("THREE.Box3: .getSize() target is now required"),t=new He),this.isEmpty()?t.set(0,0,0):t.subVectors(this.max,this.min)},expandByPoint:function(t){return this.min.min(t),this.max.max(t),this},expandByVector:function(t){return this.min.sub(t),this.max.add(t),this},expandByScalar:function(t){return this.min.addScalar(-t),this.max.addScalar(t),this},expandByObject:function(){var t,e,n,i=new He;function r(r){var o=r.geometry;if(void 0!==o)if(o.isGeometry){var a=o.vertices;for(e=0,n=a.length;e<n;e++)i.copy(a[e]),i.applyMatrix4(r.matrixWorld),t.expandByPoint(i)}else if(o.isBufferGeometry){var s=o.attributes.position;if(void 0!==s)for(e=0,n=s.count;e<n;e++)i.fromBufferAttribute(s,e).applyMatrix4(r.matrixWorld),t.expandByPoint(i)}}return function(e){return t=this,e.updateMatrixWorld(!0),e.traverse(r),this}}(),containsPoint:function(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y||t.z<this.min.z||t.z>this.max.z)},containsBox:function(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z},getParameter:function(t,e){return void 0===e&&(console.warn("THREE.Box3: .getParameter() target is now required"),e=new He),e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))},intersectsBox:function(t){return!(t.max.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y||t.max.z<this.min.z||t.min.z>this.max.z)},intersectsSphere:function(){var t=new He;return function(e){return this.clampPoint(e.center,t),t.distanceToSquared(e.center)<=e.radius*e.radius}}(),intersectsPlane:function(t){var e,n;return t.normal.x>0?(e=t.normal.x*this.min.x,n=t.normal.x*this.max.x):(e=t.normal.x*this.max.x,n=t.normal.x*this.min.x),t.normal.y>0?(e+=t.normal.y*this.min.y,n+=t.normal.y*this.max.y):(e+=t.normal.y*this.max.y,n+=t.normal.y*this.min.y),t.normal.z>0?(e+=t.normal.z*this.min.z,n+=t.normal.z*this.max.z):(e+=t.normal.z*this.max.z,n+=t.normal.z*this.min.z),e<=-t.constant&&n>=-t.constant},intersectsTriangle:function(){var t=new He,e=new He,n=new He,i=new He,r=new He,o=new He,a=new He,s=new He,u=new He,l=new He;function h(i){var r,o;for(r=0,o=i.length-3;r<=o;r+=3){a.fromArray(i,r);var s=u.x*Math.abs(a.x)+u.y*Math.abs(a.y)+u.z*Math.abs(a.z),l=t.dot(a),h=e.dot(a),c=n.dot(a);if(Math.max(-Math.max(l,h,c),Math.min(l,h,c))>s)return!1}return!0}return function(a){if(this.isEmpty())return!1;this.getCenter(s),u.subVectors(this.max,s),t.subVectors(a.a,s),e.subVectors(a.b,s),n.subVectors(a.c,s),i.subVectors(e,t),r.subVectors(n,e),o.subVectors(t,n);var c=[0,-i.z,i.y,0,-r.z,r.y,0,-o.z,o.y,i.z,0,-i.x,r.z,0,-r.x,o.z,0,-o.x,-i.y,i.x,0,-r.y,r.x,0,-o.y,o.x,0];return!!h(c)&&(!!h(c=[1,0,0,0,1,0,0,0,1])&&(l.crossVectors(i,r),h(c=[l.x,l.y,l.z])))}}(),clampPoint:function(t,e){return void 0===e&&(console.warn("THREE.Box3: .clampPoint() target is now required"),e=new He),e.copy(t).clamp(this.min,this.max)},distanceToPoint:function(){var t=new He;return function(e){return t.copy(e).clamp(this.min,this.max).sub(e).length()}}(),getBoundingSphere:function(){var t=new He;return function(e){return void 0===e&&(console.warn("THREE.Box3: .getBoundingSphere() target is now required"),e=new Je),this.getCenter(e.center),e.radius=.5*this.getSize(t).length(),e}}(),intersect:function(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this},union:function(t){return this.min.min(t.min),this.max.max(t.max),this},applyMatrix4:function(){var t=[new He,new He,new He,new He,new He,new He,new He,new He];return function(e){return this.isEmpty()?this:(t[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),t[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),t[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),t[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),t[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),t[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),t[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),t[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(t),this)}}(),translate:function(t){return this.min.add(t),this.max.add(t),this},equals:function(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}),Object.assign(Je.prototype,{set:function(t,e){return this.center.copy(t),this.radius=e,this},setFromPoints:function(){var t=new Qe;return function(e,n){var i=this.center;void 0!==n?i.copy(n):t.setFromPoints(e).getCenter(i);for(var r=0,o=0,a=e.length;o<a;o++)r=Math.max(r,i.distanceToSquared(e[o]));return this.radius=Math.sqrt(r),this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.center.copy(t.center),this.radius=t.radius,this},empty:function(){return this.radius<=0},containsPoint:function(t){return t.distanceToSquared(this.center)<=this.radius*this.radius},distanceToPoint:function(t){return t.distanceTo(this.center)-this.radius},intersectsSphere:function(t){var e=this.radius+t.radius;return t.center.distanceToSquared(this.center)<=e*e},intersectsBox:function(t){return t.intersectsSphere(this)},intersectsPlane:function(t){return Math.abs(t.distanceToPoint(this.center))<=this.radius},clampPoint:function(t,e){var n=this.center.distanceToSquared(t);return void 0===e&&(console.warn("THREE.Sphere: .clampPoint() target is now required"),e=new He),e.copy(t),n>this.radius*this.radius&&(e.sub(this.center).normalize(),e.multiplyScalar(this.radius).add(this.center)),e},getBoundingBox:function(t){return void 0===t&&(console.warn("THREE.Sphere: .getBoundingBox() target is now required"),t=new Qe),t.set(this.center,this.center),t.expandByScalar(this.radius),t},applyMatrix4:function(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this},translate:function(t){return this.center.add(t),this},equals:function(t){return t.center.equals(this.center)&&t.radius===this.radius}}),Object.assign($e.prototype,{set:function(t,e){return this.normal.copy(t),this.constant=e,this},setComponents:function(t,e,n,i){return this.normal.set(t,e,n),this.constant=i,this},setFromNormalAndCoplanarPoint:function(t,e){return this.normal.copy(t),this.constant=-e.dot(this.normal),this},setFromCoplanarPoints:function(){var t=new He,e=new He;return function(n,i,r){var o=t.subVectors(r,i).cross(e.subVectors(n,i)).normalize();return this.setFromNormalAndCoplanarPoint(o,n),this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.normal.copy(t.normal),this.constant=t.constant,this},normalize:function(){var t=1/this.normal.length();return this.normal.multiplyScalar(t),this.constant*=t,this},negate:function(){return this.constant*=-1,this.normal.negate(),this},distanceToPoint:function(t){return this.normal.dot(t)+this.constant},distanceToSphere:function(t){return this.distanceToPoint(t.center)-t.radius},projectPoint:function(t,e){return void 0===e&&(console.warn("THREE.Plane: .projectPoint() target is now required"),e=new He),e.copy(this.normal).multiplyScalar(-this.distanceToPoint(t)).add(t)},intersectLine:function(){var t=new He;return function(e,n){void 0===n&&(console.warn("THREE.Plane: .intersectLine() target is now required"),n=new He);var i=e.delta(t),r=this.normal.dot(i);if(0===r)return 0===this.distanceToPoint(e.start)?n.copy(e.start):void 0;var o=-(e.start.dot(this.normal)+this.constant)/r;return o<0||o>1?void 0:n.copy(i).multiplyScalar(o).add(e.start)}}(),intersectsLine:function(t){var e=this.distanceToPoint(t.start),n=this.distanceToPoint(t.end);return e<0&&n>0||n<0&&e>0},intersectsBox:function(t){return t.intersectsPlane(this)},intersectsSphere:function(t){return t.intersectsPlane(this)},coplanarPoint:function(t){return void 0===t&&(console.warn("THREE.Plane: .coplanarPoint() target is now required"),t=new He),t.copy(this.normal).multiplyScalar(-this.constant)},applyMatrix4:function(){var t=new He,e=new Fe;return function(n,i){var r=i||e.getNormalMatrix(n),o=this.coplanarPoint(t).applyMatrix4(n),a=this.normal.applyMatrix3(r).normalize();return this.constant=-o.dot(a),this}}(),translate:function(t){return this.constant-=t.dot(this.normal),this},equals:function(t){return t.normal.equals(this.normal)&&t.constant===this.constant}}),Object.assign(tn.prototype,{set:function(t,e,n,i,r,o){var a=this.planes;return a[0].copy(t),a[1].copy(e),a[2].copy(n),a[3].copy(i),a[4].copy(r),a[5].copy(o),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){for(var e=this.planes,n=0;n<6;n++)e[n].copy(t.planes[n]);return this},setFromMatrix:function(t){var e=this.planes,n=t.elements,i=n[0],r=n[1],o=n[2],a=n[3],s=n[4],u=n[5],l=n[6],h=n[7],c=n[8],p=n[9],d=n[10],f=n[11],m=n[12],g=n[13],v=n[14],y=n[15];return e[0].setComponents(a-i,h-s,f-c,y-m).normalize(),e[1].setComponents(a+i,h+s,f+c,y+m).normalize(),e[2].setComponents(a+r,h+u,f+p,y+g).normalize(),e[3].setComponents(a-r,h-u,f-p,y-g).normalize(),e[4].setComponents(a-o,h-l,f-d,y-v).normalize(),e[5].setComponents(a+o,h+l,f+d,y+v).normalize(),this},intersectsObject:function(){var t=new Je;return function(e){var n=e.geometry;return null===n.boundingSphere&&n.computeBoundingSphere(),t.copy(n.boundingSphere).applyMatrix4(e.matrixWorld),this.intersectsSphere(t)}}(),intersectsSprite:function(){var t=new Je;return function(e){return t.center.set(0,0,0),t.radius=.7071067811865476,t.applyMatrix4(e.matrixWorld),this.intersectsSphere(t)}}(),intersectsSphere:function(t){for(var e=this.planes,n=t.center,i=-t.radius,r=0;r<6;r++){if(e[r].distanceToPoint(n)<i)return!1}return!0},intersectsBox:function(){var t=new He;return function(e){for(var n=this.planes,i=0;i<6;i++){var r=n[i];if(t.x=r.normal.x>0?e.max.x:e.min.x,t.y=r.normal.y>0?e.max.y:e.min.y,t.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(t)<0)return!1}return!0}}(),containsPoint:function(t){for(var e=this.planes,n=0;n<6;n++)if(e[n].distanceToPoint(t)<0)return!1;return!0}});var en={alphamap_fragment:"#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif\n",alphamap_pars_fragment:"#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif\n",alphatest_fragment:"#ifdef ALPHATEST\n\tif ( diffuseColor.a < ALPHATEST ) discard;\n#endif\n",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( PHYSICAL )\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.specularRoughness );\n\t#endif\n#endif\n",aomap_pars_fragment:"#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif",begin_vertex:"\nvec3 transformed = vec3( position );\n",beginnormal_vertex:"\nvec3 objectNormal = vec3( normal );\n",bsdfs:"float punctualLightIntensityToIrradianceFactor( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\tif( cutoffDistance > 0.0 ) {\n\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t}\n\treturn distanceFalloff;\n#else\n\tif( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t}\n\treturn 1.0;\n#endif\n}\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\n\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\n}\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\treturn 1.0 / ( gl * gv );\n}\nfloat G_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_Specular_GGX( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNL = saturate( dot( geometry.normal, incidentLight.direction ) );\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( G * D );\n}\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}\nvec3 BRDF_Specular_GGX_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.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 AB = vec2( -1.04, 1.04 ) * a004 + r.zw;\n\treturn specularColor * AB.x + AB.y;\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_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\n\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\n}\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\n\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\n}\n",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 ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\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 );\n\t\tfDet *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\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\n",clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vViewPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vViewPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\tif ( clipped ) discard;\n\t#endif\n#endif\n",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\t#if ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP )\n\t\tvarying vec3 vViewPosition;\n\t#endif\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif\n",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP )\n\tvarying vec3 vViewPosition;\n#endif\n",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n",color_fragment:"#ifdef USE_COLOR\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif\n",color_pars_vertex:"#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif",color_vertex:"#ifdef USE_COLOR\n\tvColor.xyz = color.xyz;\n#endif",common:"#define PI 3.14159265359\n#define PI2 6.28318530718\n#define PI_HALF 1.5707963267949\n#define RECIPROCAL_PI 0.31830988618\n#define RECIPROCAL_PI2 0.15915494\n#define LOG2 1.442695\n#define EPSILON 1e-6\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#define whiteCompliment(a) ( 1.0 - saturate( a ) )\nfloat pow2( const in float 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 average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\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}\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};\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}\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\tfloat distance = dot( planeNormal, point - pointOnPlane );\n\treturn - distance * planeNormal + point;\n}\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn sign( dot( point - pointOnPlane, planeNormal ) );\n}\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\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 linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}\n",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n#define cubeUV_textureSize (1024.0)\nint getFaceFromDirection(vec3 direction) {\n\tvec3 absDirection = abs(direction);\n\tint face = -1;\n\tif( absDirection.x > absDirection.z ) {\n\t\tif(absDirection.x > absDirection.y )\n\t\t\tface = direction.x > 0.0 ? 0 : 3;\n\t\telse\n\t\t\tface = direction.y > 0.0 ? 1 : 4;\n\t}\n\telse {\n\t\tif(absDirection.z > absDirection.y )\n\t\t\tface = direction.z > 0.0 ? 2 : 5;\n\t\telse\n\t\t\tface = direction.y > 0.0 ? 1 : 4;\n\t}\n\treturn face;\n}\n#define cubeUV_maxLods1  (log2(cubeUV_textureSize*0.25) - 1.0)\n#define cubeUV_rangeClamp (exp2((6.0 - 1.0) * 2.0))\nvec2 MipLevelInfo( vec3 vec, float roughnessLevel, float roughness ) {\n\tfloat scale = exp2(cubeUV_maxLods1 - roughnessLevel);\n\tfloat dxRoughness = dFdx(roughness);\n\tfloat dyRoughness = dFdy(roughness);\n\tvec3 dx = dFdx( vec * scale * dxRoughness );\n\tvec3 dy = dFdy( vec * scale * dyRoughness );\n\tfloat d = max( dot( dx, dx ), dot( dy, dy ) );\n\td = clamp(d, 1.0, cubeUV_rangeClamp);\n\tfloat mipLevel = 0.5 * log2(d);\n\treturn vec2(floor(mipLevel), fract(mipLevel));\n}\n#define cubeUV_maxLods2 (log2(cubeUV_textureSize*0.25) - 2.0)\n#define cubeUV_rcpTextureSize (1.0 / cubeUV_textureSize)\nvec2 getCubeUV(vec3 direction, float roughnessLevel, float mipLevel) {\n\tmipLevel = roughnessLevel > cubeUV_maxLods2 - 3.0 ? 0.0 : mipLevel;\n\tfloat a = 16.0 * cubeUV_rcpTextureSize;\n\tvec2 exp2_packed = exp2( vec2( roughnessLevel, mipLevel ) );\n\tvec2 rcp_exp2_packed = vec2( 1.0 ) / exp2_packed;\n\tfloat powScale = exp2_packed.x * exp2_packed.y;\n\tfloat scale = rcp_exp2_packed.x * rcp_exp2_packed.y * 0.25;\n\tfloat mipOffset = 0.75*(1.0 - rcp_exp2_packed.y) * rcp_exp2_packed.x;\n\tbool bRes = mipLevel == 0.0;\n\tscale =  bRes && (scale < a) ? a : scale;\n\tvec3 r;\n\tvec2 offset;\n\tint face = getFaceFromDirection(direction);\n\tfloat rcpPowScale = 1.0 / powScale;\n\tif( face == 0) {\n\t\tr = vec3(direction.x, -direction.z, direction.y);\n\t\toffset = vec2(0.0+mipOffset,0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 1) {\n\t\tr = vec3(direction.y, direction.x, direction.z);\n\t\toffset = vec2(scale+mipOffset, 0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 2) {\n\t\tr = vec3(direction.z, direction.x, direction.y);\n\t\toffset = vec2(2.0*scale+mipOffset, 0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 3) {\n\t\tr = vec3(direction.x, direction.z, direction.y);\n\t\toffset = vec2(0.0+mipOffset,0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\telse if( face == 4) {\n\t\tr = vec3(direction.y, direction.x, -direction.z);\n\t\toffset = vec2(scale+mipOffset, 0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\telse {\n\t\tr = vec3(direction.z, -direction.x, direction.y);\n\t\toffset = vec2(2.0*scale+mipOffset, 0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\tr = normalize(r);\n\tfloat texelOffset = 0.5 * cubeUV_rcpTextureSize;\n\tvec2 s = ( r.yz / abs( r.x ) + vec2( 1.0 ) ) * 0.5;\n\tvec2 base = offset + vec2( texelOffset );\n\treturn base + s * ( scale - 2.0 * texelOffset );\n}\n#define cubeUV_maxLods3 (log2(cubeUV_textureSize*0.25) - 3.0)\nvec4 textureCubeUV( sampler2D envMap, vec3 reflectedDirection, float roughness ) {\n\tfloat roughnessVal = roughness* cubeUV_maxLods3;\n\tfloat r1 = floor(roughnessVal);\n\tfloat r2 = r1 + 1.0;\n\tfloat t = fract(roughnessVal);\n\tvec2 mipInfo = MipLevelInfo(reflectedDirection, r1, roughness);\n\tfloat s = mipInfo.y;\n\tfloat level0 = mipInfo.x;\n\tfloat level1 = level0 + 1.0;\n\tlevel1 = level1 > 5.0 ? 5.0 : level1;\n\tlevel0 += min( floor( s + 0.5 ), 5.0 );\n\tvec2 uv_10 = getCubeUV(reflectedDirection, r1, level0);\n\tvec4 color10 = envMapTexelToLinear(texture2D(envMap, uv_10));\n\tvec2 uv_20 = getCubeUV(reflectedDirection, r2, level0);\n\tvec4 color20 = envMapTexelToLinear(texture2D(envMap, uv_20));\n\tvec4 result = mix(color10, color20, t);\n\treturn vec4(result.rgb, 1.0);\n}\n#endif\n",defaultnormal_vertex:"vec3 transformedNormal = normalMatrix * objectNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif\n",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, uv ).x * displacementScale + displacementBias );\n#endif\n",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif\n",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif\n",encodings_fragment:"  gl_FragColor = linearToOutputTexel( gl_FragColor );\n",encodings_pars_fragment:"\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( gammaFactor ) ), value.a );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\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.a );\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}\nvec4 RGBEToLinear( in vec4 value ) {\n\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\n}\nvec4 LinearToRGBE( in vec4 value ) {\n\tfloat maxComponent = max( max( value.r, value.g ), value.b );\n\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\n\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\n}\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * value.a * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\n\tM = ceil( M * 255.0 ) / 255.0;\n\treturn vec4( value.rgb / ( M * maxRange ), M );\n}\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\n}\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat D = max( maxRange / maxRGB, 1.0 );\n\tD = min( floor( D ) / 255.0, 1.0 );\n\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\n}\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\nvec4 LinearToLogLuv( in vec4 value )  {\n\tvec3 Xp_Y_XYZp = value.rgb * cLogLuvM;\n\tXp_Y_XYZp = max( Xp_Y_XYZp, vec3( 1e-6, 1e-6, 1e-6 ) );\n\tvec4 vResult;\n\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\n\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\n\tvResult.w = fract( Le );\n\tvResult.z = ( Le - ( floor( vResult.w * 255.0 ) ) / 255.0 ) / 255.0;\n\treturn vResult;\n}\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\nvec4 LogLuvToLinear( in vec4 value ) {\n\tfloat Le = value.z * 255.0 + value.w;\n\tvec3 Xp_Y_XYZp;\n\tXp_Y_XYZp.y = exp2( ( Le - 127.0 ) / 2.0 );\n\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\n\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\n\tvec3 vRGB = Xp_Y_XYZp.rgb * cLogLuvInverseM;\n\treturn vec4( max( vRGB, 0.0 ), 1.0 );\n}\n",envmap_fragment:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToVertex, 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#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\tvec2 sampleUV;\n\t\treflectVec = normalize( reflectVec );\n\t\tsampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\t\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\tvec4 envColor = texture2D( envMap, sampleUV );\n\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\treflectVec = normalize( reflectVec );\n\t\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) );\n\t\tvec4 envColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\tenvColor = envMapTexelToLinear( envColor );\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\n",envmap_pars_fragment:"#if defined( USE_ENVMAP ) || defined( PHYSICAL )\n\tuniform float reflectivity;\n\tuniform float envMapIntensity;\n#endif\n#ifdef USE_ENVMAP\n\t#if ! defined( PHYSICAL ) && ( defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) )\n\t\tvarying vec3 vWorldPosition;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\tuniform float flipEnvMap;\n\tuniform int maxMipLevel;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( PHYSICAL )\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif\n",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif\n",envmap_physical_pars_fragment:"#if defined( USE_ENVMAP ) && defined( PHYSICAL )\n\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\n\t\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, queryVec, 1.0 );\n\t\t#else\n\t\t\tvec4 envMapColor = vec4( 0.0 );\n\t\t#endif\n\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t}\n\tfloat getSpecularMIPLevel( const in float blinnShininessExponent, const in int maxMIPLevel ) {\n\t\tfloat maxMIPLevelScalar = float( maxMIPLevel );\n\t\tfloat desiredMIPLevel = maxMIPLevelScalar + 0.79248 - 0.5 * log2( pow2( blinnShininessExponent ) + 1.0 );\n\t\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\n\t}\n\tvec3 getLightProbeIndirectRadiance( const in GeometricContext geometry, const in float blinnShininessExponent, const in int maxMIPLevel ) {\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( -geometry.viewDir, geometry.normal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( -geometry.viewDir, geometry.normal, refractionRatio );\n\t\t#endif\n\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\tfloat specularMIPLevel = getSpecularMIPLevel( blinnShininessExponent, maxMIPLevel );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, queryReflectVec, BlinnExponentToGGXRoughness(blinnShininessExponent ));\n\t\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\t\tvec2 sampleUV;\n\t\t\tsampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\t\t\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, sampleUV, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, sampleUV, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\t\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0,0.0,1.0 ) );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#endif\n\t\treturn envMapColor.rgb * envMapIntensity;\n\t}\n#endif\n",envmap_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );\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\n",fog_vertex:"#ifdef USE_FOG\n\tfogDepth = -mvPosition.z;\n#endif\n",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float fogDepth;\n#endif\n",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = whiteCompliment( exp2( - fogDensity * fogDensity * fogDepth * fogDepth * LOG2 ) );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif\n",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float fogDepth;\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\n",gradientmap_pars_fragment:"#ifdef TOON\n\tuniform sampler2D gradientMap;\n\tvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\t\tfloat dotNL = dot( normal, lightDirection );\n\t\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t\t#ifdef USE_GRADIENTMAP\n\t\t\treturn texture2D( gradientMap, coord ).rgb;\n\t\t#else\n\t\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t\t#endif\n\t}\n#endif\n",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\treflectedLight.indirectDiffuse += PI * texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n#endif\n",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_vertex:"vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvLightFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\n\t\t#endif\n\t}\n#endif\n",lights_pars_begin:"uniform vec3 ambientLightColor;\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treturn irradiance;\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tdirectLight.color = directionalLight.color;\n\t\tdirectLight.direction = directionalLight.direction;\n\t\tdirectLight.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\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t\tfloat shadowCameraNear;\n\t\tfloat shadowCameraFar;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tdirectLight.color = pointLight.color;\n\t\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\n\t\tdirectLight.visible = ( directLight.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\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight  ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tfloat angleCos = dot( directLight.direction, spotLight.direction );\n\t\tif ( angleCos > spotLight.coneCos ) {\n\t\t\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\t\tdirectLight.color = spotLight.color;\n\t\t\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tdirectLight.visible = true;\n\t\t} else {\n\t\t\tdirectLight.color = vec3( 0.0 );\n\t\t\tdirectLight.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 GeometricContext geometry ) {\n\t\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tirradiance *= PI;\n\t\t#endif\n\t\treturn irradiance;\n\t}\n#endif\n",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;\n",lights_phong_pars_fragment:"varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct BlinnPhongMaterial {\n\tvec3\tdiffuseColor;\n\tvec3\tspecularColor;\n\tfloat\tspecularShininess;\n\tfloat\tspecularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\t#ifdef TOON\n\t\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\t#else\n\t\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\t\tvec3 irradiance = dotNL * directLight.color;\n\t#endif\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, 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_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)\n",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nmaterial.specularRoughness = clamp( roughnessFactor, 0.04, 1.0 );\n#ifdef STANDARD\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.clearCoat = saturate( clearCoat );\tmaterial.clearCoatRoughness = clamp( clearCoatRoughness, 0.04, 1.0 );\n#endif\n",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3\tdiffuseColor;\n\tfloat\tspecularRoughness;\n\tvec3\tspecularColor;\n\t#ifndef STANDARD\n\t\tfloat clearCoat;\n\t\tfloat clearCoatRoughness;\n\t#endif\n};\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\nfloat clearCoatDHRApprox( const in float roughness, const in float dotNL ) {\n\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\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.specularRoughness;\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#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\t#ifndef STANDARD\n\t\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\n\t#else\n\t\tfloat clearCoatDHR = 0.0;\n\t#endif\n\treflectedLight.directSpecular += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry, material.specularColor, material.specularRoughness );\n\treflectedLight.directDiffuse += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\t#ifndef STANDARD\n\t\treflectedLight.directSpecular += irradiance * material.clearCoat * BRDF_Specular_GGX( directLight, geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\n\t#endif\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_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 clearCoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t#ifndef STANDARD\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\tfloat dotNL = dotNV;\n\t\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\n\t#else\n\t\tfloat clearCoatDHR = 0.0;\n\t#endif\n\treflectedLight.indirectSpecular += ( 1.0 - clearCoatDHR ) * radiance * BRDF_Specular_GGX_Environment( geometry, material.specularColor, material.specularRoughness );\n\t#ifndef STANDARD\n\t\treflectedLight.indirectSpecular += clearCoatRadiance * material.clearCoat * BRDF_Specular_GGX_Environment( geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\n\t#endif\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\n#define Material_BlinnShininessExponent( material )   GGXRoughnessToBlinnExponent( material.specularRoughness )\n#define Material_ClearCoat_BlinnShininessExponent( material )   GGXRoughnessToBlinnExponent( material.clearCoatRoughness )\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}\n",lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = normalize( vViewPosition );\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( pointLight.shadow, directLight.visible ) ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( spotLight.shadow, directLight.visible ) ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( directionalLight.shadow, directLight.visible ) ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop\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#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t}\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearCoatRadiance = vec3( 0.0 );\n#endif\n",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec3 lightMapIrradiance = texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( PHYSICAL ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tirradiance += getLightProbeIndirectIrradiance( geometry, maxMipLevel );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getLightProbeIndirectRadiance( geometry, Material_BlinnShininessExponent( material ), maxMipLevel );\n\t#ifndef STANDARD\n\t\tclearCoatRadiance += getLightProbeIndirectRadiance( geometry, Material_ClearCoat_BlinnShininessExponent( material ), maxMipLevel );\n\t#endif\n#endif\n",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, clearCoatRadiance, geometry, material, reflectedLight );\n#endif\n",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = 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#endif\n",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif\n",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t#else\n\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\tgl_Position.z *= gl_Position.w;\n\t#endif\n#endif\n",map_fragment:"#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif\n",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n",map_particle_fragment:"#ifdef USE_MAP\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif\n",map_particle_pars_fragment:"#ifdef USE_MAP\n\tuniform mat3 uvTransform;\n\tuniform sampler2D map;\n#endif\n",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif\n",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];\n\tobjectNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];\n\tobjectNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];\n\tobjectNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];\n#endif\n",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\t#ifndef USE_MORPHNORMALS\n\tuniform float morphTargetInfluences[ 8 ];\n\t#else\n\tuniform float morphTargetInfluences[ 4 ];\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\n\ttransformed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\n\ttransformed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\n\ttransformed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\n\t#ifndef USE_MORPHNORMALS\n\ttransformed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\n\ttransformed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\n\ttransformed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\n\ttransformed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\n\t#endif\n#endif\n",normal_fragment_begin:"#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t#endif\n#endif\n",normal_fragment_maps:"#ifdef USE_NORMALMAP\n\t#ifdef OBJECTSPACE_NORMALMAP\n\t\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\t#ifdef FLIP_SIDED\n\t\t\tnormal = - normal;\n\t\t#endif\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t#endif\n\t\tnormal = normalize( normalMatrix * normal );\n\t#else\n\t\tnormal = perturbNormal2Arb( -vViewPosition, normal );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\n#endif\n",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n\t#ifdef OBJECTSPACE_NORMALMAP\n\t\tuniform mat3 normalMatrix;\n\t#else\n\t\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm ) {\n\t\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\t\tvec2 st0 = dFdx( vUv.st );\n\t\t\tvec2 st1 = dFdy( vUv.st );\n\t\t\tfloat scale = sign( st1.t * st0.s - st0.t * st1.s );\n\t\t\tvec3 S = normalize( ( q0 * st1.t - q1 * st0.t ) * scale );\n\t\t\tvec3 T = normalize( ( - q0 * st1.s + q1 * st0.s ) * scale );\n\t\t\tvec3 N = normalize( surf_norm );\n\t\t\tmat3 tsn = mat3( S, T, N );\n\t\t\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\t\tmapN.xy *= normalScale;\n\t\t\tmapN.xy *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t\treturn normalize( tsn * mapN );\n\t\t}\n\t#endif\n#endif\n",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}\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}\n",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif\n",project_vertex:"vec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 );\ngl_Position = projectionMatrix * mvPosition;\n",dithering_fragment:"#if defined( DITHERING )\n  gl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif\n",dithering_pars_fragment:"#if defined( 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\n",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif\n",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHTS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHTS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHTS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tfloat texture2DShadowLerp( sampler2D depths, vec2 size, vec2 uv, float compare ) {\n\t\tconst vec2 offset = vec2( 0.0, 1.0 );\n\t\tvec2 texelSize = vec2( 1.0 ) / size;\n\t\tvec2 centroidUV = floor( uv * size + 0.5 ) / size;\n\t\tfloat lb = texture2DCompare( depths, centroidUV + texelSize * offset.xx, compare );\n\t\tfloat lt = texture2DCompare( depths, centroidUV + texelSize * offset.xy, compare );\n\t\tfloat rb = texture2DCompare( depths, centroidUV + texelSize * offset.yx, compare );\n\t\tfloat rt = texture2DCompare( depths, centroidUV + texelSize * offset.yy, compare );\n\t\tvec2 f = fract( uv * size + 0.5 );\n\t\tfloat a = mix( lb, lt, f.y );\n\t\tfloat b = mix( rb, rt, f.y );\n\t\tfloat c = mix( a, b, f.x );\n\t\treturn c;\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\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\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\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( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, 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( 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 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\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\tshadow = (\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 9.0 );\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 )\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\n",shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHTS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHTS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHTS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\n\t#endif\n#endif\n",shadowmap_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n#endif\n",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\tDirectionalLight directionalLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tshadow *= bool( directionalLight.shadow ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\tSpotLight spotLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tshadow *= bool( spotLight.shadow ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\tPointLight pointLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tshadow *= bool( pointLight.shadow ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#endif\n\t#endif\n\treturn shadow;\n}\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\t#ifdef BONE_TEXTURE\n\t\tuniform sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif\n",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\n",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#endif\n",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  gl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif\n",tonemapping_pars_fragment:"#ifndef saturate\n\t#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nuniform float toneMappingWhitePoint;\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}\n#define Uncharted2Helper( x ) max( ( ( x * ( 0.15 * x + 0.10 * 0.50 ) + 0.20 * 0.02 ) / ( x * ( 0.15 * x + 0.50 ) + 0.20 * 0.30 ) ) - 0.02 / 0.30, vec3( 0.0 ) )\nvec3 Uncharted2ToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( Uncharted2Helper( color ) / Uncharted2Helper( vec3( toneMappingWhitePoint ) ) );\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}\n",uv_pars_fragment:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvarying vec2 vUv;\n#endif",uv_pars_vertex:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvarying vec2 vUv;\n\tuniform mat3 uvTransform;\n#endif\n",uv_vertex:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\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#endif",uv2_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = uv2;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )\n\tvec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );\n#endif\n",background_frag:"uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tgl_FragColor = texture2D( t2D, vUv );\n}\n",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position, 1.0 );\n\tgl_Position.z = 1.0;\n}\n",cube_frag:"uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldDirection;\nvoid main() {\n\tgl_FragColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\n\tgl_FragColor.a *= opacity;\n}\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}\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 <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\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\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - gl_FragCoord.z ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( gl_FragCoord.z );\n\t#endif\n}\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>\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}\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 <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}\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}\n",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV;\n\tsampleUV.y = asin( clamp( direction.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\tsampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n}\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}\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\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <premultiplied_alpha_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}\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 <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <color_vertex>\n\tvLineDistance = scale * lineDistance;\n\tvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}\n",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\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 <aomap_pars_fragment>\n#include <lightmap_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\treflectedLight.indirectDiffuse += texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\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\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <premultiplied_alpha_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}\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 <skinbase_vertex>\n\t#ifdef USE_ENVMAP\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinnormal_vertex>\n\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 <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <envmap_vertex>\n\t#include <fog_vertex>\n}\n",meshlambert_frag:"uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n#endif\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 <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <fog_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_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 <emissivemap_fragment>\n\treflectedLight.indirectDiffuse = getAmbientLightIrradiance( ambientLightColor );\n\t#include <lightmap_fragment>\n\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\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}\n",meshlambert_vert:"#define LAMBERT\nvarying vec3 vLightFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <color_pars_vertex>\n#include <fog_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 <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 <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <lights_lambert_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}\n",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <fog_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 <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\tvec4 matcapColor = texture2D( matcap, uv );\n\tmatcapColor = matcapTexelToLinear( matcapColor );\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <premultiplied_alpha_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}\n",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_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 <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#ifndef FLAT_SHADED\n\t\tvNormal = normalize( transformedNormal );\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\t#include <fog_vertex>\n\tvViewPosition = - mvPosition.xyz;\n}\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 <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_pars_fragment>\n#include <gradientmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\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\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\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}\n",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\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 <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 <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#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\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}\n",meshphysical_frag:"#define PHYSICAL\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifndef STANDARD\n\tuniform float clearCoat;\n\tuniform float clearCoatRoughness;\n#endif\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\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 <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <bsdfs>\n#include <cube_uv_reflection_fragment>\n#include <envmap_pars_fragment>\n#include <envmap_physical_pars_fragment>\n#include <fog_pars_fragment>\n#include <lights_pars_begin>\n#include <lights_physical_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_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 <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 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\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}\n",meshphysical_vert:"#define PHYSICAL\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\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 <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 <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#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\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}\n",normal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <packing>\n#include <uv_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\nvoid main() {\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}\n",normal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\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>\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#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#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#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}\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 <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\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <premultiplied_alpha_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}\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 <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 = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 );\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}\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 <fog_fragment>\n}\n",shadow_vert:"#include <fog_pars_vertex>\n#include <shadowmap_pars_vertex>\nvoid main() {\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}\n",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <uv_pars_fragment>\n#include <map_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 <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}\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 = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 );\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}\n"},nn={merge:function(t){for(var e={},n=0;n<t.length;n++){var i=this.clone(t[n]);for(var r in i)e[r]=i[r]}return e},clone:function(t){var e={};for(var n in t)for(var i in e[n]={},t[n]){var r=t[n][i];r&&(r.isColor||r.isMatrix3||r.isMatrix4||r.isVector2||r.isVector3||r.isVector4||r.isTexture)?e[n][i]=r.clone():Array.isArray(r)?e[n][i]=r.slice():e[n][i]=r}return e}},rn={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};function on(t,e,n){return void 0===e&&void 0===n?this.set(t):this.setRGB(t,e,n)}Object.assign(on.prototype,{isColor:!0,r:1,g:1,b:1,set:function(t){return t&&t.isColor?this.copy(t):"number"==typeof t?this.setHex(t):"string"==typeof t&&this.setStyle(t),this},setScalar:function(t){return this.r=t,this.g=t,this.b=t,this},setHex:function(t){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(255&t)/255,this},setRGB:function(t,e,n){return this.r=t,this.g=e,this.b=n,this},setHSL:function(){function t(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+6*(e-t)*(2/3-n):t}return function(e,n,i){if(e=Ge.euclideanModulo(e,1),n=Ge.clamp(n,0,1),i=Ge.clamp(i,0,1),0===n)this.r=this.g=this.b=i;else{var r=i<=.5?i*(1+n):i+n-i*n,o=2*i-r;this.r=t(o,r,e+1/3),this.g=t(o,r,e),this.b=t(o,r,e-1/3)}return this}}(),setStyle:function(t){function e(e){void 0!==e&&parseFloat(e)<1&&console.warn("THREE.Color: Alpha component of "+t+" will be ignored.")}var n;if(n=/^((?:rgb|hsl)a?)\(\s*([^\)]*)\)/.exec(t)){var i,r=n[1],o=n[2];switch(r){case"rgb":case"rgba":if(i=/^(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(o))return this.r=Math.min(255,parseInt(i[1],10))/255,this.g=Math.min(255,parseInt(i[2],10))/255,this.b=Math.min(255,parseInt(i[3],10))/255,e(i[5]),this;if(i=/^(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(o))return this.r=Math.min(100,parseInt(i[1],10))/100,this.g=Math.min(100,parseInt(i[2],10))/100,this.b=Math.min(100,parseInt(i[3],10))/100,e(i[5]),this;break;case"hsl":case"hsla":if(i=/^([0-9]*\.?[0-9]+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(o)){var a=parseFloat(i[1])/360,s=parseInt(i[2],10)/100,u=parseInt(i[3],10)/100;return e(i[5]),this.setHSL(a,s,u)}}}else if(n=/^\#([A-Fa-f0-9]+)$/.exec(t)){var l,h=(l=n[1]).length;if(3===h)return this.r=parseInt(l.charAt(0)+l.charAt(0),16)/255,this.g=parseInt(l.charAt(1)+l.charAt(1),16)/255,this.b=parseInt(l.charAt(2)+l.charAt(2),16)/255,this;if(6===h)return this.r=parseInt(l.charAt(0)+l.charAt(1),16)/255,this.g=parseInt(l.charAt(2)+l.charAt(3),16)/255,this.b=parseInt(l.charAt(4)+l.charAt(5),16)/255,this}t&&t.length>0&&(void 0!==(l=rn[t])?this.setHex(l):console.warn("THREE.Color: Unknown color "+t));return this},clone:function(){return new this.constructor(this.r,this.g,this.b)},copy:function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this},copyGammaToLinear:function(t,e){return void 0===e&&(e=2),this.r=Math.pow(t.r,e),this.g=Math.pow(t.g,e),this.b=Math.pow(t.b,e),this},copyLinearToGamma:function(t,e){void 0===e&&(e=2);var n=e>0?1/e:1;return this.r=Math.pow(t.r,n),this.g=Math.pow(t.g,n),this.b=Math.pow(t.b,n),this},convertGammaToLinear:function(t){return this.copyGammaToLinear(this,t),this},convertLinearToGamma:function(t){return this.copyLinearToGamma(this,t),this},copySRGBToLinear:function(){function t(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}return function(e){return this.r=t(e.r),this.g=t(e.g),this.b=t(e.b),this}}(),copyLinearToSRGB:function(){function t(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}return function(e){return this.r=t(e.r),this.g=t(e.g),this.b=t(e.b),this}}(),convertSRGBToLinear:function(){return this.copySRGBToLinear(this),this},convertLinearToSRGB:function(){return this.copyLinearToSRGB(this),this},getHex:function(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0},getHexString:function(){return("000000"+this.getHex().toString(16)).slice(-6)},getHSL:function(t){void 0===t&&(console.warn("THREE.Color: .getHSL() target is now required"),t={h:0,s:0,l:0});var e,n,i=this.r,r=this.g,o=this.b,a=Math.max(i,r,o),s=Math.min(i,r,o),u=(s+a)/2;if(s===a)e=0,n=0;else{var l=a-s;switch(n=u<=.5?l/(a+s):l/(2-a-s),a){case i:e=(r-o)/l+(r<o?6:0);break;case r:e=(o-i)/l+2;break;case o:e=(i-r)/l+4}e/=6}return t.h=e,t.s=n,t.l=u,t},getStyle:function(){return"rgb("+(255*this.r|0)+","+(255*this.g|0)+","+(255*this.b|0)+")"},offsetHSL:function(){var t={};return function(e,n,i){return this.getHSL(t),t.h+=e,t.s+=n,t.l+=i,this.setHSL(t.h,t.s,t.l),this}}(),add:function(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this},addColors:function(t,e){return this.r=t.r+e.r,this.g=t.g+e.g,this.b=t.b+e.b,this},addScalar:function(t){return this.r+=t,this.g+=t,this.b+=t,this},sub:function(t){return this.r=Math.max(0,this.r-t.r),this.g=Math.max(0,this.g-t.g),this.b=Math.max(0,this.b-t.b),this},multiply:function(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this},multiplyScalar:function(t){return this.r*=t,this.g*=t,this.b*=t,this},lerp:function(t,e){return this.r+=(t.r-this.r)*e,this.g+=(t.g-this.g)*e,this.b+=(t.b-this.b)*e,this},lerpHSL:function(){var t={h:0,s:0,l:0},e={h:0,s:0,l:0};return function(n,i){this.getHSL(t),n.getHSL(e);var r=Ge.lerp(t.h,e.h,i),o=Ge.lerp(t.s,e.s,i),a=Ge.lerp(t.l,e.l,i);return this.setHSL(r,o,a),this}}(),equals:function(t){return t.r===this.r&&t.g===this.g&&t.b===this.b},fromArray:function(t,e){return void 0===e&&(e=0),this.r=t[e],this.g=t[e+1],this.b=t[e+2],this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this.r,t[e+1]=this.g,t[e+2]=this.b,t},toJSON:function(){return this.getHex()}});var an={common:{diffuse:{value:new on(15658734)},opacity:{value:1},map:{value:null},uvTransform:{value:new Fe},alphaMap:{value:null}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},refractionRatio:{value:.98},maxMipLevel:{value:0}},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 Ue(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 on(16777215)}},lights:{ambientLightColor:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}}},points:{diffuse:{value:new on(15658734)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},uvTransform:{value:new Fe}},sprite:{diffuse:{value:new on(15658734)},opacity:{value:1},center:{value:new Ue(.5,.5)},rotation:{value:0},map:{value:null},uvTransform:{value:new Fe}}},sn={basic:{uniforms:nn.merge([an.common,an.specularmap,an.envmap,an.aomap,an.lightmap,an.fog]),vertexShader:en.meshbasic_vert,fragmentShader:en.meshbasic_frag},lambert:{uniforms:nn.merge([an.common,an.specularmap,an.envmap,an.aomap,an.lightmap,an.emissivemap,an.fog,an.lights,{emissive:{value:new on(0)}}]),vertexShader:en.meshlambert_vert,fragmentShader:en.meshlambert_frag},phong:{uniforms:nn.merge([an.common,an.specularmap,an.envmap,an.aomap,an.lightmap,an.emissivemap,an.bumpmap,an.normalmap,an.displacementmap,an.gradientmap,an.fog,an.lights,{emissive:{value:new on(0)},specular:{value:new on(1118481)},shininess:{value:30}}]),vertexShader:en.meshphong_vert,fragmentShader:en.meshphong_frag},standard:{uniforms:nn.merge([an.common,an.envmap,an.aomap,an.lightmap,an.emissivemap,an.bumpmap,an.normalmap,an.displacementmap,an.roughnessmap,an.metalnessmap,an.fog,an.lights,{emissive:{value:new on(0)},roughness:{value:.5},metalness:{value:.5},envMapIntensity:{value:1}}]),vertexShader:en.meshphysical_vert,fragmentShader:en.meshphysical_frag},matcap:{uniforms:nn.merge([an.common,an.bumpmap,an.normalmap,an.displacementmap,an.fog,{matcap:{value:null}}]),vertexShader:en.meshmatcap_vert,fragmentShader:en.meshmatcap_frag},points:{uniforms:nn.merge([an.points,an.fog]),vertexShader:en.points_vert,fragmentShader:en.points_frag},dashed:{uniforms:nn.merge([an.common,an.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:en.linedashed_vert,fragmentShader:en.linedashed_frag},depth:{uniforms:nn.merge([an.common,an.displacementmap]),vertexShader:en.depth_vert,fragmentShader:en.depth_frag},normal:{uniforms:nn.merge([an.common,an.bumpmap,an.normalmap,an.displacementmap,{opacity:{value:1}}]),vertexShader:en.normal_vert,fragmentShader:en.normal_frag},sprite:{uniforms:nn.merge([an.sprite,an.fog]),vertexShader:en.sprite_vert,fragmentShader:en.sprite_frag},background:{uniforms:{uvTransform:{value:new Fe},t2D:{value:null}},vertexShader:en.background_vert,fragmentShader:en.background_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:en.cube_vert,fragmentShader:en.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:en.equirect_vert,fragmentShader:en.equirect_frag},distanceRGBA:{uniforms:nn.merge([an.common,an.displacementmap,{referencePosition:{value:new He},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:en.distanceRGBA_vert,fragmentShader:en.distanceRGBA_frag},shadow:{uniforms:nn.merge([an.lights,an.fog,{color:{value:new on(0)},opacity:{value:1}}]),vertexShader:en.shadow_vert,fragmentShader:en.shadow_frag}};function un(){var t=null,e=!1,n=null;function i(r,o){!1!==e&&(n(r,o),t.requestAnimationFrame(i))}return{start:function(){!0!==e&&null!==n&&(t.requestAnimationFrame(i),e=!0)},stop:function(){e=!1},setAnimationLoop:function(t){n=t},setContext:function(e){t=e}}}function ln(t){var e=new WeakMap;return{get:function(t){return t.isInterleavedBufferAttribute&&(t=t.data),e.get(t)},remove:function(n){n.isInterleavedBufferAttribute&&(n=n.data);var i=e.get(n);i&&(t.deleteBuffer(i.buffer),e.delete(n))},update:function(n,i){n.isInterleavedBufferAttribute&&(n=n.data);var r=e.get(n);void 0===r?e.set(n,function(e,n){var i=e.array,r=e.dynamic?35048:35044,o=t.createBuffer();t.bindBuffer(n,o),t.bufferData(n,i,r),e.onUploadCallback();var a=5126;return i instanceof Float32Array?a=5126:i instanceof Float64Array?console.warn("THREE.WebGLAttributes: Unsupported data buffer format: Float64Array."):i instanceof Uint16Array?a=5123:i instanceof Int16Array?a=5122:i instanceof Uint32Array?a=5125:i instanceof Int32Array?a=5124:i instanceof Int8Array?a=5120:i instanceof Uint8Array&&(a=5121),{buffer:o,type:a,bytesPerElement:i.BYTES_PER_ELEMENT,version:e.version}}(n,i)):r.version<n.version&&(function(e,n,i){var r=n.array,o=n.updateRange;t.bindBuffer(i,e),!1===n.dynamic?t.bufferData(i,r,35044):-1===o.count?t.bufferSubData(i,0,r):0===o.count?console.error("THREE.WebGLObjects.updateBuffer: dynamic THREE.BufferAttribute marked as needsUpdate but updateRange.count is 0, ensure you are using set methods or updating manually."):(t.bufferSubData(i,o.offset*r.BYTES_PER_ELEMENT,r.subarray(o.offset,o.offset+o.count)),o.count=-1)}(r.buffer,n,i),r.version=n.version)}}}function hn(t,e,n,i,r,o){this.a=t,this.b=e,this.c=n,this.normal=i&&i.isVector3?i:new He,this.vertexNormals=Array.isArray(i)?i:[],this.color=r&&r.isColor?r:new on,this.vertexColors=Array.isArray(r)?r:[],this.materialIndex=void 0!==o?o:0}function cn(t,e,n,i){this._x=t||0,this._y=e||0,this._z=n||0,this._order=i||cn.DefaultOrder}function pn(){this.mask=1}sn.physical={uniforms:nn.merge([sn.standard.uniforms,{clearCoat:{value:0},clearCoatRoughness:{value:0}}]),vertexShader:en.meshphysical_vert,fragmentShader:en.meshphysical_frag},Object.assign(hn.prototype,{clone:function(){return(new this.constructor).copy(this)},copy:function(t){this.a=t.a,this.b=t.b,this.c=t.c,this.normal.copy(t.normal),this.color.copy(t.color),this.materialIndex=t.materialIndex;for(var e=0,n=t.vertexNormals.length;e<n;e++)this.vertexNormals[e]=t.vertexNormals[e].clone();for(e=0,n=t.vertexColors.length;e<n;e++)this.vertexColors[e]=t.vertexColors[e].clone();return this}}),cn.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"],cn.DefaultOrder="XYZ",Object.defineProperties(cn.prototype,{x:{get:function(){return this._x},set:function(t){this._x=t,this.onChangeCallback()}},y:{get:function(){return this._y},set:function(t){this._y=t,this.onChangeCallback()}},z:{get:function(){return this._z},set:function(t){this._z=t,this.onChangeCallback()}},order:{get:function(){return this._order},set:function(t){this._order=t,this.onChangeCallback()}}}),Object.assign(cn.prototype,{isEuler:!0,set:function(t,e,n,i){return this._x=t,this._y=e,this._z=n,this._order=i||this._order,this.onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._order)},copy:function(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this.onChangeCallback(),this},setFromRotationMatrix:function(t,e,n){var i=Ge.clamp,r=t.elements,o=r[0],a=r[4],s=r[8],u=r[1],l=r[5],h=r[9],c=r[2],p=r[6],d=r[10];return"XYZ"===(e=e||this._order)?(this._y=Math.asin(i(s,-1,1)),Math.abs(s)<.99999?(this._x=Math.atan2(-h,d),this._z=Math.atan2(-a,o)):(this._x=Math.atan2(p,l),this._z=0)):"YXZ"===e?(this._x=Math.asin(-i(h,-1,1)),Math.abs(h)<.99999?(this._y=Math.atan2(s,d),this._z=Math.atan2(u,l)):(this._y=Math.atan2(-c,o),this._z=0)):"ZXY"===e?(this._x=Math.asin(i(p,-1,1)),Math.abs(p)<.99999?(this._y=Math.atan2(-c,d),this._z=Math.atan2(-a,l)):(this._y=0,this._z=Math.atan2(u,o))):"ZYX"===e?(this._y=Math.asin(-i(c,-1,1)),Math.abs(c)<.99999?(this._x=Math.atan2(p,d),this._z=Math.atan2(u,o)):(this._x=0,this._z=Math.atan2(-a,l))):"YZX"===e?(this._z=Math.asin(i(u,-1,1)),Math.abs(u)<.99999?(this._x=Math.atan2(-h,l),this._y=Math.atan2(-c,o)):(this._x=0,this._y=Math.atan2(s,d))):"XZY"===e?(this._z=Math.asin(-i(a,-1,1)),Math.abs(a)<.99999?(this._x=Math.atan2(p,l),this._y=Math.atan2(s,o)):(this._x=Math.atan2(-h,d),this._y=0)):console.warn("THREE.Euler: .setFromRotationMatrix() given unsupported order: "+e),this._order=e,!1!==n&&this.onChangeCallback(),this},setFromQuaternion:function(){var t=new Ve;return function(e,n,i){return t.makeRotationFromQuaternion(e),this.setFromRotationMatrix(t,n,i)}}(),setFromVector3:function(t,e){return this.set(t.x,t.y,t.z,e||this._order)},reorder:function(){var t=new ze;return function(e){return t.setFromEuler(this),this.setFromQuaternion(t,e)}}(),equals:function(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order},fromArray:function(t){return this._x=t[0],this._y=t[1],this._z=t[2],void 0!==t[3]&&(this._order=t[3]),this.onChangeCallback(),this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t},toVector3:function(t){return t?t.set(this._x,this._y,this._z):new He(this._x,this._y,this._z)},onChange:function(t){return this.onChangeCallback=t,this},onChangeCallback:function(){}}),Object.assign(pn.prototype,{set:function(t){this.mask=1<<t|0},enable:function(t){this.mask|=1<<t|0},toggle:function(t){this.mask^=1<<t|0},disable:function(t){this.mask&=~(1<<t|0)},test:function(t){return 0!=(this.mask&t.mask)}});var dn=0;function fn(){Object.defineProperty(this,"id",{value:dn++}),this.uuid=Ge.generateUUID(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=fn.DefaultUp.clone();var t=new He,e=new cn,n=new ze,i=new He(1,1,1);e.onChange(function(){n.setFromEuler(e,!1)}),n.onChange(function(){e.setFromQuaternion(n,void 0,!1)}),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:t},rotation:{configurable:!0,enumerable:!0,value:e},quaternion:{configurable:!0,enumerable:!0,value:n},scale:{configurable:!0,enumerable:!0,value:i},modelViewMatrix:{value:new Ve},normalMatrix:{value:new Fe}}),this.matrix=new Ve,this.matrixWorld=new Ve,this.matrixAutoUpdate=fn.DefaultMatrixAutoUpdate,this.matrixWorldNeedsUpdate=!1,this.layers=new pn,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.userData={}}fn.DefaultUp=new He(0,1,0),fn.DefaultMatrixAutoUpdate=!0,fn.prototype=Object.assign(Object.create(i.prototype),{constructor:fn,isObject3D:!0,onBeforeRender:function(){},onAfterRender:function(){},applyMatrix:function(t){this.matrix.multiplyMatrices(t,this.matrix),this.matrix.decompose(this.position,this.quaternion,this.scale)},applyQuaternion:function(t){return this.quaternion.premultiply(t),this},setRotationFromAxisAngle:function(t,e){this.quaternion.setFromAxisAngle(t,e)},setRotationFromEuler:function(t){this.quaternion.setFromEuler(t,!0)},setRotationFromMatrix:function(t){this.quaternion.setFromRotationMatrix(t)},setRotationFromQuaternion:function(t){this.quaternion.copy(t)},rotateOnAxis:function(){var t=new ze;return function(e,n){return t.setFromAxisAngle(e,n),this.quaternion.multiply(t),this}}(),rotateOnWorldAxis:function(){var t=new ze;return function(e,n){return t.setFromAxisAngle(e,n),this.quaternion.premultiply(t),this}}(),rotateX:function(){var t=new He(1,0,0);return function(e){return this.rotateOnAxis(t,e)}}(),rotateY:function(){var t=new He(0,1,0);return function(e){return this.rotateOnAxis(t,e)}}(),rotateZ:function(){var t=new He(0,0,1);return function(e){return this.rotateOnAxis(t,e)}}(),translateOnAxis:function(){var t=new He;return function(e,n){return t.copy(e).applyQuaternion(this.quaternion),this.position.add(t.multiplyScalar(n)),this}}(),translateX:function(){var t=new He(1,0,0);return function(e){return this.translateOnAxis(t,e)}}(),translateY:function(){var t=new He(0,1,0);return function(e){return this.translateOnAxis(t,e)}}(),translateZ:function(){var t=new He(0,0,1);return function(e){return this.translateOnAxis(t,e)}}(),localToWorld:function(t){return t.applyMatrix4(this.matrixWorld)},worldToLocal:function(){var t=new Ve;return function(e){return e.applyMatrix4(t.getInverse(this.matrixWorld))}}(),lookAt:function(){var t=new ze,e=new Ve,n=new He,i=new He;return function(r,o,a){r.isVector3?n.copy(r):n.set(r,o,a);var s=this.parent;this.updateWorldMatrix(!0,!1),i.setFromMatrixPosition(this.matrixWorld),this.isCamera?e.lookAt(i,n,this.up):e.lookAt(n,i,this.up),this.quaternion.setFromRotationMatrix(e),s&&(e.extractRotation(s.matrixWorld),t.setFromRotationMatrix(e),this.quaternion.premultiply(t.inverse()))}}(),add:function(t){if(arguments.length>1){for(var e=0;e<arguments.length;e++)this.add(arguments[e]);return this}return t===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",t),this):(t&&t.isObject3D?(null!==t.parent&&t.parent.remove(t),t.parent=this,t.dispatchEvent({type:"added"}),this.children.push(t)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",t),this)},remove:function(t){if(arguments.length>1){for(var e=0;e<arguments.length;e++)this.remove(arguments[e]);return this}var n=this.children.indexOf(t);return-1!==n&&(t.parent=null,t.dispatchEvent({type:"removed"}),this.children.splice(n,1)),this},getObjectById:function(t){return this.getObjectByProperty("id",t)},getObjectByName:function(t){return this.getObjectByProperty("name",t)},getObjectByProperty:function(t,e){if(this[t]===e)return this;for(var n=0,i=this.children.length;n<i;n++){var r=this.children[n].getObjectByProperty(t,e);if(void 0!==r)return r}},getWorldPosition:function(t){return void 0===t&&(console.warn("THREE.Object3D: .getWorldPosition() target is now required"),t=new He),this.updateMatrixWorld(!0),t.setFromMatrixPosition(this.matrixWorld)},getWorldQuaternion:function(){var t=new He,e=new He;return function(n){return void 0===n&&(console.warn("THREE.Object3D: .getWorldQuaternion() target is now required"),n=new ze),this.updateMatrixWorld(!0),this.matrixWorld.decompose(t,n,e),n}}(),getWorldScale:function(){var t=new He,e=new ze;return function(n){return void 0===n&&(console.warn("THREE.Object3D: .getWorldScale() target is now required"),n=new He),this.updateMatrixWorld(!0),this.matrixWorld.decompose(t,e,n),n}}(),getWorldDirection:function(t){void 0===t&&(console.warn("THREE.Object3D: .getWorldDirection() target is now required"),t=new He),this.updateMatrixWorld(!0);var e=this.matrixWorld.elements;return t.set(e[8],e[9],e[10]).normalize()},raycast:function(){},traverse:function(t){t(this);for(var e=this.children,n=0,i=e.length;n<i;n++)e[n].traverse(t)},traverseVisible:function(t){if(!1!==this.visible){t(this);for(var e=this.children,n=0,i=e.length;n<i;n++)e[n].traverseVisible(t)}},traverseAncestors:function(t){var e=this.parent;null!==e&&(t(e),e.traverseAncestors(t))},updateMatrix:function(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0},updateMatrixWorld:function(t){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||t)&&(null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorldNeedsUpdate=!1,t=!0);for(var e=this.children,n=0,i=e.length;n<i;n++)e[n].updateMatrixWorld(t)},updateWorldMatrix:function(t,e){var n=this.parent;if(!0===t&&null!==n&&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===e)for(var i=this.children,r=0,o=i.length;r<o;r++)i[r].updateWorldMatrix(!1,!0)},toJSON:function(t){var e=void 0===t||"string"==typeof t,n={};e&&(t={geometries:{},materials:{},textures:{},images:{},shapes:{}},n.metadata={version:4.5,type:"Object",generator:"Object3D.toJSON"});var i={};function r(e,n){return void 0===e[n.uuid]&&(e[n.uuid]=n.toJSON(t)),n.uuid}if(i.uuid=this.uuid,i.type=this.type,""!==this.name&&(i.name=this.name),!0===this.castShadow&&(i.castShadow=!0),!0===this.receiveShadow&&(i.receiveShadow=!0),!1===this.visible&&(i.visible=!1),!1===this.frustumCulled&&(i.frustumCulled=!1),0!==this.renderOrder&&(i.renderOrder=this.renderOrder),"{}"!==JSON.stringify(this.userData)&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),!1===this.matrixAutoUpdate&&(i.matrixAutoUpdate=!1),this.isMesh||this.isLine||this.isPoints){i.geometry=r(t.geometries,this.geometry);var o=this.geometry.parameters;if(void 0!==o&&void 0!==o.shapes){var a=o.shapes;if(Array.isArray(a))for(var s=0,u=a.length;s<u;s++){var l=a[s];r(t.shapes,l)}else r(t.shapes,a)}}if(void 0!==this.material)if(Array.isArray(this.material)){var h=[];for(s=0,u=this.material.length;s<u;s++)h.push(r(t.materials,this.material[s]));i.material=h}else i.material=r(t.materials,this.material);if(this.children.length>0){i.children=[];for(s=0;s<this.children.length;s++)i.children.push(this.children[s].toJSON(t).object)}if(e){var c=m(t.geometries),p=m(t.materials),d=m(t.textures),f=m(t.images);a=m(t.shapes);c.length>0&&(n.geometries=c),p.length>0&&(n.materials=p),d.length>0&&(n.textures=d),f.length>0&&(n.images=f),a.length>0&&(n.shapes=a)}return n.object=i,n;function m(t){var e=[];for(var n in t){var i=t[n];delete i.metadata,e.push(i)}return e}},clone:function(t){return(new this.constructor).copy(this,t)},copy:function(t,e){if(void 0===e&&(e=!0),this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.userData=JSON.parse(JSON.stringify(t.userData)),!0===e)for(var n=0;n<t.children.length;n++){var i=t.children[n];this.add(i.clone())}return this}});var mn=0;function gn(){Object.defineProperty(this,"id",{value:mn+=2}),this.uuid=Ge.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}function vn(t,e,n){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.name="",this.array=t,this.itemSize=e,this.count=void 0!==t?t.length/e:0,this.normalized=!0===n,this.dynamic=!1,this.updateRange={offset:0,count:-1},this.version=0}function yn(t,e,n){vn.call(this,new Int8Array(t),e,n)}function _n(t,e,n){vn.call(this,new Uint8Array(t),e,n)}function bn(t,e,n){vn.call(this,new Uint8ClampedArray(t),e,n)}function xn(t,e,n){vn.call(this,new Int16Array(t),e,n)}function wn(t,e,n){vn.call(this,new Uint16Array(t),e,n)}function An(t,e,n){vn.call(this,new Int32Array(t),e,n)}function Sn(t,e,n){vn.call(this,new Uint32Array(t),e,n)}function Tn(t,e,n){vn.call(this,new Float32Array(t),e,n)}function En(t,e,n){vn.call(this,new Float64Array(t),e,n)}function Mn(){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}function Pn(t){if(0===t.length)return-1/0;for(var e=t[0],n=1,i=t.length;n<i;++n)t[n]>e&&(e=t[n]);return e}gn.prototype=Object.assign(Object.create(i.prototype),{constructor:gn,isGeometry:!0,applyMatrix:function(t){for(var e=(new Fe).getNormalMatrix(t),n=0,i=this.vertices.length;n<i;n++){this.vertices[n].applyMatrix4(t)}for(n=0,i=this.faces.length;n<i;n++){var r=this.faces[n];r.normal.applyMatrix3(e).normalize();for(var o=0,a=r.vertexNormals.length;o<a;o++)r.vertexNormals[o].applyMatrix3(e).normalize()}return null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this.verticesNeedUpdate=!0,this.normalsNeedUpdate=!0,this},rotateX:function(){var t=new Ve;return function(e){return t.makeRotationX(e),this.applyMatrix(t),this}}(),rotateY:function(){var t=new Ve;return function(e){return t.makeRotationY(e),this.applyMatrix(t),this}}(),rotateZ:function(){var t=new Ve;return function(e){return t.makeRotationZ(e),this.applyMatrix(t),this}}(),translate:function(){var t=new Ve;return function(e,n,i){return t.makeTranslation(e,n,i),this.applyMatrix(t),this}}(),scale:function(){var t=new Ve;return function(e,n,i){return t.makeScale(e,n,i),this.applyMatrix(t),this}}(),lookAt:function(){var t=new fn;return function(e){t.lookAt(e),t.updateMatrix(),this.applyMatrix(t.matrix)}}(),fromBufferGeometry:function(t){var e=this,n=null!==t.index?t.index.array:void 0,i=t.attributes,r=i.position.array,o=void 0!==i.normal?i.normal.array:void 0,a=void 0!==i.color?i.color.array:void 0,s=void 0!==i.uv?i.uv.array:void 0,u=void 0!==i.uv2?i.uv2.array:void 0;void 0!==u&&(this.faceVertexUvs[1]=[]);for(var l=0,h=0;l<r.length;l+=3,h+=2)e.vertices.push((new He).fromArray(r,l)),void 0!==a&&e.colors.push((new on).fromArray(a,l));function c(t,n,i,r){var l=void 0===a?[]:[e.colors[t].clone(),e.colors[n].clone(),e.colors[i].clone()],h=new hn(t,n,i,void 0===o?[]:[(new He).fromArray(o,3*t),(new He).fromArray(o,3*n),(new He).fromArray(o,3*i)],l,r);e.faces.push(h),void 0!==s&&e.faceVertexUvs[0].push([(new Ue).fromArray(s,2*t),(new Ue).fromArray(s,2*n),(new Ue).fromArray(s,2*i)]),void 0!==u&&e.faceVertexUvs[1].push([(new Ue).fromArray(u,2*t),(new Ue).fromArray(u,2*n),(new Ue).fromArray(u,2*i)])}var p=t.groups;if(p.length>0)for(l=0;l<p.length;l++)for(var d=p[l],f=d.start,m=(h=f,f+d.count);h<m;h+=3)void 0!==n?c(n[h],n[h+1],n[h+2],d.materialIndex):c(h,h+1,h+2,d.materialIndex);else if(void 0!==n)for(l=0;l<n.length;l+=3)c(n[l],n[l+1],n[l+2]);else for(l=0;l<r.length/3;l+=3)c(l,l+1,l+2);return this.computeFaceNormals(),null!==t.boundingBox&&(this.boundingBox=t.boundingBox.clone()),null!==t.boundingSphere&&(this.boundingSphere=t.boundingSphere.clone()),this},center:function(){var t=new He;return function(){return this.computeBoundingBox(),this.boundingBox.getCenter(t).negate(),this.translate(t.x,t.y,t.z),this}}(),normalize:function(){this.computeBoundingSphere();var t=this.boundingSphere.center,e=this.boundingSphere.radius,n=0===e?1:1/e,i=new Ve;return i.set(n,0,0,-n*t.x,0,n,0,-n*t.y,0,0,n,-n*t.z,0,0,0,1),this.applyMatrix(i),this},computeFaceNormals:function(){for(var t=new He,e=new He,n=0,i=this.faces.length;n<i;n++){var r=this.faces[n],o=this.vertices[r.a],a=this.vertices[r.b],s=this.vertices[r.c];t.subVectors(s,a),e.subVectors(o,a),t.cross(e),t.normalize(),r.normal.copy(t)}},computeVertexNormals:function(t){var e,n,i,r,o,a;for(void 0===t&&(t=!0),a=new Array(this.vertices.length),e=0,n=this.vertices.length;e<n;e++)a[e]=new He;if(t){var s,u,l,h=new He,c=new He;for(i=0,r=this.faces.length;i<r;i++)o=this.faces[i],s=this.vertices[o.a],u=this.vertices[o.b],l=this.vertices[o.c],h.subVectors(l,u),c.subVectors(s,u),h.cross(c),a[o.a].add(h),a[o.b].add(h),a[o.c].add(h)}else for(this.computeFaceNormals(),i=0,r=this.faces.length;i<r;i++)a[(o=this.faces[i]).a].add(o.normal),a[o.b].add(o.normal),a[o.c].add(o.normal);for(e=0,n=this.vertices.length;e<n;e++)a[e].normalize();for(i=0,r=this.faces.length;i<r;i++){var p=(o=this.faces[i]).vertexNormals;3===p.length?(p[0].copy(a[o.a]),p[1].copy(a[o.b]),p[2].copy(a[o.c])):(p[0]=a[o.a].clone(),p[1]=a[o.b].clone(),p[2]=a[o.c].clone())}this.faces.length>0&&(this.normalsNeedUpdate=!0)},computeFlatVertexNormals:function(){var t,e,n;for(this.computeFaceNormals(),t=0,e=this.faces.length;t<e;t++){var i=(n=this.faces[t]).vertexNormals;3===i.length?(i[0].copy(n.normal),i[1].copy(n.normal),i[2].copy(n.normal)):(i[0]=n.normal.clone(),i[1]=n.normal.clone(),i[2]=n.normal.clone())}this.faces.length>0&&(this.normalsNeedUpdate=!0)},computeMorphNormals:function(){var t,e,n,i,r;for(n=0,i=this.faces.length;n<i;n++)for((r=this.faces[n]).__originalFaceNormal?r.__originalFaceNormal.copy(r.normal):r.__originalFaceNormal=r.normal.clone(),r.__originalVertexNormals||(r.__originalVertexNormals=[]),t=0,e=r.vertexNormals.length;t<e;t++)r.__originalVertexNormals[t]?r.__originalVertexNormals[t].copy(r.vertexNormals[t]):r.__originalVertexNormals[t]=r.vertexNormals[t].clone();var o=new gn;for(o.faces=this.faces,t=0,e=this.morphTargets.length;t<e;t++){if(!this.morphNormals[t]){this.morphNormals[t]={},this.morphNormals[t].faceNormals=[],this.morphNormals[t].vertexNormals=[];var a=this.morphNormals[t].faceNormals,s=this.morphNormals[t].vertexNormals;for(n=0,i=this.faces.length;n<i;n++)u=new He,l={a:new He,b:new He,c:new He},a.push(u),s.push(l)}var u,l,h=this.morphNormals[t];for(o.vertices=this.morphTargets[t].vertices,o.computeFaceNormals(),o.computeVertexNormals(),n=0,i=this.faces.length;n<i;n++)r=this.faces[n],u=h.faceNormals[n],l=h.vertexNormals[n],u.copy(r.normal),l.a.copy(r.vertexNormals[0]),l.b.copy(r.vertexNormals[1]),l.c.copy(r.vertexNormals[2])}for(n=0,i=this.faces.length;n<i;n++)(r=this.faces[n]).normal=r.__originalFaceNormal,r.vertexNormals=r.__originalVertexNormals},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new Qe),this.boundingBox.setFromPoints(this.vertices)},computeBoundingSphere:function(){null===this.boundingSphere&&(this.boundingSphere=new Je),this.boundingSphere.setFromPoints(this.vertices)},merge:function(t,e,n){if(t&&t.isGeometry){var i,r=this.vertices.length,o=this.vertices,a=t.vertices,s=this.faces,u=t.faces,l=this.faceVertexUvs[0],h=t.faceVertexUvs[0],c=this.colors,p=t.colors;void 0===n&&(n=0),void 0!==e&&(i=(new Fe).getNormalMatrix(e));for(var d=0,f=a.length;d<f;d++){var m=a[d].clone();void 0!==e&&m.applyMatrix4(e),o.push(m)}for(d=0,f=p.length;d<f;d++)c.push(p[d].clone());for(d=0,f=u.length;d<f;d++){var g,v,y,_=u[d],b=_.vertexNormals,x=_.vertexColors;(g=new hn(_.a+r,_.b+r,_.c+r)).normal.copy(_.normal),void 0!==i&&g.normal.applyMatrix3(i).normalize();for(var w=0,A=b.length;w<A;w++)v=b[w].clone(),void 0!==i&&v.applyMatrix3(i).normalize(),g.vertexNormals.push(v);g.color.copy(_.color);for(w=0,A=x.length;w<A;w++)y=x[w],g.vertexColors.push(y.clone());g.materialIndex=_.materialIndex+n,s.push(g)}for(d=0,f=h.length;d<f;d++){var S=h[d],T=[];if(void 0!==S){for(w=0,A=S.length;w<A;w++)T.push(S[w].clone());l.push(T)}}}else console.error("THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.",t)},mergeMesh:function(t){t&&t.isMesh?(t.matrixAutoUpdate&&t.updateMatrix(),this.merge(t.geometry,t.matrix)):console.error("THREE.Geometry.mergeMesh(): mesh not an instance of THREE.Mesh.",t)},mergeVertices:function(){var t,e,n,i,r,o,a,s,u={},l=[],h=[],c=Math.pow(10,4);for(n=0,i=this.vertices.length;n<i;n++)t=this.vertices[n],void 0===u[e=Math.round(t.x*c)+"_"+Math.round(t.y*c)+"_"+Math.round(t.z*c)]?(u[e]=n,l.push(this.vertices[n]),h[n]=l.length-1):h[n]=h[u[e]];var p=[];for(n=0,i=this.faces.length;n<i;n++){(r=this.faces[n]).a=h[r.a],r.b=h[r.b],r.c=h[r.c],o=[r.a,r.b,r.c];for(var d=0;d<3;d++)if(o[d]===o[(d+1)%3]){p.push(n);break}}for(n=p.length-1;n>=0;n--){var f=p[n];for(this.faces.splice(f,1),a=0,s=this.faceVertexUvs.length;a<s;a++)this.faceVertexUvs[a].splice(f,1)}var m=this.vertices.length-l.length;return this.vertices=l,m},setFromPoints:function(t){this.vertices=[];for(var e=0,n=t.length;e<n;e++){var i=t[e];this.vertices.push(new He(i.x,i.y,i.z||0))}return this},sortFacesByMaterialIndex:function(){for(var t=this.faces,e=t.length,n=0;n<e;n++)t[n]._id=n;t.sort(function(t,e){return t.materialIndex-e.materialIndex});var i,r,o=this.faceVertexUvs[0],a=this.faceVertexUvs[1];o&&o.length===e&&(i=[]),a&&a.length===e&&(r=[]);for(n=0;n<e;n++){var s=t[n]._id;i&&i.push(o[s]),r&&r.push(a[s])}i&&(this.faceVertexUvs[0]=i),r&&(this.faceVertexUvs[1]=r)},toJSON:function(){var t={metadata:{version:4.5,type:"Geometry",generator:"Geometry.toJSON"}};if(t.uuid=this.uuid,t.type=this.type,""!==this.name&&(t.name=this.name),void 0!==this.parameters){var e=this.parameters;for(var n in e)void 0!==e[n]&&(t[n]=e[n]);return t}for(var i=[],r=0;r<this.vertices.length;r++){var o=this.vertices[r];i.push(o.x,o.y,o.z)}var a=[],s=[],u={},l=[],h={},c=[],p={};for(r=0;r<this.faces.length;r++){var d=this.faces[r],f=void 0!==this.faceVertexUvs[0][r],m=d.normal.length()>0,g=d.vertexNormals.length>0,v=1!==d.color.r||1!==d.color.g||1!==d.color.b,y=d.vertexColors.length>0,_=0;if(_=A(_=A(_=A(_=A(_=A(_=A(_=A(_=A(_,0,0),1,!0),2,!1),3,f),4,m),5,g),6,v),7,y),a.push(_),a.push(d.a,d.b,d.c),a.push(d.materialIndex),f){var b=this.faceVertexUvs[0][r];a.push(E(b[0]),E(b[1]),E(b[2]))}if(m&&a.push(S(d.normal)),g){var x=d.vertexNormals;a.push(S(x[0]),S(x[1]),S(x[2]))}if(v&&a.push(T(d.color)),y){var w=d.vertexColors;a.push(T(w[0]),T(w[1]),T(w[2]))}}function A(t,e,n){return n?t|1<<e:t&~(1<<e)}function S(t){var e=t.x.toString()+t.y.toString()+t.z.toString();return void 0!==u[e]?u[e]:(u[e]=s.length/3,s.push(t.x,t.y,t.z),u[e])}function T(t){var e=t.r.toString()+t.g.toString()+t.b.toString();return void 0!==h[e]?h[e]:(h[e]=l.length,l.push(t.getHex()),h[e])}function E(t){var e=t.x.toString()+t.y.toString();return void 0!==p[e]?p[e]:(p[e]=c.length/2,c.push(t.x,t.y),p[e])}return t.data={},t.data.vertices=i,t.data.normals=s,l.length>0&&(t.data.colors=l),c.length>0&&(t.data.uvs=[c]),t.data.faces=a,t},clone:function(){return(new gn).copy(this)},copy:function(t){var e,n,i,r,o,a;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=t.name;var s=t.vertices;for(e=0,n=s.length;e<n;e++)this.vertices.push(s[e].clone());var u=t.colors;for(e=0,n=u.length;e<n;e++)this.colors.push(u[e].clone());var l=t.faces;for(e=0,n=l.length;e<n;e++)this.faces.push(l[e].clone());for(e=0,n=t.faceVertexUvs.length;e<n;e++){var h=t.faceVertexUvs[e];for(void 0===this.faceVertexUvs[e]&&(this.faceVertexUvs[e]=[]),i=0,r=h.length;i<r;i++){var c=h[i],p=[];for(o=0,a=c.length;o<a;o++){var d=c[o];p.push(d.clone())}this.faceVertexUvs[e].push(p)}}var f=t.morphTargets;for(e=0,n=f.length;e<n;e++){var m={};if(m.name=f[e].name,void 0!==f[e].vertices)for(m.vertices=[],i=0,r=f[e].vertices.length;i<r;i++)m.vertices.push(f[e].vertices[i].clone());if(void 0!==f[e].normals)for(m.normals=[],i=0,r=f[e].normals.length;i<r;i++)m.normals.push(f[e].normals[i].clone());this.morphTargets.push(m)}var g=t.morphNormals;for(e=0,n=g.length;e<n;e++){var v={};if(void 0!==g[e].vertexNormals)for(v.vertexNormals=[],i=0,r=g[e].vertexNormals.length;i<r;i++){var y=g[e].vertexNormals[i],_={};_.a=y.a.clone(),_.b=y.b.clone(),_.c=y.c.clone(),v.vertexNormals.push(_)}if(void 0!==g[e].faceNormals)for(v.faceNormals=[],i=0,r=g[e].faceNormals.length;i<r;i++)v.faceNormals.push(g[e].faceNormals[i].clone());this.morphNormals.push(v)}var b=t.skinWeights;for(e=0,n=b.length;e<n;e++)this.skinWeights.push(b[e].clone());var x=t.skinIndices;for(e=0,n=x.length;e<n;e++)this.skinIndices.push(x[e].clone());var w=t.lineDistances;for(e=0,n=w.length;e<n;e++)this.lineDistances.push(w[e]);var A=t.boundingBox;null!==A&&(this.boundingBox=A.clone());var S=t.boundingSphere;return null!==S&&(this.boundingSphere=S.clone()),this.elementsNeedUpdate=t.elementsNeedUpdate,this.verticesNeedUpdate=t.verticesNeedUpdate,this.uvsNeedUpdate=t.uvsNeedUpdate,this.normalsNeedUpdate=t.normalsNeedUpdate,this.colorsNeedUpdate=t.colorsNeedUpdate,this.lineDistancesNeedUpdate=t.lineDistancesNeedUpdate,this.groupsNeedUpdate=t.groupsNeedUpdate,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),Object.defineProperty(vn.prototype,"needsUpdate",{set:function(t){!0===t&&this.version++}}),Object.assign(vn.prototype,{isBufferAttribute:!0,onUploadCallback:function(){},setArray:function(t){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");return this.count=void 0!==t?t.length/this.itemSize:0,this.array=t,this},setDynamic:function(t){return this.dynamic=t,this},copy:function(t){return this.name=t.name,this.array=new t.array.constructor(t.array),this.itemSize=t.itemSize,this.count=t.count,this.normalized=t.normalized,this.dynamic=t.dynamic,this},copyAt:function(t,e,n){t*=this.itemSize,n*=e.itemSize;for(var i=0,r=this.itemSize;i<r;i++)this.array[t+i]=e.array[n+i];return this},copyArray:function(t){return this.array.set(t),this},copyColorsArray:function(t){for(var e=this.array,n=0,i=0,r=t.length;i<r;i++){var o=t[i];void 0===o&&(console.warn("THREE.BufferAttribute.copyColorsArray(): color is undefined",i),o=new on),e[n++]=o.r,e[n++]=o.g,e[n++]=o.b}return this},copyVector2sArray:function(t){for(var e=this.array,n=0,i=0,r=t.length;i<r;i++){var o=t[i];void 0===o&&(console.warn("THREE.BufferAttribute.copyVector2sArray(): vector is undefined",i),o=new Ue),e[n++]=o.x,e[n++]=o.y}return this},copyVector3sArray:function(t){for(var e=this.array,n=0,i=0,r=t.length;i<r;i++){var o=t[i];void 0===o&&(console.warn("THREE.BufferAttribute.copyVector3sArray(): vector is undefined",i),o=new He),e[n++]=o.x,e[n++]=o.y,e[n++]=o.z}return this},copyVector4sArray:function(t){for(var e=this.array,n=0,i=0,r=t.length;i<r;i++){var o=t[i];void 0===o&&(console.warn("THREE.BufferAttribute.copyVector4sArray(): vector is undefined",i),o=new Ye),e[n++]=o.x,e[n++]=o.y,e[n++]=o.z,e[n++]=o.w}return this},set:function(t,e){return void 0===e&&(e=0),this.array.set(t,e),this},getX:function(t){return this.array[t*this.itemSize]},setX:function(t,e){return this.array[t*this.itemSize]=e,this},getY:function(t){return this.array[t*this.itemSize+1]},setY:function(t,e){return this.array[t*this.itemSize+1]=e,this},getZ:function(t){return this.array[t*this.itemSize+2]},setZ:function(t,e){return this.array[t*this.itemSize+2]=e,this},getW:function(t){return this.array[t*this.itemSize+3]},setW:function(t,e){return this.array[t*this.itemSize+3]=e,this},setXY:function(t,e,n){return t*=this.itemSize,this.array[t+0]=e,this.array[t+1]=n,this},setXYZ:function(t,e,n,i){return t*=this.itemSize,this.array[t+0]=e,this.array[t+1]=n,this.array[t+2]=i,this},setXYZW:function(t,e,n,i,r){return t*=this.itemSize,this.array[t+0]=e,this.array[t+1]=n,this.array[t+2]=i,this.array[t+3]=r,this},onUpload:function(t){return this.onUploadCallback=t,this},clone:function(){return new this.constructor(this.array,this.itemSize).copy(this)}}),yn.prototype=Object.create(vn.prototype),yn.prototype.constructor=yn,_n.prototype=Object.create(vn.prototype),_n.prototype.constructor=_n,bn.prototype=Object.create(vn.prototype),bn.prototype.constructor=bn,xn.prototype=Object.create(vn.prototype),xn.prototype.constructor=xn,wn.prototype=Object.create(vn.prototype),wn.prototype.constructor=wn,An.prototype=Object.create(vn.prototype),An.prototype.constructor=An,Sn.prototype=Object.create(vn.prototype),Sn.prototype.constructor=Sn,Tn.prototype=Object.create(vn.prototype),Tn.prototype.constructor=Tn,En.prototype=Object.create(vn.prototype),En.prototype.constructor=En,Object.assign(Mn.prototype,{computeGroups:function(t){for(var e,n=[],i=void 0,r=t.faces,o=0;o<r.length;o++){var a=r[o];a.materialIndex!==i&&(i=a.materialIndex,void 0!==e&&(e.count=3*o-e.start,n.push(e)),e={start:3*o,materialIndex:i})}void 0!==e&&(e.count=3*o-e.start,n.push(e)),this.groups=n},fromGeometry:function(t){var e,n=t.faces,i=t.vertices,r=t.faceVertexUvs,o=r[0]&&r[0].length>0,a=r[1]&&r[1].length>0,s=t.morphTargets,u=s.length;if(u>0){e=[];for(var l=0;l<u;l++)e[l]={name:s[l].name,data:[]};this.morphTargets.position=e}var h,c=t.morphNormals,p=c.length;if(p>0){h=[];for(l=0;l<p;l++)h[l]={name:c[l].name,data:[]};this.morphTargets.normal=h}var d=t.skinIndices,f=t.skinWeights,m=d.length===i.length,g=f.length===i.length;i.length>0&&0===n.length&&console.error("THREE.DirectGeometry: Faceless geometries are not supported.");for(l=0;l<n.length;l++){var v=n[l];this.vertices.push(i[v.a],i[v.b],i[v.c]);var y=v.vertexNormals;if(3===y.length)this.normals.push(y[0],y[1],y[2]);else{var _=v.normal;this.normals.push(_,_,_)}var b,x=v.vertexColors;if(3===x.length)this.colors.push(x[0],x[1],x[2]);else{var w=v.color;this.colors.push(w,w,w)}if(!0===o)void 0!==(b=r[0][l])?this.uvs.push(b[0],b[1],b[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ",l),this.uvs.push(new Ue,new Ue,new Ue));if(!0===a)void 0!==(b=r[1][l])?this.uvs2.push(b[0],b[1],b[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ",l),this.uvs2.push(new Ue,new Ue,new Ue));for(var A=0;A<u;A++){var S=s[A].vertices;e[A].data.push(S[v.a],S[v.b],S[v.c])}for(A=0;A<p;A++){var T=c[A].vertexNormals[l];h[A].data.push(T.a,T.b,T.c)}m&&this.skinIndices.push(d[v.a],d[v.b],d[v.c]),g&&this.skinWeights.push(f[v.a],f[v.b],f[v.c])}return this.computeGroups(t),this.verticesNeedUpdate=t.verticesNeedUpdate,this.normalsNeedUpdate=t.normalsNeedUpdate,this.colorsNeedUpdate=t.colorsNeedUpdate,this.uvsNeedUpdate=t.uvsNeedUpdate,this.groupsNeedUpdate=t.groupsNeedUpdate,this}});var Cn=1;function Ln(){Object.defineProperty(this,"id",{value:Cn+=2}),this.uuid=Ge.generateUUID(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}function Rn(t,e,n,i,r,o){gn.call(this),this.type="BoxGeometry",this.parameters={width:t,height:e,depth:n,widthSegments:i,heightSegments:r,depthSegments:o},this.fromBufferGeometry(new On(t,e,n,i,r,o)),this.mergeVertices()}function On(t,e,n,i,r,o){Ln.call(this),this.type="BoxBufferGeometry",this.parameters={width:t,height:e,depth:n,widthSegments:i,heightSegments:r,depthSegments:o};var a=this;t=t||1,e=e||1,n=n||1,i=Math.floor(i)||1,r=Math.floor(r)||1;var s=[],u=[],l=[],h=[],c=0,p=0;function d(t,e,n,i,r,o,d,f,m,g,v){var y,_,b=o/m,x=d/g,w=o/2,A=d/2,S=f/2,T=m+1,E=g+1,M=0,P=0,C=new He;for(_=0;_<E;_++){var L=_*x-A;for(y=0;y<T;y++){var R=y*b-w;C[t]=R*i,C[e]=L*r,C[n]=S,u.push(C.x,C.y,C.z),C[t]=0,C[e]=0,C[n]=f>0?1:-1,l.push(C.x,C.y,C.z),h.push(y/m),h.push(1-_/g),M+=1}}for(_=0;_<g;_++)for(y=0;y<m;y++){var O=c+y+T*_,I=c+y+T*(_+1),N=c+(y+1)+T*(_+1),D=c+(y+1)+T*_;s.push(O,I,D),s.push(I,N,D),P+=6}a.addGroup(p,P,v),p+=P,c+=M}d("z","y","x",-1,-1,n,e,t,o=Math.floor(o)||1,r,0),d("z","y","x",1,-1,n,e,-t,o,r,1),d("x","z","y",1,1,t,n,e,i,o,2),d("x","z","y",1,-1,t,n,-e,i,o,3),d("x","y","z",1,-1,t,e,n,i,r,4),d("x","y","z",-1,-1,t,e,-n,i,r,5),this.setIndex(s),this.addAttribute("position",new Tn(u,3)),this.addAttribute("normal",new Tn(l,3)),this.addAttribute("uv",new Tn(h,2))}function In(t,e,n,i){gn.call(this),this.type="PlaneGeometry",this.parameters={width:t,height:e,widthSegments:n,heightSegments:i},this.fromBufferGeometry(new Nn(t,e,n,i)),this.mergeVertices()}function Nn(t,e,n,i){Ln.call(this),this.type="PlaneBufferGeometry",this.parameters={width:t,height:e,widthSegments:n,heightSegments:i};var r,o,a=(t=t||1)/2,s=(e=e||1)/2,u=Math.floor(n)||1,l=Math.floor(i)||1,h=u+1,c=l+1,p=t/u,d=e/l,f=[],m=[],g=[],v=[];for(o=0;o<c;o++){var y=o*d-s;for(r=0;r<h;r++){var _=r*p-a;m.push(_,-y,0),g.push(0,0,1),v.push(r/u),v.push(1-o/l)}}for(o=0;o<l;o++)for(r=0;r<u;r++){var b=r+h*o,x=r+h*(o+1),w=r+1+h*(o+1),A=r+1+h*o;f.push(b,x,A),f.push(x,w,A)}this.setIndex(f),this.addAttribute("position",new Tn(m,3)),this.addAttribute("normal",new Tn(g,3)),this.addAttribute("uv",new Tn(v,2))}Ln.prototype=Object.assign(Object.create(i.prototype),{constructor:Ln,isBufferGeometry:!0,getIndex:function(){return this.index},setIndex:function(t){Array.isArray(t)?this.index=new(Pn(t)>65535?Sn:wn)(t,1):this.index=t},addAttribute:function(t,e){return e&&e.isBufferAttribute||e&&e.isInterleavedBufferAttribute?"index"===t?(console.warn("THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute."),this.setIndex(e),this):(this.attributes[t]=e,this):(console.warn("THREE.BufferGeometry: .addAttribute() now expects ( name, attribute )."),this.addAttribute(t,new vn(arguments[1],arguments[2])))},getAttribute:function(t){return this.attributes[t]},removeAttribute:function(t){return delete this.attributes[t],this},addGroup:function(t,e,n){this.groups.push({start:t,count:e,materialIndex:void 0!==n?n:0})},clearGroups:function(){this.groups=[]},setDrawRange:function(t,e){this.drawRange.start=t,this.drawRange.count=e},applyMatrix:function(t){var e=this.attributes.position;void 0!==e&&(t.applyToBufferAttribute(e),e.needsUpdate=!0);var n=this.attributes.normal;void 0!==n&&((new Fe).getNormalMatrix(t).applyToBufferAttribute(n),n.needsUpdate=!0);return null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this},rotateX:function(){var t=new Ve;return function(e){return t.makeRotationX(e),this.applyMatrix(t),this}}(),rotateY:function(){var t=new Ve;return function(e){return t.makeRotationY(e),this.applyMatrix(t),this}}(),rotateZ:function(){var t=new Ve;return function(e){return t.makeRotationZ(e),this.applyMatrix(t),this}}(),translate:function(){var t=new Ve;return function(e,n,i){return t.makeTranslation(e,n,i),this.applyMatrix(t),this}}(),scale:function(){var t=new Ve;return function(e,n,i){return t.makeScale(e,n,i),this.applyMatrix(t),this}}(),lookAt:function(){var t=new fn;return function(e){t.lookAt(e),t.updateMatrix(),this.applyMatrix(t.matrix)}}(),center:function(){var t=new He;return function(){return this.computeBoundingBox(),this.boundingBox.getCenter(t).negate(),this.translate(t.x,t.y,t.z),this}}(),setFromObject:function(t){var e=t.geometry;if(t.isPoints||t.isLine){var n=new Tn(3*e.vertices.length,3),i=new Tn(3*e.colors.length,3);if(this.addAttribute("position",n.copyVector3sArray(e.vertices)),this.addAttribute("color",i.copyColorsArray(e.colors)),e.lineDistances&&e.lineDistances.length===e.vertices.length){var r=new Tn(e.lineDistances.length,1);this.addAttribute("lineDistance",r.copyArray(e.lineDistances))}null!==e.boundingSphere&&(this.boundingSphere=e.boundingSphere.clone()),null!==e.boundingBox&&(this.boundingBox=e.boundingBox.clone())}else t.isMesh&&e&&e.isGeometry&&this.fromGeometry(e);return this},setFromPoints:function(t){for(var e=[],n=0,i=t.length;n<i;n++){var r=t[n];e.push(r.x,r.y,r.z||0)}return this.addAttribute("position",new Tn(e,3)),this},updateFromObject:function(t){var e,n=t.geometry;if(t.isMesh){var i=n.__directGeometry;if(!0===n.elementsNeedUpdate&&(i=void 0,n.elementsNeedUpdate=!1),void 0===i)return this.fromGeometry(n);i.verticesNeedUpdate=n.verticesNeedUpdate,i.normalsNeedUpdate=n.normalsNeedUpdate,i.colorsNeedUpdate=n.colorsNeedUpdate,i.uvsNeedUpdate=n.uvsNeedUpdate,i.groupsNeedUpdate=n.groupsNeedUpdate,n.verticesNeedUpdate=!1,n.normalsNeedUpdate=!1,n.colorsNeedUpdate=!1,n.uvsNeedUpdate=!1,n.groupsNeedUpdate=!1,n=i}return!0===n.verticesNeedUpdate&&(void 0!==(e=this.attributes.position)&&(e.copyVector3sArray(n.vertices),e.needsUpdate=!0),n.verticesNeedUpdate=!1),!0===n.normalsNeedUpdate&&(void 0!==(e=this.attributes.normal)&&(e.copyVector3sArray(n.normals),e.needsUpdate=!0),n.normalsNeedUpdate=!1),!0===n.colorsNeedUpdate&&(void 0!==(e=this.attributes.color)&&(e.copyColorsArray(n.colors),e.needsUpdate=!0),n.colorsNeedUpdate=!1),n.uvsNeedUpdate&&(void 0!==(e=this.attributes.uv)&&(e.copyVector2sArray(n.uvs),e.needsUpdate=!0),n.uvsNeedUpdate=!1),n.lineDistancesNeedUpdate&&(void 0!==(e=this.attributes.lineDistance)&&(e.copyArray(n.lineDistances),e.needsUpdate=!0),n.lineDistancesNeedUpdate=!1),n.groupsNeedUpdate&&(n.computeGroups(t.geometry),this.groups=n.groups,n.groupsNeedUpdate=!1),this},fromGeometry:function(t){return t.__directGeometry=(new Mn).fromGeometry(t),this.fromDirectGeometry(t.__directGeometry)},fromDirectGeometry:function(t){var e=new Float32Array(3*t.vertices.length);if(this.addAttribute("position",new vn(e,3).copyVector3sArray(t.vertices)),t.normals.length>0){var n=new Float32Array(3*t.normals.length);this.addAttribute("normal",new vn(n,3).copyVector3sArray(t.normals))}if(t.colors.length>0){var i=new Float32Array(3*t.colors.length);this.addAttribute("color",new vn(i,3).copyColorsArray(t.colors))}if(t.uvs.length>0){var r=new Float32Array(2*t.uvs.length);this.addAttribute("uv",new vn(r,2).copyVector2sArray(t.uvs))}if(t.uvs2.length>0){var o=new Float32Array(2*t.uvs2.length);this.addAttribute("uv2",new vn(o,2).copyVector2sArray(t.uvs2))}for(var a in this.groups=t.groups,t.morphTargets){for(var s=[],u=t.morphTargets[a],l=0,h=u.length;l<h;l++){var c=u[l],p=new Tn(3*c.data.length,3);p.name=c.name,s.push(p.copyVector3sArray(c.data))}this.morphAttributes[a]=s}if(t.skinIndices.length>0){var d=new Tn(4*t.skinIndices.length,4);this.addAttribute("skinIndex",d.copyVector4sArray(t.skinIndices))}if(t.skinWeights.length>0){var f=new Tn(4*t.skinWeights.length,4);this.addAttribute("skinWeight",f.copyVector4sArray(t.skinWeights))}return null!==t.boundingSphere&&(this.boundingSphere=t.boundingSphere.clone()),null!==t.boundingBox&&(this.boundingBox=t.boundingBox.clone()),this},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new Qe);var t=this.attributes.position;void 0!==t?this.boundingBox.setFromBufferAttribute(t):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:function(){var t=new Qe,e=new He;return function(){null===this.boundingSphere&&(this.boundingSphere=new Je);var n=this.attributes.position;if(n){var i=this.boundingSphere.center;t.setFromBufferAttribute(n),t.getCenter(i);for(var r=0,o=0,a=n.count;o<a;o++)e.x=n.getX(o),e.y=n.getY(o),e.z=n.getZ(o),r=Math.max(r,i.distanceToSquared(e));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)}}}(),computeFaceNormals:function(){},computeVertexNormals:function(){var t=this.index,e=this.attributes;if(e.position){var n=e.position.array;if(void 0===e.normal)this.addAttribute("normal",new vn(new Float32Array(n.length),3));else for(var i=e.normal.array,r=0,o=i.length;r<o;r++)i[r]=0;var a,s,u,l=e.normal.array,h=new He,c=new He,p=new He,d=new He,f=new He;if(t){var m=t.array;for(r=0,o=t.count;r<o;r+=3)a=3*m[r+0],s=3*m[r+1],u=3*m[r+2],h.fromArray(n,a),c.fromArray(n,s),p.fromArray(n,u),d.subVectors(p,c),f.subVectors(h,c),d.cross(f),l[a]+=d.x,l[a+1]+=d.y,l[a+2]+=d.z,l[s]+=d.x,l[s+1]+=d.y,l[s+2]+=d.z,l[u]+=d.x,l[u+1]+=d.y,l[u+2]+=d.z}else for(r=0,o=n.length;r<o;r+=9)h.fromArray(n,r),c.fromArray(n,r+3),p.fromArray(n,r+6),d.subVectors(p,c),f.subVectors(h,c),d.cross(f),l[r]=d.x,l[r+1]=d.y,l[r+2]=d.z,l[r+3]=d.x,l[r+4]=d.y,l[r+5]=d.z,l[r+6]=d.x,l[r+7]=d.y,l[r+8]=d.z;this.normalizeNormals(),e.normal.needsUpdate=!0}},merge:function(t,e){if(t&&t.isBufferGeometry){void 0===e&&(e=0,console.warn("THREE.BufferGeometry.merge(): Overwriting original geometry, starting at offset=0. Use BufferGeometryUtils.mergeBufferGeometries() for lossless merge."));var n=this.attributes;for(var i in n)if(void 0!==t.attributes[i])for(var r=n[i].array,o=t.attributes[i],a=o.array,s=0,u=o.itemSize*e;s<a.length;s++,u++)r[u]=a[s];return this}console.error("THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.",t)},normalizeNormals:function(){var t=new He;return function(){for(var e=this.attributes.normal,n=0,i=e.count;n<i;n++)t.x=e.getX(n),t.y=e.getY(n),t.z=e.getZ(n),t.normalize(),e.setXYZ(n,t.x,t.y,t.z)}}(),toNonIndexed:function(){if(null===this.index)return console.warn("THREE.BufferGeometry.toNonIndexed(): Geometry is already non-indexed."),this;var t=new Ln,e=this.index.array,n=this.attributes;for(var i in n){for(var r=n[i],o=r.array,a=r.itemSize,s=new o.constructor(e.length*a),u=0,l=0,h=0,c=e.length;h<c;h++){u=e[h]*a;for(var p=0;p<a;p++)s[l++]=o[u++]}t.addAttribute(i,new vn(s,a))}var d=this.groups;for(h=0,c=d.length;h<c;h++){var f=d[h];t.addGroup(f.start,f.count,f.materialIndex)}return t},toJSON:function(){var t={metadata:{version:4.5,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};if(t.uuid=this.uuid,t.type=this.type,""!==this.name&&(t.name=this.name),Object.keys(this.userData).length>0&&(t.userData=this.userData),void 0!==this.parameters){var e=this.parameters;for(var n in e)void 0!==e[n]&&(t[n]=e[n]);return t}t.data={attributes:{}};var i=this.index;if(null!==i){var r=Array.prototype.slice.call(i.array);t.data.index={type:i.array.constructor.name,array:r}}var o=this.attributes;for(var n in o){var a=o[n];r=Array.prototype.slice.call(a.array);t.data.attributes[n]={itemSize:a.itemSize,type:a.array.constructor.name,array:r,normalized:a.normalized}}var s=this.groups;s.length>0&&(t.data.groups=JSON.parse(JSON.stringify(s)));var u=this.boundingSphere;return null!==u&&(t.data.boundingSphere={center:u.center.toArray(),radius:u.radius}),t},clone:function(){return(new Ln).copy(this)},copy:function(t){var e,n,i;this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.name=t.name;var r=t.index;null!==r&&this.setIndex(r.clone());var o=t.attributes;for(e in o){var a=o[e];this.addAttribute(e,a.clone())}var s=t.morphAttributes;for(e in s){var u=[],l=s[e];for(n=0,i=l.length;n<i;n++)u.push(l[n].clone());this.morphAttributes[e]=u}var h=t.groups;for(n=0,i=h.length;n<i;n++){var c=h[n];this.addGroup(c.start,c.count,c.materialIndex)}var p=t.boundingBox;null!==p&&(this.boundingBox=p.clone());var d=t.boundingSphere;return null!==d&&(this.boundingSphere=d.clone()),this.drawRange.start=t.drawRange.start,this.drawRange.count=t.drawRange.count,this.userData=t.userData,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),Rn.prototype=Object.create(gn.prototype),Rn.prototype.constructor=Rn,On.prototype=Object.create(Ln.prototype),On.prototype.constructor=On,In.prototype=Object.create(gn.prototype),In.prototype.constructor=In,Nn.prototype=Object.create(Ln.prototype),Nn.prototype.constructor=Nn;var Dn=0;function Bn(){Object.defineProperty(this,"id",{value:Dn++}),this.uuid=Ge.generateUUID(),this.name="",this.type="Material",this.fog=!0,this.lights=!0,this.blending=S,this.side=m,this.flatShading=!1,this.vertexColors=b,this.opacity=1,this.transparent=!1,this.blendSrc=G,this.blendDst=U,this.blendEquation=C,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=K,this.depthTest=!0,this.depthWrite=!0,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.alphaTest=0,this.premultipliedAlpha=!1,this.visible=!0,this.userData={},this.needsUpdate=!0}function kn(t){Bn.call(this),this.type="ShaderMaterial",this.defines={},this.uniforms={},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.skinning=!1,this.morphTargets=!1,this.morphNormals=!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,void 0!==t&&(void 0!==t.attributes&&console.error("THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead."),this.setValues(t))}function Gn(t,e){this.origin=void 0!==t?t:new He,this.direction=void 0!==e?e:new He}function Un(t,e,n){this.a=void 0!==t?t:new He,this.b=void 0!==e?e:new He,this.c=void 0!==n?n:new He}function Vn(t){Bn.call(this),this.type="MeshBasicMaterial",this.color=new on(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=$,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.lights=!1,this.setValues(t)}function zn(t,e){fn.call(this),this.type="Mesh",this.geometry=void 0!==t?t:new Ln,this.material=void 0!==e?e:new Vn({color:16777215*Math.random()}),this.drawMode=Ae,this.updateMorphTargets()}function Hn(t,e){return Math.abs(e[1])-Math.abs(t[1])}function Fn(t,e,n,i,r,o,a,s,u,l){t=void 0!==t?t:[],e=void 0!==e?e:ut,Xe.call(this,t,e,n,i,r,o,a,s,u,l),this.flipY=!1}function jn(t,e,n,i){Xe.call(this,null),this.image={data:t,width:e,height:n,depth:i},this.magFilter=yt,this.minFilter=yt,this.generateMipmaps=!1,this.flipY=!1}Bn.prototype=Object.assign(Object.create(i.prototype),{constructor:Bn,isMaterial:!0,onBeforeCompile:function(){},setValues:function(t){if(void 0!==t)for(var e in t){var n=t[e];if(void 0!==n)if("shading"!==e){var i=this[e];void 0!==i?i&&i.isColor?i.set(n):i&&i.isVector3&&n&&n.isVector3?i.copy(n):this[e]=n:console.warn("THREE."+this.type+": '"+e+"' is not a property of this material.")}else console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=n===y;else console.warn("THREE.Material: '"+e+"' parameter is undefined.")}},toJSON:function(t){var e=void 0===t||"string"==typeof t;e&&(t={textures:{},images:{}});var n={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};function i(t){var e=[];for(var n in t){var i=t[n];delete i.metadata,e.push(i)}return e}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),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),1!==this.emissiveIntensity&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.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.map&&this.map.isTexture&&(n.map=this.map.toJSON(t).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(t).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(t).uuid),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(t).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(t).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(t).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(t).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(t).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(t).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(t).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(t).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(t).uuid,n.reflectivity=this.reflectivity,void 0!==this.combine&&(n.combine=this.combine),void 0!==this.envMapIntensity&&(n.envMapIntensity=this.envMapIntensity)),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(t).uuid),void 0!==this.size&&(n.size=this.size),void 0!==this.sizeAttenuation&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==S&&(n.blending=this.blending),!0===this.flatShading&&(n.flatShading=this.flatShading),this.side!==m&&(n.side=this.side),this.vertexColors!==b&&(n.vertexColors=this.vertexColors),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,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),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.premultipliedAlpha&&(n.premultipliedAlpha=this.premultipliedAlpha),!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.morphTargets&&(n.morphTargets=!0),!0===this.skinning&&(n.skinning=!0),!1===this.visible&&(n.visible=!1),"{}"!==JSON.stringify(this.userData)&&(n.userData=this.userData),e){var r=i(t.textures),o=i(t.images);r.length>0&&(n.textures=r),o.length>0&&(n.images=o)}return n},clone:function(){return(new this.constructor).copy(this)},copy:function(t){this.name=t.name,this.fog=t.fog,this.lights=t.lights,this.blending=t.blending,this.side=t.side,this.flatShading=t.flatShading,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.premultipliedAlpha=t.premultipliedAlpha,this.visible=t.visible,this.userData=JSON.parse(JSON.stringify(t.userData)),this.clipShadows=t.clipShadows,this.clipIntersection=t.clipIntersection;var e=t.clippingPlanes,n=null;if(null!==e){var i=e.length;n=new Array(i);for(var r=0;r!==i;++r)n[r]=e[r].clone()}return this.clippingPlanes=n,this.shadowSide=t.shadowSide,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),kn.prototype=Object.create(Bn.prototype),kn.prototype.constructor=kn,kn.prototype.isShaderMaterial=!0,kn.prototype.copy=function(t){return Bn.prototype.copy.call(this,t),this.fragmentShader=t.fragmentShader,this.vertexShader=t.vertexShader,this.uniforms=nn.clone(t.uniforms),this.defines=Object.assign({},t.defines),this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.lights=t.lights,this.clipping=t.clipping,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this.extensions=t.extensions,this},kn.prototype.toJSON=function(t){var e=Bn.prototype.toJSON.call(this,t);for(var n in e.uniforms={},this.uniforms){var i=this.uniforms[n].value;i.isTexture?e.uniforms[n]={type:"t",value:i.toJSON(t).uuid}:i.isColor?e.uniforms[n]={type:"c",value:i.getHex()}:i.isVector2?e.uniforms[n]={type:"v2",value:i.toArray()}:i.isVector3?e.uniforms[n]={type:"v3",value:i.toArray()}:i.isVector4?e.uniforms[n]={type:"v4",value:i.toArray()}:i.isMatrix4?e.uniforms[n]={type:"m4",value:i.toArray()}:e.uniforms[n]={value:i}}return Object.keys(this.defines).length>0&&(e.defines=this.defines),e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader,e},Object.assign(Gn.prototype,{set:function(t,e){return this.origin.copy(t),this.direction.copy(e),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this},at:function(t,e){return void 0===e&&(console.warn("THREE.Ray: .at() target is now required"),e=new He),e.copy(this.direction).multiplyScalar(t).add(this.origin)},lookAt:function(t){return this.direction.copy(t).sub(this.origin).normalize(),this},recast:function(){var t=new He;return function(e){return this.origin.copy(this.at(e,t)),this}}(),closestPointToPoint:function(t,e){void 0===e&&(console.warn("THREE.Ray: .closestPointToPoint() target is now required"),e=new He),e.subVectors(t,this.origin);var n=e.dot(this.direction);return n<0?e.copy(this.origin):e.copy(this.direction).multiplyScalar(n).add(this.origin)},distanceToPoint:function(t){return Math.sqrt(this.distanceSqToPoint(t))},distanceSqToPoint:function(){var t=new He;return function(e){var n=t.subVectors(e,this.origin).dot(this.direction);return n<0?this.origin.distanceToSquared(e):(t.copy(this.direction).multiplyScalar(n).add(this.origin),t.distanceToSquared(e))}}(),distanceSqToSegment:function(){var t=new He,e=new He,n=new He;return function(i,r,o,a){t.copy(i).add(r).multiplyScalar(.5),e.copy(r).sub(i).normalize(),n.copy(this.origin).sub(t);var s,u,l,h,c=.5*i.distanceTo(r),p=-this.direction.dot(e),d=n.dot(this.direction),f=-n.dot(e),m=n.lengthSq(),g=Math.abs(1-p*p);if(g>0)if(u=p*d-f,h=c*g,(s=p*f-d)>=0)if(u>=-h)if(u<=h){var v=1/g;l=(s*=v)*(s+p*(u*=v)+2*d)+u*(p*s+u+2*f)+m}else u=c,l=-(s=Math.max(0,-(p*u+d)))*s+u*(u+2*f)+m;else u=-c,l=-(s=Math.max(0,-(p*u+d)))*s+u*(u+2*f)+m;else u<=-h?l=-(s=Math.max(0,-(-p*c+d)))*s+(u=s>0?-c:Math.min(Math.max(-c,-f),c))*(u+2*f)+m:u<=h?(s=0,l=(u=Math.min(Math.max(-c,-f),c))*(u+2*f)+m):l=-(s=Math.max(0,-(p*c+d)))*s+(u=s>0?c:Math.min(Math.max(-c,-f),c))*(u+2*f)+m;else u=p>0?-c:c,l=-(s=Math.max(0,-(p*u+d)))*s+u*(u+2*f)+m;return o&&o.copy(this.direction).multiplyScalar(s).add(this.origin),a&&a.copy(e).multiplyScalar(u).add(t),l}}(),intersectSphere:function(){var t=new He;return function(e,n){t.subVectors(e.center,this.origin);var i=t.dot(this.direction),r=t.dot(t)-i*i,o=e.radius*e.radius;if(r>o)return null;var a=Math.sqrt(o-r),s=i-a,u=i+a;return s<0&&u<0?null:s<0?this.at(u,n):this.at(s,n)}}(),intersectsSphere:function(t){return this.distanceSqToPoint(t.center)<=t.radius*t.radius},distanceToPlane:function(t){var e=t.normal.dot(this.direction);if(0===e)return 0===t.distanceToPoint(this.origin)?0:null;var n=-(this.origin.dot(t.normal)+t.constant)/e;return n>=0?n:null},intersectPlane:function(t,e){var n=this.distanceToPlane(t);return null===n?null:this.at(n,e)},intersectsPlane:function(t){var e=t.distanceToPoint(this.origin);return 0===e||t.normal.dot(this.direction)*e<0},intersectBox:function(t,e){var n,i,r,o,a,s,u=1/this.direction.x,l=1/this.direction.y,h=1/this.direction.z,c=this.origin;return u>=0?(n=(t.min.x-c.x)*u,i=(t.max.x-c.x)*u):(n=(t.max.x-c.x)*u,i=(t.min.x-c.x)*u),l>=0?(r=(t.min.y-c.y)*l,o=(t.max.y-c.y)*l):(r=(t.max.y-c.y)*l,o=(t.min.y-c.y)*l),n>o||r>i?null:((r>n||n!=n)&&(n=r),(o<i||i!=i)&&(i=o),h>=0?(a=(t.min.z-c.z)*h,s=(t.max.z-c.z)*h):(a=(t.max.z-c.z)*h,s=(t.min.z-c.z)*h),n>s||a>i?null:((a>n||n!=n)&&(n=a),(s<i||i!=i)&&(i=s),i<0?null:this.at(n>=0?n:i,e)))},intersectsBox:function(){var t=new He;return function(e){return null!==this.intersectBox(e,t)}}(),intersectTriangle:function(){var t=new He,e=new He,n=new He,i=new He;return function(r,o,a,s,u){e.subVectors(o,r),n.subVectors(a,r),i.crossVectors(e,n);var l,h=this.direction.dot(i);if(h>0){if(s)return null;l=1}else{if(!(h<0))return null;l=-1,h=-h}t.subVectors(this.origin,r);var c=l*this.direction.dot(n.crossVectors(t,n));if(c<0)return null;var p=l*this.direction.dot(e.cross(t));if(p<0)return null;if(c+p>h)return null;var d=-l*t.dot(i);return d<0?null:this.at(d/h,u)}}(),applyMatrix4:function(t){return this.origin.applyMatrix4(t),this.direction.transformDirection(t),this},equals:function(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}}),Object.assign(Un,{getNormal:function(){var t=new He;return function(e,n,i,r){void 0===r&&(console.warn("THREE.Triangle: .getNormal() target is now required"),r=new He),r.subVectors(i,n),t.subVectors(e,n),r.cross(t);var o=r.lengthSq();return o>0?r.multiplyScalar(1/Math.sqrt(o)):r.set(0,0,0)}}(),getBarycoord:function(){var t=new He,e=new He,n=new He;return function(i,r,o,a,s){t.subVectors(a,r),e.subVectors(o,r),n.subVectors(i,r);var u=t.dot(t),l=t.dot(e),h=t.dot(n),c=e.dot(e),p=e.dot(n),d=u*c-l*l;if(void 0===s&&(console.warn("THREE.Triangle: .getBarycoord() target is now required"),s=new He),0===d)return s.set(-2,-1,-1);var f=1/d,m=(c*h-l*p)*f,g=(u*p-l*h)*f;return s.set(1-m-g,g,m)}}(),containsPoint:function(){var t=new He;return function(e,n,i,r){return Un.getBarycoord(e,n,i,r,t),t.x>=0&&t.y>=0&&t.x+t.y<=1}}(),getUV:function(){var t=new He;return function(e,n,i,r,o,a,s,u){return this.getBarycoord(e,n,i,r,t),u.set(0,0),u.addScaledVector(o,t.x),u.addScaledVector(a,t.y),u.addScaledVector(s,t.z),u}}()}),Object.assign(Un.prototype,{set:function(t,e,n){return this.a.copy(t),this.b.copy(e),this.c.copy(n),this},setFromPointsAndIndices:function(t,e,n,i){return this.a.copy(t[e]),this.b.copy(t[n]),this.c.copy(t[i]),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this},getArea:function(){var t=new He,e=new He;return function(){return t.subVectors(this.c,this.b),e.subVectors(this.a,this.b),.5*t.cross(e).length()}}(),getMidpoint:function(t){return void 0===t&&(console.warn("THREE.Triangle: .getMidpoint() target is now required"),t=new He),t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},getNormal:function(t){return Un.getNormal(this.a,this.b,this.c,t)},getPlane:function(t){return void 0===t&&(console.warn("THREE.Triangle: .getPlane() target is now required"),t=new He),t.setFromCoplanarPoints(this.a,this.b,this.c)},getBarycoord:function(t,e){return Un.getBarycoord(t,this.a,this.b,this.c,e)},containsPoint:function(t){return Un.containsPoint(t,this.a,this.b,this.c)},getUV:function(t,e,n,i,r){return Un.getUV(t,this.a,this.b,this.c,e,n,i,r)},intersectsBox:function(t){return t.intersectsTriangle(this)},closestPointToPoint:function(){var t=new He,e=new He,n=new He,i=new He,r=new He,o=new He;return function(a,s){void 0===s&&(console.warn("THREE.Triangle: .closestPointToPoint() target is now required"),s=new He);var u,l,h=this.a,c=this.b,p=this.c;t.subVectors(c,h),e.subVectors(p,h),i.subVectors(a,h);var d=t.dot(i),f=e.dot(i);if(d<=0&&f<=0)return s.copy(h);r.subVectors(a,c);var m=t.dot(r),g=e.dot(r);if(m>=0&&g<=m)return s.copy(c);var v=d*g-m*f;if(v<=0&&d>=0&&m<=0)return u=d/(d-m),s.copy(h).addScaledVector(t,u);o.subVectors(a,p);var y=t.dot(o),_=e.dot(o);if(_>=0&&y<=_)return s.copy(p);var b=y*f-d*_;if(b<=0&&f>=0&&_<=0)return l=f/(f-_),s.copy(h).addScaledVector(e,l);var x=m*_-y*g;if(x<=0&&g-m>=0&&y-_>=0)return n.subVectors(p,c),l=(g-m)/(g-m+(y-_)),s.copy(c).addScaledVector(n,l);var w=1/(x+b+v);return u=b*w,l=v*w,s.copy(h).addScaledVector(t,u).addScaledVector(e,l)}}(),equals:function(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}),Vn.prototype=Object.create(Bn.prototype),Vn.prototype.constructor=Vn,Vn.prototype.isMeshBasicMaterial=!0,Vn.prototype.copy=function(t){return Bn.prototype.copy.call(this,t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this},zn.prototype=Object.assign(Object.create(fn.prototype),{constructor:zn,isMesh:!0,setDrawMode:function(t){this.drawMode=t},copy:function(t){return fn.prototype.copy.call(this,t),this.drawMode=t.drawMode,void 0!==t.morphTargetInfluences&&(this.morphTargetInfluences=t.morphTargetInfluences.slice()),void 0!==t.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},t.morphTargetDictionary)),this},updateMorphTargets:function(){var t,e,n,i=this.geometry;if(i.isBufferGeometry){var r=i.morphAttributes,o=Object.keys(r);if(o.length>0){var a=r[o[0]];if(void 0!==a)for(this.morphTargetInfluences=[],this.morphTargetDictionary={},t=0,e=a.length;t<e;t++)n=a[t].name||String(t),this.morphTargetInfluences.push(0),this.morphTargetDictionary[n]=t}}else{var s=i.morphTargets;if(void 0!==s&&s.length>0)for(this.morphTargetInfluences=[],this.morphTargetDictionary={},t=0,e=s.length;t<e;t++)n=s[t].name||String(t),this.morphTargetInfluences.push(0),this.morphTargetDictionary[n]=t}},raycast:function(){var t=new Ve,e=new Gn,n=new Je,i=new He,r=new He,o=new He,a=new He,s=new He,u=new He,l=new Ue,h=new Ue,c=new Ue,p=new He,d=new He;function f(t,e,n,i,r,o,a,s){if(null===(e.side===g?i.intersectTriangle(a,o,r,!0,s):i.intersectTriangle(r,o,a,e.side!==v,s)))return null;d.copy(s),d.applyMatrix4(t.matrixWorld);var u=n.ray.origin.distanceTo(d);return u<n.near||u>n.far?null:{distance:u,point:d.clone(),object:t}}function m(t,e,n,a,s,u,d,m,g){i.fromBufferAttribute(s,d),r.fromBufferAttribute(s,m),o.fromBufferAttribute(s,g);var v=f(t,e,n,a,i,r,o,p);if(v){u&&(l.fromBufferAttribute(u,d),h.fromBufferAttribute(u,m),c.fromBufferAttribute(u,g),v.uv=Un.getUV(p,i,r,o,l,h,c,new Ue));var y=new hn(d,m,g);Un.getNormal(i,r,o,y.normal),v.face=y}return v}return function(d,g){var v,y=this.geometry,_=this.material,b=this.matrixWorld;if(void 0!==_&&(null===y.boundingSphere&&y.computeBoundingSphere(),n.copy(y.boundingSphere),n.applyMatrix4(b),!1!==d.ray.intersectsSphere(n)&&(t.getInverse(b),e.copy(d.ray).applyMatrix4(t),null===y.boundingBox||!1!==e.intersectsBox(y.boundingBox))))if(y.isBufferGeometry){var x,w,A,S,T,E,M,P,C,L=y.index,R=y.attributes.position,O=y.attributes.uv,I=y.groups,N=y.drawRange;if(null!==L)if(Array.isArray(_))for(S=0,E=I.length;S<E;S++)for(C=_[(P=I[S]).materialIndex],T=Math.max(P.start,N.start),M=Math.min(P.start+P.count,N.start+N.count);T<M;T+=3)x=L.getX(T),w=L.getX(T+1),A=L.getX(T+2),(v=m(this,C,d,e,R,O,x,w,A))&&(v.faceIndex=Math.floor(T/3),g.push(v));else for(S=Math.max(0,N.start),E=Math.min(L.count,N.start+N.count);S<E;S+=3)x=L.getX(S),w=L.getX(S+1),A=L.getX(S+2),(v=m(this,_,d,e,R,O,x,w,A))&&(v.faceIndex=Math.floor(S/3),g.push(v));else if(void 0!==R)if(Array.isArray(_))for(S=0,E=I.length;S<E;S++)for(C=_[(P=I[S]).materialIndex],T=Math.max(P.start,N.start),M=Math.min(P.start+P.count,N.start+N.count);T<M;T+=3)(v=m(this,C,d,e,R,O,x=T,w=T+1,A=T+2))&&(v.faceIndex=Math.floor(T/3),g.push(v));else for(S=Math.max(0,N.start),E=Math.min(R.count,N.start+N.count);S<E;S+=3)(v=m(this,_,d,e,R,O,x=S,w=S+1,A=S+2))&&(v.faceIndex=Math.floor(S/3),g.push(v))}else if(y.isGeometry){var D,B,k,G,U=Array.isArray(_),V=y.vertices,z=y.faces,H=y.faceVertexUvs[0];H.length>0&&(G=H);for(var F=0,j=z.length;F<j;F++){var W=z[F],X=U?_[W.materialIndex]:_;if(void 0!==X){if(D=V[W.a],B=V[W.b],k=V[W.c],!0===X.morphTargets){var Y=y.morphTargets,K=this.morphTargetInfluences;i.set(0,0,0),r.set(0,0,0),o.set(0,0,0);for(var Z=0,q=Y.length;Z<q;Z++){var Q=K[Z];if(0!==Q){var J=Y[Z].vertices;i.addScaledVector(a.subVectors(J[W.a],D),Q),r.addScaledVector(s.subVectors(J[W.b],B),Q),o.addScaledVector(u.subVectors(J[W.c],k),Q)}}i.add(D),r.add(B),o.add(k),D=i,B=r,k=o}if(v=f(this,X,d,e,D,B,k,p)){if(G&&G[F]){var $=G[F];l.copy($[0]),h.copy($[1]),c.copy($[2]),v.uv=Un.getUV(p,D,B,k,l,h,c,new Ue)}v.face=W,v.faceIndex=F,g.push(v)}}}}}}(),clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),Fn.prototype=Object.create(Xe.prototype),Fn.prototype.constructor=Fn,Fn.prototype.isCubeTexture=!0,Object.defineProperty(Fn.prototype,"images",{get:function(){return this.image},set:function(t){this.image=t}}),jn.prototype=Object.create(Xe.prototype),jn.prototype.constructor=jn,jn.prototype.isDataTexture3D=!0;var Wn=new Xe,Xn=new jn,Yn=new Fn;function Kn(){this.seq=[],this.map={}}var Zn=[],qn=[],Qn=new Float32Array(16),Jn=new Float32Array(9),$n=new Float32Array(4);function ti(t,e,n){var i=t[0];if(i<=0||i>0)return t;var r=e*n,o=Zn[r];if(void 0===o&&(o=new Float32Array(r),Zn[r]=o),0!==e){i.toArray(o,0);for(var a=1,s=0;a!==e;++a)s+=n,t[a].toArray(o,s)}return o}function ei(t,e){if(t.length!==e.length)return!1;for(var n=0,i=t.length;n<i;n++)if(t[n]!==e[n])return!1;return!0}function ni(t,e){for(var n=0,i=e.length;n<i;n++)t[n]=e[n]}function ii(t,e){var n=qn[e];void 0===n&&(n=new Int32Array(e),qn[e]=n);for(var i=0;i!==e;++i)n[i]=t.allocTextureUnit();return n}function ri(t,e){var n=this.cache;n[0]!==e&&(t.uniform1f(this.addr,e),n[0]=e)}function oi(t,e){var n=this.cache;n[0]!==e&&(t.uniform1i(this.addr,e),n[0]=e)}function ai(t,e){var n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y||(t.uniform2f(this.addr,e.x,e.y),n[0]=e.x,n[1]=e.y);else{if(ei(n,e))return;t.uniform2fv(this.addr,e),ni(n,e)}}function si(t,e){var n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y&&n[2]===e.z||(t.uniform3f(this.addr,e.x,e.y,e.z),n[0]=e.x,n[1]=e.y,n[2]=e.z);else if(void 0!==e.r)n[0]===e.r&&n[1]===e.g&&n[2]===e.b||(t.uniform3f(this.addr,e.r,e.g,e.b),n[0]=e.r,n[1]=e.g,n[2]=e.b);else{if(ei(n,e))return;t.uniform3fv(this.addr,e),ni(n,e)}}function ui(t,e){var n=this.cache;if(void 0!==e.x)n[0]===e.x&&n[1]===e.y&&n[2]===e.z&&n[3]===e.w||(t.uniform4f(this.addr,e.x,e.y,e.z,e.w),n[0]=e.x,n[1]=e.y,n[2]=e.z,n[3]=e.w);else{if(ei(n,e))return;t.uniform4fv(this.addr,e),ni(n,e)}}function li(t,e){var n=this.cache,i=e.elements;if(void 0===i){if(ei(n,e))return;t.uniformMatrix2fv(this.addr,!1,e),ni(n,e)}else{if(ei(n,i))return;$n.set(i),t.uniformMatrix2fv(this.addr,!1,$n),ni(n,i)}}function hi(t,e){var n=this.cache,i=e.elements;if(void 0===i){if(ei(n,e))return;t.uniformMatrix3fv(this.addr,!1,e),ni(n,e)}else{if(ei(n,i))return;Jn.set(i),t.uniformMatrix3fv(this.addr,!1,Jn),ni(n,i)}}function ci(t,e){var n=this.cache,i=e.elements;if(void 0===i){if(ei(n,e))return;t.uniformMatrix4fv(this.addr,!1,e),ni(n,e)}else{if(ei(n,i))return;Qn.set(i),t.uniformMatrix4fv(this.addr,!1,Qn),ni(n,i)}}function pi(t,e,n){var i=this.cache,r=n.allocTextureUnit();i[0]!==r&&(t.uniform1i(this.addr,r),i[0]=r),n.setTexture2D(e||Wn,r)}function di(t,e,n){var i=this.cache,r=n.allocTextureUnit();i[0]!==r&&(t.uniform1i(this.addr,r),i[0]=r),n.setTexture3D(e||Xn,r)}function fi(t,e,n){var i=this.cache,r=n.allocTextureUnit();i[0]!==r&&(t.uniform1i(this.addr,r),i[0]=r),n.setTextureCube(e||Yn,r)}function mi(t,e){var n=this.cache;ei(n,e)||(t.uniform2iv(this.addr,e),ni(n,e))}function gi(t,e){var n=this.cache;ei(n,e)||(t.uniform3iv(this.addr,e),ni(n,e))}function vi(t,e){var n=this.cache;ei(n,e)||(t.uniform4iv(this.addr,e),ni(n,e))}function yi(t,e){var n=this.cache;ei(n,e)||(t.uniform1fv(this.addr,e),ni(n,e))}function _i(t,e){var n=this.cache;ei(n,e)||(t.uniform1iv(this.addr,e),ni(n,e))}function bi(t,e){var n=this.cache,i=ti(e,this.size,2);ei(n,i)||(t.uniform2fv(this.addr,i),this.updateCache(i))}function xi(t,e){var n=this.cache,i=ti(e,this.size,3);ei(n,i)||(t.uniform3fv(this.addr,i),this.updateCache(i))}function wi(t,e){var n=this.cache,i=ti(e,this.size,4);ei(n,i)||(t.uniform4fv(this.addr,i),this.updateCache(i))}function Ai(t,e){var n=this.cache,i=ti(e,this.size,4);ei(n,i)||(t.uniformMatrix2fv(this.addr,!1,i),this.updateCache(i))}function Si(t,e){var n=this.cache,i=ti(e,this.size,9);ei(n,i)||(t.uniformMatrix3fv(this.addr,!1,i),this.updateCache(i))}function Ti(t,e){var n=this.cache,i=ti(e,this.size,16);ei(n,i)||(t.uniformMatrix4fv(this.addr,!1,i),this.updateCache(i))}function Ei(t,e,n){var i=this.cache,r=e.length,o=ii(n,r);!1===ei(i,o)&&(t.uniform1iv(this.addr,o),ni(i,o));for(var a=0;a!==r;++a)n.setTexture2D(e[a]||Wn,o[a])}function Mi(t,e,n){var i=this.cache,r=e.length,o=ii(n,r);!1===ei(i,o)&&(t.uniform1iv(this.addr,o),ni(i,o));for(var a=0;a!==r;++a)n.setTextureCube(e[a]||Yn,o[a])}function Pi(t,e,n){this.id=t,this.addr=n,this.cache=[],this.setValue=function(t){switch(t){case 5126:return ri;case 35664:return ai;case 35665:return si;case 35666:return ui;case 35674:return li;case 35675:return hi;case 35676:return ci;case 35678:case 36198:return pi;case 35679:return di;case 35680:return fi;case 5124:case 35670:return oi;case 35667:case 35671:return mi;case 35668:case 35672:return gi;case 35669:case 35673:return vi}}(e.type)}function Ci(t,e,n){this.id=t,this.addr=n,this.cache=[],this.size=e.size,this.setValue=function(t){switch(t){case 5126:return yi;case 35664:return bi;case 35665:return xi;case 35666:return wi;case 35674:return Ai;case 35675:return Si;case 35676:return Ti;case 35678:return Ei;case 35680:return Mi;case 5124:case 35670:return _i;case 35667:case 35671:return mi;case 35668:case 35672:return gi;case 35669:case 35673:return vi}}(e.type)}function Li(t){this.id=t,Kn.call(this)}Ci.prototype.updateCache=function(t){var e=this.cache;t instanceof Float32Array&&e.length!==t.length&&(this.cache=new Float32Array(t.length)),ni(e,t)},Li.prototype.setValue=function(t,e,n){for(var i=this.seq,r=0,o=i.length;r!==o;++r){var a=i[r];a.setValue(t,e[a.id],n)}};var Ri=/([\w\d_]+)(\])?(\[|\.)?/g;function Oi(t,e){t.seq.push(e),t.map[e.id]=e}function Ii(t,e,n){var i=t.name,r=i.length;for(Ri.lastIndex=0;;){var o=Ri.exec(i),a=Ri.lastIndex,s=o[1],u="]"===o[2],l=o[3];if(u&&(s|=0),void 0===l||"["===l&&a+2===r){Oi(n,void 0===l?new Pi(s,t,e):new Ci(s,t,e));break}var h=n.map[s];void 0===h&&Oi(n,h=new Li(s)),n=h}}function Ni(t,e,n){Kn.call(this),this.renderer=n;for(var i=t.getProgramParameter(e,35718),r=0;r<i;++r){var o=t.getActiveUniform(e,r);Ii(o,t.getUniformLocation(e,o.name),this)}}function Di(t,e,n){var i=t.createShader(e);return t.shaderSource(i,n),t.compileShader(i),!1===t.getShaderParameter(i,35713)&&console.error("THREE.WebGLShader: Shader couldn't compile."),""!==t.getShaderInfoLog(i)&&console.warn("THREE.WebGLShader: gl.getShaderInfoLog()",35633===e?"vertex":"fragment",t.getShaderInfoLog(i),function(t){for(var e=t.split("\n"),n=0;n<e.length;n++)e[n]=n+1+": "+e[n];return e.join("\n")}(n)),i}Ni.prototype.setValue=function(t,e,n){var i=this.map[e];void 0!==i&&i.setValue(t,n,this.renderer)},Ni.prototype.setOptional=function(t,e,n){var i=e[n];void 0!==i&&this.setValue(t,n,i)},Ni.upload=function(t,e,n,i){for(var r=0,o=e.length;r!==o;++r){var a=e[r],s=n[a.id];!1!==s.needsUpdate&&a.setValue(t,s.value,i)}},Ni.seqWithValue=function(t,e){for(var n=[],i=0,r=t.length;i!==r;++i){var o=t[i];o.id in e&&n.push(o)}return n};var Bi=0;function ki(t){switch(t){case Ee:return["Linear","( value )"];case Me:return["sRGB","( value )"];case Ce:return["RGBE","( value )"];case Re:return["RGBM","( value, 7.0 )"];case Oe:return["RGBM","( value, 16.0 )"];case Ie:return["RGBD","( value, 256.0 )"];case Pe:return["Gamma","( value, float( GAMMA_FACTOR ) )"];default:throw new Error("unsupported encoding: "+t)}}function Gi(t,e){var n=ki(e);return"vec4 "+t+"( vec4 value ) { return "+n[0]+"ToLinear"+n[1]+"; }"}function Ui(t){return""!==t}function Vi(t,e){return t.replace(/NUM_DIR_LIGHTS/g,e.numDirLights).replace(/NUM_SPOT_LIGHTS/g,e.numSpotLights).replace(/NUM_RECT_AREA_LIGHTS/g,e.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,e.numPointLights).replace(/NUM_HEMI_LIGHTS/g,e.numHemiLights)}function zi(t,e){return t.replace(/NUM_CLIPPING_PLANES/g,e.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,e.numClippingPlanes-e.numClipIntersection)}function Hi(t){return t.replace(/^[ \t]*#include +<([\w\d./]+)>/gm,function(t,e){var n=en[e];if(void 0===n)throw new Error("Can not resolve #include <"+e+">");return Hi(n)})}function Fi(t){return t.replace(/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,function(t,e,n,i){for(var r="",o=parseInt(e);o<parseInt(n);o++)r+=i.replace(/\[ i \]/g,"[ "+o+" ]");return r})}function ji(t,e,n,i,r,o,a){var s=t.context,u=i.defines,l=r.vertexShader,h=r.fragmentShader,c="SHADOWMAP_TYPE_BASIC";o.shadowMapType===d?c="SHADOWMAP_TYPE_PCF":o.shadowMapType===f&&(c="SHADOWMAP_TYPE_PCF_SOFT");var p="ENVMAP_TYPE_CUBE",m="ENVMAP_MODE_REFLECTION",g="ENVMAP_BLENDING_MULTIPLY";if(o.envMap){switch(i.envMap.mapping){case ut:case lt:p="ENVMAP_TYPE_CUBE";break;case dt:case ft:p="ENVMAP_TYPE_CUBE_UV";break;case ht:case ct:p="ENVMAP_TYPE_EQUIREC";break;case pt:p="ENVMAP_TYPE_SPHERE"}switch(i.envMap.mapping){case lt:case ct:m="ENVMAP_MODE_REFRACTION"}switch(i.combine){case $:g="ENVMAP_BLENDING_MULTIPLY";break;case tt:g="ENVMAP_BLENDING_MIX";break;case et:g="ENVMAP_BLENDING_ADD"}}var v,y,_=t.gammaFactor>0?t.gammaFactor:1,b=a.isWebGL2?"":function(t,e,n){return[(t=t||{}).derivatives||e.envMapCubeUV||e.bumpMap||e.normalMap&&!e.objectSpaceNormalMap||e.flatShading?"#extension GL_OES_standard_derivatives : enable":"",(t.fragDepth||e.logarithmicDepthBuffer)&&n.get("EXT_frag_depth")?"#extension GL_EXT_frag_depth : enable":"",t.drawBuffers&&n.get("WEBGL_draw_buffers")?"#extension GL_EXT_draw_buffers : require":"",(t.shaderTextureLOD||e.envMap)&&n.get("EXT_shader_texture_lod")?"#extension GL_EXT_shader_texture_lod : enable":""].filter(Ui).join("\n")}(i.extensions,o,e),x=function(t){var e=[];for(var n in t){var i=t[n];!1!==i&&e.push("#define "+n+" "+i)}return e.join("\n")}(u),w=s.createProgram();if(i.isRawShaderMaterial?((v=[x].filter(Ui).join("\n")).length>0&&(v+="\n"),(y=[b,x].filter(Ui).join("\n")).length>0&&(y+="\n")):(v=["precision "+o.precision+" float;","precision "+o.precision+" int;","#define SHADER_NAME "+r.name,x,o.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define GAMMA_FACTOR "+_,"#define MAX_BONES "+o.maxBones,o.useFog&&o.fog?"#define USE_FOG":"",o.useFog&&o.fogExp?"#define FOG_EXP2":"",o.map?"#define USE_MAP":"",o.envMap?"#define USE_ENVMAP":"",o.envMap?"#define "+m:"",o.lightMap?"#define USE_LIGHTMAP":"",o.aoMap?"#define USE_AOMAP":"",o.emissiveMap?"#define USE_EMISSIVEMAP":"",o.bumpMap?"#define USE_BUMPMAP":"",o.normalMap?"#define USE_NORMALMAP":"",o.normalMap&&o.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",o.displacementMap&&o.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",o.specularMap?"#define USE_SPECULARMAP":"",o.roughnessMap?"#define USE_ROUGHNESSMAP":"",o.metalnessMap?"#define USE_METALNESSMAP":"",o.alphaMap?"#define USE_ALPHAMAP":"",o.vertexColors?"#define USE_COLOR":"",o.flatShading?"#define FLAT_SHADED":"",o.skinning?"#define USE_SKINNING":"",o.useVertexTexture?"#define BONE_TEXTURE":"",o.morphTargets?"#define USE_MORPHTARGETS":"",o.morphNormals&&!1===o.flatShading?"#define USE_MORPHNORMALS":"",o.doubleSided?"#define DOUBLE_SIDED":"",o.flipSided?"#define FLIP_SIDED":"",o.shadowMapEnabled?"#define USE_SHADOWMAP":"",o.shadowMapEnabled?"#define "+c:"",o.sizeAttenuation?"#define USE_SIZEATTENUATION":"",o.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",o.logarithmicDepthBuffer&&(a.isWebGL2||e.get("EXT_frag_depth"))?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_COLOR","\tattribute vec3 color;","#endif","#ifdef USE_MORPHTARGETS","\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(Ui).join("\n"),y=[b,"precision "+o.precision+" float;","precision "+o.precision+" int;","#define SHADER_NAME "+r.name,x,o.alphaTest?"#define ALPHATEST "+o.alphaTest+(o.alphaTest%1?"":".0"):"","#define GAMMA_FACTOR "+_,o.useFog&&o.fog?"#define USE_FOG":"",o.useFog&&o.fogExp?"#define FOG_EXP2":"",o.map?"#define USE_MAP":"",o.envMap?"#define USE_ENVMAP":"",o.envMap?"#define "+p:"",o.envMap?"#define "+m:"",o.envMap?"#define "+g:"",o.lightMap?"#define USE_LIGHTMAP":"",o.aoMap?"#define USE_AOMAP":"",o.emissiveMap?"#define USE_EMISSIVEMAP":"",o.bumpMap?"#define USE_BUMPMAP":"",o.normalMap?"#define USE_NORMALMAP":"",o.normalMap&&o.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",o.specularMap?"#define USE_SPECULARMAP":"",o.roughnessMap?"#define USE_ROUGHNESSMAP":"",o.metalnessMap?"#define USE_METALNESSMAP":"",o.alphaMap?"#define USE_ALPHAMAP":"",o.vertexColors?"#define USE_COLOR":"",o.gradientMap?"#define USE_GRADIENTMAP":"",o.flatShading?"#define FLAT_SHADED":"",o.doubleSided?"#define DOUBLE_SIDED":"",o.flipSided?"#define FLIP_SIDED":"",o.shadowMapEnabled?"#define USE_SHADOWMAP":"",o.shadowMapEnabled?"#define "+c:"",o.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",o.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",o.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",o.logarithmicDepthBuffer&&(a.isWebGL2||e.get("EXT_frag_depth"))?"#define USE_LOGDEPTHBUF_EXT":"",o.envMap&&(a.isWebGL2||e.get("EXT_shader_texture_lod"))?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;",o.toneMapping!==nt?"#define TONE_MAPPING":"",o.toneMapping!==nt?en.tonemapping_pars_fragment:"",o.toneMapping!==nt?function(t,e){var n;switch(e){case it:n="Linear";break;case rt:n="Reinhard";break;case ot:n="Uncharted2";break;case at:n="OptimizedCineon";break;default:throw new Error("unsupported toneMapping: "+e)}return"vec3 "+t+"( vec3 color ) { return "+n+"ToneMapping( color ); }"}("toneMapping",o.toneMapping):"",o.dithering?"#define DITHERING":"",o.outputEncoding||o.mapEncoding||o.matcapEncoding||o.envMapEncoding||o.emissiveMapEncoding?en.encodings_pars_fragment:"",o.mapEncoding?Gi("mapTexelToLinear",o.mapEncoding):"",o.matcapEncoding?Gi("matcapTexelToLinear",o.matcapEncoding):"",o.envMapEncoding?Gi("envMapTexelToLinear",o.envMapEncoding):"",o.emissiveMapEncoding?Gi("emissiveMapTexelToLinear",o.emissiveMapEncoding):"",o.outputEncoding?function(t,e){var n=ki(e);return"vec4 "+t+"( vec4 value ) { return LinearTo"+n[0]+n[1]+"; }"}("linearToOutputTexel",o.outputEncoding):"",o.depthPacking?"#define DEPTH_PACKING "+i.depthPacking:"","\n"].filter(Ui).join("\n")),l=zi(l=Vi(l=Hi(l),o),o),h=zi(h=Vi(h=Hi(h),o),o),l=Fi(l),h=Fi(h),a.isWebGL2&&!i.isRawShaderMaterial){var A=!1,S=/^\s*#version\s+300\s+es\s*\n/;i.isShaderMaterial&&null!==l.match(S)&&null!==h.match(S)&&(A=!0,l=l.replace(S,""),h=h.replace(S,"")),v=["#version 300 es\n","#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+v,y=["#version 300 es\n","#define varying in",A?"":"out highp vec4 pc_fragColor;",A?"":"#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"+y}var T=y+h,E=Di(s,35633,v+l),M=Di(s,35632,T);s.attachShader(w,E),s.attachShader(w,M),void 0!==i.index0AttributeName?s.bindAttribLocation(w,0,i.index0AttributeName):!0===o.morphTargets&&s.bindAttribLocation(w,0,"position"),s.linkProgram(w);var P,C,L=s.getProgramInfoLog(w).trim(),R=s.getShaderInfoLog(E).trim(),O=s.getShaderInfoLog(M).trim(),I=!0,N=!0;return!1===s.getProgramParameter(w,35714)?(I=!1,console.error("THREE.WebGLProgram: shader error: ",s.getError(),"35715",s.getProgramParameter(w,35715),"gl.getProgramInfoLog",L,R,O)):""!==L?console.warn("THREE.WebGLProgram: gl.getProgramInfoLog()",L):""!==R&&""!==O||(N=!1),N&&(this.diagnostics={runnable:I,material:i,programLog:L,vertexShader:{log:R,prefix:v},fragmentShader:{log:O,prefix:y}}),s.deleteShader(E),s.deleteShader(M),this.getUniforms=function(){return void 0===P&&(P=new Ni(s,w,t)),P},this.getAttributes=function(){return void 0===C&&(C=function(t,e){for(var n={},i=t.getProgramParameter(e,35721),r=0;r<i;r++){var o=t.getActiveAttrib(e,r).name;n[o]=t.getAttribLocation(e,o)}return n}(s,w)),C},this.destroy=function(){s.deleteProgram(w),this.program=void 0},Object.defineProperties(this,{uniforms:{get:function(){return console.warn("THREE.WebGLProgram: .uniforms is now .getUniforms()."),this.getUniforms()}},attributes:{get:function(){return console.warn("THREE.WebGLProgram: .attributes is now .getAttributes()."),this.getAttributes()}}}),this.name=r.name,this.id=Bi++,this.code=n,this.usedTimes=1,this.program=w,this.vertexShader=E,this.fragmentShader=M,this}function Wi(t,e,n){var i=[],r={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"phong",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"},o=["precision","supportsVertexTextures","map","mapEncoding","matcapEncoding","envMap","envMapMode","envMapEncoding","lightMap","aoMap","emissiveMap","emissiveMapEncoding","bumpMap","normalMap","objectSpaceNormalMap","displacementMap","specularMap","roughnessMap","metalnessMap","gradientMap","alphaMap","combine","vertexColors","fog","useFog","fogExp","flatShading","sizeAttenuation","logarithmicDepthBuffer","skinning","maxBones","useVertexTexture","morphTargets","morphNormals","maxMorphTargets","maxMorphNormals","premultipliedAlpha","numDirLights","numPointLights","numSpotLights","numHemiLights","numRectAreaLights","shadowMapEnabled","shadowMapType","toneMapping","physicallyCorrectLights","alphaTest","doubleSided","flipSided","numClippingPlanes","numClipIntersection","depthPacking","dithering"];function a(t,e){var n;return t?t.isTexture?n=t.encoding:t.isWebGLRenderTarget&&(console.warn("THREE.WebGLPrograms.getTextureEncodingFromMap: don't use render targets as textures. Use their .texture property instead."),n=t.texture.encoding):n=Ee,n===Ee&&e&&(n=Pe),n}this.getParameters=function(e,i,o,s,u,l,h){var c=r[e.type],p=h.isSkinnedMesh?function(t){var e=t.skeleton.bones;if(n.floatVertexTextures)return 1024;var i=n.maxVertexUniforms,r=Math.floor((i-20)/4),o=Math.min(r,e.length);return o<e.length?(console.warn("THREE.WebGLRenderer: Skeleton has "+e.length+" bones. This GPU supports "+o+"."),0):o}(h):0,d=n.precision;null!==e.precision&&(d=n.getMaxPrecision(e.precision))!==e.precision&&console.warn("THREE.WebGLProgram.getParameters:",e.precision,"not supported, using",d,"instead.");var f=t.getRenderTarget();return{shaderID:c,precision:d,supportsVertexTextures:n.vertexTextures,outputEncoding:a(f?f.texture:null,t.gammaOutput),map:!!e.map,mapEncoding:a(e.map,t.gammaInput),matcap:!!e.matcap,matcapEncoding:a(e.matcap,t.gammaInput),envMap:!!e.envMap,envMapMode:e.envMap&&e.envMap.mapping,envMapEncoding:a(e.envMap,t.gammaInput),envMapCubeUV:!!e.envMap&&(e.envMap.mapping===dt||e.envMap.mapping===ft),lightMap:!!e.lightMap,aoMap:!!e.aoMap,emissiveMap:!!e.emissiveMap,emissiveMapEncoding:a(e.emissiveMap,t.gammaInput),bumpMap:!!e.bumpMap,normalMap:!!e.normalMap,objectSpaceNormalMap:e.normalMapType===ke,displacementMap:!!e.displacementMap,roughnessMap:!!e.roughnessMap,metalnessMap:!!e.metalnessMap,specularMap:!!e.specularMap,alphaMap:!!e.alphaMap,gradientMap:!!e.gradientMap,combine:e.combine,vertexColors:e.vertexColors,fog:!!s,useFog:e.fog,fogExp:s&&s.isFogExp2,flatShading:e.flatShading,sizeAttenuation:e.sizeAttenuation,logarithmicDepthBuffer:n.logarithmicDepthBuffer,skinning:e.skinning&&p>0,maxBones:p,useVertexTexture:n.floatVertexTextures,morphTargets:e.morphTargets,morphNormals:e.morphNormals,maxMorphTargets:t.maxMorphTargets,maxMorphNormals:t.maxMorphNormals,numDirLights:i.directional.length,numPointLights:i.point.length,numSpotLights:i.spot.length,numRectAreaLights:i.rectArea.length,numHemiLights:i.hemi.length,numClippingPlanes:u,numClipIntersection:l,dithering:e.dithering,shadowMapEnabled:t.shadowMap.enabled&&h.receiveShadow&&o.length>0,shadowMapType:t.shadowMap.type,toneMapping:t.toneMapping,physicallyCorrectLights:t.physicallyCorrectLights,premultipliedAlpha:e.premultipliedAlpha,alphaTest:e.alphaTest,doubleSided:e.side===v,flipSided:e.side===g,depthPacking:void 0!==e.depthPacking&&e.depthPacking}},this.getProgramCode=function(e,n){var i=[];if(n.shaderID?i.push(n.shaderID):(i.push(e.fragmentShader),i.push(e.vertexShader)),void 0!==e.defines)for(var r in e.defines)i.push(r),i.push(e.defines[r]);for(var a=0;a<o.length;a++)i.push(n[o[a]]);return i.push(e.onBeforeCompile.toString()),i.push(t.gammaOutput),i.push(t.gammaFactor),i.join()},this.acquireProgram=function(r,o,a,s){for(var u,l=0,h=i.length;l<h;l++){var c=i[l];if(c.code===s){++(u=c).usedTimes;break}}return void 0===u&&(u=new ji(t,e,s,r,o,a,n),i.push(u)),u},this.releaseProgram=function(t){if(0==--t.usedTimes){var e=i.indexOf(t);i[e]=i[i.length-1],i.pop(),t.destroy()}},this.programs=i}function Xi(t,e){return t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.program&&e.program&&t.program!==e.program?t.program.id-e.program.id:t.material.id!==e.material.id?t.material.id-e.material.id:t.z!==e.z?t.z-e.z:t.id-e.id}function Yi(t,e){return t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.z!==e.z?e.z-t.z:t.id-e.id}function Ki(){var t={};return{get:function(e,n){var i=e.id+","+n.id,r=t[i];return void 0===r&&(r=new function(){var t=[],e=0,n=[],i=[];return{opaque:n,transparent:i,init:function(){e=0,n.length=0,i.length=0},push:function(r,o,a,s,u){var l=t[e];void 0===l?(l={id:r.id,object:r,geometry:o,material:a,program:a.program,renderOrder:r.renderOrder,z:s,group:u},t[e]=l):(l.id=r.id,l.object=r,l.geometry=o,l.material=a,l.program=a.program,l.renderOrder=r.renderOrder,l.z=s,l.group=u),(!0===a.transparent?i:n).push(l),e++},sort:function(){n.length>1&&n.sort(Xi),i.length>1&&i.sort(Yi)}}},t[i]=r),r},dispose:function(){t={}}}}var Zi=0;function qi(){var t=new function(){var t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];var n;switch(e.type){case"DirectionalLight":n={direction:new He,color:new on,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new Ue};break;case"SpotLight":n={position:new He,direction:new He,color:new on,distance:0,coneCos:0,penumbraCos:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new Ue};break;case"PointLight":n={position:new He,color:new on,distance:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new Ue,shadowCameraNear:1,shadowCameraFar:1e3};break;case"HemisphereLight":n={direction:new He,skyColor:new on,groundColor:new on};break;case"RectAreaLight":n={color:new on,position:new He,halfWidth:new He,halfHeight:new He}}return t[e.id]=n,n}}},e={id:Zi++,hash:{stateID:-1,directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,shadowsLength:-1},ambient:[0,0,0],directional:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],point:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]},n=new He,i=new Ve,r=new Ve;return{setup:function(o,a,s){for(var u=0,l=0,h=0,c=0,p=0,d=0,f=0,m=0,g=s.matrixWorldInverse,v=0,y=o.length;v<y;v++){var _=o[v],b=_.color,x=_.intensity,w=_.distance,A=_.shadow&&_.shadow.map?_.shadow.map.texture:null;if(_.isAmbientLight)u+=b.r*x,l+=b.g*x,h+=b.b*x;else if(_.isDirectionalLight){if((T=t.get(_)).color.copy(_.color).multiplyScalar(_.intensity),T.direction.setFromMatrixPosition(_.matrixWorld),n.setFromMatrixPosition(_.target.matrixWorld),T.direction.sub(n),T.direction.transformDirection(g),T.shadow=_.castShadow,_.castShadow){var S=_.shadow;T.shadowBias=S.bias,T.shadowRadius=S.radius,T.shadowMapSize=S.mapSize}e.directionalShadowMap[c]=A,e.directionalShadowMatrix[c]=_.shadow.matrix,e.directional[c]=T,c++}else if(_.isSpotLight)(T=t.get(_)).position.setFromMatrixPosition(_.matrixWorld),T.position.applyMatrix4(g),T.color.copy(b).multiplyScalar(x),T.distance=w,T.direction.setFromMatrixPosition(_.matrixWorld),n.setFromMatrixPosition(_.target.matrixWorld),T.direction.sub(n),T.direction.transformDirection(g),T.coneCos=Math.cos(_.angle),T.penumbraCos=Math.cos(_.angle*(1-_.penumbra)),T.decay=_.decay,T.shadow=_.castShadow,_.castShadow&&(S=_.shadow,T.shadowBias=S.bias,T.shadowRadius=S.radius,T.shadowMapSize=S.mapSize),e.spotShadowMap[d]=A,e.spotShadowMatrix[d]=_.shadow.matrix,e.spot[d]=T,d++;else if(_.isRectAreaLight)(T=t.get(_)).color.copy(b).multiplyScalar(x),T.position.setFromMatrixPosition(_.matrixWorld),T.position.applyMatrix4(g),r.identity(),i.copy(_.matrixWorld),i.premultiply(g),r.extractRotation(i),T.halfWidth.set(.5*_.width,0,0),T.halfHeight.set(0,.5*_.height,0),T.halfWidth.applyMatrix4(r),T.halfHeight.applyMatrix4(r),e.rectArea[f]=T,f++;else if(_.isPointLight)(T=t.get(_)).position.setFromMatrixPosition(_.matrixWorld),T.position.applyMatrix4(g),T.color.copy(_.color).multiplyScalar(_.intensity),T.distance=_.distance,T.decay=_.decay,T.shadow=_.castShadow,_.castShadow&&(S=_.shadow,T.shadowBias=S.bias,T.shadowRadius=S.radius,T.shadowMapSize=S.mapSize,T.shadowCameraNear=S.camera.near,T.shadowCameraFar=S.camera.far),e.pointShadowMap[p]=A,e.pointShadowMatrix[p]=_.shadow.matrix,e.point[p]=T,p++;else if(_.isHemisphereLight){var T;(T=t.get(_)).direction.setFromMatrixPosition(_.matrixWorld),T.direction.transformDirection(g),T.direction.normalize(),T.skyColor.copy(_.color).multiplyScalar(x),T.groundColor.copy(_.groundColor).multiplyScalar(x),e.hemi[m]=T,m++}}e.ambient[0]=u,e.ambient[1]=l,e.ambient[2]=h,e.directional.length=c,e.spot.length=d,e.rectArea.length=f,e.point.length=p,e.hemi.length=m,e.hash.stateID=e.id,e.hash.directionalLength=c,e.hash.pointLength=p,e.hash.spotLength=d,e.hash.rectAreaLength=f,e.hash.hemiLength=m,e.hash.shadowsLength=a.length},state:e}}function Qi(){var t=new qi,e=[],n=[];return{init:function(){e.length=0,n.length=0},state:{lightsArray:e,shadowsArray:n,lights:t},setupLights:function(i){t.setup(e,n,i)},pushLight:function(t){e.push(t)},pushShadow:function(t){n.push(t)}}}function Ji(t){Bn.call(this),this.type="MeshDepthMaterial",this.depthPacking=Ne,this.skinning=!1,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.setValues(t)}function $i(t){Bn.call(this),this.type="MeshDistanceMaterial",this.referencePosition=new He,this.nearDistance=1,this.farDistance=1e3,this.skinning=!1,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.fog=!1,this.lights=!1,this.setValues(t)}function tr(t,e,n){for(var i=new tn,r=new Ve,o=new Ue,a=new Ue(n,n),s=new He,u=new He,l=1,h=2,c=1+(l|h),p=new Array(c),f=new Array(c),y={},_={0:g,1:m,2:v},b=[new He(1,0,0),new He(-1,0,0),new He(0,0,1),new He(0,0,-1),new He(0,1,0),new He(0,-1,0)],x=[new He(0,1,0),new He(0,1,0),new He(0,1,0),new He(0,1,0),new He(0,0,1),new He(0,0,-1)],w=[new Ye,new Ye,new Ye,new Ye,new Ye,new Ye],A=0;A!==c;++A){var S=0!=(A&l),T=0!=(A&h),E=new Ji({depthPacking:De,morphTargets:S,skinning:T});p[A]=E;var M=new $i({morphTargets:S,skinning:T});f[A]=M}var P=this;function C(e,n,i,r,o,a){var s=e.geometry,u=null,c=p,d=e.customDepthMaterial;if(i&&(c=f,d=e.customDistanceMaterial),d)u=d;else{var m=!1;n.morphTargets&&(s&&s.isBufferGeometry?m=s.morphAttributes&&s.morphAttributes.position&&s.morphAttributes.position.length>0:s&&s.isGeometry&&(m=s.morphTargets&&s.morphTargets.length>0)),e.isSkinnedMesh&&!1===n.skinning&&console.warn("THREE.WebGLShadowMap: THREE.SkinnedMesh with material.skinning set to false:",e);var g=e.isSkinnedMesh&&n.skinning,v=0;m&&(v|=l),g&&(v|=h),u=c[v]}if(t.localClippingEnabled&&!0===n.clipShadows&&0!==n.clippingPlanes.length){var b=u.uuid,x=n.uuid,w=y[b];void 0===w&&(w={},y[b]=w);var A=w[x];void 0===A&&(A=u.clone(),w[x]=A),u=A}return u.visible=n.visible,u.wireframe=n.wireframe,u.side=null!=n.shadowSide?n.shadowSide:_[n.side],u.clipShadows=n.clipShadows,u.clippingPlanes=n.clippingPlanes,u.clipIntersection=n.clipIntersection,u.wireframeLinewidth=n.wireframeLinewidth,u.linewidth=n.linewidth,i&&u.isMeshDistanceMaterial&&(u.referencePosition.copy(r),u.nearDistance=o,u.farDistance=a),u}function L(n,r,o,a){if(!1!==n.visible){if(n.layers.test(r.layers)&&(n.isMesh||n.isLine||n.isPoints)&&n.castShadow&&(!n.frustumCulled||i.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(o.matrixWorldInverse,n.matrixWorld);var s=e.update(n),l=n.material;if(Array.isArray(l))for(var h=s.groups,c=0,p=h.length;c<p;c++){var d=h[c],f=l[d.materialIndex];if(f&&f.visible){var m=C(n,f,a,u,o.near,o.far);t.renderBufferDirect(o,null,s,m,n,d)}}else if(l.visible){m=C(n,l,a,u,o.near,o.far);t.renderBufferDirect(o,null,s,m,n,null)}}for(var g=n.children,v=0,y=g.length;v<y;v++)L(g[v],r,o,a)}}this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=d,this.render=function(e,n,l){if(!1!==P.enabled&&(!1!==P.autoUpdate||!1!==P.needsUpdate)&&0!==e.length){t.context;var h,c=t.state;c.disable(3042),c.buffers.color.setClear(1,1,1,1),c.buffers.depth.setTest(!0),c.setScissorTest(!1);for(var p=0,d=e.length;p<d;p++){var f=e[p],m=f.shadow,g=f&&f.isPointLight;if(void 0!==m){var v=m.camera;if(o.copy(m.mapSize),o.min(a),g){var y=o.x,_=o.y;w[0].set(2*y,_,y,_),w[1].set(0,_,y,_),w[2].set(3*y,_,y,_),w[3].set(y,_,y,_),w[4].set(3*y,0,y,_),w[5].set(y,0,y,_),o.x*=4,o.y*=2}if(null===m.map){var A={minFilter:yt,magFilter:yt,format:Gt};m.map=new Ke(o.x,o.y,A),m.map.texture.name=f.name+".shadowMap",v.updateProjectionMatrix()}m.isSpotLightShadow&&m.update(f);var S=m.map,T=m.matrix;u.setFromMatrixPosition(f.matrixWorld),v.position.copy(u),g?(h=6,T.makeTranslation(-u.x,-u.y,-u.z)):(h=1,s.setFromMatrixPosition(f.target.matrixWorld),v.lookAt(s),v.updateMatrixWorld(),T.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),T.multiply(v.projectionMatrix),T.multiply(v.matrixWorldInverse)),t.setRenderTarget(S),t.clear();for(var E=0;E<h;E++){if(g){s.copy(v.position),s.add(b[E]),v.up.copy(x[E]),v.lookAt(s),v.updateMatrixWorld();var M=w[E];c.viewport(M)}r.multiplyMatrices(v.projectionMatrix,v.matrixWorldInverse),i.setFromMatrix(r),L(n,l,v,g)}}else console.warn("THREE.WebGLShadowMap:",f,"has no shadow.")}P.needsUpdate=!1}}}function er(t,e,n,i,r,o,a){var s,u={};function l(t,e){if(t.width>e||t.height>e){if("data"in t)return void console.warn("THREE.WebGLRenderer: image in DataTexture is too big ("+t.width+"x"+t.height+").");var n=e/Math.max(t.width,t.height),i=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");return i.width=Math.floor(t.width*n),i.height=Math.floor(t.height*n),i.getContext("2d").drawImage(t,0,0,t.width,t.height,0,0,i.width,i.height),console.warn("THREE.WebGLRenderer: image is too big ("+t.width+"x"+t.height+"). Resized to "+i.width+"x"+i.height),i}return t}function h(t){return Ge.isPowerOfTwo(t.width)&&Ge.isPowerOfTwo(t.height)}function c(t,e){return t.generateMipmaps&&e&&t.minFilter!==yt&&t.minFilter!==xt}function p(e,n,r,o){t.generateMipmap(e),i.get(n).__maxMipLevel=Math.log(Math.max(r,o))*Math.LOG2E}function d(t,e){if(!r.isWebGL2)return t;if(6403===t){if(5126===e)return 33326;if(5131===e)return 33325;if(5121===e)return 33321}if(6407===t){if(5126===e)return 34837;if(5131===e)return 34843;if(5121===e)return 32849}if(6408===t){if(5126===e)return 34836;if(5131===e)return 34842;if(5121===e)return 32856}return t}function f(t){return t===yt||t===_t||t===bt?9728:9729}function m(e){var n=e.target;n.removeEventListener("dispose",m),function(e){var n=i.get(e);if(e.image&&n.__image__webglTextureCube)t.deleteTexture(n.__image__webglTextureCube);else{if(void 0===n.__webglInit)return;t.deleteTexture(n.__webglTexture)}i.remove(e)}(n),n.isVideoTexture&&delete u[n.id],a.memory.textures--}function g(e){var n=e.target;n.removeEventListener("dispose",g),function(e){var n=i.get(e),r=i.get(e.texture);if(!e)return;void 0!==r.__webglTexture&&t.deleteTexture(r.__webglTexture);e.depthTexture&&e.depthTexture.dispose();if(e.isWebGLRenderTargetCube)for(var o=0;o<6;o++)t.deleteFramebuffer(n.__webglFramebuffer[o]),n.__webglDepthbuffer&&t.deleteRenderbuffer(n.__webglDepthbuffer[o]);else t.deleteFramebuffer(n.__webglFramebuffer),n.__webglDepthbuffer&&t.deleteRenderbuffer(n.__webglDepthbuffer);i.remove(e.texture),i.remove(e)}(n),a.memory.textures--}function v(t,e){var r=i.get(t);if(t.isVideoTexture&&function(t){var e=t.id,n=a.render.frame;u[e]!==n&&(u[e]=n,t.update())}(t),t.version>0&&r.__version!==t.version){var o=t.image;if(void 0===o)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined");else{if(!1!==o.complete)return void _(r,t,e);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}n.activeTexture(33984+e),n.bindTexture(3553,r.__webglTexture)}function y(n,a,s){var u;if(s?(t.texParameteri(n,10242,o.convert(a.wrapS)),t.texParameteri(n,10243,o.convert(a.wrapT)),t.texParameteri(n,10240,o.convert(a.magFilter)),t.texParameteri(n,10241,o.convert(a.minFilter))):(t.texParameteri(n,10242,33071),t.texParameteri(n,10243,33071),a.wrapS===gt&&a.wrapT===gt||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),t.texParameteri(n,10240,f(a.magFilter)),t.texParameteri(n,10241,f(a.minFilter)),a.minFilter!==yt&&a.minFilter!==xt&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),u=e.get("EXT_texture_filter_anisotropic")){if(a.type===Lt&&null===e.get("OES_texture_float_linear"))return;if(a.type===Rt&&null===(r.isWebGL2||e.get("OES_texture_half_float_linear")))return;(a.anisotropy>1||i.get(a).__currentAnisotropy)&&(t.texParameterf(n,u.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(a.anisotropy,r.getMaxAnisotropy())),i.get(a).__currentAnisotropy=a.anisotropy)}}function _(e,i,u){var f;f=i.isDataTexture3D?32879:3553,void 0===e.__webglInit&&(e.__webglInit=!0,i.addEventListener("dispose",m),e.__webglTexture=t.createTexture(),a.memory.textures++),n.activeTexture(33984+u),n.bindTexture(f,e.__webglTexture),t.pixelStorei(37440,i.flipY),t.pixelStorei(37441,i.premultiplyAlpha),t.pixelStorei(3317,i.unpackAlignment);var g=l(i.image,r.maxTextureSize);(function(t){return!r.isWebGL2&&(t.wrapS!==gt||t.wrapT!==gt||t.minFilter!==yt&&t.minFilter!==xt)})(i)&&!1===h(g)&&(g=function(t){return t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof ImageBitmap?(void 0===s&&(s=document.createElementNS("http://www.w3.org/1999/xhtml","canvas")),s.width=Ge.floorPowerOfTwo(t.width),s.height=Ge.floorPowerOfTwo(t.height),s.getContext("2d").drawImage(t,0,0,s.width,s.height),console.warn("THREE.WebGLRenderer: image is not power of two ("+t.width+"x"+t.height+"). Resized to "+s.width+"x"+s.height),s):t}(g));var v=h(g),_=o.convert(i.format),b=o.convert(i.type),x=d(_,b);y(f,i,v);var w,A=i.mipmaps;if(i.isDepthTexture){if(x=6402,i.type===Lt){if(!r.isWebGL2)throw new Error("Float Depth Texture only supported in WebGL2.0");x=36012}else r.isWebGL2&&(x=33189);i.format===Ht&&6402===x&&i.type!==Mt&&i.type!==Ct&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),i.type=Mt,b=o.convert(i.type)),i.format===Ft&&(x=34041,i.type!==Dt&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),i.type=Dt,b=o.convert(i.type))),n.texImage2D(3553,0,x,g.width,g.height,0,_,b,null)}else if(i.isDataTexture)if(A.length>0&&v){for(var S=0,T=A.length;S<T;S++)w=A[S],n.texImage2D(3553,S,x,w.width,w.height,0,_,b,w.data);i.generateMipmaps=!1,e.__maxMipLevel=A.length-1}else n.texImage2D(3553,0,x,g.width,g.height,0,_,b,g.data),e.__maxMipLevel=0;else if(i.isCompressedTexture){for(S=0,T=A.length;S<T;S++)w=A[S],i.format!==Gt&&i.format!==kt?n.getCompressedTextureFormats().indexOf(_)>-1?n.compressedTexImage2D(3553,S,x,w.width,w.height,0,w.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):n.texImage2D(3553,S,x,w.width,w.height,0,_,b,w.data);e.__maxMipLevel=A.length-1}else if(i.isDataTexture3D)n.texImage3D(32879,0,x,g.width,g.height,g.depth,0,_,b,g.data),e.__maxMipLevel=0;else if(A.length>0&&v){for(S=0,T=A.length;S<T;S++)w=A[S],n.texImage2D(3553,S,x,_,b,w);i.generateMipmaps=!1,e.__maxMipLevel=A.length-1}else n.texImage2D(3553,0,x,_,b,g),e.__maxMipLevel=0;c(i,v)&&p(3553,i,g.width,g.height),e.__version=i.version,i.onUpdate&&i.onUpdate(i)}function b(e,r,a,s){var u=o.convert(r.texture.format),l=o.convert(r.texture.type),h=d(u,l);n.texImage2D(s,0,h,r.width,r.height,0,u,l,null),t.bindFramebuffer(36160,e),t.framebufferTexture2D(36160,a,s,i.get(r.texture).__webglTexture,0),t.bindFramebuffer(36160,null)}function x(e,n){t.bindRenderbuffer(36161,e),n.depthBuffer&&!n.stencilBuffer?(t.renderbufferStorage(36161,33189,n.width,n.height),t.framebufferRenderbuffer(36160,36096,36161,e)):n.depthBuffer&&n.stencilBuffer?(t.renderbufferStorage(36161,34041,n.width,n.height),t.framebufferRenderbuffer(36160,33306,36161,e)):t.renderbufferStorage(36161,32854,n.width,n.height),t.bindRenderbuffer(36161,null)}function w(e){var n=i.get(e),r=!0===e.isWebGLRenderTargetCube;if(e.depthTexture){if(r)throw new Error("target.depthTexture not supported in Cube render targets");!function(e,n){if(n&&n.isWebGLRenderTargetCube)throw new Error("Depth Texture with cube render targets is not supported");if(t.bindFramebuffer(36160,e),!n.depthTexture||!n.depthTexture.isDepthTexture)throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");i.get(n.depthTexture).__webglTexture&&n.depthTexture.image.width===n.width&&n.depthTexture.image.height===n.height||(n.depthTexture.image.width=n.width,n.depthTexture.image.height=n.height,n.depthTexture.needsUpdate=!0),v(n.depthTexture,0);var r=i.get(n.depthTexture).__webglTexture;if(n.depthTexture.format===Ht)t.framebufferTexture2D(36160,36096,3553,r,0);else{if(n.depthTexture.format!==Ft)throw new Error("Unknown depthTexture format");t.framebufferTexture2D(36160,33306,3553,r,0)}}(n.__webglFramebuffer,e)}else if(r){n.__webglDepthbuffer=[];for(var o=0;o<6;o++)t.bindFramebuffer(36160,n.__webglFramebuffer[o]),n.__webglDepthbuffer[o]=t.createRenderbuffer(),x(n.__webglDepthbuffer[o],e)}else t.bindFramebuffer(36160,n.__webglFramebuffer),n.__webglDepthbuffer=t.createRenderbuffer(),x(n.__webglDepthbuffer,e);t.bindFramebuffer(36160,null)}this.setTexture2D=v,this.setTexture3D=function(t,e){var r=i.get(t);t.version>0&&r.__version!==t.version?_(r,t,e):(n.activeTexture(33984+e),n.bindTexture(32879,r.__webglTexture))},this.setTextureCube=function(e,s){var u=i.get(e);if(6===e.image.length)if(e.version>0&&u.__version!==e.version){u.__image__webglTextureCube||(e.addEventListener("dispose",m),u.__image__webglTextureCube=t.createTexture(),a.memory.textures++),n.activeTexture(33984+s),n.bindTexture(34067,u.__image__webglTextureCube),t.pixelStorei(37440,e.flipY);for(var f=e&&e.isCompressedTexture,g=e.image[0]&&e.image[0].isDataTexture,v=[],_=0;_<6;_++)v[_]=f||g?g?e.image[_].image:e.image[_]:l(e.image[_],r.maxCubemapSize);var b=v[0],x=h(b),w=o.convert(e.format),A=o.convert(e.type),S=d(w,A);for(y(34067,e,x),_=0;_<6;_++)if(f)for(var T,E=v[_].mipmaps,M=0,P=E.length;M<P;M++)T=E[M],e.format!==Gt&&e.format!==kt?n.getCompressedTextureFormats().indexOf(w)>-1?n.compressedTexImage2D(34069+_,M,S,T.width,T.height,0,T.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):n.texImage2D(34069+_,M,S,T.width,T.height,0,w,A,T.data);else g?n.texImage2D(34069+_,0,S,v[_].width,v[_].height,0,w,A,v[_].data):n.texImage2D(34069+_,0,S,w,A,v[_]);u.__maxMipLevel=f?E.length-1:0,c(e,x)&&p(34067,e,b.width,b.height),u.__version=e.version,e.onUpdate&&e.onUpdate(e)}else n.activeTexture(33984+s),n.bindTexture(34067,u.__image__webglTextureCube)},this.setTextureCubeDynamic=function(t,e){n.activeTexture(33984+e),n.bindTexture(34067,i.get(t).__webglTexture)},this.setupRenderTarget=function(e){var r=i.get(e),o=i.get(e.texture);e.addEventListener("dispose",g),o.__webglTexture=t.createTexture(),a.memory.textures++;var s=!0===e.isWebGLRenderTargetCube,u=h(e);if(s){r.__webglFramebuffer=[];for(var l=0;l<6;l++)r.__webglFramebuffer[l]=t.createFramebuffer()}else r.__webglFramebuffer=t.createFramebuffer();if(s){for(n.bindTexture(34067,o.__webglTexture),y(34067,e.texture,u),l=0;l<6;l++)b(r.__webglFramebuffer[l],e,36064,34069+l);c(e.texture,u)&&p(34067,e.texture,e.width,e.height),n.bindTexture(34067,null)}else n.bindTexture(3553,o.__webglTexture),y(3553,e.texture,u),b(r.__webglFramebuffer,e,36064,3553),c(e.texture,u)&&p(3553,e.texture,e.width,e.height),n.bindTexture(3553,null);e.depthBuffer&&w(e)},this.updateRenderTargetMipmap=function(t){var e=t.texture;if(c(e,h(t))){var r=t.isWebGLRenderTargetCube?34067:3553,o=i.get(e).__webglTexture;n.bindTexture(r,o),p(r,e,t.width,t.height),n.bindTexture(r,null)}}}function nr(t,e,n){return{convert:function(t){var i;if(t===mt)return 10497;if(t===gt)return 33071;if(t===vt)return 33648;if(t===yt)return 9728;if(t===_t)return 9984;if(t===bt)return 9986;if(t===xt)return 9729;if(t===wt)return 9985;if(t===At)return 9987;if(t===St)return 5121;if(t===Ot)return 32819;if(t===It)return 32820;if(t===Nt)return 33635;if(t===Tt)return 5120;if(t===Et)return 5122;if(t===Mt)return 5123;if(t===Pt)return 5124;if(t===Ct)return 5125;if(t===Lt)return 5126;if(t===Rt){if(n.isWebGL2)return 5131;if(null!==(i=e.get("OES_texture_half_float")))return i.HALF_FLOAT_OES}if(t===Bt)return 6406;if(t===kt)return 6407;if(t===Gt)return 6408;if(t===Ut)return 6409;if(t===Vt)return 6410;if(t===Ht)return 6402;if(t===Ft)return 34041;if(t===jt)return 6403;if(t===C)return 32774;if(t===L)return 32778;if(t===R)return 32779;if(t===N)return 0;if(t===D)return 1;if(t===B)return 768;if(t===k)return 769;if(t===G)return 770;if(t===U)return 771;if(t===V)return 772;if(t===z)return 773;if(t===H)return 774;if(t===F)return 775;if(t===j)return 776;if((t===Wt||t===Xt||t===Yt||t===Kt)&&null!==(i=e.get("WEBGL_compressed_texture_s3tc"))){if(t===Wt)return i.COMPRESSED_RGB_S3TC_DXT1_EXT;if(t===Xt)return i.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(t===Yt)return i.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(t===Kt)return i.COMPRESSED_RGBA_S3TC_DXT5_EXT}if((t===Zt||t===qt||t===Qt||t===Jt)&&null!==(i=e.get("WEBGL_compressed_texture_pvrtc"))){if(t===Zt)return i.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(t===qt)return i.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(t===Qt)return i.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(t===Jt)return i.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(t===$t&&null!==(i=e.get("WEBGL_compressed_texture_etc1")))return i.COMPRESSED_RGB_ETC1_WEBGL;if((t===te||t===ee||t===ne||t===ie||t===re||t===oe||t===ae||t===se||t===ue||t===le||t===he||t===ce||t===pe||t===de)&&null!==(i=e.get("WEBGL_compressed_texture_astc")))return t;if(t===O||t===I){if(n.isWebGL2){if(t===O)return 32775;if(t===I)return 32776}if(null!==(i=e.get("EXT_blend_minmax"))){if(t===O)return i.MIN_EXT;if(t===I)return i.MAX_EXT}}if(t===Dt){if(n.isWebGL2)return 34042;if(null!==(i=e.get("WEBGL_depth_texture")))return i.UNSIGNED_INT_24_8_WEBGL}return 0}}}function ir(){fn.call(this),this.type="Group"}function rr(){fn.call(this),this.type="Camera",this.matrixWorldInverse=new Ve,this.projectionMatrix=new Ve,this.projectionMatrixInverse=new Ve}function or(t,e,n,i){rr.call(this),this.type="PerspectiveCamera",this.fov=void 0!==t?t:50,this.zoom=1,this.near=void 0!==n?n:.1,this.far=void 0!==i?i:2e3,this.focus=10,this.aspect=void 0!==e?e:1,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}function ar(t){or.call(this),this.cameras=t||[]}Ji.prototype=Object.create(Bn.prototype),Ji.prototype.constructor=Ji,Ji.prototype.isMeshDepthMaterial=!0,Ji.prototype.copy=function(t){return Bn.prototype.copy.call(this,t),this.depthPacking=t.depthPacking,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this},$i.prototype=Object.create(Bn.prototype),$i.prototype.constructor=$i,$i.prototype.isMeshDistanceMaterial=!0,$i.prototype.copy=function(t){return Bn.prototype.copy.call(this,t),this.referencePosition.copy(t.referencePosition),this.nearDistance=t.nearDistance,this.farDistance=t.farDistance,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this},ir.prototype=Object.assign(Object.create(fn.prototype),{constructor:ir,isGroup:!0}),rr.prototype=Object.assign(Object.create(fn.prototype),{constructor:rr,isCamera:!0,copy:function(t,e){return fn.prototype.copy.call(this,t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this},getWorldDirection:function(t){void 0===t&&(console.warn("THREE.Camera: .getWorldDirection() target is now required"),t=new He),this.updateMatrixWorld(!0);var e=this.matrixWorld.elements;return t.set(-e[8],-e[9],-e[10]).normalize()},updateMatrixWorld:function(t){fn.prototype.updateMatrixWorld.call(this,t),this.matrixWorldInverse.getInverse(this.matrixWorld)},clone:function(){return(new this.constructor).copy(this)}}),or.prototype=Object.assign(Object.create(rr.prototype),{constructor:or,isPerspectiveCamera:!0,copy:function(t,e){return rr.prototype.copy.call(this,t,e),this.fov=t.fov,this.zoom=t.zoom,this.near=t.near,this.far=t.far,this.focus=t.focus,this.aspect=t.aspect,this.view=null===t.view?null:Object.assign({},t.view),this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this},setFocalLength:function(t){var e=.5*this.getFilmHeight()/t;this.fov=2*Ge.RAD2DEG*Math.atan(e),this.updateProjectionMatrix()},getFocalLength:function(){var t=Math.tan(.5*Ge.DEG2RAD*this.fov);return.5*this.getFilmHeight()/t},getEffectiveFOV:function(){return 2*Ge.RAD2DEG*Math.atan(Math.tan(.5*Ge.DEG2RAD*this.fov)/this.zoom)},getFilmWidth:function(){return this.filmGauge*Math.min(this.aspect,1)},getFilmHeight:function(){return this.filmGauge/Math.max(this.aspect,1)},setViewOffset:function(t,e,n,i,r,o){this.aspect=t/e,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=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=i,this.view.width=r,this.view.height=o,this.updateProjectionMatrix()},clearViewOffset:function(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()},updateProjectionMatrix:function(){var t=this.near,e=t*Math.tan(.5*Ge.DEG2RAD*this.fov)/this.zoom,n=2*e,i=this.aspect*n,r=-.5*i,o=this.view;if(null!==this.view&&this.view.enabled){var a=o.fullWidth,s=o.fullHeight;r+=o.offsetX*i/a,e-=o.offsetY*n/s,i*=o.width/a,n*=o.height/s}var u=this.filmOffset;0!==u&&(r+=t*u/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+i,e,e-n,t,this.far),this.projectionMatrixInverse.getInverse(this.projectionMatrix)},toJSON:function(t){var e=fn.prototype.toJSON.call(this,t);return e.object.fov=this.fov,e.object.zoom=this.zoom,e.object.near=this.near,e.object.far=this.far,e.object.focus=this.focus,e.object.aspect=this.aspect,null!==this.view&&(e.object.view=Object.assign({},this.view)),e.object.filmGauge=this.filmGauge,e.object.filmOffset=this.filmOffset,e}}),ar.prototype=Object.assign(Object.create(or.prototype),{constructor:ar,isArrayCamera:!0});var sr,ur=new He,lr=new He;function hr(t,e,n){ur.setFromMatrixPosition(e.matrixWorld),lr.setFromMatrixPosition(n.matrixWorld);var i=ur.distanceTo(lr),r=e.projectionMatrix.elements,o=n.projectionMatrix.elements,a=r[14]/(r[10]-1),s=r[14]/(r[10]+1),u=(r[9]+1)/r[5],l=(r[9]-1)/r[5],h=(r[8]-1)/r[0],c=(o[8]+1)/o[0],p=a*h,d=a*c,f=i/(-h+c),m=f*-h;e.matrixWorld.decompose(t.position,t.quaternion,t.scale),t.translateX(m),t.translateZ(f),t.matrixWorld.compose(t.position,t.quaternion,t.scale),t.matrixWorldInverse.getInverse(t.matrixWorld);var g=a+f,v=s+f,y=p-m,_=d+(i-m),b=u*s/v*g,x=l*s/v*g;t.projectionMatrix.makePerspective(y,_,b,x,g,v)}function cr(t){var e=this,n=null,i=null,r=null,o=[],a=new Ve,s=new Ve,u=1,l="stage";"undefined"!=typeof window&&"VRFrameData"in window&&(i=new window.VRFrameData,window.addEventListener("vrdisplaypresentchange",_,!1));var h=new Ve,c=new ze,p=new He,d=new or;d.bounds=new Ye(0,0,.5,1),d.layers.enable(1);var f=new or;f.bounds=new Ye(.5,0,.5,1),f.layers.enable(2);var m,g,v=new ar([d,f]);function y(){return null!==n&&!0===n.isPresenting}function _(){if(y()){var i=n.getEyeParameters("left"),r=i.renderWidth*u,o=i.renderHeight*u;g=t.getPixelRatio(),m=t.getSize(),t.setDrawingBufferSize(2*r,o,1),w.start()}else e.enabled&&t.setDrawingBufferSize(m.width,m.height,g),w.stop()}v.layers.enable(1),v.layers.enable(2);var b=[];function x(t){for(var e=navigator.getGamepads&&navigator.getGamepads(),n=0,i=0,r=e.length;n<r;n++){var o=e[n];if(o&&("Daydream Controller"===o.id||"Gear VR Controller"===o.id||"Oculus Go Controller"===o.id||"OpenVR Gamepad"===o.id||o.id.startsWith("Oculus Touch")||o.id.startsWith("Spatial Controller"))){if(i===t)return o;i++}}}this.enabled=!1,this.getController=function(t){var e=o[t];return void 0===e&&((e=new ir).matrixAutoUpdate=!1,e.visible=!1,o[t]=e),e},this.getDevice=function(){return n},this.setDevice=function(t){void 0!==t&&(n=t),w.setContext(t)},this.setFramebufferScaleFactor=function(t){u=t},this.setFrameOfReferenceType=function(t){l=t},this.setPoseTarget=function(t){void 0!==t&&(r=t)},this.getCamera=function(t){var e="stage"===l?1.6:0;if(null===n)return t.position.set(0,e,0),t;if(n.depthNear=t.near,n.depthFar=t.far,n.getFrameData(i),"stage"===l){var u=n.stageParameters;u?a.fromArray(u.sittingToStandingTransform):a.makeTranslation(0,e,0)}var m=i.pose,g=null!==r?r:t;if(g.matrix.copy(a),g.matrix.decompose(g.position,g.quaternion,g.scale),null!==m.orientation&&(c.fromArray(m.orientation),g.quaternion.multiply(c)),null!==m.position&&(c.setFromRotationMatrix(a),p.fromArray(m.position),p.applyQuaternion(c),g.position.add(p)),g.updateMatrixWorld(),!1===n.isPresenting)return t;d.near=t.near,f.near=t.near,d.far=t.far,f.far=t.far,d.matrixWorldInverse.fromArray(i.leftViewMatrix),f.matrixWorldInverse.fromArray(i.rightViewMatrix),s.getInverse(a),"stage"===l&&(d.matrixWorldInverse.multiply(s),f.matrixWorldInverse.multiply(s));var y=g.parent;null!==y&&(h.getInverse(y.matrixWorld),d.matrixWorldInverse.multiply(h),f.matrixWorldInverse.multiply(h)),d.matrixWorld.getInverse(d.matrixWorldInverse),f.matrixWorld.getInverse(f.matrixWorldInverse),d.projectionMatrix.fromArray(i.leftProjectionMatrix),f.projectionMatrix.fromArray(i.rightProjectionMatrix),hr(v,d,f);var _=n.getLayers();if(_.length){var w=_[0];null!==w.leftBounds&&4===w.leftBounds.length&&d.bounds.fromArray(w.leftBounds),null!==w.rightBounds&&4===w.rightBounds.length&&f.bounds.fromArray(w.rightBounds)}return function(){for(var t=0;t<o.length;t++){var e=o[t],n=x(t);if(void 0!==n&&void 0!==n.pose){if(null===n.pose)return;var i=n.pose;!1===i.hasPosition&&e.position.set(.2,-.6,-.05),null!==i.position&&e.position.fromArray(i.position),null!==i.orientation&&e.quaternion.fromArray(i.orientation),e.matrix.compose(e.position,e.quaternion,e.scale),e.matrix.premultiply(a),e.matrix.decompose(e.position,e.quaternion,e.scale),e.matrixWorldNeedsUpdate=!0,e.visible=!0;var r="Daydream Controller"===n.id?0:1;b[t]!==n.buttons[r].pressed&&(b[t]=n.buttons[r].pressed,!0===b[t]?e.dispatchEvent({type:"selectstart"}):(e.dispatchEvent({type:"selectend"}),e.dispatchEvent({type:"select"})))}else e.visible=!1}}(),v},this.getStandingMatrix=function(){return a},this.isPresenting=y;var w=new un;this.setAnimationLoop=function(t){w.setAnimationLoop(t)},this.submitFrame=function(){y()&&n.submitFrame()},this.dispose=function(){"undefined"!=typeof window&&window.removeEventListener("vrdisplaypresentchange",_)}}function pr(e){console.log("THREE.WebGLRenderer",r);var n=void 0!==(e=e||{}).canvas?e.canvas:document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),i=void 0!==e.context?e.context:null,o=void 0!==e.alpha&&e.alpha,l=void 0===e.depth||e.depth,h=void 0===e.stencil||e.stencil,c=void 0!==e.antialias&&e.antialias,p=void 0===e.premultipliedAlpha||e.premultipliedAlpha,d=void 0!==e.preserveDrawingBuffer&&e.preserveDrawingBuffer,f=void 0!==e.powerPreference?e.powerPreference:"default",y=null,_=null;this.domElement=n,this.context=null,this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.gammaFactor=2,this.gammaInput=!1,this.gammaOutput=!1,this.physicallyCorrectLights=!1,this.toneMapping=it,this.toneMappingExposure=1,this.toneMappingWhitePoint=1,this.maxMorphTargets=8,this.maxMorphNormals=4;var b,x,w,L,R,O,I,N,D,B,k,G,U,V,z,H,F,j,$=this,tt=!1,et=null,nt=null,rt=null,ot=-1,at={geometry:null,program:null,wireframe:!1},st=null,ut=null,lt=new Ye,ht=new Ye,ct=null,pt=0,dt=n.width,ft=n.height,mt=1,gt=new Ye(0,0,dt,ft),vt=new Ye(0,0,dt,ft),yt=!1,_t=new tn,bt=new function(){var t=this,e=null,n=0,i=!1,r=!1,o=new $e,a=new Fe,s={value:null,needsUpdate:!1};function u(){s.value!==e&&(s.value=e,s.needsUpdate=n>0),t.numPlanes=n,t.numIntersection=0}function l(e,n,i,r){var u=null!==e?e.length:0,l=null;if(0!==u){if(l=s.value,!0!==r||null===l){var h=i+4*u,c=n.matrixWorldInverse;a.getNormalMatrix(c),(null===l||l.length<h)&&(l=new Float32Array(h));for(var p=0,d=i;p!==u;++p,d+=4)o.copy(e[p]).applyMatrix4(c,a),o.normal.toArray(l,d),l[d+3]=o.constant}s.value=l,s.needsUpdate=!0}return t.numPlanes=u,l}this.uniform=s,this.numPlanes=0,this.numIntersection=0,this.init=function(t,r,o){var a=0!==t.length||r||0!==n||i;return i=r,e=l(t,o,0),n=t.length,a},this.beginShadows=function(){r=!0,l(null)},this.endShadows=function(){r=!1,u()},this.setState=function(t,o,a,h,c,p){if(!i||null===t||0===t.length||r&&!a)r?l(null):u();else{var d=r?0:n,f=4*d,m=c.clippingState||null;s.value=m,m=l(t,h,f,p);for(var g=0;g!==f;++g)m[g]=e[g];c.clippingState=m,this.numIntersection=o?this.numPlanes:0,this.numPlanes+=d}}},xt=!1,wt=!1,At=new Ve,Tt=new He;function Et(){return null===nt?mt:1}try{var Mt={alpha:o,depth:l,stencil:h,antialias:c,premultipliedAlpha:p,preserveDrawingBuffer:d,powerPreference:f};if(n.addEventListener("webglcontextlost",It,!1),n.addEventListener("webglcontextrestored",Nt,!1),null===(b=i||n.getContext("webgl",Mt)||n.getContext("experimental-webgl",Mt)))throw null!==n.getContext("webgl")?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.");void 0===b.getShaderPrecisionFormat&&(b.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(t){console.error("THREE.WebGLRenderer: "+t.message)}function Pt(){x=new function(t){var e={};return{get:function(n){if(void 0!==e[n])return e[n];var i;switch(n){case"WEBGL_depth_texture":i=t.getExtension("WEBGL_depth_texture")||t.getExtension("MOZ_WEBGL_depth_texture")||t.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":i=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("MOZ_EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":i=t.getExtension("WEBGL_compressed_texture_s3tc")||t.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":i=t.getExtension("WEBGL_compressed_texture_pvrtc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:i=t.getExtension(n)}return null===i&&console.warn("THREE.WebGLRenderer: "+n+" extension not supported."),e[n]=i,i}}}(b),(w=new function(t,e,n){var i;function r(e){if("highp"===e){if(t.getShaderPrecisionFormat(35633,36338).precision>0&&t.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";e="mediump"}return"mediump"===e&&t.getShaderPrecisionFormat(35633,36337).precision>0&&t.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}var o="undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext,a=void 0!==n.precision?n.precision:"highp",s=r(a);s!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",s,"instead."),a=s);var u=!0===n.logarithmicDepthBuffer,l=t.getParameter(34930),h=t.getParameter(35660),c=t.getParameter(3379),p=t.getParameter(34076),d=t.getParameter(34921),f=t.getParameter(36347),m=t.getParameter(36348),g=t.getParameter(36349),v=h>0,y=o||!!e.get("OES_texture_float");return{isWebGL2:o,getMaxAnisotropy:function(){if(void 0!==i)return i;var n=e.get("EXT_texture_filter_anisotropic");return i=null!==n?t.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0},getMaxPrecision:r,precision:a,logarithmicDepthBuffer:u,maxTextures:l,maxVertexTextures:h,maxTextureSize:c,maxCubemapSize:p,maxAttributes:d,maxVertexUniforms:f,maxVaryings:m,maxFragmentUniforms:g,vertexTextures:v,floatFragmentTextures:y,floatVertexTextures:v&&y}}(b,x,e)).isWebGL2||(x.get("WEBGL_depth_texture"),x.get("OES_texture_float"),x.get("OES_texture_half_float"),x.get("OES_texture_half_float_linear"),x.get("OES_standard_derivatives"),x.get("OES_element_index_uint"),x.get("ANGLE_instanced_arrays")),x.get("OES_texture_float_linear"),j=new nr(b,x,w),(L=new function(t,e,n,i){var r=new function(){var e=!1,n=new Ye,i=null,r=new Ye(0,0,0,0);return{setMask:function(n){i===n||e||(t.colorMask(n,n,n,n),i=n)},setLocked:function(t){e=t},setClear:function(e,i,o,a,s){!0===s&&(e*=a,i*=a,o*=a),n.set(e,i,o,a),!1===r.equals(n)&&(t.clearColor(e,i,o,a),r.copy(n))},reset:function(){e=!1,i=null,r.set(-1,0,0,0)}}},o=new function(){var e=!1,n=null,i=null,r=null;return{setTest:function(t){t?ot(2929):at(2929)},setMask:function(i){n===i||e||(t.depthMask(i),n=i)},setFunc:function(e){if(i!==e){if(e)switch(e){case W:t.depthFunc(512);break;case X:t.depthFunc(519);break;case Y:t.depthFunc(513);break;case K:t.depthFunc(515);break;case Z:t.depthFunc(514);break;case q:t.depthFunc(518);break;case Q:t.depthFunc(516);break;case J:t.depthFunc(517);break;default:t.depthFunc(515)}else t.depthFunc(515);i=e}},setLocked:function(t){e=t},setClear:function(e){r!==e&&(t.clearDepth(e),r=e)},reset:function(){e=!1,n=null,i=null,r=null}}},l=new function(){var e=!1,n=null,i=null,r=null,o=null,a=null,s=null,u=null,l=null;return{setTest:function(t){t?ot(2960):at(2960)},setMask:function(i){n===i||e||(t.stencilMask(i),n=i)},setFunc:function(e,n,a){i===e&&r===n&&o===a||(t.stencilFunc(e,n,a),i=e,r=n,o=a)},setOp:function(e,n,i){a===e&&s===n&&u===i||(t.stencilOp(e,n,i),a=e,s=n,u=i)},setLocked:function(t){e=t},setClear:function(e){l!==e&&(t.clearStencil(e),l=e)},reset:function(){e=!1,n=null,i=null,r=null,o=null,a=null,s=null,u=null,l=null}}},h=t.getParameter(34921),c=new Uint8Array(h),p=new Uint8Array(h),d=new Uint8Array(h),f={},m=null,y=null,_=null,b=null,x=null,w=null,L=null,R=null,O=null,I=null,N=!1,D=null,B=null,k=null,G=null,U=null,V=t.getParameter(35661),z=!1,H=0,F=t.getParameter(7938);-1!==F.indexOf("WebGL")?(H=parseFloat(/^WebGL\ ([0-9])/.exec(F)[1]),z=H>=1):-1!==F.indexOf("OpenGL ES")&&(H=parseFloat(/^OpenGL\ ES\ ([0-9])/.exec(F)[1]),z=H>=2);var j=null,$={},tt=new Ye,et=new Ye;function nt(e,n,i){var r=new Uint8Array(4),o=t.createTexture();t.bindTexture(e,o),t.texParameteri(e,10241,9728),t.texParameteri(e,10240,9728);for(var a=0;a<i;a++)t.texImage2D(n+a,0,6408,1,1,0,6408,5121,r);return o}var it={};function rt(n,r){c[n]=1,0===p[n]&&(t.enableVertexAttribArray(n),p[n]=1),d[n]!==r&&((i.isWebGL2?t:e.get("ANGLE_instanced_arrays"))[i.isWebGL2?"vertexAttribDivisor":"vertexAttribDivisorANGLE"](n,r),d[n]=r)}function ot(e){!0!==f[e]&&(t.enable(e),f[e]=!0)}function at(e){!1!==f[e]&&(t.disable(e),f[e]=!1)}function st(e,i,r,o,a,s,u,l){if(e!==A){if(_||(ot(3042),_=!0),e===P)a=a||i,s=s||r,u=u||o,i===x&&a===R||(t.blendEquationSeparate(n.convert(i),n.convert(a)),x=i,R=a),r===w&&o===L&&s===O&&u===I||(t.blendFuncSeparate(n.convert(r),n.convert(o),n.convert(s),n.convert(u)),w=r,L=o,O=s,I=u),b=e,N=null;else if(e!==b||l!==N){if(x===C&&R===C||(t.blendEquation(32774),x=C,R=C),l)switch(e){case S:t.blendFuncSeparate(1,771,1,771);break;case T:t.blendFunc(1,1);break;case E:t.blendFuncSeparate(0,0,769,771);break;case M:t.blendFuncSeparate(0,768,0,770);break;default:console.error("THREE.WebGLState: Invalid blending: ",e)}else switch(e){case S:t.blendFuncSeparate(770,771,1,771);break;case T:t.blendFunc(770,1);break;case E:t.blendFunc(0,769);break;case M:t.blendFunc(0,768);break;default:console.error("THREE.WebGLState: Invalid blending: ",e)}w=null,L=null,O=null,I=null,b=e,N=l}}else _&&(at(3042),_=!1)}function ut(e){D!==e&&(e?t.frontFace(2304):t.frontFace(2305),D=e)}function lt(e){e!==a?(ot(2884),e!==B&&(e===s?t.cullFace(1029):e===u?t.cullFace(1028):t.cullFace(1032))):at(2884),B=e}function ht(e,n,i){e?(ot(32823),G===n&&U===i||(t.polygonOffset(n,i),G=n,U=i)):at(32823)}function ct(e){void 0===e&&(e=33984+V-1),j!==e&&(t.activeTexture(e),j=e)}return it[3553]=nt(3553,3553,1),it[34067]=nt(34067,34069,6),r.setClear(0,0,0,1),o.setClear(1),l.setClear(0),ot(2929),o.setFunc(K),ut(!1),lt(s),ot(2884),st(A),{buffers:{color:r,depth:o,stencil:l},initAttributes:function(){for(var t=0,e=c.length;t<e;t++)c[t]=0},enableAttribute:function(t){rt(t,0)},enableAttributeAndDivisor:rt,disableUnusedAttributes:function(){for(var e=0,n=p.length;e!==n;++e)p[e]!==c[e]&&(t.disableVertexAttribArray(e),p[e]=0)},enable:ot,disable:at,getCompressedTextureFormats:function(){if(null===m&&(m=[],e.get("WEBGL_compressed_texture_pvrtc")||e.get("WEBGL_compressed_texture_s3tc")||e.get("WEBGL_compressed_texture_etc1")||e.get("WEBGL_compressed_texture_astc")))for(var n=t.getParameter(34467),i=0;i<n.length;i++)m.push(n[i]);return m},useProgram:function(e){return y!==e&&(t.useProgram(e),y=e,!0)},setBlending:st,setMaterial:function(t,e){t.side===v?at(2884):ot(2884);var n=t.side===g;e&&(n=!n),ut(n),t.blending===S&&!1===t.transparent?st(A):st(t.blending,t.blendEquation,t.blendSrc,t.blendDst,t.blendEquationAlpha,t.blendSrcAlpha,t.blendDstAlpha,t.premultipliedAlpha),o.setFunc(t.depthFunc),o.setTest(t.depthTest),o.setMask(t.depthWrite),r.setMask(t.colorWrite),ht(t.polygonOffset,t.polygonOffsetFactor,t.polygonOffsetUnits)},setFlipSided:ut,setCullFace:lt,setLineWidth:function(e){e!==k&&(z&&t.lineWidth(e),k=e)},setPolygonOffset:ht,setScissorTest:function(t){t?ot(3089):at(3089)},activeTexture:ct,bindTexture:function(e,n){null===j&&ct();var i=$[j];void 0===i&&(i={type:void 0,texture:void 0},$[j]=i),i.type===e&&i.texture===n||(t.bindTexture(e,n||it[e]),i.type=e,i.texture=n)},compressedTexImage2D:function(){try{t.compressedTexImage2D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},texImage2D:function(){try{t.texImage2D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},texImage3D:function(){try{t.texImage3D.apply(t,arguments)}catch(t){console.error("THREE.WebGLState:",t)}},scissor:function(e){!1===tt.equals(e)&&(t.scissor(e.x,e.y,e.z,e.w),tt.copy(e))},viewport:function(e){!1===et.equals(e)&&(t.viewport(e.x,e.y,e.z,e.w),et.copy(e))},reset:function(){for(var e=0;e<p.length;e++)1===p[e]&&(t.disableVertexAttribArray(e),p[e]=0);f={},m=null,j=null,$={},y=null,b=null,D=null,B=null,r.reset(),o.reset(),l.reset()}}}(b,x,j,w)).scissor(ht.copy(vt).multiplyScalar(mt)),L.viewport(lt.copy(gt).multiplyScalar(mt)),R=new function(t){var e={frame:0,calls:0,triangles:0,points:0,lines:0};return{memory:{geometries:0,textures:0},render:e,programs:null,autoReset:!0,reset:function(){e.frame++,e.calls=0,e.triangles=0,e.points=0,e.lines=0},update:function(t,n,i){switch(i=i||1,e.calls++,n){case 4:e.triangles+=i*(t/3);break;case 5:case 6:e.triangles+=i*(t-2);break;case 1:e.lines+=i*(t/2);break;case 3:e.lines+=i*(t-1);break;case 2:e.lines+=i*t;break;case 0:e.points+=i*t;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:",n)}}}}(b),O=new function(){var t=new WeakMap;return{get:function(e){var n=t.get(e);return void 0===n&&(n={},t.set(e,n)),n},remove:function(e){t.delete(e)},update:function(e,n,i){t.get(e)[n]=i},dispose:function(){t=new WeakMap}}},I=new er(b,x,L,O,w,j,R),N=new ln(b),D=new function(t,e,n){var i={},r={};function o(t){var a=t.target,s=i[a.id];for(var u in null!==s.index&&e.remove(s.index),s.attributes)e.remove(s.attributes[u]);a.removeEventListener("dispose",o),delete i[a.id];var l=r[s.id];l&&(e.remove(l),delete r[s.id]),n.memory.geometries--}return{get:function(t,e){var r=i[e.id];return r||(e.addEventListener("dispose",o),e.isBufferGeometry?r=e:e.isGeometry&&(void 0===e._bufferGeometry&&(e._bufferGeometry=(new Ln).setFromObject(t)),r=e._bufferGeometry),i[e.id]=r,n.memory.geometries++,r)},update:function(t){var n=t.index,i=t.attributes;for(var r in null!==n&&e.update(n,34963),i)e.update(i[r],34962);var o=t.morphAttributes;for(var r in o)for(var a=o[r],s=0,u=a.length;s<u;s++)e.update(a[s],34962)},getWireframeAttribute:function(t){var n=r[t.id];if(n)return n;var i,o=[],a=t.index,s=t.attributes;if(null!==a)for(var u=0,l=(i=a.array).length;u<l;u+=3){var h=i[u+0],c=i[u+1],p=i[u+2];o.push(h,c,c,p,p,h)}else for(u=0,l=(i=s.position.array).length/3-1;u<l;u+=3)h=u+0,c=u+1,p=u+2,o.push(h,c,c,p,p,h);return n=new(Pn(o)>65535?Sn:wn)(o,1),e.update(n,34963),r[t.id]=n,n}}}(b,N,R),B=new function(t,e){var n={};return{update:function(i){var r=e.render.frame,o=i.geometry,a=t.get(i,o);return n[a.id]!==r&&(o.isGeometry&&a.updateFromObject(i),t.update(a),n[a.id]=r),a},dispose:function(){n={}}}}(D,R),z=new function(t){var e={},n=new Float32Array(8);return{update:function(i,r,o,a){var s=i.morphTargetInfluences,u=s.length,l=e[r.id];if(void 0===l){l=[];for(var h=0;h<u;h++)l[h]=[h,0];e[r.id]=l}var c=o.morphTargets&&r.morphAttributes.position,p=o.morphNormals&&r.morphAttributes.normal;for(h=0;h<u;h++)0!==(d=l[h])[1]&&(c&&r.removeAttribute("morphTarget"+h),p&&r.removeAttribute("morphNormal"+h));for(h=0;h<u;h++)(d=l[h])[0]=h,d[1]=s[h];for(l.sort(Hn),h=0;h<8;h++){var d;if(d=l[h]){var f=d[0],m=d[1];if(m){c&&r.addAttribute("morphTarget"+h,c[f]),p&&r.addAttribute("morphNormal"+h,p[f]),n[h]=m;continue}}n[h]=0}a.getUniforms().setValue(t,"morphTargetInfluences",n)}}}(b),k=new Wi($,x,w),G=new Ki,U=new function(){var t={};return{get:function(e,n){var i;return void 0===t[e.id]?(i=new Qi,t[e.id]={},t[e.id][n.id]=i):void 0===t[e.id][n.id]?(i=new Qi,t[e.id][n.id]=i):i=t[e.id][n.id],i},dispose:function(){t={}}}},V=new function(t,e,n,i){var r,o,a=new on(0),s=0;function u(t,n){e.buffers.color.setClear(t.r,t.g,t.b,n,i)}return{getClearColor:function(){return a},setClearColor:function(t,e){a.set(t),u(a,s=void 0!==e?e:1)},getClearAlpha:function(){return s},setClearAlpha:function(t){u(a,s=t)},render:function(e,i,l,h){var c=i.background;null===c?u(a,s):c&&c.isColor&&(u(c,1),h=!0),(t.autoClear||h)&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),c&&(c.isCubeTexture||c.isWebGLRenderTargetCube)?(void 0===o&&((o=new zn(new On(1,1,1),new kn({type:"BackgroundCubeMaterial",uniforms:nn.clone(sn.cube.uniforms),vertexShader:sn.cube.vertexShader,fragmentShader:sn.cube.fragmentShader,side:g,depthTest:!0,depthWrite:!1,fog:!1}))).geometry.removeAttribute("normal"),o.geometry.removeAttribute("uv"),o.onBeforeRender=function(t,e,n){this.matrixWorld.copyPosition(n.matrixWorld)},n.update(o)),o.material.uniforms.tCube.value=c.isWebGLRenderTargetCube?c.texture:c,o.material.uniforms.tFlip.value=c.isWebGLRenderTargetCube?1:-1,e.push(o,o.geometry,o.material,0,null)):c&&c.isTexture&&(void 0===r&&((r=new zn(new Nn(2,2),new kn({type:"BackgroundMaterial",uniforms:nn.clone(sn.background.uniforms),vertexShader:sn.background.vertexShader,fragmentShader:sn.background.fragmentShader,side:m,depthTest:!0,depthWrite:!1,fog:!1}))).geometry.removeAttribute("normal"),n.update(r)),r.material.uniforms.t2D.value=c,!0===c.matrixAutoUpdate&&c.updateMatrix(),r.material.uniforms.uvTransform.value.copy(c.matrix),e.push(r,r.geometry,r.material,0,null))}}}($,L,B,p),H=new function(t,e,n,i){var r;this.setMode=function(t){r=t},this.render=function(e,i){t.drawArrays(r,e,i),n.update(i,r)},this.renderInstances=function(o,a,s){var u;if(i.isWebGL2)u=t;else if(null===(u=e.get("ANGLE_instanced_arrays")))return void console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");u[i.isWebGL2?"drawArraysInstanced":"drawArraysInstancedANGLE"](r,a,s,o.maxInstancedCount),n.update(s,r,o.maxInstancedCount)}}(b,x,R,w),F=new function(t,e,n,i){var r,o,a;this.setMode=function(t){r=t},this.setIndex=function(t){o=t.type,a=t.bytesPerElement},this.render=function(e,i){t.drawElements(r,i,o,e*a),n.update(i,r)},this.renderInstances=function(s,u,l){var h;if(i.isWebGL2)h=t;else if(null===(h=e.get("ANGLE_instanced_arrays")))return void console.error("THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");h[i.isWebGL2?"drawElementsInstanced":"drawElementsInstancedANGLE"](r,l,o,u*a,s.maxInstancedCount),n.update(l,r,s.maxInstancedCount)}}(b,x,R,w),R.programs=k.programs,$.context=b,$.capabilities=w,$.extensions=x,$.properties=O,$.renderLists=G,$.state=L,$.info=R}Pt();var Ct=null;"undefined"!=typeof navigator&&(Ct="xr"in navigator?new function(e){var n=e.context,i=null,r=null,o=1,a=null,s="stage",u=null,l=[],h=[];function c(){return null!==r&&null!==a}var p=new or;p.layers.enable(1),p.viewport=new Ye;var d=new or;d.layers.enable(2),d.viewport=new Ye;var f=new ar([p,d]);function m(t){var e=l[h.indexOf(t.inputSource)];e&&e.dispatchEvent({type:t.type})}function g(){e.setFramebuffer(null),_.stop()}function v(t,e){null===e?t.matrixWorld.copy(t.matrix):t.matrixWorld.multiplyMatrices(e.matrixWorld,t.matrix),t.matrixWorldInverse.getInverse(t.matrixWorld)}f.layers.enable(1),f.layers.enable(2),this.enabled=!1,this.getController=function(t){var e=l[t];return void 0===e&&((e=new ir).matrixAutoUpdate=!1,e.visible=!1,l[t]=e),e},this.getDevice=function(){return i},this.setDevice=function(t){void 0!==t&&(i=t),t instanceof XRDevice&&n.setCompatibleXRDevice(t)},this.setFramebufferScaleFactor=function(t){o=t},this.setFrameOfReferenceType=function(t){s=t},this.setSession=function(t){null!==(r=t)&&(r.addEventListener("select",m),r.addEventListener("selectstart",m),r.addEventListener("selectend",m),r.addEventListener("end",g),r.baseLayer=new XRWebGLLayer(r,n,{framebufferScaleFactor:o}),r.requestFrameOfReference(s).then(function(t){a=t,e.setFramebuffer(r.baseLayer.framebuffer),_.setContext(r),_.start()}),h=r.getInputSources(),r.addEventListener("inputsourceschange",function(){h=r.getInputSources(),console.log(h);for(var t=0;t<l.length;t++)l[t].userData.inputSource=h[t]}))},this.getCamera=function(t){if(c()){var e=t.parent,n=f.cameras;v(f,e);for(var i=0;i<n.length;i++)v(n[i],e);t.matrixWorld.copy(f.matrixWorld);for(var r=t.children,o=(i=0,r.length);i<o;i++)r[i].updateMatrixWorld(!0);return hr(f,p,d),f}return t},this.isPresenting=c;var y=null,_=new un;_.setAnimationLoop(function(t,e){if(null!==(u=e.getDevicePose(a)))for(var n=r.baseLayer,i=e.views,o=0;o<i.length;o++){var s=i[o],c=n.getViewport(s),p=u.getViewMatrix(s),d=f.cameras[o];d.matrix.fromArray(p).getInverse(d.matrix),d.projectionMatrix.fromArray(s.projectionMatrix),d.viewport.set(c.x,c.y,c.width,c.height),0===o&&f.matrix.copy(d.matrix)}for(o=0;o<l.length;o++){var m=l[o],g=h[o];if(g){var v=e.getInputPose(g,a);if(null!==v){"targetRay"in v?m.matrix.elements=v.targetRay.transformMatrix:"pointerMatrix"in v&&(m.matrix.elements=v.pointerMatrix),m.matrix.decompose(m.position,m.rotation,m.scale),m.visible=!0;continue}}m.visible=!1}y&&y(t)}),this.setAnimationLoop=function(t){y=t},this.dispose=function(){},this.getStandingMatrix=function(){return console.warn("THREE.WebXRManager: getStandingMatrix() is no longer needed."),new t.Matrix4},this.submitFrame=function(){}}($):new cr($)),this.vr=Ct;var Ot=new tr($,B,w.maxTextureSize);function It(t){t.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),tt=!0}function Nt(){console.log("THREE.WebGLRenderer: Context Restored."),tt=!1,Pt()}function Dt(t){var e=t.target;e.removeEventListener("dispose",Dt),function(t){Bt(t),O.remove(t)}(e)}function Bt(t){var e=O.get(t).program;t.program=void 0,void 0!==e&&k.releaseProgram(e)}this.shadowMap=Ot,this.getContext=function(){return b},this.getContextAttributes=function(){return b.getContextAttributes()},this.forceContextLoss=function(){var t=x.get("WEBGL_lose_context");t&&t.loseContext()},this.forceContextRestore=function(){var t=x.get("WEBGL_lose_context");t&&t.restoreContext()},this.getPixelRatio=function(){return mt},this.setPixelRatio=function(t){void 0!==t&&(mt=t,this.setSize(dt,ft,!1))},this.getSize=function(){return{width:dt,height:ft}},this.setSize=function(t,e,i){Ct.isPresenting()?console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting."):(dt=t,ft=e,n.width=t*mt,n.height=e*mt,!1!==i&&(n.style.width=t+"px",n.style.height=e+"px"),this.setViewport(0,0,t,e))},this.getDrawingBufferSize=function(){return{width:dt*mt,height:ft*mt}},this.setDrawingBufferSize=function(t,e,i){dt=t,ft=e,mt=i,n.width=t*i,n.height=e*i,this.setViewport(0,0,t,e)},this.getCurrentViewport=function(){return lt},this.setViewport=function(t,e,n,i){gt.set(t,ft-e-i,n,i),L.viewport(lt.copy(gt).multiplyScalar(mt))},this.setScissor=function(t,e,n,i){vt.set(t,ft-e-i,n,i),L.scissor(ht.copy(vt).multiplyScalar(mt))},this.setScissorTest=function(t){L.setScissorTest(yt=t)},this.getClearColor=function(){return V.getClearColor()},this.setClearColor=function(){V.setClearColor.apply(V,arguments)},this.getClearAlpha=function(){return V.getClearAlpha()},this.setClearAlpha=function(){V.setClearAlpha.apply(V,arguments)},this.clear=function(t,e,n){var i=0;(void 0===t||t)&&(i|=16384),(void 0===e||e)&&(i|=256),(void 0===n||n)&&(i|=1024),b.clear(i)},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",It,!1),n.removeEventListener("webglcontextrestored",Nt,!1),G.dispose(),U.dispose(),O.dispose(),B.dispose(),Ct.dispose(),Ut.stop()},this.renderBufferImmediate=function(t,e){L.initAttributes();var n=O.get(t);t.hasPositions&&!n.position&&(n.position=b.createBuffer()),t.hasNormals&&!n.normal&&(n.normal=b.createBuffer()),t.hasUvs&&!n.uv&&(n.uv=b.createBuffer()),t.hasColors&&!n.color&&(n.color=b.createBuffer());var i=e.getAttributes();t.hasPositions&&(b.bindBuffer(34962,n.position),b.bufferData(34962,t.positionArray,35048),L.enableAttribute(i.position),b.vertexAttribPointer(i.position,3,5126,!1,0,0)),t.hasNormals&&(b.bindBuffer(34962,n.normal),b.bufferData(34962,t.normalArray,35048),L.enableAttribute(i.normal),b.vertexAttribPointer(i.normal,3,5126,!1,0,0)),t.hasUvs&&(b.bindBuffer(34962,n.uv),b.bufferData(34962,t.uvArray,35048),L.enableAttribute(i.uv),b.vertexAttribPointer(i.uv,2,5126,!1,0,0)),t.hasColors&&(b.bindBuffer(34962,n.color),b.bufferData(34962,t.colorArray,35048),L.enableAttribute(i.color),b.vertexAttribPointer(i.color,3,5126,!1,0,0)),L.disableUnusedAttributes(),b.drawArrays(4,0,t.count),t.count=0},this.renderBufferDirect=function(t,e,n,i,r,o){var a=r.isMesh&&r.normalMatrix.determinant()<0;L.setMaterial(i,a);var s=Ft(t,e,i,r),u=!1;at.geometry===n.id&&at.program===s.id&&at.wireframe===(!0===i.wireframe)||(at.geometry=n.id,at.program=s.id,at.wireframe=!0===i.wireframe,u=!0),r.morphTargetInfluences&&(z.update(r,n,i,s),u=!0);var l,h=n.index,c=n.attributes.position,p=1;!0===i.wireframe&&(h=D.getWireframeAttribute(n),p=2);var d=H;null!==h&&(l=N.get(h),(d=F).setIndex(l)),u&&(!function(t,e,n){if(n&&n.isInstancedBufferGeometry&!w.isWebGL2&&null===x.get("ANGLE_instanced_arrays"))return void console.error("THREE.WebGLRenderer.setupVertexAttributes: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");L.initAttributes();var i=n.attributes,r=e.getAttributes(),o=t.defaultAttributeValues;for(var a in r){var s=r[a];if(s>=0){var u=i[a];if(void 0!==u){var l=u.normalized,h=u.itemSize,c=N.get(u);if(void 0===c)continue;var p=c.buffer,d=c.type,f=c.bytesPerElement;if(u.isInterleavedBufferAttribute){var m=u.data,g=m.stride,v=u.offset;m&&m.isInstancedInterleavedBuffer?(L.enableAttributeAndDivisor(s,m.meshPerAttribute),void 0===n.maxInstancedCount&&(n.maxInstancedCount=m.meshPerAttribute*m.count)):L.enableAttribute(s),b.bindBuffer(34962,p),b.vertexAttribPointer(s,h,d,l,g*f,v*f)}else u.isInstancedBufferAttribute?(L.enableAttributeAndDivisor(s,u.meshPerAttribute),void 0===n.maxInstancedCount&&(n.maxInstancedCount=u.meshPerAttribute*u.count)):L.enableAttribute(s),b.bindBuffer(34962,p),b.vertexAttribPointer(s,h,d,l,0,0)}else if(void 0!==o){var y=o[a];if(void 0!==y)switch(y.length){case 2:b.vertexAttrib2fv(s,y);break;case 3:b.vertexAttrib3fv(s,y);break;case 4:b.vertexAttrib4fv(s,y);break;default:b.vertexAttrib1fv(s,y)}}}}L.disableUnusedAttributes()}(i,s,n),null!==h&&b.bindBuffer(34963,l.buffer));var f=1/0;null!==h?f=h.count:void 0!==c&&(f=c.count);var m=n.drawRange.start*p,g=n.drawRange.count*p,v=null!==o?o.start*p:0,y=null!==o?o.count*p:1/0,_=Math.max(m,v),A=Math.min(f,m+g,v+y)-1,S=Math.max(0,A-_+1);if(0!==S){if(r.isMesh)if(!0===i.wireframe)L.setLineWidth(i.wireframeLinewidth*Et()),d.setMode(1);else switch(r.drawMode){case Ae:d.setMode(4);break;case Se:d.setMode(5);break;case Te:d.setMode(6)}else if(r.isLine){var T=i.linewidth;void 0===T&&(T=1),L.setLineWidth(T*Et()),r.isLineSegments?d.setMode(1):r.isLineLoop?d.setMode(2):d.setMode(3)}else r.isPoints?d.setMode(0):r.isSprite&&d.setMode(4);n&&n.isInstancedBufferGeometry?n.maxInstancedCount>0&&d.renderInstances(n,_,S):d.render(_,S)}},this.compile=function(t,e){(_=U.get(t,e)).init(),t.traverse(function(t){t.isLight&&(_.pushLight(t),t.castShadow&&_.pushShadow(t))}),_.setupLights(e),t.traverse(function(e){if(e.material)if(Array.isArray(e.material))for(var n=0;n<e.material.length;n++)Ht(e.material[n],t.fog,e);else Ht(e.material,t.fog,e)})};var kt=null;var Ut=new un;function Vt(t,e,n,i){for(var r=0,o=t.length;r<o;r++){var a=t[r],s=a.object,u=a.geometry,l=void 0===i?a.material:i,h=a.group;if(n.isArrayCamera){ut=n;for(var c=n.cameras,p=0,d=c.length;p<d;p++){var f=c[p];if(s.layers.test(f.layers)){if("viewport"in f)L.viewport(lt.copy(f.viewport));else{var m=f.bounds,g=m.x*dt,v=m.y*ft,y=m.z*dt,b=m.w*ft;L.viewport(lt.set(g,v,y,b).multiplyScalar(mt))}_.setupLights(f),zt(s,e,f,u,l,h)}}}else ut=null,zt(s,e,n,u,l,h)}}function zt(t,e,n,i,r,o){if(t.onBeforeRender($,e,n,i,r,o),_=U.get(e,ut||n),t.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse,t.matrixWorld),t.normalMatrix.getNormalMatrix(t.modelViewMatrix),t.isImmediateRenderObject){L.setMaterial(r);var a=Ft(n,e.fog,r,t);at.geometry=null,at.program=null,at.wireframe=!1,function(t,e){t.render(function(t){$.renderBufferImmediate(t,e)})}(t,a)}else $.renderBufferDirect(n,e.fog,i,r,t,o);t.onAfterRender($,e,n,i,r,o),_=U.get(e,ut||n)}function Ht(t,e,n){var i=O.get(t),r=_.state.lights,o=_.state.shadowsArray,a=i.lightsHash,s=r.state.hash,u=k.getParameters(t,r.state,o,e,bt.numPlanes,bt.numIntersection,n),l=k.getProgramCode(t,u),h=i.program,c=!0;if(void 0===h)t.addEventListener("dispose",Dt);else if(h.code!==l)Bt(t);else if(a.stateID!==s.stateID||a.directionalLength!==s.directionalLength||a.pointLength!==s.pointLength||a.spotLength!==s.spotLength||a.rectAreaLength!==s.rectAreaLength||a.hemiLength!==s.hemiLength||a.shadowsLength!==s.shadowsLength)a.stateID=s.stateID,a.directionalLength=s.directionalLength,a.pointLength=s.pointLength,a.spotLength=s.spotLength,a.rectAreaLength=s.rectAreaLength,a.hemiLength=s.hemiLength,a.shadowsLength=s.shadowsLength,c=!1;else{if(void 0!==u.shaderID)return;c=!1}if(c){if(u.shaderID){var p=sn[u.shaderID];i.shader={name:t.type,uniforms:nn.clone(p.uniforms),vertexShader:p.vertexShader,fragmentShader:p.fragmentShader}}else i.shader={name:t.type,uniforms:t.uniforms,vertexShader:t.vertexShader,fragmentShader:t.fragmentShader};t.onBeforeCompile(i.shader,$),l=k.getProgramCode(t,u),h=k.acquireProgram(t,i.shader,u,l),i.program=h,t.program=h}var d=h.getAttributes();if(t.morphTargets){t.numSupportedMorphTargets=0;for(var f=0;f<$.maxMorphTargets;f++)d["morphTarget"+f]>=0&&t.numSupportedMorphTargets++}if(t.morphNormals){t.numSupportedMorphNormals=0;for(f=0;f<$.maxMorphNormals;f++)d["morphNormal"+f]>=0&&t.numSupportedMorphNormals++}var m=i.shader.uniforms;(t.isShaderMaterial||t.isRawShaderMaterial)&&!0!==t.clipping||(i.numClippingPlanes=bt.numPlanes,i.numIntersection=bt.numIntersection,m.clippingPlanes=bt.uniform),i.fog=e,void 0===a&&(i.lightsHash=a={}),a.stateID=s.stateID,a.directionalLength=s.directionalLength,a.pointLength=s.pointLength,a.spotLength=s.spotLength,a.rectAreaLength=s.rectAreaLength,a.hemiLength=s.hemiLength,a.shadowsLength=s.shadowsLength,t.lights&&(m.ambientLightColor.value=r.state.ambient,m.directionalLights.value=r.state.directional,m.spotLights.value=r.state.spot,m.rectAreaLights.value=r.state.rectArea,m.pointLights.value=r.state.point,m.hemisphereLights.value=r.state.hemi,m.directionalShadowMap.value=r.state.directionalShadowMap,m.directionalShadowMatrix.value=r.state.directionalShadowMatrix,m.spotShadowMap.value=r.state.spotShadowMap,m.spotShadowMatrix.value=r.state.spotShadowMatrix,m.pointShadowMap.value=r.state.pointShadowMap,m.pointShadowMatrix.value=r.state.pointShadowMatrix);var g=i.program.getUniforms(),v=Ni.seqWithValue(g.seq,m);i.uniformsList=v}function Ft(t,e,n,i){pt=0;var r=O.get(n),o=_.state.lights,a=r.lightsHash,s=o.state.hash;if(xt&&(wt||t!==st)){var u=t===st&&n.id===ot;bt.setState(n.clippingPlanes,n.clipIntersection,n.clipShadows,t,r,u)}!1===n.needsUpdate&&(void 0===r.program?n.needsUpdate=!0:n.fog&&r.fog!==e?n.needsUpdate=!0:(!n.lights||a.stateID===s.stateID&&a.directionalLength===s.directionalLength&&a.pointLength===s.pointLength&&a.spotLength===s.spotLength&&a.rectAreaLength===s.rectAreaLength&&a.hemiLength===s.hemiLength&&a.shadowsLength===s.shadowsLength)&&(void 0===r.numClippingPlanes||r.numClippingPlanes===bt.numPlanes&&r.numIntersection===bt.numIntersection)||(n.needsUpdate=!0)),n.needsUpdate&&(Ht(n,e,i),n.needsUpdate=!1);var l=!1,h=!1,c=!1,p=r.program,d=p.getUniforms(),f=r.shader.uniforms;if(L.useProgram(p.program)&&(l=!0,h=!0,c=!0),n.id!==ot&&(ot=n.id,h=!0),l||st!==t){if(d.setValue(b,"projectionMatrix",t.projectionMatrix),w.logarithmicDepthBuffer&&d.setValue(b,"logDepthBufFC",2/(Math.log(t.far+1)/Math.LN2)),st!==t&&(st=t,h=!0,c=!0),n.isShaderMaterial||n.isMeshPhongMaterial||n.isMeshStandardMaterial||n.envMap){var m=d.map.cameraPosition;void 0!==m&&m.setValue(b,Tt.setFromMatrixPosition(t.matrixWorld))}(n.isMeshPhongMaterial||n.isMeshLambertMaterial||n.isMeshBasicMaterial||n.isMeshStandardMaterial||n.isShaderMaterial||n.skinning)&&d.setValue(b,"viewMatrix",t.matrixWorldInverse)}if(n.skinning){d.setOptional(b,i,"bindMatrix"),d.setOptional(b,i,"bindMatrixInverse");var v=i.skeleton;if(v){var y=v.bones;if(w.floatVertexTextures){if(void 0===v.boneTexture){var x=Math.sqrt(4*y.length);x=Ge.ceilPowerOfTwo(x),x=Math.max(x,4);var A=new Float32Array(x*x*4);A.set(v.boneMatrices);var S=new qe(A,x,x,Gt,Lt);S.needsUpdate=!0,v.boneMatrices=A,v.boneTexture=S,v.boneTextureSize=x}d.setValue(b,"boneTexture",v.boneTexture),d.setValue(b,"boneTextureSize",v.boneTextureSize)}else d.setOptional(b,v,"boneMatrices")}}return h&&(d.setValue(b,"toneMappingExposure",$.toneMappingExposure),d.setValue(b,"toneMappingWhitePoint",$.toneMappingWhitePoint),n.lights&&function(t,e){t.ambientLightColor.needsUpdate=e,t.directionalLights.needsUpdate=e,t.pointLights.needsUpdate=e,t.spotLights.needsUpdate=e,t.rectAreaLights.needsUpdate=e,t.hemisphereLights.needsUpdate=e}(f,c),e&&n.fog&&function(t,e){t.fogColor.value=e.color,e.isFog?(t.fogNear.value=e.near,t.fogFar.value=e.far):e.isFogExp2&&(t.fogDensity.value=e.density)}(f,e),n.isMeshBasicMaterial?jt(f,n):n.isMeshLambertMaterial?(jt(f,n),function(t,e){e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap)}(f,n)):n.isMeshPhongMaterial?(jt(f,n),n.isMeshToonMaterial?function(t,e){Wt(t,e),e.gradientMap&&(t.gradientMap.value=e.gradientMap)}(f,n):Wt(f,n)):n.isMeshStandardMaterial?(jt(f,n),n.isMeshPhysicalMaterial?function(t,e){Xt(t,e),t.reflectivity.value=e.reflectivity,t.clearCoat.value=e.clearCoat,t.clearCoatRoughness.value=e.clearCoatRoughness}(f,n):Xt(f,n)):n.isMeshMatcapMaterial?(jt(f,n),function(t,e){e.matcap&&(t.matcap.value=e.matcap);e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,e.side===g&&(t.bumpScale.value*=-1));e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),e.side===g&&t.normalScale.value.negate());e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(f,n)):n.isMeshDepthMaterial?(jt(f,n),function(t,e){e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(f,n)):n.isMeshDistanceMaterial?(jt(f,n),function(t,e){e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias);t.referencePosition.value.copy(e.referencePosition),t.nearDistance.value=e.nearDistance,t.farDistance.value=e.farDistance}(f,n)):n.isMeshNormalMaterial?(jt(f,n),function(t,e){e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,e.side===g&&(t.bumpScale.value*=-1));e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),e.side===g&&t.normalScale.value.negate());e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(f,n)):n.isLineBasicMaterial?(function(t,e){t.diffuse.value=e.color,t.opacity.value=e.opacity}(f,n),n.isLineDashedMaterial&&function(t,e){t.dashSize.value=e.dashSize,t.totalSize.value=e.dashSize+e.gapSize,t.scale.value=e.scale}(f,n)):n.isPointsMaterial?function(t,e){t.diffuse.value=e.color,t.opacity.value=e.opacity,t.size.value=e.size*mt,t.scale.value=.5*ft,t.map.value=e.map,null!==e.map&&(!0===e.map.matrixAutoUpdate&&e.map.updateMatrix(),t.uvTransform.value.copy(e.map.matrix))}(f,n):n.isSpriteMaterial?function(t,e){t.diffuse.value=e.color,t.opacity.value=e.opacity,t.rotation.value=e.rotation,t.map.value=e.map,null!==e.map&&(!0===e.map.matrixAutoUpdate&&e.map.updateMatrix(),t.uvTransform.value.copy(e.map.matrix))}(f,n):n.isShadowMaterial&&(f.color.value=n.color,f.opacity.value=n.opacity),void 0!==f.ltc_1&&(f.ltc_1.value=an.LTC_1),void 0!==f.ltc_2&&(f.ltc_2.value=an.LTC_2),Ni.upload(b,r.uniformsList,f,$)),n.isShaderMaterial&&!0===n.uniformsNeedUpdate&&(Ni.upload(b,r.uniformsList,f,$),n.uniformsNeedUpdate=!1),n.isSpriteMaterial&&d.setValue(b,"center",i.center),d.setValue(b,"modelViewMatrix",i.modelViewMatrix),d.setValue(b,"normalMatrix",i.normalMatrix),d.setValue(b,"modelMatrix",i.matrixWorld),p}function jt(t,e){var n;t.opacity.value=e.opacity,e.color&&(t.diffuse.value=e.color),e.emissive&&t.emissive.value.copy(e.emissive).multiplyScalar(e.emissiveIntensity),e.map&&(t.map.value=e.map),e.alphaMap&&(t.alphaMap.value=e.alphaMap),e.specularMap&&(t.specularMap.value=e.specularMap),e.envMap&&(t.envMap.value=e.envMap,t.flipEnvMap.value=e.envMap&&e.envMap.isCubeTexture?-1:1,t.reflectivity.value=e.reflectivity,t.refractionRatio.value=e.refractionRatio,t.maxMipLevel.value=O.get(e.envMap).__maxMipLevel),e.lightMap&&(t.lightMap.value=e.lightMap,t.lightMapIntensity.value=e.lightMapIntensity),e.aoMap&&(t.aoMap.value=e.aoMap,t.aoMapIntensity.value=e.aoMapIntensity),e.map?n=e.map:e.specularMap?n=e.specularMap:e.displacementMap?n=e.displacementMap:e.normalMap?n=e.normalMap:e.bumpMap?n=e.bumpMap:e.roughnessMap?n=e.roughnessMap:e.metalnessMap?n=e.metalnessMap:e.alphaMap?n=e.alphaMap:e.emissiveMap&&(n=e.emissiveMap),void 0!==n&&(n.isWebGLRenderTarget&&(n=n.texture),!0===n.matrixAutoUpdate&&n.updateMatrix(),t.uvTransform.value.copy(n.matrix))}function Wt(t,e){t.specular.value=e.specular,t.shininess.value=Math.max(e.shininess,1e-4),e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap),e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,e.side===g&&(t.bumpScale.value*=-1)),e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),e.side===g&&t.normalScale.value.negate()),e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}function Xt(t,e){t.roughness.value=e.roughness,t.metalness.value=e.metalness,e.roughnessMap&&(t.roughnessMap.value=e.roughnessMap),e.metalnessMap&&(t.metalnessMap.value=e.metalnessMap),e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap),e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,e.side===g&&(t.bumpScale.value*=-1)),e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),e.side===g&&t.normalScale.value.negate()),e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias),e.envMap&&(t.envMapIntensity.value=e.envMapIntensity)}Ut.setAnimationLoop(function(t){Ct.isPresenting()||kt&&kt(t)}),"undefined"!=typeof window&&Ut.setContext(window),this.setAnimationLoop=function(t){kt=t,Ct.setAnimationLoop(t),Ut.start()},this.render=function(t,e,n,i){if(e&&e.isCamera){if(!tt){at.geometry=null,at.program=null,at.wireframe=!1,ot=-1,st=null,!0===t.autoUpdate&&t.updateMatrixWorld(),null===e.parent&&e.updateMatrixWorld(),Ct.enabled&&(e=Ct.getCamera(e)),(_=U.get(t,e)).init(),t.onBeforeRender($,t,e,n),At.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),_t.setFromMatrix(At),wt=this.localClippingEnabled,xt=bt.init(this.clippingPlanes,wt,e),(y=G.get(t,e)).init(),function t(e,n,i){if(!1===e.visible)return;var r=e.layers.test(n.layers);if(r)if(e.isLight)_.pushLight(e),e.castShadow&&_.pushShadow(e);else if(e.isSprite){if(!e.frustumCulled||_t.intersectsSprite(e)){i&&Tt.setFromMatrixPosition(e.matrixWorld).applyMatrix4(At);var o=B.update(e),a=e.material;y.push(e,o,a,Tt.z,null)}}else if(e.isImmediateRenderObject)i&&Tt.setFromMatrixPosition(e.matrixWorld).applyMatrix4(At),y.push(e,null,e.material,Tt.z,null);else if((e.isMesh||e.isLine||e.isPoints)&&(e.isSkinnedMesh&&e.skeleton.update(),!e.frustumCulled||_t.intersectsObject(e))){i&&Tt.setFromMatrixPosition(e.matrixWorld).applyMatrix4(At);var o=B.update(e),a=e.material;if(Array.isArray(a))for(var s=o.groups,u=0,l=s.length;u<l;u++){var h=s[u],c=a[h.materialIndex];c&&c.visible&&y.push(e,o,c,Tt.z,h)}else a.visible&&y.push(e,o,a,Tt.z,null)}var p=e.children;for(var u=0,l=p.length;u<l;u++)t(p[u],n,i)}(t,e,$.sortObjects),!0===$.sortObjects&&y.sort(),xt&&bt.beginShadows();var r=_.state.shadowsArray;Ot.render(r,t,e),_.setupLights(e),xt&&bt.endShadows(),this.info.autoReset&&this.info.reset(),void 0===n&&(n=null),this.setRenderTarget(n),V.render(y,t,e,i);var o=y.opaque,a=y.transparent;if(t.overrideMaterial){var s=t.overrideMaterial;o.length&&Vt(o,t,e,s),a.length&&Vt(a,t,e,s)}else o.length&&Vt(o,t,e),a.length&&Vt(a,t,e);n&&I.updateRenderTargetMipmap(n),L.buffers.depth.setTest(!0),L.buffers.depth.setMask(!0),L.buffers.color.setMask(!0),L.setPolygonOffset(!1),t.onAfterRender($,t,e),Ct.enabled&&Ct.submitFrame(),y=null,_=null}}else console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.")},this.allocTextureUnit=function(){var t=pt;return t>=w.maxTextures&&console.warn("THREE.WebGLRenderer: Trying to use "+t+" texture units while this GPU supports only "+w.maxTextures),pt+=1,t},this.setTexture2D=function(){var t=!1;return function(e,n){e&&e.isWebGLRenderTarget&&(t||(console.warn("THREE.WebGLRenderer.setTexture2D: don't use render targets as textures. Use their .texture property instead."),t=!0),e=e.texture),I.setTexture2D(e,n)}}(),this.setTexture3D=function(t,e){I.setTexture3D(t,e)},this.setTexture=function(){var t=!1;return function(e,n){t||(console.warn("THREE.WebGLRenderer: .setTexture is deprecated, use setTexture2D instead."),t=!0),I.setTexture2D(e,n)}}(),this.setTextureCube=function(){var t=!1;return function(e,n){e&&e.isWebGLRenderTargetCube&&(t||(console.warn("THREE.WebGLRenderer.setTextureCube: don't use cube render targets as textures. Use their .texture property instead."),t=!0),e=e.texture),e&&e.isCubeTexture||Array.isArray(e.image)&&6===e.image.length?I.setTextureCube(e,n):I.setTextureCubeDynamic(e,n)}}(),this.setFramebuffer=function(t){et=t},this.getRenderTarget=function(){return nt},this.setRenderTarget=function(t){nt=t,t&&void 0===O.get(t).__webglFramebuffer&&I.setupRenderTarget(t);var e=et,n=!1;if(t){var i=O.get(t).__webglFramebuffer;t.isWebGLRenderTargetCube?(e=i[t.activeCubeFace],n=!0):e=i,lt.copy(t.viewport),ht.copy(t.scissor),ct=t.scissorTest}else lt.copy(gt).multiplyScalar(mt),ht.copy(vt).multiplyScalar(mt),ct=yt;if(rt!==e&&(b.bindFramebuffer(36160,e),rt=e),L.viewport(lt),L.scissor(ht),L.setScissorTest(ct),n){var r=O.get(t.texture);b.framebufferTexture2D(36160,36064,34069+t.activeCubeFace,r.__webglTexture,t.activeMipMapLevel)}},this.readRenderTargetPixels=function(t,e,n,i,r,o){if(t&&t.isWebGLRenderTarget){var a=O.get(t).__webglFramebuffer;if(a){var s=!1;a!==rt&&(b.bindFramebuffer(36160,a),s=!0);try{var u=t.texture,l=u.format,h=u.type;if(l!==Gt&&j.convert(l)!==b.getParameter(35739))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");if(!(h===St||j.convert(h)===b.getParameter(35738)||h===Lt&&(w.isWebGL2||x.get("OES_texture_float")||x.get("WEBGL_color_buffer_float"))||h===Rt&&(w.isWebGL2?x.get("EXT_color_buffer_float"):x.get("EXT_color_buffer_half_float"))))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");36053===b.checkFramebufferStatus(36160)?e>=0&&e<=t.width-i&&n>=0&&n<=t.height-r&&b.readPixels(e,n,i,r,j.convert(l),j.convert(h),o):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{s&&b.bindFramebuffer(36160,rt)}}}else console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.")},this.copyFramebufferToTexture=function(t,e,n){var i=e.image.width,r=e.image.height,o=j.convert(e.format);this.setTexture2D(e,0),b.copyTexImage2D(3553,n||0,o,t.x,t.y,i,r,0)},this.copyTextureToTexture=function(t,e,n,i){var r=e.image.width,o=e.image.height,a=j.convert(n.format),s=j.convert(n.type);this.setTexture2D(n,0),e.isDataTexture?b.texSubImage2D(3553,i||0,t.x,t.y,r,o,a,s,e.image.data):b.texSubImage2D(3553,i||0,t.x,t.y,a,s,e.image)}}function dr(t,e){this.name="",this.color=new on(t),this.density=void 0!==e?e:25e-5}function fr(t,e,n){this.name="",this.color=new on(t),this.near=void 0!==e?e:1,this.far=void 0!==n?n:1e3}function mr(){fn.call(this),this.type="Scene",this.background=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0}function gr(t,e){this.array=t,this.stride=e,this.count=void 0!==t?t.length/e:0,this.dynamic=!1,this.updateRange={offset:0,count:-1},this.version=0}function vr(t,e,n,i){this.data=t,this.itemSize=e,this.offset=n,this.normalized=!0===i}function yr(t){Bn.call(this),this.type="SpriteMaterial",this.color=new on(16777215),this.map=null,this.rotation=0,this.sizeAttenuation=!0,this.lights=!1,this.transparent=!0,this.setValues(t)}function _r(t){if(fn.call(this),this.type="Sprite",void 0===sr){sr=new Ln;var e=new gr(new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),5);sr.setIndex([0,1,2,0,2,3]),sr.addAttribute("position",new vr(e,3,0,!1)),sr.addAttribute("uv",new vr(e,2,3,!1))}this.geometry=sr,this.material=void 0!==t?t:new yr,this.center=new Ue(.5,.5)}function br(){fn.call(this),this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]}})}function xr(t,e){if(t=t||[],this.bones=t.slice(0),this.boneMatrices=new Float32Array(16*this.bones.length),void 0===e)this.calculateInverses();else if(this.bones.length===e.length)this.boneInverses=e.slice(0);else{console.warn("THREE.Skeleton boneInverses is the wrong length."),this.boneInverses=[];for(var n=0,i=this.bones.length;n<i;n++)this.boneInverses.push(new Ve)}}function wr(){fn.call(this),this.type="Bone"}function Ar(t,e){zn.call(this,t,e),this.type="SkinnedMesh",this.bindMode="attached",this.bindMatrix=new Ve,this.bindMatrixInverse=new Ve;var n=new xr(this.initBones());this.bind(n,this.matrixWorld),this.normalizeSkinWeights()}function Sr(t){Bn.call(this),this.type="LineBasicMaterial",this.color=new on(16777215),this.linewidth=1,this.linecap="round",this.linejoin="round",this.lights=!1,this.setValues(t)}function Tr(t,e,n){1===n&&console.error("THREE.Line: parameter THREE.LinePieces no longer supported. Use THREE.LineSegments instead."),fn.call(this),this.type="Line",this.geometry=void 0!==t?t:new Ln,this.material=void 0!==e?e:new Sr({color:16777215*Math.random()})}function Er(t,e){Tr.call(this,t,e),this.type="LineSegments"}function Mr(t,e){Tr.call(this,t,e),this.type="LineLoop"}function Pr(t){Bn.call(this),this.type="PointsMaterial",this.color=new on(16777215),this.map=null,this.size=1,this.sizeAttenuation=!0,this.morphTargets=!1,this.lights=!1,this.setValues(t)}function Cr(t,e){fn.call(this),this.type="Points",this.geometry=void 0!==t?t:new Ln,this.material=void 0!==e?e:new Pr({color:16777215*Math.random()})}function Lr(t,e,n,i,r,o,a,s,u){Xe.call(this,t,e,n,i,r,o,a,s,u),this.generateMipmaps=!1}function Rr(t,e,n,i,r,o,a,s,u,l,h,c){Xe.call(this,null,o,a,s,u,l,i,r,h,c),this.image={width:e,height:n},this.mipmaps=t,this.flipY=!1,this.generateMipmaps=!1}function Or(t,e,n,i,r,o,a,s,u){Xe.call(this,t,e,n,i,r,o,a,s,u),this.needsUpdate=!0}function Ir(t,e,n,i,r,o,a,s,u,l){if((l=void 0!==l?l:Ht)!==Ht&&l!==Ft)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===n&&l===Ht&&(n=Mt),void 0===n&&l===Ft&&(n=Dt),Xe.call(this,null,i,r,o,a,s,l,n,u),this.image={width:t,height:e},this.magFilter=void 0!==a?a:yt,this.minFilter=void 0!==s?s:yt,this.flipY=!1,this.generateMipmaps=!1}function Nr(t){Ln.call(this),this.type="WireframeGeometry";var e,n,i,r,o,a,s,u,l,h,c=[],p=[0,0],d={},f=["a","b","c"];if(t&&t.isGeometry){var m=t.faces;for(e=0,i=m.length;e<i;e++){var g=m[e];for(n=0;n<3;n++)s=g[f[n]],u=g[f[(n+1)%3]],p[0]=Math.min(s,u),p[1]=Math.max(s,u),void 0===d[l=p[0]+","+p[1]]&&(d[l]={index1:p[0],index2:p[1]})}for(l in d)a=d[l],h=t.vertices[a.index1],c.push(h.x,h.y,h.z),h=t.vertices[a.index2],c.push(h.x,h.y,h.z)}else if(t&&t.isBufferGeometry){var v,y,_,b,x,w,A;if(h=new He,null!==t.index){for(v=t.attributes.position,y=t.index,0===(_=t.groups).length&&(_=[{start:0,count:y.count,materialIndex:0}]),r=0,o=_.length;r<o;++r)for(e=x=(b=_[r]).start,i=x+b.count;e<i;e+=3)for(n=0;n<3;n++)s=y.getX(e+n),u=y.getX(e+(n+1)%3),p[0]=Math.min(s,u),p[1]=Math.max(s,u),void 0===d[l=p[0]+","+p[1]]&&(d[l]={index1:p[0],index2:p[1]});for(l in d)a=d[l],h.fromBufferAttribute(v,a.index1),c.push(h.x,h.y,h.z),h.fromBufferAttribute(v,a.index2),c.push(h.x,h.y,h.z)}else for(e=0,i=(v=t.attributes.position).count/3;e<i;e++)for(n=0;n<3;n++)w=3*e+n,h.fromBufferAttribute(v,w),c.push(h.x,h.y,h.z),A=3*e+(n+1)%3,h.fromBufferAttribute(v,A),c.push(h.x,h.y,h.z)}this.addAttribute("position",new Tn(c,3))}function Dr(t,e,n){gn.call(this),this.type="ParametricGeometry",this.parameters={func:t,slices:e,stacks:n},this.fromBufferGeometry(new Br(t,e,n)),this.mergeVertices()}function Br(t,e,n){Ln.call(this),this.type="ParametricBufferGeometry",this.parameters={func:t,slices:e,stacks:n};var i,r,o=[],a=[],s=[],u=[],l=new He,h=new He,c=new He,p=new He,d=new He;t.length<3&&console.error("THREE.ParametricGeometry: Function must now modify a Vector3 as third parameter.");var f=e+1;for(i=0;i<=n;i++){var m=i/n;for(r=0;r<=e;r++){var g=r/e;t(g,m,h),a.push(h.x,h.y,h.z),g-1e-5>=0?(t(g-1e-5,m,c),p.subVectors(h,c)):(t(g+1e-5,m,c),p.subVectors(c,h)),m-1e-5>=0?(t(g,m-1e-5,c),d.subVectors(h,c)):(t(g,m+1e-5,c),d.subVectors(c,h)),l.crossVectors(p,d).normalize(),s.push(l.x,l.y,l.z),u.push(g,m)}}for(i=0;i<n;i++)for(r=0;r<e;r++){var v=i*f+r,y=i*f+r+1,_=(i+1)*f+r+1,b=(i+1)*f+r;o.push(v,y,b),o.push(y,_,b)}this.setIndex(o),this.addAttribute("position",new Tn(a,3)),this.addAttribute("normal",new Tn(s,3)),this.addAttribute("uv",new Tn(u,2))}function kr(t,e,n,i){gn.call(this),this.type="PolyhedronGeometry",this.parameters={vertices:t,indices:e,radius:n,detail:i},this.fromBufferGeometry(new Gr(t,e,n,i)),this.mergeVertices()}function Gr(t,e,n,i){Ln.call(this),this.type="PolyhedronBufferGeometry",this.parameters={vertices:t,indices:e,radius:n,detail:i},n=n||1;var r=[],o=[];function a(t,e,n,i){var r,o,a=Math.pow(2,i),u=[];for(r=0;r<=a;r++){u[r]=[];var l=t.clone().lerp(n,r/a),h=e.clone().lerp(n,r/a),c=a-r;for(o=0;o<=c;o++)u[r][o]=0===o&&r===a?l:l.clone().lerp(h,o/c)}for(r=0;r<a;r++)for(o=0;o<2*(a-r)-1;o++){var p=Math.floor(o/2);o%2==0?(s(u[r][p+1]),s(u[r+1][p]),s(u[r][p])):(s(u[r][p+1]),s(u[r+1][p+1]),s(u[r+1][p]))}}function s(t){r.push(t.x,t.y,t.z)}function u(e,n){var i=3*e;n.x=t[i+0],n.y=t[i+1],n.z=t[i+2]}function l(t,e,n,i){i<0&&1===t.x&&(o[e]=t.x-1),0===n.x&&0===n.z&&(o[e]=i/2/Math.PI+.5)}function h(t){return Math.atan2(t.z,-t.x)}function c(t){return Math.atan2(-t.y,Math.sqrt(t.x*t.x+t.z*t.z))}!function(t){for(var n=new He,i=new He,r=new He,o=0;o<e.length;o+=3)u(e[o+0],n),u(e[o+1],i),u(e[o+2],r),a(n,i,r,t)}(i=i||0),function(t){for(var e=new He,n=0;n<r.length;n+=3)e.x=r[n+0],e.y=r[n+1],e.z=r[n+2],e.normalize().multiplyScalar(t),r[n+0]=e.x,r[n+1]=e.y,r[n+2]=e.z}(n),function(){for(var t=new He,e=0;e<r.length;e+=3){t.x=r[e+0],t.y=r[e+1],t.z=r[e+2];var n=h(t)/2/Math.PI+.5,i=c(t)/Math.PI+.5;o.push(n,1-i)}(function(){for(var t=new He,e=new He,n=new He,i=new He,a=new Ue,s=new Ue,u=new Ue,c=0,p=0;c<r.length;c+=9,p+=6){t.set(r[c+0],r[c+1],r[c+2]),e.set(r[c+3],r[c+4],r[c+5]),n.set(r[c+6],r[c+7],r[c+8]),a.set(o[p+0],o[p+1]),s.set(o[p+2],o[p+3]),u.set(o[p+4],o[p+5]),i.copy(t).add(e).add(n).divideScalar(3);var d=h(i);l(a,p+0,t,d),l(s,p+2,e,d),l(u,p+4,n,d)}})(),function(){for(var t=0;t<o.length;t+=6){var e=o[t+0],n=o[t+2],i=o[t+4],r=Math.max(e,n,i),a=Math.min(e,n,i);r>.9&&a<.1&&(e<.2&&(o[t+0]+=1),n<.2&&(o[t+2]+=1),i<.2&&(o[t+4]+=1))}}()}(),this.addAttribute("position",new Tn(r,3)),this.addAttribute("normal",new Tn(r.slice(),3)),this.addAttribute("uv",new Tn(o,2)),0===i?this.computeVertexNormals():this.normalizeNormals()}function Ur(t,e){gn.call(this),this.type="TetrahedronGeometry",this.parameters={radius:t,detail:e},this.fromBufferGeometry(new Vr(t,e)),this.mergeVertices()}function Vr(t,e){Gr.call(this,[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],[2,1,0,0,3,2,1,3,0,2,3,1],t,e),this.type="TetrahedronBufferGeometry",this.parameters={radius:t,detail:e}}function zr(t,e){gn.call(this),this.type="OctahedronGeometry",this.parameters={radius:t,detail:e},this.fromBufferGeometry(new Hr(t,e)),this.mergeVertices()}function Hr(t,e){Gr.call(this,[1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2],t,e),this.type="OctahedronBufferGeometry",this.parameters={radius:t,detail:e}}function Fr(t,e){gn.call(this),this.type="IcosahedronGeometry",this.parameters={radius:t,detail:e},this.fromBufferGeometry(new jr(t,e)),this.mergeVertices()}function jr(t,e){var n=(1+Math.sqrt(5))/2,i=[-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];Gr.call(this,i,[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],t,e),this.type="IcosahedronBufferGeometry",this.parameters={radius:t,detail:e}}function Wr(t,e){gn.call(this),this.type="DodecahedronGeometry",this.parameters={radius:t,detail:e},this.fromBufferGeometry(new Xr(t,e)),this.mergeVertices()}function Xr(t,e){var n=(1+Math.sqrt(5))/2,i=1/n,r=[-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,-n,0,-i,n,0,i,-n,0,i,n,-i,-n,0,-i,n,0,i,-n,0,i,n,0,-n,0,-i,n,0,-i,-n,0,i,n,0,i];Gr.call(this,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],t,e),this.type="DodecahedronBufferGeometry",this.parameters={radius:t,detail:e}}function Yr(t,e,n,i,r,o){gn.call(this),this.type="TubeGeometry",this.parameters={path:t,tubularSegments:e,radius:n,radialSegments:i,closed:r},void 0!==o&&console.warn("THREE.TubeGeometry: taper has been removed.");var a=new Kr(t,e,n,i,r);this.tangents=a.tangents,this.normals=a.normals,this.binormals=a.binormals,this.fromBufferGeometry(a),this.mergeVertices()}function Kr(t,e,n,i,r){Ln.call(this),this.type="TubeBufferGeometry",this.parameters={path:t,tubularSegments:e,radius:n,radialSegments:i,closed:r},e=e||64,n=n||1,i=i||8,r=r||!1;var o=t.computeFrenetFrames(e,r);this.tangents=o.tangents,this.normals=o.normals,this.binormals=o.binormals;var a,s,u=new He,l=new He,h=new Ue,c=new He,p=[],d=[],f=[],m=[];function g(r){c=t.getPointAt(r/e,c);var a=o.normals[r],h=o.binormals[r];for(s=0;s<=i;s++){var f=s/i*Math.PI*2,m=Math.sin(f),g=-Math.cos(f);l.x=g*a.x+m*h.x,l.y=g*a.y+m*h.y,l.z=g*a.z+m*h.z,l.normalize(),d.push(l.x,l.y,l.z),u.x=c.x+n*l.x,u.y=c.y+n*l.y,u.z=c.z+n*l.z,p.push(u.x,u.y,u.z)}}!function(){for(a=0;a<e;a++)g(a);g(!1===r?e:0),function(){for(a=0;a<=e;a++)for(s=0;s<=i;s++)h.x=a/e,h.y=s/i,f.push(h.x,h.y)}(),function(){for(s=1;s<=e;s++)for(a=1;a<=i;a++){var t=(i+1)*(s-1)+(a-1),n=(i+1)*s+(a-1),r=(i+1)*s+a,o=(i+1)*(s-1)+a;m.push(t,n,o),m.push(n,r,o)}}()}(),this.setIndex(m),this.addAttribute("position",new Tn(p,3)),this.addAttribute("normal",new Tn(d,3)),this.addAttribute("uv",new Tn(f,2))}function Zr(t,e,n,i,r,o,a){gn.call(this),this.type="TorusKnotGeometry",this.parameters={radius:t,tube:e,tubularSegments:n,radialSegments:i,p:r,q:o},void 0!==a&&console.warn("THREE.TorusKnotGeometry: heightScale has been deprecated. Use .scale( x, y, z ) instead."),this.fromBufferGeometry(new qr(t,e,n,i,r,o)),this.mergeVertices()}function qr(t,e,n,i,r,o){Ln.call(this),this.type="TorusKnotBufferGeometry",this.parameters={radius:t,tube:e,tubularSegments:n,radialSegments:i,p:r,q:o},t=t||1,e=e||.4,n=Math.floor(n)||64,i=Math.floor(i)||8,r=r||2,o=o||3;var a,s,u=[],l=[],h=[],c=[],p=new He,d=new He,f=new He,m=new He,g=new He,v=new He,y=new He;for(a=0;a<=n;++a){var _=a/n*r*Math.PI*2;for(M(_,r,o,t,f),M(_+.01,r,o,t,m),v.subVectors(m,f),y.addVectors(m,f),g.crossVectors(v,y),y.crossVectors(g,v),g.normalize(),y.normalize(),s=0;s<=i;++s){var b=s/i*Math.PI*2,x=-e*Math.cos(b),w=e*Math.sin(b);p.x=f.x+(x*y.x+w*g.x),p.y=f.y+(x*y.y+w*g.y),p.z=f.z+(x*y.z+w*g.z),l.push(p.x,p.y,p.z),d.subVectors(p,f).normalize(),h.push(d.x,d.y,d.z),c.push(a/n),c.push(s/i)}}for(s=1;s<=n;s++)for(a=1;a<=i;a++){var A=(i+1)*(s-1)+(a-1),S=(i+1)*s+(a-1),T=(i+1)*s+a,E=(i+1)*(s-1)+a;u.push(A,S,E),u.push(S,T,E)}function M(t,e,n,i,r){var o=Math.cos(t),a=Math.sin(t),s=n/e*t,u=Math.cos(s);r.x=i*(2+u)*.5*o,r.y=i*(2+u)*a*.5,r.z=i*Math.sin(s)*.5}this.setIndex(u),this.addAttribute("position",new Tn(l,3)),this.addAttribute("normal",new Tn(h,3)),this.addAttribute("uv",new Tn(c,2))}function Qr(t,e,n,i,r){gn.call(this),this.type="TorusGeometry",this.parameters={radius:t,tube:e,radialSegments:n,tubularSegments:i,arc:r},this.fromBufferGeometry(new Jr(t,e,n,i,r)),this.mergeVertices()}function Jr(t,e,n,i,r){Ln.call(this),this.type="TorusBufferGeometry",this.parameters={radius:t,tube:e,radialSegments:n,tubularSegments:i,arc:r},t=t||1,e=e||.4,n=Math.floor(n)||8,i=Math.floor(i)||6,r=r||2*Math.PI;var o,a,s=[],u=[],l=[],h=[],c=new He,p=new He,d=new He;for(o=0;o<=n;o++)for(a=0;a<=i;a++){var f=a/i*r,m=o/n*Math.PI*2;p.x=(t+e*Math.cos(m))*Math.cos(f),p.y=(t+e*Math.cos(m))*Math.sin(f),p.z=e*Math.sin(m),u.push(p.x,p.y,p.z),c.x=t*Math.cos(f),c.y=t*Math.sin(f),d.subVectors(p,c).normalize(),l.push(d.x,d.y,d.z),h.push(a/i),h.push(o/n)}for(o=1;o<=n;o++)for(a=1;a<=i;a++){var g=(i+1)*o+a-1,v=(i+1)*(o-1)+a-1,y=(i+1)*(o-1)+a,_=(i+1)*o+a;s.push(g,v,_),s.push(v,y,_)}this.setIndex(s),this.addAttribute("position",new Tn(u,3)),this.addAttribute("normal",new Tn(l,3)),this.addAttribute("uv",new Tn(h,2))}dr.prototype.isFogExp2=!0,dr.prototype.clone=function(){return new dr(this.color,this.density)},dr.prototype.toJSON=function(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}},fr.prototype.isFog=!0,fr.prototype.clone=function(){return new fr(this.color,this.near,this.far)},fr.prototype.toJSON=function(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}},mr.prototype=Object.assign(Object.create(fn.prototype),{constructor:mr,copy:function(t,e){return fn.prototype.copy.call(this,t,e),null!==t.background&&(this.background=t.background.clone()),null!==t.fog&&(this.fog=t.fog.clone()),null!==t.overrideMaterial&&(this.overrideMaterial=t.overrideMaterial.clone()),this.autoUpdate=t.autoUpdate,this.matrixAutoUpdate=t.matrixAutoUpdate,this},toJSON:function(t){var e=fn.prototype.toJSON.call(this,t);return null!==this.background&&(e.object.background=this.background.toJSON(t)),null!==this.fog&&(e.object.fog=this.fog.toJSON()),e}}),Object.defineProperty(gr.prototype,"needsUpdate",{set:function(t){!0===t&&this.version++}}),Object.assign(gr.prototype,{isInterleavedBuffer:!0,onUploadCallback:function(){},setArray:function(t){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");return this.count=void 0!==t?t.length/this.stride:0,this.array=t,this},setDynamic:function(t){return this.dynamic=t,this},copy:function(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.dynamic=t.dynamic,this},copyAt:function(t,e,n){t*=this.stride,n*=e.stride;for(var i=0,r=this.stride;i<r;i++)this.array[t+i]=e.array[n+i];return this},set:function(t,e){return void 0===e&&(e=0),this.array.set(t,e),this},clone:function(){return(new this.constructor).copy(this)},onUpload:function(t){return this.onUploadCallback=t,this}}),Object.defineProperties(vr.prototype,{count:{get:function(){return this.data.count}},array:{get:function(){return this.data.array}}}),Object.assign(vr.prototype,{isInterleavedBufferAttribute:!0,setX:function(t,e){return this.data.array[t*this.data.stride+this.offset]=e,this},setY:function(t,e){return this.data.array[t*this.data.stride+this.offset+1]=e,this},setZ:function(t,e){return this.data.array[t*this.data.stride+this.offset+2]=e,this},setW:function(t,e){return this.data.array[t*this.data.stride+this.offset+3]=e,this},getX:function(t){return this.data.array[t*this.data.stride+this.offset]},getY:function(t){return this.data.array[t*this.data.stride+this.offset+1]},getZ:function(t){return this.data.array[t*this.data.stride+this.offset+2]},getW:function(t){return this.data.array[t*this.data.stride+this.offset+3]},setXY:function(t,e,n){return t=t*this.data.stride+this.offset,this.data.array[t+0]=e,this.data.array[t+1]=n,this},setXYZ:function(t,e,n,i){return t=t*this.data.stride+this.offset,this.data.array[t+0]=e,this.data.array[t+1]=n,this.data.array[t+2]=i,this},setXYZW:function(t,e,n,i,r){return t=t*this.data.stride+this.offset,this.data.array[t+0]=e,this.data.array[t+1]=n,this.data.array[t+2]=i,this.data.array[t+3]=r,this}}),yr.prototype=Object.create(Bn.prototype),yr.prototype.constructor=yr,yr.prototype.isSpriteMaterial=!0,yr.prototype.copy=function(t){return Bn.prototype.copy.call(this,t),this.color.copy(t.color),this.map=t.map,this.rotation=t.rotation,this.sizeAttenuation=t.sizeAttenuation,this},_r.prototype=Object.assign(Object.create(fn.prototype),{constructor:_r,isSprite:!0,raycast:function(){var t=new He,e=new He,n=new He,i=new Ue,r=new Ue,o=new Ve,a=new He,s=new He,u=new He,l=new Ue,h=new Ue,c=new Ue;function p(t,e,n,a,s,u){i.subVectors(t,n).addScalar(.5).multiply(a),void 0!==s?(r.x=u*i.x-s*i.y,r.y=s*i.x+u*i.y):r.copy(i),t.copy(e),t.x+=r.x,t.y+=r.y,t.applyMatrix4(o)}return function(i,r){e.setFromMatrixScale(this.matrixWorld),o.getInverse(this.modelViewMatrix).premultiply(this.matrixWorld),n.setFromMatrixPosition(this.modelViewMatrix);var d,f,m=this.material.rotation;0!==m&&(f=Math.cos(m),d=Math.sin(m));var g=this.center;p(a.set(-.5,-.5,0),n,g,e,d,f),p(s.set(.5,-.5,0),n,g,e,d,f),p(u.set(.5,.5,0),n,g,e,d,f),l.set(0,0),h.set(1,0),c.set(1,1);var v=i.ray.intersectTriangle(a,s,u,!1,t);if(null!==v||(p(s.set(-.5,.5,0),n,g,e,d,f),h.set(0,1),null!==(v=i.ray.intersectTriangle(a,u,s,!1,t)))){var y=i.ray.origin.distanceTo(t);y<i.near||y>i.far||r.push({distance:y,point:t.clone(),uv:Un.getUV(t,a,s,u,l,h,c,new Ue),face:null,object:this})}}}(),clone:function(){return new this.constructor(this.material).copy(this)},copy:function(t){return fn.prototype.copy.call(this,t),void 0!==t.center&&this.center.copy(t.center),this}}),br.prototype=Object.assign(Object.create(fn.prototype),{constructor:br,copy:function(t){fn.prototype.copy.call(this,t,!1);for(var e=t.levels,n=0,i=e.length;n<i;n++){var r=e[n];this.addLevel(r.object.clone(),r.distance)}return this},addLevel:function(t,e){void 0===e&&(e=0),e=Math.abs(e);for(var n=this.levels,i=0;i<n.length&&!(e<n[i].distance);i++);n.splice(i,0,{distance:e,object:t}),this.add(t)},getObjectForDistance:function(t){for(var e=this.levels,n=1,i=e.length;n<i&&!(t<e[n].distance);n++);return e[n-1].object},raycast:function(){var t=new He;return function(e,n){t.setFromMatrixPosition(this.matrixWorld);var i=e.ray.origin.distanceTo(t);this.getObjectForDistance(i).raycast(e,n)}}(),update:function(){var t=new He,e=new He;return function(n){var i=this.levels;if(i.length>1){t.setFromMatrixPosition(n.matrixWorld),e.setFromMatrixPosition(this.matrixWorld);var r=t.distanceTo(e);i[0].object.visible=!0;for(var o=1,a=i.length;o<a&&r>=i[o].distance;o++)i[o-1].object.visible=!1,i[o].object.visible=!0;for(;o<a;o++)i[o].object.visible=!1}}}(),toJSON:function(t){var e=fn.prototype.toJSON.call(this,t);e.object.levels=[];for(var n=this.levels,i=0,r=n.length;i<r;i++){var o=n[i];e.object.levels.push({object:o.object.uuid,distance:o.distance})}return e}}),Object.assign(xr.prototype,{calculateInverses:function(){this.boneInverses=[];for(var t=0,e=this.bones.length;t<e;t++){var n=new Ve;this.bones[t]&&n.getInverse(this.bones[t].matrixWorld),this.boneInverses.push(n)}},pose:function(){var t,e,n;for(e=0,n=this.bones.length;e<n;e++)(t=this.bones[e])&&t.matrixWorld.getInverse(this.boneInverses[e]);for(e=0,n=this.bones.length;e<n;e++)(t=this.bones[e])&&(t.parent&&t.parent.isBone?(t.matrix.getInverse(t.parent.matrixWorld),t.matrix.multiply(t.matrixWorld)):t.matrix.copy(t.matrixWorld),t.matrix.decompose(t.position,t.quaternion,t.scale))},update:function(){var t=new Ve,e=new Ve;return function(){for(var n=this.bones,i=this.boneInverses,r=this.boneMatrices,o=this.boneTexture,a=0,s=n.length;a<s;a++){var u=n[a]?n[a].matrixWorld:e;t.multiplyMatrices(u,i[a]),t.toArray(r,16*a)}void 0!==o&&(o.needsUpdate=!0)}}(),clone:function(){return new xr(this.bones,this.boneInverses)},getBoneByName:function(t){for(var e=0,n=this.bones.length;e<n;e++){var i=this.bones[e];if(i.name===t)return i}}}),wr.prototype=Object.assign(Object.create(fn.prototype),{constructor:wr,isBone:!0}),Ar.prototype=Object.assign(Object.create(zn.prototype),{constructor:Ar,isSkinnedMesh:!0,initBones:function(){var t,e,n,i,r=[];if(this.geometry&&void 0!==this.geometry.bones){for(n=0,i=this.geometry.bones.length;n<i;n++)e=this.geometry.bones[n],t=new wr,r.push(t),t.name=e.name,t.position.fromArray(e.pos),t.quaternion.fromArray(e.rotq),void 0!==e.scl&&t.scale.fromArray(e.scl);for(n=0,i=this.geometry.bones.length;n<i;n++)-1!==(e=this.geometry.bones[n]).parent&&null!==e.parent&&void 0!==r[e.parent]?r[e.parent].add(r[n]):this.add(r[n])}return this.updateMatrixWorld(!0),r},bind:function(t,e){this.skeleton=t,void 0===e&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),e=this.matrixWorld),this.bindMatrix.copy(e),this.bindMatrixInverse.getInverse(e)},pose:function(){this.skeleton.pose()},normalizeSkinWeights:function(){var t,e;if(this.geometry&&this.geometry.isGeometry)for(e=0;e<this.geometry.skinWeights.length;e++){var n=this.geometry.skinWeights[e];(t=1/n.manhattanLength())!==1/0?n.multiplyScalar(t):n.set(1,0,0,0)}else if(this.geometry&&this.geometry.isBufferGeometry){var i=new Ye,r=this.geometry.attributes.skinWeight;for(e=0;e<r.count;e++)i.x=r.getX(e),i.y=r.getY(e),i.z=r.getZ(e),i.w=r.getW(e),(t=1/i.manhattanLength())!==1/0?i.multiplyScalar(t):i.set(1,0,0,0),r.setXYZW(e,i.x,i.y,i.z,i.w)}},updateMatrixWorld:function(t){zn.prototype.updateMatrixWorld.call(this,t),"attached"===this.bindMode?this.bindMatrixInverse.getInverse(this.matrixWorld):"detached"===this.bindMode?this.bindMatrixInverse.getInverse(this.bindMatrix):console.warn("THREE.SkinnedMesh: Unrecognized bindMode: "+this.bindMode)},clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),Sr.prototype=Object.create(Bn.prototype),Sr.prototype.constructor=Sr,Sr.prototype.isLineBasicMaterial=!0,Sr.prototype.copy=function(t){return Bn.prototype.copy.call(this,t),this.color.copy(t.color),this.linewidth=t.linewidth,this.linecap=t.linecap,this.linejoin=t.linejoin,this},Tr.prototype=Object.assign(Object.create(fn.prototype),{constructor:Tr,isLine:!0,computeLineDistances:function(){var t=new He,e=new He;return function(){var n=this.geometry;if(n.isBufferGeometry)if(null===n.index){for(var i=n.attributes.position,r=[0],o=1,a=i.count;o<a;o++)t.fromBufferAttribute(i,o-1),e.fromBufferAttribute(i,o),r[o]=r[o-1],r[o]+=t.distanceTo(e);n.addAttribute("lineDistance",new Tn(r,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");else if(n.isGeometry){var s=n.vertices;(r=n.lineDistances)[0]=0;for(o=1,a=s.length;o<a;o++)r[o]=r[o-1],r[o]+=s[o-1].distanceTo(s[o])}return this}}(),raycast:function(){var t=new Ve,e=new Gn,n=new Je;return function(i,r){var o=i.linePrecision,a=this.geometry,s=this.matrixWorld;if(null===a.boundingSphere&&a.computeBoundingSphere(),n.copy(a.boundingSphere),n.applyMatrix4(s),n.radius+=o,!1!==i.ray.intersectsSphere(n)){t.getInverse(s),e.copy(i.ray).applyMatrix4(t);var u=o/((this.scale.x+this.scale.y+this.scale.z)/3),l=u*u,h=new He,c=new He,p=new He,d=new He,f=this&&this.isLineSegments?2:1;if(a.isBufferGeometry){var m=a.index,g=a.attributes.position.array;if(null!==m)for(var v=m.array,y=0,_=v.length-1;y<_;y+=f){var b=v[y],x=v[y+1];if(h.fromArray(g,3*b),c.fromArray(g,3*x),!(e.distanceSqToSegment(h,c,d,p)>l))d.applyMatrix4(this.matrixWorld),(S=i.ray.origin.distanceTo(d))<i.near||S>i.far||r.push({distance:S,point:p.clone().applyMatrix4(this.matrixWorld),index:y,face:null,faceIndex:null,object:this})}else for(y=0,_=g.length/3-1;y<_;y+=f){if(h.fromArray(g,3*y),c.fromArray(g,3*y+3),!(e.distanceSqToSegment(h,c,d,p)>l))d.applyMatrix4(this.matrixWorld),(S=i.ray.origin.distanceTo(d))<i.near||S>i.far||r.push({distance:S,point:p.clone().applyMatrix4(this.matrixWorld),index:y,face:null,faceIndex:null,object:this})}}else if(a.isGeometry){var w=a.vertices,A=w.length;for(y=0;y<A-1;y+=f){var S;if(!(e.distanceSqToSegment(w[y],w[y+1],d,p)>l))d.applyMatrix4(this.matrixWorld),(S=i.ray.origin.distanceTo(d))<i.near||S>i.far||r.push({distance:S,point:p.clone().applyMatrix4(this.matrixWorld),index:y,face:null,faceIndex:null,object:this})}}}}}(),copy:function(t){return fn.prototype.copy.call(this,t),this.geometry.copy(t.geometry),this.material.copy(t.material),this},clone:function(){return(new this.constructor).copy(this)}}),Er.prototype=Object.assign(Object.create(Tr.prototype),{constructor:Er,isLineSegments:!0,computeLineDistances:function(){var t=new He,e=new He;return function(){var n=this.geometry;if(n.isBufferGeometry)if(null===n.index){for(var i=n.attributes.position,r=[],o=0,a=i.count;o<a;o+=2)t.fromBufferAttribute(i,o),e.fromBufferAttribute(i,o+1),r[o]=0===o?0:r[o-1],r[o+1]=r[o]+t.distanceTo(e);n.addAttribute("lineDistance",new Tn(r,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");else if(n.isGeometry){var s=n.vertices;for(r=n.lineDistances,o=0,a=s.length;o<a;o+=2)t.copy(s[o]),e.copy(s[o+1]),r[o]=0===o?0:r[o-1],r[o+1]=r[o]+t.distanceTo(e)}return this}}()}),Mr.prototype=Object.assign(Object.create(Tr.prototype),{constructor:Mr,isLineLoop:!0}),Pr.prototype=Object.create(Bn.prototype),Pr.prototype.constructor=Pr,Pr.prototype.isPointsMaterial=!0,Pr.prototype.copy=function(t){return Bn.prototype.copy.call(this,t),this.color.copy(t.color),this.map=t.map,this.size=t.size,this.sizeAttenuation=t.sizeAttenuation,this.morphTargets=t.morphTargets,this},Cr.prototype=Object.assign(Object.create(fn.prototype),{constructor:Cr,isPoints:!0,raycast:function(){var t=new Ve,e=new Gn,n=new Je;return function(i,r){var o=this,a=this.geometry,s=this.matrixWorld,u=i.params.Points.threshold;if(null===a.boundingSphere&&a.computeBoundingSphere(),n.copy(a.boundingSphere),n.applyMatrix4(s),n.radius+=u,!1!==i.ray.intersectsSphere(n)){t.getInverse(s),e.copy(i.ray).applyMatrix4(t);var l=u/((this.scale.x+this.scale.y+this.scale.z)/3),h=l*l,c=new He,p=new He;if(a.isBufferGeometry){var d=a.index,f=a.attributes.position.array;if(null!==d)for(var m=d.array,g=0,v=m.length;g<v;g++){var y=m[g];c.fromArray(f,3*y),x(c,y)}else{g=0;for(var _=f.length/3;g<_;g++)c.fromArray(f,3*g),x(c,g)}}else{var b=a.vertices;for(g=0,_=b.length;g<_;g++)x(b[g],g)}}function x(t,n){var a=e.distanceSqToPoint(t);if(a<h){e.closestPointToPoint(t,p),p.applyMatrix4(s);var u=i.ray.origin.distanceTo(p);if(u<i.near||u>i.far)return;r.push({distance:u,distanceToRay:Math.sqrt(a),point:p.clone(),index:n,face:null,object:o})}}}}(),clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),Lr.prototype=Object.assign(Object.create(Xe.prototype),{constructor:Lr,isVideoTexture:!0,update:function(){var t=this.image;t.readyState>=t.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}),Rr.prototype=Object.create(Xe.prototype),Rr.prototype.constructor=Rr,Rr.prototype.isCompressedTexture=!0,Or.prototype=Object.create(Xe.prototype),Or.prototype.constructor=Or,Or.prototype.isCanvasTexture=!0,Ir.prototype=Object.create(Xe.prototype),Ir.prototype.constructor=Ir,Ir.prototype.isDepthTexture=!0,Nr.prototype=Object.create(Ln.prototype),Nr.prototype.constructor=Nr,Dr.prototype=Object.create(gn.prototype),Dr.prototype.constructor=Dr,Br.prototype=Object.create(Ln.prototype),Br.prototype.constructor=Br,kr.prototype=Object.create(gn.prototype),kr.prototype.constructor=kr,Gr.prototype=Object.create(Ln.prototype),Gr.prototype.constructor=Gr,Ur.prototype=Object.create(gn.prototype),Ur.prototype.constructor=Ur,Vr.prototype=Object.create(Gr.prototype),Vr.prototype.constructor=Vr,zr.prototype=Object.create(gn.prototype),zr.prototype.constructor=zr,Hr.prototype=Object.create(Gr.prototype),Hr.prototype.constructor=Hr,Fr.prototype=Object.create(gn.prototype),Fr.prototype.constructor=Fr,jr.prototype=Object.create(Gr.prototype),jr.prototype.constructor=jr,Wr.prototype=Object.create(gn.prototype),Wr.prototype.constructor=Wr,Xr.prototype=Object.create(Gr.prototype),Xr.prototype.constructor=Xr,Yr.prototype=Object.create(gn.prototype),Yr.prototype.constructor=Yr,Kr.prototype=Object.create(Ln.prototype),Kr.prototype.constructor=Kr,Zr.prototype=Object.create(gn.prototype),Zr.prototype.constructor=Zr,qr.prototype=Object.create(Ln.prototype),qr.prototype.constructor=qr,Qr.prototype=Object.create(gn.prototype),Qr.prototype.constructor=Qr,Jr.prototype=Object.create(Ln.prototype),Jr.prototype.constructor=Jr;var $r=function(t,e,n){n=n||2;var i,r,o,a,s,u,l,h=e&&e.length,c=h?e[0]*n:t.length,p=to(t,0,c,n,!0),d=[];if(!p)return d;if(h&&(p=function(t,e,n,i){var r,o,a,s,u,l=[];for(r=0,o=e.length;r<o;r++)a=e[r]*i,s=r<o-1?e[r+1]*i:t.length,(u=to(t,a,s,i,!1))===u.next&&(u.steiner=!0),l.push(ho(u));for(l.sort(so),r=0;r<l.length;r++)uo(l[r],n),n=eo(n,n.next);return n}(t,e,p,n)),t.length>80*n){i=o=t[0],r=a=t[1];for(var f=n;f<c;f+=n)s=t[f],u=t[f+1],s<i&&(i=s),u<r&&(r=u),s>o&&(o=s),u>a&&(a=u);l=0!==(l=Math.max(o-i,a-r))?1/l:0}return no(p,d,n,i,r,l),d};function to(t,e,n,i,r){var o,a;if(r===function(t,e,n,i){for(var r=0,o=e,a=n-i;o<n;o+=i)r+=(t[a]-t[o])*(t[o+1]+t[a+1]),a=o;return r}(t,e,n,i)>0)for(o=e;o<n;o+=i)a=_o(o,t[o],t[o+1],a);else for(o=n-i;o>=e;o-=i)a=_o(o,t[o],t[o+1],a);return a&&mo(a,a.next)&&(bo(a),a=a.next),a}function eo(t,e){if(!t)return t;e||(e=t);var n,i=t;do{if(n=!1,i.steiner||!mo(i,i.next)&&0!==fo(i.prev,i,i.next))i=i.next;else{if(bo(i),(i=e=i.prev)===i.next)break;n=!0}}while(n||i!==e);return e}function no(t,e,n,i,r,o,a){if(t){!a&&o&&function(t,e,n,i){var r=t;do{null===r.z&&(r.z=lo(r.x,r.y,e,n,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,function(t){var e,n,i,r,o,a,s,u,l=1;do{for(n=t,t=null,o=null,a=0;n;){for(a++,i=n,s=0,e=0;e<l&&(s++,i=i.nextZ);e++);for(u=l;s>0||u>0&&i;)0!==s&&(0===u||!i||n.z<=i.z)?(r=n,n=n.nextZ,s--):(r=i,i=i.nextZ,u--),o?o.nextZ=r:t=r,r.prevZ=o,o=r;n=i}o.nextZ=null,l*=2}while(a>1)}(r)}(t,i,r,o);for(var s,u,l=t;t.prev!==t.next;)if(s=t.prev,u=t.next,o?ro(t,i,r,o):io(t))e.push(s.i/n),e.push(t.i/n),e.push(u.i/n),bo(t),t=u.next,l=u.next;else if((t=u)===l){a?1===a?no(t=oo(t,e,n),e,n,i,r,o,2):2===a&&ao(t,e,n,i,r,o):no(eo(t),e,n,i,r,o,1);break}}}function io(t){var e=t.prev,n=t,i=t.next;if(fo(e,n,i)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(co(e.x,e.y,n.x,n.y,i.x,i.y,r.x,r.y)&&fo(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function ro(t,e,n,i){var r=t.prev,o=t,a=t.next;if(fo(r,o,a)>=0)return!1;for(var s=r.x<o.x?r.x<a.x?r.x:a.x:o.x<a.x?o.x:a.x,u=r.y<o.y?r.y<a.y?r.y:a.y:o.y<a.y?o.y:a.y,l=r.x>o.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,h=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,c=lo(s,u,e,n,i),p=lo(l,h,e,n,i),d=t.nextZ;d&&d.z<=p;){if(d!==t.prev&&d!==t.next&&co(r.x,r.y,o.x,o.y,a.x,a.y,d.x,d.y)&&fo(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(d=t.prevZ;d&&d.z>=c;){if(d!==t.prev&&d!==t.next&&co(r.x,r.y,o.x,o.y,a.x,a.y,d.x,d.y)&&fo(d.prev,d,d.next)>=0)return!1;d=d.prevZ}return!0}function oo(t,e,n){var i=t;do{var r=i.prev,o=i.next.next;!mo(r,o)&&go(r,i,i.next,o)&&vo(r,o)&&vo(o,r)&&(e.push(r.i/n),e.push(i.i/n),e.push(o.i/n),bo(i),bo(i.next),i=t=o),i=i.next}while(i!==t);return i}function ao(t,e,n,i,r,o){var a=t;do{for(var s=a.next.next;s!==a.prev;){if(a.i!==s.i&&po(a,s)){var u=yo(a,s);return a=eo(a,a.next),u=eo(u,u.next),no(a,e,n,i,r,o),void no(u,e,n,i,r,o)}s=s.next}a=a.next}while(a!==t)}function so(t,e){return t.x-e.x}function uo(t,e){if(e=function(t,e){var n,i=e,r=t.x,o=t.y,a=-1/0;do{if(o<=i.y&&o>=i.next.y&&i.next.y!==i.y){var s=i.x+(o-i.y)*(i.next.x-i.x)/(i.next.y-i.y);if(s<=r&&s>a){if(a=s,s===r){if(o===i.y)return i;if(o===i.next.y)return i.next}n=i.x<i.next.x?i:i.next}}i=i.next}while(i!==e);if(!n)return null;if(r===a)return n.prev;var u,l=n,h=n.x,c=n.y,p=1/0;i=n.next;for(;i!==l;)r>=i.x&&i.x>=h&&r!==i.x&&co(o<c?r:a,o,h,c,o<c?a:r,o,i.x,i.y)&&((u=Math.abs(o-i.y)/(r-i.x))<p||u===p&&i.x>n.x)&&vo(i,t)&&(n=i,p=u),i=i.next;return n}(t,e)){var n=yo(e,t);eo(n,n.next)}}function lo(t,e,n,i,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-n)*r)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-i)*r)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function ho(t){var e=t,n=t;do{e.x<n.x&&(n=e),e=e.next}while(e!==t);return n}function co(t,e,n,i,r,o,a,s){return(r-a)*(e-s)-(t-a)*(o-s)>=0&&(t-a)*(i-s)-(n-a)*(e-s)>=0&&(n-a)*(o-s)-(r-a)*(i-s)>=0}function po(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&go(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}(t,e)&&vo(t,e)&&vo(e,t)&&function(t,e){var n=t,i=!1,r=(t.x+e.x)/2,o=(t.y+e.y)/2;do{n.y>o!=n.next.y>o&&n.next.y!==n.y&&r<(n.next.x-n.x)*(o-n.y)/(n.next.y-n.y)+n.x&&(i=!i),n=n.next}while(n!==t);return i}(t,e)}function fo(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function mo(t,e){return t.x===e.x&&t.y===e.y}function go(t,e,n,i){return!!(mo(t,e)&&mo(n,i)||mo(t,i)&&mo(n,e))||fo(t,e,n)>0!=fo(t,e,i)>0&&fo(n,i,t)>0!=fo(n,i,e)>0}function vo(t,e){return fo(t.prev,t,t.next)<0?fo(t,e,t.next)>=0&&fo(t,t.prev,e)>=0:fo(t,e,t.prev)<0||fo(t,t.next,e)<0}function yo(t,e){var n=new xo(t.i,t.x,t.y),i=new xo(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,n.next=r,r.prev=n,i.next=n,n.prev=i,o.next=i,i.prev=o,i}function _o(t,e,n,i){var r=new xo(t,e,n);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function bo(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function xo(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}var wo={area:function(t){for(var e=t.length,n=0,i=e-1,r=0;r<e;i=r++)n+=t[i].x*t[r].y-t[r].x*t[i].y;return.5*n},isClockWise:function(t){return wo.area(t)<0},triangulateShape:function(t,e){var n=[],i=[],r=[];Ao(t),So(n,t);var o=t.length;e.forEach(Ao);for(var a=0;a<e.length;a++)i.push(o),o+=e[a].length,So(n,e[a]);var s=$r(n,i);for(a=0;a<s.length;a+=3)r.push(s.slice(a,a+3));return r}};function Ao(t){var e=t.length;e>2&&t[e-1].equals(t[0])&&t.pop()}function So(t,e){for(var n=0;n<e.length;n++)t.push(e[n].x),t.push(e[n].y)}function To(t,e){gn.call(this),this.type="ExtrudeGeometry",this.parameters={shapes:t,options:e},this.fromBufferGeometry(new Eo(t,e)),this.mergeVertices()}function Eo(t,e){Ln.call(this),this.type="ExtrudeBufferGeometry",this.parameters={shapes:t,options:e};for(var n=this,i=[],r=[],o=0,a=(t=Array.isArray(t)?t:[t]).length;o<a;o++){s(t[o])}function s(t){var o=[],a=void 0!==e.curveSegments?e.curveSegments:12,s=void 0!==e.steps?e.steps:1,u=void 0!==e.depth?e.depth:100,l=void 0===e.bevelEnabled||e.bevelEnabled,h=void 0!==e.bevelThickness?e.bevelThickness:6,c=void 0!==e.bevelSize?e.bevelSize:h-2,p=void 0!==e.bevelSegments?e.bevelSegments:3,d=e.extrudePath,f=void 0!==e.UVGenerator?e.UVGenerator:Mo;void 0!==e.amount&&(console.warn("THREE.ExtrudeBufferGeometry: amount has been renamed to depth."),u=e.amount);var m,g,v,y,_,b,x,w,A=!1;d&&(m=d.getSpacedPoints(s),A=!0,l=!1,g=d.computeFrenetFrames(s,!1),v=new He,y=new He,_=new He),l||(p=0,h=0,c=0);var S=t.extractPoints(a),T=S.shape,E=S.holes;if(!wo.isClockWise(T))for(T=T.reverse(),x=0,w=E.length;x<w;x++)b=E[x],wo.isClockWise(b)&&(E[x]=b.reverse());var M=wo.triangulateShape(T,E),P=T;for(x=0,w=E.length;x<w;x++)b=E[x],T=T.concat(b);function C(t,e,n){return e||console.error("THREE.ExtrudeGeometry: vec does not exist"),e.clone().multiplyScalar(n).add(t)}var L,R,O,I,N,D,B=T.length,k=M.length;function G(t,e,n){var i,r,o,a=t.x-e.x,s=t.y-e.y,u=n.x-t.x,l=n.y-t.y,h=a*a+s*s,c=a*l-s*u;if(Math.abs(c)>Number.EPSILON){var p=Math.sqrt(h),d=Math.sqrt(u*u+l*l),f=e.x-s/p,m=e.y+a/p,g=((n.x-l/d-f)*l-(n.y+u/d-m)*u)/(a*l-s*u),v=(i=f+a*g-t.x)*i+(r=m+s*g-t.y)*r;if(v<=2)return new Ue(i,r);o=Math.sqrt(v/2)}else{var y=!1;a>Number.EPSILON?u>Number.EPSILON&&(y=!0):a<-Number.EPSILON?u<-Number.EPSILON&&(y=!0):Math.sign(s)===Math.sign(l)&&(y=!0),y?(i=-s,r=a,o=Math.sqrt(h)):(i=a,r=s,o=Math.sqrt(h/2))}return new Ue(i/o,r/o)}for(var U=[],V=0,z=P.length,H=z-1,F=V+1;V<z;V++,H++,F++)H===z&&(H=0),F===z&&(F=0),U[V]=G(P[V],P[H],P[F]);var j,W,X=[],Y=U.concat();for(x=0,w=E.length;x<w;x++){for(b=E[x],j=[],V=0,H=(z=b.length)-1,F=V+1;V<z;V++,H++,F++)H===z&&(H=0),F===z&&(F=0),j[V]=G(b[V],b[H],b[F]);X.push(j),Y=Y.concat(j)}for(L=0;L<p;L++){for(O=L/p,I=h*Math.cos(O*Math.PI/2),R=c*Math.sin(O*Math.PI/2),V=0,z=P.length;V<z;V++)Z((N=C(P[V],U[V],R)).x,N.y,-I);for(x=0,w=E.length;x<w;x++)for(b=E[x],j=X[x],V=0,z=b.length;V<z;V++)Z((N=C(b[V],j[V],R)).x,N.y,-I)}for(R=c,V=0;V<B;V++)N=l?C(T[V],Y[V],R):T[V],A?(y.copy(g.normals[0]).multiplyScalar(N.x),v.copy(g.binormals[0]).multiplyScalar(N.y),_.copy(m[0]).add(y).add(v),Z(_.x,_.y,_.z)):Z(N.x,N.y,0);for(W=1;W<=s;W++)for(V=0;V<B;V++)N=l?C(T[V],Y[V],R):T[V],A?(y.copy(g.normals[W]).multiplyScalar(N.x),v.copy(g.binormals[W]).multiplyScalar(N.y),_.copy(m[W]).add(y).add(v),Z(_.x,_.y,_.z)):Z(N.x,N.y,u/s*W);for(L=p-1;L>=0;L--){for(O=L/p,I=h*Math.cos(O*Math.PI/2),R=c*Math.sin(O*Math.PI/2),V=0,z=P.length;V<z;V++)Z((N=C(P[V],U[V],R)).x,N.y,u+I);for(x=0,w=E.length;x<w;x++)for(b=E[x],j=X[x],V=0,z=b.length;V<z;V++)N=C(b[V],j[V],R),A?Z(N.x,N.y+m[s-1].y,m[s-1].x+I):Z(N.x,N.y,u+I)}function K(t,e){var n,i;for(V=t.length;--V>=0;){n=V,(i=V-1)<0&&(i=t.length-1);var r=0,o=s+2*p;for(r=0;r<o;r++){var a=B*r,u=B*(r+1);Q(e+n+a,e+i+a,e+i+u,e+n+u)}}}function Z(t,e,n){o.push(t),o.push(e),o.push(n)}function q(t,e,r){J(t),J(e),J(r);var o=i.length/3,a=f.generateTopUV(n,i,o-3,o-2,o-1);$(a[0]),$(a[1]),$(a[2])}function Q(t,e,r,o){J(t),J(e),J(o),J(e),J(r),J(o);var a=i.length/3,s=f.generateSideWallUV(n,i,a-6,a-3,a-2,a-1);$(s[0]),$(s[1]),$(s[3]),$(s[1]),$(s[2]),$(s[3])}function J(t){i.push(o[3*t+0]),i.push(o[3*t+1]),i.push(o[3*t+2])}function $(t){r.push(t.x),r.push(t.y)}!function(){var t=i.length/3;if(l){var e=0,r=B*e;for(V=0;V<k;V++)q((D=M[V])[2]+r,D[1]+r,D[0]+r);for(r=B*(e=s+2*p),V=0;V<k;V++)q((D=M[V])[0]+r,D[1]+r,D[2]+r)}else{for(V=0;V<k;V++)q((D=M[V])[2],D[1],D[0]);for(V=0;V<k;V++)q((D=M[V])[0]+B*s,D[1]+B*s,D[2]+B*s)}n.addGroup(t,i.length/3-t,0)}(),function(){var t=i.length/3,e=0;for(K(P,e),e+=P.length,x=0,w=E.length;x<w;x++)K(b=E[x],e),e+=b.length;n.addGroup(t,i.length/3-t,1)}()}this.addAttribute("position",new Tn(i,3)),this.addAttribute("uv",new Tn(r,2)),this.computeVertexNormals()}To.prototype=Object.create(gn.prototype),To.prototype.constructor=To,To.prototype.toJSON=function(){var t=gn.prototype.toJSON.call(this);return Po(this.parameters.shapes,this.parameters.options,t)},Eo.prototype=Object.create(Ln.prototype),Eo.prototype.constructor=Eo,Eo.prototype.toJSON=function(){var t=Ln.prototype.toJSON.call(this);return Po(this.parameters.shapes,this.parameters.options,t)};var Mo={generateTopUV:function(t,e,n,i,r){var o=e[3*n],a=e[3*n+1],s=e[3*i],u=e[3*i+1],l=e[3*r],h=e[3*r+1];return[new Ue(o,a),new Ue(s,u),new Ue(l,h)]},generateSideWallUV:function(t,e,n,i,r,o){var a=e[3*n],s=e[3*n+1],u=e[3*n+2],l=e[3*i],h=e[3*i+1],c=e[3*i+2],p=e[3*r],d=e[3*r+1],f=e[3*r+2],m=e[3*o],g=e[3*o+1],v=e[3*o+2];return Math.abs(s-h)<.01?[new Ue(a,1-u),new Ue(l,1-c),new Ue(p,1-f),new Ue(m,1-v)]:[new Ue(s,1-u),new Ue(h,1-c),new Ue(d,1-f),new Ue(g,1-v)]}};function Po(t,e,n){if(n.shapes=[],Array.isArray(t))for(var i=0,r=t.length;i<r;i++){var o=t[i];n.shapes.push(o.uuid)}else n.shapes.push(t.uuid);return void 0!==e.extrudePath&&(n.options.extrudePath=e.extrudePath.toJSON()),n}function Co(t,e){gn.call(this),this.type="TextGeometry",this.parameters={text:t,parameters:e},this.fromBufferGeometry(new Lo(t,e)),this.mergeVertices()}function Lo(t,e){var n=(e=e||{}).font;if(!n||!n.isFont)return console.error("THREE.TextGeometry: font parameter is not an instance of THREE.Font."),new gn;var i=n.generateShapes(t,e.size);e.depth=void 0!==e.height?e.height:50,void 0===e.bevelThickness&&(e.bevelThickness=10),void 0===e.bevelSize&&(e.bevelSize=8),void 0===e.bevelEnabled&&(e.bevelEnabled=!1),Eo.call(this,i,e),this.type="TextBufferGeometry"}function Ro(t,e,n,i,r,o,a){gn.call(this),this.type="SphereGeometry",this.parameters={radius:t,widthSegments:e,heightSegments:n,phiStart:i,phiLength:r,thetaStart:o,thetaLength:a},this.fromBufferGeometry(new Oo(t,e,n,i,r,o,a)),this.mergeVertices()}function Oo(t,e,n,i,r,o,a){Ln.call(this),this.type="SphereBufferGeometry",this.parameters={radius:t,widthSegments:e,heightSegments:n,phiStart:i,phiLength:r,thetaStart:o,thetaLength:a},t=t||1,e=Math.max(3,Math.floor(e)||8),n=Math.max(2,Math.floor(n)||6),i=void 0!==i?i:0,r=void 0!==r?r:2*Math.PI;var s,u,l=(o=void 0!==o?o:0)+(a=void 0!==a?a:Math.PI),h=0,c=[],p=new He,d=new He,f=[],m=[],g=[],v=[];for(u=0;u<=n;u++){var y=[],_=u/n;for(s=0;s<=e;s++){var b=s/e;p.x=-t*Math.cos(i+b*r)*Math.sin(o+_*a),p.y=t*Math.cos(o+_*a),p.z=t*Math.sin(i+b*r)*Math.sin(o+_*a),m.push(p.x,p.y,p.z),d.set(p.x,p.y,p.z).normalize(),g.push(d.x,d.y,d.z),v.push(b,1-_),y.push(h++)}c.push(y)}for(u=0;u<n;u++)for(s=0;s<e;s++){var x=c[u][s+1],w=c[u][s],A=c[u+1][s],S=c[u+1][s+1];(0!==u||o>0)&&f.push(x,w,S),(u!==n-1||l<Math.PI)&&f.push(w,A,S)}this.setIndex(f),this.addAttribute("position",new Tn(m,3)),this.addAttribute("normal",new Tn(g,3)),this.addAttribute("uv",new Tn(v,2))}function Io(t,e,n,i,r,o){gn.call(this),this.type="RingGeometry",this.parameters={innerRadius:t,outerRadius:e,thetaSegments:n,phiSegments:i,thetaStart:r,thetaLength:o},this.fromBufferGeometry(new No(t,e,n,i,r,o)),this.mergeVertices()}function No(t,e,n,i,r,o){Ln.call(this),this.type="RingBufferGeometry",this.parameters={innerRadius:t,outerRadius:e,thetaSegments:n,phiSegments:i,thetaStart:r,thetaLength:o},t=t||.5,e=e||1,r=void 0!==r?r:0,o=void 0!==o?o:2*Math.PI,n=void 0!==n?Math.max(3,n):8;var a,s,u,l=[],h=[],c=[],p=[],d=t,f=(e-t)/(i=void 0!==i?Math.max(1,i):1),m=new He,g=new Ue;for(s=0;s<=i;s++){for(u=0;u<=n;u++)a=r+u/n*o,m.x=d*Math.cos(a),m.y=d*Math.sin(a),h.push(m.x,m.y,m.z),c.push(0,0,1),g.x=(m.x/e+1)/2,g.y=(m.y/e+1)/2,p.push(g.x,g.y);d+=f}for(s=0;s<i;s++){var v=s*(n+1);for(u=0;u<n;u++){var y=a=u+v,_=a+n+1,b=a+n+2,x=a+1;l.push(y,_,x),l.push(_,b,x)}}this.setIndex(l),this.addAttribute("position",new Tn(h,3)),this.addAttribute("normal",new Tn(c,3)),this.addAttribute("uv",new Tn(p,2))}function Do(t,e,n,i){gn.call(this),this.type="LatheGeometry",this.parameters={points:t,segments:e,phiStart:n,phiLength:i},this.fromBufferGeometry(new Bo(t,e,n,i)),this.mergeVertices()}function Bo(t,e,n,i){Ln.call(this),this.type="LatheBufferGeometry",this.parameters={points:t,segments:e,phiStart:n,phiLength:i},e=Math.floor(e)||12,n=n||0,i=i||2*Math.PI,i=Ge.clamp(i,0,2*Math.PI);var r,o,a,s=[],u=[],l=[],h=1/e,c=new He,p=new Ue;for(o=0;o<=e;o++){var d=n+o*h*i,f=Math.sin(d),m=Math.cos(d);for(a=0;a<=t.length-1;a++)c.x=t[a].x*f,c.y=t[a].y,c.z=t[a].x*m,u.push(c.x,c.y,c.z),p.x=o/e,p.y=a/(t.length-1),l.push(p.x,p.y)}for(o=0;o<e;o++)for(a=0;a<t.length-1;a++){var g=r=a+o*t.length,v=r+t.length,y=r+t.length+1,_=r+1;s.push(g,v,_),s.push(v,y,_)}if(this.setIndex(s),this.addAttribute("position",new Tn(u,3)),this.addAttribute("uv",new Tn(l,2)),this.computeVertexNormals(),i===2*Math.PI){var b=this.attributes.normal.array,x=new He,w=new He,A=new He;for(r=e*t.length*3,o=0,a=0;o<t.length;o++,a+=3)x.x=b[a+0],x.y=b[a+1],x.z=b[a+2],w.x=b[r+a+0],w.y=b[r+a+1],w.z=b[r+a+2],A.addVectors(x,w).normalize(),b[a+0]=b[r+a+0]=A.x,b[a+1]=b[r+a+1]=A.y,b[a+2]=b[r+a+2]=A.z}}function ko(t,e){gn.call(this),this.type="ShapeGeometry","object"==typeof e&&(console.warn("THREE.ShapeGeometry: Options parameter has been removed."),e=e.curveSegments),this.parameters={shapes:t,curveSegments:e},this.fromBufferGeometry(new Go(t,e)),this.mergeVertices()}function Go(t,e){Ln.call(this),this.type="ShapeBufferGeometry",this.parameters={shapes:t,curveSegments:e},e=e||12;var n=[],i=[],r=[],o=[],a=0,s=0;if(!1===Array.isArray(t))l(t);else for(var u=0;u<t.length;u++)l(t[u]),this.addGroup(a,s,u),a+=s,s=0;function l(t){var a,u,l,h=i.length/3,c=t.extractPoints(e),p=c.shape,d=c.holes;if(!1===wo.isClockWise(p))for(p=p.reverse(),a=0,u=d.length;a<u;a++)l=d[a],!0===wo.isClockWise(l)&&(d[a]=l.reverse());var f=wo.triangulateShape(p,d);for(a=0,u=d.length;a<u;a++)l=d[a],p=p.concat(l);for(a=0,u=p.length;a<u;a++){var m=p[a];i.push(m.x,m.y,0),r.push(0,0,1),o.push(m.x,m.y)}for(a=0,u=f.length;a<u;a++){var g=f[a],v=g[0]+h,y=g[1]+h,_=g[2]+h;n.push(v,y,_),s+=3}}this.setIndex(n),this.addAttribute("position",new Tn(i,3)),this.addAttribute("normal",new Tn(r,3)),this.addAttribute("uv",new Tn(o,2))}function Uo(t,e){if(e.shapes=[],Array.isArray(t))for(var n=0,i=t.length;n<i;n++){var r=t[n];e.shapes.push(r.uuid)}else e.shapes.push(t.uuid);return e}function Vo(t,e){Ln.call(this),this.type="EdgesGeometry",this.parameters={thresholdAngle:e},e=void 0!==e?e:1;var n,i,r,o,a=[],s=Math.cos(Ge.DEG2RAD*e),u=[0,0],l={},h=["a","b","c"];t.isBufferGeometry?(o=new gn).fromBufferGeometry(t):o=t.clone(),o.mergeVertices(),o.computeFaceNormals();for(var c=o.vertices,p=o.faces,d=0,f=p.length;d<f;d++)for(var m=p[d],g=0;g<3;g++)n=m[h[g]],i=m[h[(g+1)%3]],u[0]=Math.min(n,i),u[1]=Math.max(n,i),void 0===l[r=u[0]+","+u[1]]?l[r]={index1:u[0],index2:u[1],face1:d,face2:void 0}:l[r].face2=d;for(r in l){var v=l[r];if(void 0===v.face2||p[v.face1].normal.dot(p[v.face2].normal)<=s){var y=c[v.index1];a.push(y.x,y.y,y.z),y=c[v.index2],a.push(y.x,y.y,y.z)}}this.addAttribute("position",new Tn(a,3))}function zo(t,e,n,i,r,o,a,s){gn.call(this),this.type="CylinderGeometry",this.parameters={radiusTop:t,radiusBottom:e,height:n,radialSegments:i,heightSegments:r,openEnded:o,thetaStart:a,thetaLength:s},this.fromBufferGeometry(new Ho(t,e,n,i,r,o,a,s)),this.mergeVertices()}function Ho(t,e,n,i,r,o,a,s){Ln.call(this),this.type="CylinderBufferGeometry",this.parameters={radiusTop:t,radiusBottom:e,height:n,radialSegments:i,heightSegments:r,openEnded:o,thetaStart:a,thetaLength:s};var u=this;t=void 0!==t?t:1,e=void 0!==e?e:1,n=n||1,i=Math.floor(i)||8,r=Math.floor(r)||1,o=void 0!==o&&o,a=void 0!==a?a:0,s=void 0!==s?s:2*Math.PI;var l=[],h=[],c=[],p=[],d=0,f=[],m=n/2,g=0;function v(n){var r,o,f,v=new Ue,y=new He,_=0,b=!0===n?t:e,x=!0===n?1:-1;for(o=d,r=1;r<=i;r++)h.push(0,m*x,0),c.push(0,x,0),p.push(.5,.5),d++;for(f=d,r=0;r<=i;r++){var w=r/i*s+a,A=Math.cos(w),S=Math.sin(w);y.x=b*S,y.y=m*x,y.z=b*A,h.push(y.x,y.y,y.z),c.push(0,x,0),v.x=.5*A+.5,v.y=.5*S*x+.5,p.push(v.x,v.y),d++}for(r=0;r<i;r++){var T=o+r,E=f+r;!0===n?l.push(E,E+1,T):l.push(E+1,E,T),_+=3}u.addGroup(g,_,!0===n?1:2),g+=_}!function(){var o,v,y=new He,_=new He,b=0,x=(e-t)/n;for(v=0;v<=r;v++){var w=[],A=v/r,S=A*(e-t)+t;for(o=0;o<=i;o++){var T=o/i,E=T*s+a,M=Math.sin(E),P=Math.cos(E);_.x=S*M,_.y=-A*n+m,_.z=S*P,h.push(_.x,_.y,_.z),y.set(M,x,P).normalize(),c.push(y.x,y.y,y.z),p.push(T,1-A),w.push(d++)}f.push(w)}for(o=0;o<i;o++)for(v=0;v<r;v++){var C=f[v][o],L=f[v+1][o],R=f[v+1][o+1],O=f[v][o+1];l.push(C,L,O),l.push(L,R,O),b+=6}u.addGroup(g,b,0),g+=b}(),!1===o&&(t>0&&v(!0),e>0&&v(!1)),this.setIndex(l),this.addAttribute("position",new Tn(h,3)),this.addAttribute("normal",new Tn(c,3)),this.addAttribute("uv",new Tn(p,2))}function Fo(t,e,n,i,r,o,a){zo.call(this,0,t,e,n,i,r,o,a),this.type="ConeGeometry",this.parameters={radius:t,height:e,radialSegments:n,heightSegments:i,openEnded:r,thetaStart:o,thetaLength:a}}function jo(t,e,n,i,r,o,a){Ho.call(this,0,t,e,n,i,r,o,a),this.type="ConeBufferGeometry",this.parameters={radius:t,height:e,radialSegments:n,heightSegments:i,openEnded:r,thetaStart:o,thetaLength:a}}function Wo(t,e,n,i){gn.call(this),this.type="CircleGeometry",this.parameters={radius:t,segments:e,thetaStart:n,thetaLength:i},this.fromBufferGeometry(new Xo(t,e,n,i)),this.mergeVertices()}function Xo(t,e,n,i){Ln.call(this),this.type="CircleBufferGeometry",this.parameters={radius:t,segments:e,thetaStart:n,thetaLength:i},t=t||1,e=void 0!==e?Math.max(3,e):8,n=void 0!==n?n:0,i=void 0!==i?i:2*Math.PI;var r,o,a=[],s=[],u=[],l=[],h=new He,c=new Ue;for(s.push(0,0,0),u.push(0,0,1),l.push(.5,.5),o=0,r=3;o<=e;o++,r+=3){var p=n+o/e*i;h.x=t*Math.cos(p),h.y=t*Math.sin(p),s.push(h.x,h.y,h.z),u.push(0,0,1),c.x=(s[r]/t+1)/2,c.y=(s[r+1]/t+1)/2,l.push(c.x,c.y)}for(r=1;r<=e;r++)a.push(r,r+1,0);this.setIndex(a),this.addAttribute("position",new Tn(s,3)),this.addAttribute("normal",new Tn(u,3)),this.addAttribute("uv",new Tn(l,2))}Co.prototype=Object.create(gn.prototype),Co.prototype.constructor=Co,Lo.prototype=Object.create(Eo.prototype),Lo.prototype.constructor=Lo,Ro.prototype=Object.create(gn.prototype),Ro.prototype.constructor=Ro,Oo.prototype=Object.create(Ln.prototype),Oo.prototype.constructor=Oo,Io.prototype=Object.create(gn.prototype),Io.prototype.constructor=Io,No.prototype=Object.create(Ln.prototype),No.prototype.constructor=No,Do.prototype=Object.create(gn.prototype),Do.prototype.constructor=Do,Bo.prototype=Object.create(Ln.prototype),Bo.prototype.constructor=Bo,ko.prototype=Object.create(gn.prototype),ko.prototype.constructor=ko,ko.prototype.toJSON=function(){var t=gn.prototype.toJSON.call(this);return Uo(this.parameters.shapes,t)},Go.prototype=Object.create(Ln.prototype),Go.prototype.constructor=Go,Go.prototype.toJSON=function(){var t=Ln.prototype.toJSON.call(this);return Uo(this.parameters.shapes,t)},Vo.prototype=Object.create(Ln.prototype),Vo.prototype.constructor=Vo,zo.prototype=Object.create(gn.prototype),zo.prototype.constructor=zo,Ho.prototype=Object.create(Ln.prototype),Ho.prototype.constructor=Ho,Fo.prototype=Object.create(zo.prototype),Fo.prototype.constructor=Fo,jo.prototype=Object.create(Ho.prototype),jo.prototype.constructor=jo,Wo.prototype=Object.create(gn.prototype),Wo.prototype.constructor=Wo,Xo.prototype=Object.create(Ln.prototype),Xo.prototype.constructor=Xo;var Yo=Object.freeze({WireframeGeometry:Nr,ParametricGeometry:Dr,ParametricBufferGeometry:Br,TetrahedronGeometry:Ur,TetrahedronBufferGeometry:Vr,OctahedronGeometry:zr,OctahedronBufferGeometry:Hr,IcosahedronGeometry:Fr,IcosahedronBufferGeometry:jr,DodecahedronGeometry:Wr,DodecahedronBufferGeometry:Xr,PolyhedronGeometry:kr,PolyhedronBufferGeometry:Gr,TubeGeometry:Yr,TubeBufferGeometry:Kr,TorusKnotGeometry:Zr,TorusKnotBufferGeometry:qr,TorusGeometry:Qr,TorusBufferGeometry:Jr,TextGeometry:Co,TextBufferGeometry:Lo,SphereGeometry:Ro,SphereBufferGeometry:Oo,RingGeometry:Io,RingBufferGeometry:No,PlaneGeometry:In,PlaneBufferGeometry:Nn,LatheGeometry:Do,LatheBufferGeometry:Bo,ShapeGeometry:ko,ShapeBufferGeometry:Go,ExtrudeGeometry:To,ExtrudeBufferGeometry:Eo,EdgesGeometry:Vo,ConeGeometry:Fo,ConeBufferGeometry:jo,CylinderGeometry:zo,CylinderBufferGeometry:Ho,CircleGeometry:Wo,CircleBufferGeometry:Xo,BoxGeometry:Rn,BoxBufferGeometry:On});function Ko(t){Bn.call(this),this.type="ShadowMaterial",this.color=new on(0),this.transparent=!0,this.setValues(t)}function Zo(t){kn.call(this,t),this.type="RawShaderMaterial"}function qo(t){Bn.call(this),this.defines={STANDARD:""},this.type="MeshStandardMaterial",this.color=new on(16777215),this.roughness=.5,this.metalness=.5,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new on(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Be,this.normalScale=new Ue(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapIntensity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(t)}function Qo(t){qo.call(this),this.defines={PHYSICAL:""},this.type="MeshPhysicalMaterial",this.reflectivity=.5,this.clearCoat=0,this.clearCoatRoughness=0,this.setValues(t)}function Jo(t){Bn.call(this),this.type="MeshPhongMaterial",this.color=new on(16777215),this.specular=new on(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new on(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Be,this.normalScale=new Ue(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=$,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(t)}function $o(t){Jo.call(this),this.defines={TOON:""},this.type="MeshToonMaterial",this.gradientMap=null,this.setValues(t)}function ta(t){Bn.call(this),this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Be,this.normalScale=new Ue(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(t)}function ea(t){Bn.call(this),this.type="MeshLambertMaterial",this.color=new on(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new on(0),this.emissiveIntensity=1,this.emissiveMap=null,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=$,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(t)}function na(e){if(Bn.call(this),this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new on(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Be,this.normalScale=new Ue(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.lights=!1,this.setValues(e),null===this.matcap){var n=document.createElement("canvas");n.width=1,n.height=1;var i=n.getContext("2d");i.fillStyle="#fff",i.fillRect(0,0,1,1),this.matcap=new t.CanvasTexture(n)}}function ia(t){Sr.call(this),this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(t)}Ko.prototype=Object.create(Bn.prototype),Ko.prototype.constructor=Ko,Ko.prototype.isShadowMaterial=!0,Ko.prototype.copy=function(t){return Bn.prototype.copy.call(this,t),this.color.copy(t.color),this},Zo.prototype=Object.create(kn.prototype),Zo.prototype.constructor=Zo,Zo.prototype.isRawShaderMaterial=!0,qo.prototype=Object.create(Bn.prototype),qo.prototype.constructor=qo,qo.prototype.isMeshStandardMaterial=!0,qo.prototype.copy=function(t){return Bn.prototype.copy.call(this,t),this.defines={STANDARD:""},this.color.copy(t.color),this.roughness=t.roughness,this.metalness=t.metalness,this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.roughnessMap=t.roughnessMap,this.metalnessMap=t.metalnessMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.envMapIntensity=t.envMapIntensity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this},Qo.prototype=Object.create(qo.prototype),Qo.prototype.constructor=Qo,Qo.prototype.isMeshPhysicalMaterial=!0,Qo.prototype.copy=function(t){return qo.prototype.copy.call(this,t),this.defines={PHYSICAL:""},this.reflectivity=t.reflectivity,this.clearCoat=t.clearCoat,this.clearCoatRoughness=t.clearCoatRoughness,this},Jo.prototype=Object.create(Bn.prototype),Jo.prototype.constructor=Jo,Jo.prototype.isMeshPhongMaterial=!0,Jo.prototype.copy=function(t){return Bn.prototype.copy.call(this,t),this.color.copy(t.color),this.specular.copy(t.specular),this.shininess=t.shininess,this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this},$o.prototype=Object.create(Jo.prototype),$o.prototype.constructor=$o,$o.prototype.isMeshToonMaterial=!0,$o.prototype.copy=function(t){return Jo.prototype.copy.call(this,t),this.gradientMap=t.gradientMap,this},ta.prototype=Object.create(Bn.prototype),ta.prototype.constructor=ta,ta.prototype.isMeshNormalMaterial=!0,ta.prototype.copy=function(t){return Bn.prototype.copy.call(this,t),this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this},ea.prototype=Object.create(Bn.prototype),ea.prototype.constructor=ea,ea.prototype.isMeshLambertMaterial=!0,ea.prototype.copy=function(t){return Bn.prototype.copy.call(this,t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this},na.prototype=Object.create(Bn.prototype),na.prototype.constructor=na,na.prototype.isMeshMatcapMaterial=!0,na.prototype.copy=function(t){return Bn.prototype.copy.call(this,t),this.defines={MATCAP:""},this.color.copy(t.color),this.matcap=t.matcap,this.map=t.map,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this},ia.prototype=Object.create(Sr.prototype),ia.prototype.constructor=ia,ia.prototype.isLineDashedMaterial=!0,ia.prototype.copy=function(t){return Sr.prototype.copy.call(this,t),this.scale=t.scale,this.dashSize=t.dashSize,this.gapSize=t.gapSize,this};var ra=Object.freeze({ShadowMaterial:Ko,SpriteMaterial:yr,RawShaderMaterial:Zo,ShaderMaterial:kn,PointsMaterial:Pr,MeshPhysicalMaterial:Qo,MeshStandardMaterial:qo,MeshPhongMaterial:Jo,MeshToonMaterial:$o,MeshNormalMaterial:ta,MeshLambertMaterial:ea,MeshDepthMaterial:Ji,MeshDistanceMaterial:$i,MeshBasicMaterial:Vn,MeshMatcapMaterial:na,LineDashedMaterial:ia,LineBasicMaterial:Sr,Material:Bn}),oa={arraySlice:function(t,e,n){return oa.isTypedArray(t)?new t.constructor(t.subarray(e,void 0!==n?n:t.length)):t.slice(e,n)},convertArray:function(t,e,n){return!t||!n&&t.constructor===e?t:"number"==typeof e.BYTES_PER_ELEMENT?new e(t):Array.prototype.slice.call(t)},isTypedArray:function(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)},getKeyframeOrder:function(t){for(var e=t.length,n=new Array(e),i=0;i!==e;++i)n[i]=i;return n.sort(function(e,n){return t[e]-t[n]}),n},sortedArray:function(t,e,n){for(var i=t.length,r=new t.constructor(i),o=0,a=0;a!==i;++o)for(var s=n[o]*e,u=0;u!==e;++u)r[a++]=t[s+u];return r},flattenJSON:function(t,e,n,i){for(var r=1,o=t[0];void 0!==o&&void 0===o[i];)o=t[r++];if(void 0!==o){var a=o[i];if(void 0!==a)if(Array.isArray(a))do{void 0!==(a=o[i])&&(e.push(o.time),n.push.apply(n,a)),o=t[r++]}while(void 0!==o);else if(void 0!==a.toArray)do{void 0!==(a=o[i])&&(e.push(o.time),a.toArray(n,n.length)),o=t[r++]}while(void 0!==o);else do{void 0!==(a=o[i])&&(e.push(o.time),n.push(a)),o=t[r++]}while(void 0!==o)}}};function aa(t,e,n,i){this.parameterPositions=t,this._cachedIndex=0,this.resultBuffer=void 0!==i?i:new e.constructor(n),this.sampleValues=e,this.valueSize=n}function sa(t,e,n,i){aa.call(this,t,e,n,i),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0}function ua(t,e,n,i){aa.call(this,t,e,n,i)}function la(t,e,n,i){aa.call(this,t,e,n,i)}function ha(t,e,n,i){if(void 0===t)throw new Error("THREE.KeyframeTrack: track name is undefined");if(void 0===e||0===e.length)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+t);this.name=t,this.times=oa.convertArray(e,this.TimeBufferType),this.values=oa.convertArray(n,this.ValueBufferType),this.setInterpolation(i||this.DefaultInterpolation)}function ca(t,e,n){ha.call(this,t,e,n)}function pa(t,e,n,i){ha.call(this,t,e,n,i)}function da(t,e,n,i){ha.call(this,t,e,n,i)}function fa(t,e,n,i){aa.call(this,t,e,n,i)}function ma(t,e,n,i){ha.call(this,t,e,n,i)}function ga(t,e,n,i){ha.call(this,t,e,n,i)}function va(t,e,n,i){ha.call(this,t,e,n,i)}function ya(t,e,n){this.name=t,this.tracks=n,this.duration=void 0!==e?e:-1,this.uuid=Ge.generateUUID(),this.duration<0&&this.resetDuration()}function _a(t){if(void 0===t.type)throw new Error("THREE.KeyframeTrack: track type undefined, can not parse");var e=function(t){switch(t.toLowerCase()){case"scalar":case"double":case"float":case"number":case"integer":return da;case"vector":case"vector2":case"vector3":case"vector4":return va;case"color":return pa;case"quaternion":return ma;case"bool":case"boolean":return ca;case"string":return ga}throw new Error("THREE.KeyframeTrack: Unsupported typeName: "+t)}(t.type);if(void 0===t.times){var n=[],i=[];oa.flattenJSON(t.keys,n,i,"value"),t.times=n,t.values=i}return void 0!==e.parse?e.parse(t):new e(t.name,t.times,t.values,t.interpolation)}Object.assign(aa.prototype,{evaluate:function(t){var e=this.parameterPositions,n=this._cachedIndex,i=e[n],r=e[n-1];t:{e:{var o;n:{i:if(!(t<i)){for(var a=n+2;;){if(void 0===i){if(t<r)break i;return n=e.length,this._cachedIndex=n,this.afterEnd_(n-1,t,r)}if(n===a)break;if(r=i,t<(i=e[++n]))break e}o=e.length;break n}if(t>=r)break t;var s=e[1];t<s&&(n=2,r=s);for(a=n-2;;){if(void 0===r)return this._cachedIndex=0,this.beforeStart_(0,t,i);if(n===a)break;if(i=r,t>=(r=e[--n-1]))break e}o=n,n=0}for(;n<o;){var u=n+o>>>1;t<e[u]?o=u:n=u+1}if(i=e[n],void 0===(r=e[n-1]))return this._cachedIndex=0,this.beforeStart_(0,t,i);if(void 0===i)return n=e.length,this._cachedIndex=n,this.afterEnd_(n-1,r,t)}this._cachedIndex=n,this.intervalChanged_(n,r,i)}return this.interpolate_(n,r,t,i)},settings:null,DefaultSettings_:{},getSettings_:function(){return this.settings||this.DefaultSettings_},copySampleValue_:function(t){for(var e=this.resultBuffer,n=this.sampleValues,i=this.valueSize,r=t*i,o=0;o!==i;++o)e[o]=n[r+o];return e},interpolate_:function(){throw new Error("call to abstract method")},intervalChanged_:function(){}}),
//!\ DECLARE ALIAS AFTER assign prototype !
Object.assign(aa.prototype,{beforeStart_:aa.prototype.copySampleValue_,afterEnd_:aa.prototype.copySampleValue_}),sa.prototype=Object.assign(Object.create(aa.prototype),{constructor:sa,DefaultSettings_:{endingStart:be,endingEnd:be},intervalChanged_:function(t,e,n){var i=this.parameterPositions,r=t-2,o=t+1,a=i[r],s=i[o];if(void 0===a)switch(this.getSettings_().endingStart){case xe:r=t,a=2*e-n;break;case we:a=e+i[r=i.length-2]-i[r+1];break;default:r=t,a=n}if(void 0===s)switch(this.getSettings_().endingEnd){case xe:o=t,s=2*n-e;break;case we:o=1,s=n+i[1]-i[0];break;default:o=t-1,s=e}var u=.5*(n-e),l=this.valueSize;this._weightPrev=u/(e-a),this._weightNext=u/(s-n),this._offsetPrev=r*l,this._offsetNext=o*l},interpolate_:function(t,e,n,i){for(var r=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=t*a,u=s-a,l=this._offsetPrev,h=this._offsetNext,c=this._weightPrev,p=this._weightNext,d=(n-e)/(i-e),f=d*d,m=f*d,g=-c*m+2*c*f-c*d,v=(1+c)*m+(-1.5-2*c)*f+(-.5+c)*d+1,y=(-1-p)*m+(1.5+p)*f+.5*d,_=p*m-p*f,b=0;b!==a;++b)r[b]=g*o[l+b]+v*o[u+b]+y*o[s+b]+_*o[h+b];return r}}),ua.prototype=Object.assign(Object.create(aa.prototype),{constructor:ua,interpolate_:function(t,e,n,i){for(var r=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=t*a,u=s-a,l=(n-e)/(i-e),h=1-l,c=0;c!==a;++c)r[c]=o[u+c]*h+o[s+c]*l;return r}}),la.prototype=Object.assign(Object.create(aa.prototype),{constructor:la,interpolate_:function(t){return this.copySampleValue_(t-1)}}),Object.assign(ha,{toJSON:function(t){var e,n=t.constructor;if(void 0!==n.toJSON)e=n.toJSON(t);else{e={name:t.name,times:oa.convertArray(t.times,Array),values:oa.convertArray(t.values,Array)};var i=t.getInterpolation();i!==t.DefaultInterpolation&&(e.interpolation=i)}return e.type=t.ValueTypeName,e}}),Object.assign(ha.prototype,{constructor:ha,TimeBufferType:Float32Array,ValueBufferType:Float32Array,DefaultInterpolation:ye,InterpolantFactoryMethodDiscrete:function(t){return new la(this.times,this.values,this.getValueSize(),t)},InterpolantFactoryMethodLinear:function(t){return new ua(this.times,this.values,this.getValueSize(),t)},InterpolantFactoryMethodSmooth:function(t){return new sa(this.times,this.values,this.getValueSize(),t)},setInterpolation:function(t){var e;switch(t){case ve:e=this.InterpolantFactoryMethodDiscrete;break;case ye:e=this.InterpolantFactoryMethodLinear;break;case _e:e=this.InterpolantFactoryMethodSmooth}if(void 0===e){var n="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(void 0===this.createInterpolant){if(t===this.DefaultInterpolation)throw new Error(n);this.setInterpolation(this.DefaultInterpolation)}return console.warn("THREE.KeyframeTrack:",n),this}return this.createInterpolant=e,this},getInterpolation:function(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return ve;case this.InterpolantFactoryMethodLinear:return ye;case this.InterpolantFactoryMethodSmooth:return _e}},getValueSize:function(){return this.values.length/this.times.length},shift:function(t){if(0!==t)for(var e=this.times,n=0,i=e.length;n!==i;++n)e[n]+=t;return this},scale:function(t){if(1!==t)for(var e=this.times,n=0,i=e.length;n!==i;++n)e[n]*=t;return this},trim:function(t,e){for(var n=this.times,i=n.length,r=0,o=i-1;r!==i&&n[r]<t;)++r;for(;-1!==o&&n[o]>e;)--o;if(++o,0!==r||o!==i){r>=o&&(r=(o=Math.max(o,1))-1);var a=this.getValueSize();this.times=oa.arraySlice(n,r,o),this.values=oa.arraySlice(this.values,r*a,o*a)}return this},validate:function(){var t=!0,e=this.getValueSize();e-Math.floor(e)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),t=!1);var n=this.times,i=this.values,r=n.length;0===r&&(console.error("THREE.KeyframeTrack: Track is empty.",this),t=!1);for(var o=null,a=0;a!==r;a++){var s=n[a];if("number"==typeof s&&isNaN(s)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,a,s),t=!1;break}if(null!==o&&o>s){console.error("THREE.KeyframeTrack: Out of order keys.",this,a,s,o),t=!1;break}o=s}if(void 0!==i&&oa.isTypedArray(i)){a=0;for(var u=i.length;a!==u;++a){var l=i[a];if(isNaN(l)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,l),t=!1;break}}}return t},optimize:function(){for(var t=this.times,e=this.values,n=this.getValueSize(),i=this.getInterpolation()===_e,r=1,o=t.length-1,a=1;a<o;++a){var s=!1,u=t[a];if(u!==t[a+1]&&(1!==a||u!==u[0]))if(i)s=!0;else for(var l=a*n,h=l-n,c=l+n,p=0;p!==n;++p){var d=e[l+p];if(d!==e[h+p]||d!==e[c+p]){s=!0;break}}if(s){if(a!==r){t[r]=t[a];var f=a*n,m=r*n;for(p=0;p!==n;++p)e[m+p]=e[f+p]}++r}}if(o>0){t[r]=t[o];for(f=o*n,m=r*n,p=0;p!==n;++p)e[m+p]=e[f+p];++r}return r!==t.length&&(this.times=oa.arraySlice(t,0,r),this.values=oa.arraySlice(e,0,r*n)),this}}),ca.prototype=Object.assign(Object.create(ha.prototype),{constructor:ca,ValueTypeName:"bool",ValueBufferType:Array,DefaultInterpolation:ve,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),pa.prototype=Object.assign(Object.create(ha.prototype),{constructor:pa,ValueTypeName:"color"}),da.prototype=Object.assign(Object.create(ha.prototype),{constructor:da,ValueTypeName:"number"}),fa.prototype=Object.assign(Object.create(aa.prototype),{constructor:fa,interpolate_:function(t,e,n,i){for(var r=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=t*a,u=(n-e)/(i-e),l=s+a;s!==l;s+=4)ze.slerpFlat(r,0,o,s-a,o,s,u);return r}}),ma.prototype=Object.assign(Object.create(ha.prototype),{constructor:ma,ValueTypeName:"quaternion",DefaultInterpolation:ye,InterpolantFactoryMethodLinear:function(t){return new fa(this.times,this.values,this.getValueSize(),t)},InterpolantFactoryMethodSmooth:void 0}),ga.prototype=Object.assign(Object.create(ha.prototype),{constructor:ga,ValueTypeName:"string",ValueBufferType:Array,DefaultInterpolation:ve,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),va.prototype=Object.assign(Object.create(ha.prototype),{constructor:va,ValueTypeName:"vector"}),Object.assign(ya,{parse:function(t){for(var e=[],n=t.tracks,i=1/(t.fps||1),r=0,o=n.length;r!==o;++r)e.push(_a(n[r]).scale(i));return new ya(t.name,t.duration,e)},toJSON:function(t){for(var e=[],n=t.tracks,i={name:t.name,duration:t.duration,tracks:e,uuid:t.uuid},r=0,o=n.length;r!==o;++r)e.push(ha.toJSON(n[r]));return i},CreateFromMorphTargetSequence:function(t,e,n,i){for(var r=e.length,o=[],a=0;a<r;a++){var s=[],u=[];s.push((a+r-1)%r,a,(a+1)%r),u.push(0,1,0);var l=oa.getKeyframeOrder(s);s=oa.sortedArray(s,1,l),u=oa.sortedArray(u,1,l),i||0!==s[0]||(s.push(r),u.push(u[0])),o.push(new da(".morphTargetInfluences["+e[a].name+"]",s,u).scale(1/n))}return new ya(t,-1,o)},findByName:function(t,e){var n=t;if(!Array.isArray(t)){var i=t;n=i.geometry&&i.geometry.animations||i.animations}for(var r=0;r<n.length;r++)if(n[r].name===e)return n[r];return null},CreateClipsFromMorphTargetSequences:function(t,e,n){for(var i={},r=/^([\w-]*?)([\d]+)$/,o=0,a=t.length;o<a;o++){var s=t[o],u=s.name.match(r);if(u&&u.length>1){var l=i[c=u[1]];l||(i[c]=l=[]),l.push(s)}}var h=[];for(var c in i)h.push(ya.CreateFromMorphTargetSequence(c,i[c],e,n));return h},parseAnimation:function(t,e){if(!t)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;for(var n=function(t,e,n,i,r){if(0!==n.length){var o=[],a=[];oa.flattenJSON(n,o,a,i),0!==o.length&&r.push(new t(e,o,a))}},i=[],r=t.name||"default",o=t.length||-1,a=t.fps||30,s=t.hierarchy||[],u=0;u<s.length;u++){var l=s[u].keys;if(l&&0!==l.length)if(l[0].morphTargets){for(var h={},c=0;c<l.length;c++)if(l[c].morphTargets)for(var p=0;p<l[c].morphTargets.length;p++)h[l[c].morphTargets[p]]=-1;for(var d in h){var f=[],m=[];for(p=0;p!==l[c].morphTargets.length;++p){var g=l[c];f.push(g.time),m.push(g.morphTarget===d?1:0)}i.push(new da(".morphTargetInfluence["+d+"]",f,m))}o=h.length*(a||1)}else{var v=".bones["+e[u].name+"]";n(va,v+".position",l,"pos",i),n(ma,v+".quaternion",l,"rot",i),n(va,v+".scale",l,"scl",i)}}return 0===i.length?null:new ya(r,o,i)}}),Object.assign(ya.prototype,{resetDuration:function(){for(var t=0,e=0,n=this.tracks.length;e!==n;++e){var i=this.tracks[e];t=Math.max(t,i.times[i.times.length-1])}return this.duration=t,this},trim:function(){for(var t=0;t<this.tracks.length;t++)this.tracks[t].trim(0,this.duration);return this},validate:function(){for(var t=!0,e=0;e<this.tracks.length;e++)t=t&&this.tracks[e].validate();return t},optimize:function(){for(var t=0;t<this.tracks.length;t++)this.tracks[t].optimize();return this}});var ba={enabled:!1,files:{},add:function(t,e){!1!==this.enabled&&(this.files[t]=e)},get:function(t){if(!1!==this.enabled)return this.files[t]},remove:function(t){delete this.files[t]},clear:function(){this.files={}}};function xa(t,e,n){var i=this,r=!1,o=0,a=0,s=void 0;this.onStart=void 0,this.onLoad=t,this.onProgress=e,this.onError=n,this.itemStart=function(t){a++,!1===r&&void 0!==i.onStart&&i.onStart(t,o,a),r=!0},this.itemEnd=function(t){o++,void 0!==i.onProgress&&i.onProgress(t,o,a),o===a&&(r=!1,void 0!==i.onLoad&&i.onLoad())},this.itemError=function(t){void 0!==i.onError&&i.onError(t)},this.resolveURL=function(t){return s?s(t):t},this.setURLModifier=function(t){return s=t,this}}var wa=new xa,Aa={};function Sa(t){this.manager=void 0!==t?t:wa}function Ta(t){this.manager=void 0!==t?t:wa}function Ea(t){this.manager=void 0!==t?t:wa,this._parser=null}function Ma(t){this.manager=void 0!==t?t:wa,this._parser=null}function Pa(t){this.manager=void 0!==t?t:wa}function Ca(t){this.manager=void 0!==t?t:wa}function La(t){this.manager=void 0!==t?t:wa}function Ra(){this.type="Curve",this.arcLengthDivisions=200}function Oa(t,e,n,i,r,o,a,s){Ra.call(this),this.type="EllipseCurve",this.aX=t||0,this.aY=e||0,this.xRadius=n||1,this.yRadius=i||1,this.aStartAngle=r||0,this.aEndAngle=o||2*Math.PI,this.aClockwise=a||!1,this.aRotation=s||0}function Ia(t,e,n,i,r,o){Oa.call(this,t,e,n,n,i,r,o),this.type="ArcCurve"}function Na(){var t=0,e=0,n=0,i=0;function r(r,o,a,s){t=r,e=a,n=-3*r+3*o-2*a-s,i=2*r-2*o+a+s}return{initCatmullRom:function(t,e,n,i,o){r(e,n,o*(n-t),o*(i-e))},initNonuniformCatmullRom:function(t,e,n,i,o,a,s){var u=(e-t)/o-(n-t)/(o+a)+(n-e)/a,l=(n-e)/a-(i-e)/(a+s)+(i-n)/s;r(e,n,u*=a,l*=a)},calc:function(r){var o=r*r;return t+e*r+n*o+i*(o*r)}}}Object.assign(Sa.prototype,{load:function(t,e,n,i){void 0===t&&(t=""),void 0!==this.path&&(t=this.path+t),t=this.manager.resolveURL(t);var r=this,o=ba.get(t);if(void 0!==o)return r.manager.itemStart(t),setTimeout(function(){e&&e(o),r.manager.itemEnd(t)},0),o;if(void 0===Aa[t]){var a=t.match(/^data:(.*?)(;base64)?,(.*)$/);if(a){var s=a[1],u=!!a[2],l=a[3];l=decodeURIComponent(l),u&&(l=atob(l));try{var h,c=(this.responseType||"").toLowerCase();switch(c){case"arraybuffer":case"blob":for(var p=new Uint8Array(l.length),d=0;d<l.length;d++)p[d]=l.charCodeAt(d);h="blob"===c?new Blob([p.buffer],{type:s}):p.buffer;break;case"document":var f=new DOMParser;h=f.parseFromString(l,s);break;case"json":h=JSON.parse(l);break;default:h=l}setTimeout(function(){e&&e(h),r.manager.itemEnd(t)},0)}catch(e){setTimeout(function(){i&&i(e),r.manager.itemError(t),r.manager.itemEnd(t)},0)}}else{Aa[t]=[],Aa[t].push({onLoad:e,onProgress:n,onError:i});var m=new XMLHttpRequest;for(var g in m.open("GET",t,!0),m.addEventListener("load",function(e){var n=this.response;ba.add(t,n);var i=Aa[t];if(delete Aa[t],200===this.status||0===this.status){0===this.status&&console.warn("THREE.FileLoader: HTTP Status 0 received.");for(var o=0,a=i.length;o<a;o++){(s=i[o]).onLoad&&s.onLoad(n)}r.manager.itemEnd(t)}else{for(o=0,a=i.length;o<a;o++){var s;(s=i[o]).onError&&s.onError(e)}r.manager.itemError(t),r.manager.itemEnd(t)}},!1),m.addEventListener("progress",function(e){for(var n=Aa[t],i=0,r=n.length;i<r;i++){var o=n[i];o.onProgress&&o.onProgress(e)}},!1),m.addEventListener("error",function(e){var n=Aa[t];delete Aa[t];for(var i=0,o=n.length;i<o;i++){var a=n[i];a.onError&&a.onError(e)}r.manager.itemError(t),r.manager.itemEnd(t)},!1),m.addEventListener("abort",function(e){var n=Aa[t];delete Aa[t];for(var i=0,o=n.length;i<o;i++){var a=n[i];a.onError&&a.onError(e)}r.manager.itemError(t),r.manager.itemEnd(t)},!1),void 0!==this.responseType&&(m.responseType=this.responseType),void 0!==this.withCredentials&&(m.withCredentials=this.withCredentials),m.overrideMimeType&&m.overrideMimeType(void 0!==this.mimeType?this.mimeType:"text/plain"),this.requestHeader)m.setRequestHeader(g,this.requestHeader[g]);m.send(null)}return r.manager.itemStart(t),m}Aa[t].push({onLoad:e,onProgress:n,onError:i})},setPath:function(t){return this.path=t,this},setResponseType:function(t){return this.responseType=t,this},setWithCredentials:function(t){return this.withCredentials=t,this},setMimeType:function(t){return this.mimeType=t,this},setRequestHeader:function(t){return this.requestHeader=t,this}}),Object.assign(Ta.prototype,{load:function(t,e,n,i){var r=this,o=new Sa(r.manager);o.setPath(r.path),o.load(t,function(t){e(r.parse(JSON.parse(t)))},n,i)},parse:function(t,e){for(var n=[],i=0;i<t.length;i++){var r=ya.parse(t[i]);n.push(r)}e(n)},setPath:function(t){return this.path=t,this}}),Object.assign(Ea.prototype,{load:function(t,e,n,i){var r=this,o=[],a=new Rr;a.image=o;var s=new Sa(this.manager);function u(u){s.load(t[u],function(t){var n=r._parser(t,!0);o[u]={width:n.width,height:n.height,format:n.format,mipmaps:n.mipmaps},6===(l+=1)&&(1===n.mipmapCount&&(a.minFilter=xt),a.format=n.format,a.needsUpdate=!0,e&&e(a))},n,i)}if(s.setPath(this.path),s.setResponseType("arraybuffer"),Array.isArray(t))for(var l=0,h=0,c=t.length;h<c;++h)u(h);else s.load(t,function(t){var n=r._parser(t,!0);if(n.isCubemap)for(var i=n.mipmaps.length/n.mipmapCount,s=0;s<i;s++){o[s]={mipmaps:[]};for(var u=0;u<n.mipmapCount;u++)o[s].mipmaps.push(n.mipmaps[s*n.mipmapCount+u]),o[s].format=n.format,o[s].width=n.width,o[s].height=n.height}else a.image.width=n.width,a.image.height=n.height,a.mipmaps=n.mipmaps;1===n.mipmapCount&&(a.minFilter=xt),a.format=n.format,a.needsUpdate=!0,e&&e(a)},n,i);return a},setPath:function(t){return this.path=t,this}}),Object.assign(Ma.prototype,{load:function(t,e,n,i){var r=this,o=new qe,a=new Sa(this.manager);return a.setResponseType("arraybuffer"),a.setPath(this.path),a.load(t,function(t){var n=r._parser(t);n&&(void 0!==n.image?o.image=n.image:void 0!==n.data&&(o.image.width=n.width,o.image.height=n.height,o.image.data=n.data),o.wrapS=void 0!==n.wrapS?n.wrapS:gt,o.wrapT=void 0!==n.wrapT?n.wrapT:gt,o.magFilter=void 0!==n.magFilter?n.magFilter:xt,o.minFilter=void 0!==n.minFilter?n.minFilter:At,o.anisotropy=void 0!==n.anisotropy?n.anisotropy:1,void 0!==n.format&&(o.format=n.format),void 0!==n.type&&(o.type=n.type),void 0!==n.mipmaps&&(o.mipmaps=n.mipmaps),1===n.mipmapCount&&(o.minFilter=xt),o.needsUpdate=!0,e&&e(o,n))},n,i),o},setPath:function(t){return this.path=t,this}}),Object.assign(Pa.prototype,{crossOrigin:"anonymous",load:function(t,e,n,i){void 0===t&&(t=""),void 0!==this.path&&(t=this.path+t),t=this.manager.resolveURL(t);var r=this,o=ba.get(t);if(void 0!==o)return r.manager.itemStart(t),setTimeout(function(){e&&e(o),r.manager.itemEnd(t)},0),o;var a=document.createElementNS("http://www.w3.org/1999/xhtml","img");function s(){a.removeEventListener("load",s,!1),a.removeEventListener("error",u,!1),ba.add(t,this),e&&e(this),r.manager.itemEnd(t)}function u(e){a.removeEventListener("load",s,!1),a.removeEventListener("error",u,!1),i&&i(e),r.manager.itemError(t),r.manager.itemEnd(t)}return a.addEventListener("load",s,!1),a.addEventListener("error",u,!1),"data:"!==t.substr(0,5)&&void 0!==this.crossOrigin&&(a.crossOrigin=this.crossOrigin),r.manager.itemStart(t),a.src=t,a},setCrossOrigin:function(t){return this.crossOrigin=t,this},setPath:function(t){return this.path=t,this}}),Object.assign(Ca.prototype,{crossOrigin:"anonymous",load:function(t,e,n,i){var r=new Fn,o=new Pa(this.manager);o.setCrossOrigin(this.crossOrigin),o.setPath(this.path);var a=0;function s(n){o.load(t[n],function(t){r.images[n]=t,6===++a&&(r.needsUpdate=!0,e&&e(r))},void 0,i)}for(var u=0;u<t.length;++u)s(u);return r},setCrossOrigin:function(t){return this.crossOrigin=t,this},setPath:function(t){return this.path=t,this}}),Object.assign(La.prototype,{crossOrigin:"anonymous",load:function(t,e,n,i){var r=new Xe,o=new Pa(this.manager);return o.setCrossOrigin(this.crossOrigin),o.setPath(this.path),o.load(t,function(n){r.image=n;var i=t.search(/\.jpe?g$/i)>0||0===t.search(/^data\:image\/jpeg/);r.format=i?kt:Gt,r.needsUpdate=!0,void 0!==e&&e(r)},n,i),r},setCrossOrigin:function(t){return this.crossOrigin=t,this},setPath:function(t){return this.path=t,this}}),Object.assign(Ra.prototype,{getPoint:function(){return console.warn("THREE.Curve: .getPoint() not implemented."),null},getPointAt:function(t,e){var n=this.getUtoTmapping(t);return this.getPoint(n,e)},getPoints:function(t){void 0===t&&(t=5);for(var e=[],n=0;n<=t;n++)e.push(this.getPoint(n/t));return e},getSpacedPoints:function(t){void 0===t&&(t=5);for(var e=[],n=0;n<=t;n++)e.push(this.getPointAt(n/t));return e},getLength:function(){var t=this.getLengths();return t[t.length-1]},getLengths:function(t){if(void 0===t&&(t=this.arcLengthDivisions),this.cacheArcLengths&&this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var e,n,i=[],r=this.getPoint(0),o=0;for(i.push(0),n=1;n<=t;n++)o+=(e=this.getPoint(n/t)).distanceTo(r),i.push(o),r=e;return this.cacheArcLengths=i,i},updateArcLengths:function(){this.needsUpdate=!0,this.getLengths()},getUtoTmapping:function(t,e){var n,i=this.getLengths(),r=0,o=i.length;n=e||t*i[o-1];for(var a,s=0,u=o-1;s<=u;)if((a=i[r=Math.floor(s+(u-s)/2)]-n)<0)s=r+1;else{if(!(a>0)){u=r;break}u=r-1}if(i[r=u]===n)return r/(o-1);var l=i[r];return(r+(n-l)/(i[r+1]-l))/(o-1)},getTangent:function(t){var e=t-1e-4,n=t+1e-4;e<0&&(e=0),n>1&&(n=1);var i=this.getPoint(e);return this.getPoint(n).clone().sub(i).normalize()},getTangentAt:function(t){var e=this.getUtoTmapping(t);return this.getTangent(e)},computeFrenetFrames:function(t,e){var n,i,r,o=new He,a=[],s=[],u=[],l=new He,h=new Ve;for(n=0;n<=t;n++)i=n/t,a[n]=this.getTangentAt(i),a[n].normalize();s[0]=new He,u[0]=new He;var c=Number.MAX_VALUE,p=Math.abs(a[0].x),d=Math.abs(a[0].y),f=Math.abs(a[0].z);for(p<=c&&(c=p,o.set(1,0,0)),d<=c&&(c=d,o.set(0,1,0)),f<=c&&o.set(0,0,1),l.crossVectors(a[0],o).normalize(),s[0].crossVectors(a[0],l),u[0].crossVectors(a[0],s[0]),n=1;n<=t;n++)s[n]=s[n-1].clone(),u[n]=u[n-1].clone(),l.crossVectors(a[n-1],a[n]),l.length()>Number.EPSILON&&(l.normalize(),r=Math.acos(Ge.clamp(a[n-1].dot(a[n]),-1,1)),s[n].applyMatrix4(h.makeRotationAxis(l,r))),u[n].crossVectors(a[n],s[n]);if(!0===e)for(r=Math.acos(Ge.clamp(s[0].dot(s[t]),-1,1)),r/=t,a[0].dot(l.crossVectors(s[0],s[t]))>0&&(r=-r),n=1;n<=t;n++)s[n].applyMatrix4(h.makeRotationAxis(a[n],r*n)),u[n].crossVectors(a[n],s[n]);return{tangents:a,normals:s,binormals:u}},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.arcLengthDivisions=t.arcLengthDivisions,this},toJSON:function(){var t={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return t.arcLengthDivisions=this.arcLengthDivisions,t.type=this.type,t},fromJSON:function(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}}),Oa.prototype=Object.create(Ra.prototype),Oa.prototype.constructor=Oa,Oa.prototype.isEllipseCurve=!0,Oa.prototype.getPoint=function(t,e){for(var n=e||new Ue,i=2*Math.PI,r=this.aEndAngle-this.aStartAngle,o=Math.abs(r)<Number.EPSILON;r<0;)r+=i;for(;r>i;)r-=i;r<Number.EPSILON&&(r=o?0:i),!0!==this.aClockwise||o||(r===i?r=-i:r-=i);var a=this.aStartAngle+t*r,s=this.aX+this.xRadius*Math.cos(a),u=this.aY+this.yRadius*Math.sin(a);if(0!==this.aRotation){var l=Math.cos(this.aRotation),h=Math.sin(this.aRotation),c=s-this.aX,p=u-this.aY;s=c*l-p*h+this.aX,u=c*h+p*l+this.aY}return n.set(s,u)},Oa.prototype.copy=function(t){return Ra.prototype.copy.call(this,t),this.aX=t.aX,this.aY=t.aY,this.xRadius=t.xRadius,this.yRadius=t.yRadius,this.aStartAngle=t.aStartAngle,this.aEndAngle=t.aEndAngle,this.aClockwise=t.aClockwise,this.aRotation=t.aRotation,this},Oa.prototype.toJSON=function(){var t=Ra.prototype.toJSON.call(this);return t.aX=this.aX,t.aY=this.aY,t.xRadius=this.xRadius,t.yRadius=this.yRadius,t.aStartAngle=this.aStartAngle,t.aEndAngle=this.aEndAngle,t.aClockwise=this.aClockwise,t.aRotation=this.aRotation,t},Oa.prototype.fromJSON=function(t){return Ra.prototype.fromJSON.call(this,t),this.aX=t.aX,this.aY=t.aY,this.xRadius=t.xRadius,this.yRadius=t.yRadius,this.aStartAngle=t.aStartAngle,this.aEndAngle=t.aEndAngle,this.aClockwise=t.aClockwise,this.aRotation=t.aRotation,this},Ia.prototype=Object.create(Oa.prototype),Ia.prototype.constructor=Ia,Ia.prototype.isArcCurve=!0;var Da=new He,Ba=new Na,ka=new Na,Ga=new Na;function Ua(t,e,n,i){Ra.call(this),this.type="CatmullRomCurve3",this.points=t||[],this.closed=e||!1,this.curveType=n||"centripetal",this.tension=i||.5}function Va(t,e,n,i,r){var o=.5*(i-e),a=.5*(r-n),s=t*t;return(2*n-2*i+o+a)*(t*s)+(-3*n+3*i-2*o-a)*s+o*t+n}function za(t,e,n,i){return function(t,e){var n=1-t;return n*n*e}(t,e)+function(t,e){return 2*(1-t)*t*e}(t,n)+function(t,e){return t*t*e}(t,i)}function Ha(t,e,n,i,r){return function(t,e){var n=1-t;return n*n*n*e}(t,e)+function(t,e){var n=1-t;return 3*n*n*t*e}(t,n)+function(t,e){return 3*(1-t)*t*t*e}(t,i)+function(t,e){return t*t*t*e}(t,r)}function Fa(t,e,n,i){Ra.call(this),this.type="CubicBezierCurve",this.v0=t||new Ue,this.v1=e||new Ue,this.v2=n||new Ue,this.v3=i||new Ue}function ja(t,e,n,i){Ra.call(this),this.type="CubicBezierCurve3",this.v0=t||new He,this.v1=e||new He,this.v2=n||new He,this.v3=i||new He}function Wa(t,e){Ra.call(this),this.type="LineCurve",this.v1=t||new Ue,this.v2=e||new Ue}function Xa(t,e){Ra.call(this),this.type="LineCurve3",this.v1=t||new He,this.v2=e||new He}function Ya(t,e,n){Ra.call(this),this.type="QuadraticBezierCurve",this.v0=t||new Ue,this.v1=e||new Ue,this.v2=n||new Ue}function Ka(t,e,n){Ra.call(this),this.type="QuadraticBezierCurve3",this.v0=t||new He,this.v1=e||new He,this.v2=n||new He}function Za(t){Ra.call(this),this.type="SplineCurve",this.points=t||[]}Ua.prototype=Object.create(Ra.prototype),Ua.prototype.constructor=Ua,Ua.prototype.isCatmullRomCurve3=!0,Ua.prototype.getPoint=function(t,e){var n,i,r,o,a=e||new He,s=this.points,u=s.length,l=(u-(this.closed?0:1))*t,h=Math.floor(l),c=l-h;if(this.closed?h+=h>0?0:(Math.floor(Math.abs(h)/u)+1)*u:0===c&&h===u-1&&(h=u-2,c=1),this.closed||h>0?n=s[(h-1)%u]:(Da.subVectors(s[0],s[1]).add(s[0]),n=Da),i=s[h%u],r=s[(h+1)%u],this.closed||h+2<u?o=s[(h+2)%u]:(Da.subVectors(s[u-1],s[u-2]).add(s[u-1]),o=Da),"centripetal"===this.curveType||"chordal"===this.curveType){var p="chordal"===this.curveType?.5:.25,d=Math.pow(n.distanceToSquared(i),p),f=Math.pow(i.distanceToSquared(r),p),m=Math.pow(r.distanceToSquared(o),p);f<1e-4&&(f=1),d<1e-4&&(d=f),m<1e-4&&(m=f),Ba.initNonuniformCatmullRom(n.x,i.x,r.x,o.x,d,f,m),ka.initNonuniformCatmullRom(n.y,i.y,r.y,o.y,d,f,m),Ga.initNonuniformCatmullRom(n.z,i.z,r.z,o.z,d,f,m)}else"catmullrom"===this.curveType&&(Ba.initCatmullRom(n.x,i.x,r.x,o.x,this.tension),ka.initCatmullRom(n.y,i.y,r.y,o.y,this.tension),Ga.initCatmullRom(n.z,i.z,r.z,o.z,this.tension));return a.set(Ba.calc(c),ka.calc(c),Ga.calc(c)),a},Ua.prototype.copy=function(t){Ra.prototype.copy.call(this,t),this.points=[];for(var e=0,n=t.points.length;e<n;e++){var i=t.points[e];this.points.push(i.clone())}return this.closed=t.closed,this.curveType=t.curveType,this.tension=t.tension,this},Ua.prototype.toJSON=function(){var t=Ra.prototype.toJSON.call(this);t.points=[];for(var e=0,n=this.points.length;e<n;e++){var i=this.points[e];t.points.push(i.toArray())}return t.closed=this.closed,t.curveType=this.curveType,t.tension=this.tension,t},Ua.prototype.fromJSON=function(t){Ra.prototype.fromJSON.call(this,t),this.points=[];for(var e=0,n=t.points.length;e<n;e++){var i=t.points[e];this.points.push((new He).fromArray(i))}return this.closed=t.closed,this.curveType=t.curveType,this.tension=t.tension,this},Fa.prototype=Object.create(Ra.prototype),Fa.prototype.constructor=Fa,Fa.prototype.isCubicBezierCurve=!0,Fa.prototype.getPoint=function(t,e){var n=e||new Ue,i=this.v0,r=this.v1,o=this.v2,a=this.v3;return n.set(Ha(t,i.x,r.x,o.x,a.x),Ha(t,i.y,r.y,o.y,a.y)),n},Fa.prototype.copy=function(t){return Ra.prototype.copy.call(this,t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this.v3.copy(t.v3),this},Fa.prototype.toJSON=function(){var t=Ra.prototype.toJSON.call(this);return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t.v3=this.v3.toArray(),t},Fa.prototype.fromJSON=function(t){return Ra.prototype.fromJSON.call(this,t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this.v3.fromArray(t.v3),this},ja.prototype=Object.create(Ra.prototype),ja.prototype.constructor=ja,ja.prototype.isCubicBezierCurve3=!0,ja.prototype.getPoint=function(t,e){var n=e||new He,i=this.v0,r=this.v1,o=this.v2,a=this.v3;return n.set(Ha(t,i.x,r.x,o.x,a.x),Ha(t,i.y,r.y,o.y,a.y),Ha(t,i.z,r.z,o.z,a.z)),n},ja.prototype.copy=function(t){return Ra.prototype.copy.call(this,t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this.v3.copy(t.v3),this},ja.prototype.toJSON=function(){var t=Ra.prototype.toJSON.call(this);return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t.v3=this.v3.toArray(),t},ja.prototype.fromJSON=function(t){return Ra.prototype.fromJSON.call(this,t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this.v3.fromArray(t.v3),this},Wa.prototype=Object.create(Ra.prototype),Wa.prototype.constructor=Wa,Wa.prototype.isLineCurve=!0,Wa.prototype.getPoint=function(t,e){var n=e||new Ue;return 1===t?n.copy(this.v2):(n.copy(this.v2).sub(this.v1),n.multiplyScalar(t).add(this.v1)),n},Wa.prototype.getPointAt=function(t,e){return this.getPoint(t,e)},Wa.prototype.getTangent=function(){return this.v2.clone().sub(this.v1).normalize()},Wa.prototype.copy=function(t){return Ra.prototype.copy.call(this,t),this.v1.copy(t.v1),this.v2.copy(t.v2),this},Wa.prototype.toJSON=function(){var t=Ra.prototype.toJSON.call(this);return t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t},Wa.prototype.fromJSON=function(t){return Ra.prototype.fromJSON.call(this,t),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this},Xa.prototype=Object.create(Ra.prototype),Xa.prototype.constructor=Xa,Xa.prototype.isLineCurve3=!0,Xa.prototype.getPoint=function(t,e){var n=e||new He;return 1===t?n.copy(this.v2):(n.copy(this.v2).sub(this.v1),n.multiplyScalar(t).add(this.v1)),n},Xa.prototype.getPointAt=function(t,e){return this.getPoint(t,e)},Xa.prototype.copy=function(t){return Ra.prototype.copy.call(this,t),this.v1.copy(t.v1),this.v2.copy(t.v2),this},Xa.prototype.toJSON=function(){var t=Ra.prototype.toJSON.call(this);return t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t},Xa.prototype.fromJSON=function(t){return Ra.prototype.fromJSON.call(this,t),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this},Ya.prototype=Object.create(Ra.prototype),Ya.prototype.constructor=Ya,Ya.prototype.isQuadraticBezierCurve=!0,Ya.prototype.getPoint=function(t,e){var n=e||new Ue,i=this.v0,r=this.v1,o=this.v2;return n.set(za(t,i.x,r.x,o.x),za(t,i.y,r.y,o.y)),n},Ya.prototype.copy=function(t){return Ra.prototype.copy.call(this,t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this},Ya.prototype.toJSON=function(){var t=Ra.prototype.toJSON.call(this);return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t},Ya.prototype.fromJSON=function(t){return Ra.prototype.fromJSON.call(this,t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this},Ka.prototype=Object.create(Ra.prototype),Ka.prototype.constructor=Ka,Ka.prototype.isQuadraticBezierCurve3=!0,Ka.prototype.getPoint=function(t,e){var n=e||new He,i=this.v0,r=this.v1,o=this.v2;return n.set(za(t,i.x,r.x,o.x),za(t,i.y,r.y,o.y),za(t,i.z,r.z,o.z)),n},Ka.prototype.copy=function(t){return Ra.prototype.copy.call(this,t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this},Ka.prototype.toJSON=function(){var t=Ra.prototype.toJSON.call(this);return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t},Ka.prototype.fromJSON=function(t){return Ra.prototype.fromJSON.call(this,t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this},Za.prototype=Object.create(Ra.prototype),Za.prototype.constructor=Za,Za.prototype.isSplineCurve=!0,Za.prototype.getPoint=function(t,e){var n=e||new Ue,i=this.points,r=(i.length-1)*t,o=Math.floor(r),a=r-o,s=i[0===o?o:o-1],u=i[o],l=i[o>i.length-2?i.length-1:o+1],h=i[o>i.length-3?i.length-1:o+2];return n.set(Va(a,s.x,u.x,l.x,h.x),Va(a,s.y,u.y,l.y,h.y)),n},Za.prototype.copy=function(t){Ra.prototype.copy.call(this,t),this.points=[];for(var e=0,n=t.points.length;e<n;e++){var i=t.points[e];this.points.push(i.clone())}return this},Za.prototype.toJSON=function(){var t=Ra.prototype.toJSON.call(this);t.points=[];for(var e=0,n=this.points.length;e<n;e++){var i=this.points[e];t.points.push(i.toArray())}return t},Za.prototype.fromJSON=function(t){Ra.prototype.fromJSON.call(this,t),this.points=[];for(var e=0,n=t.points.length;e<n;e++){var i=t.points[e];this.points.push((new Ue).fromArray(i))}return this};var qa=Object.freeze({ArcCurve:Ia,CatmullRomCurve3:Ua,CubicBezierCurve:Fa,CubicBezierCurve3:ja,EllipseCurve:Oa,LineCurve:Wa,LineCurve3:Xa,QuadraticBezierCurve:Ya,QuadraticBezierCurve3:Ka,SplineCurve:Za});function Qa(){Ra.call(this),this.type="CurvePath",this.curves=[],this.autoClose=!1}function Ja(t){Qa.call(this),this.type="Path",this.currentPoint=new Ue,t&&this.setFromPoints(t)}function $a(t){Ja.call(this,t),this.uuid=Ge.generateUUID(),this.type="Shape",this.holes=[]}function ts(t,e){fn.call(this),this.type="Light",this.color=new on(t),this.intensity=void 0!==e?e:1,this.receiveShadow=void 0}function es(t,e,n){ts.call(this,t,n),this.type="HemisphereLight",this.castShadow=void 0,this.position.copy(fn.DefaultUp),this.updateMatrix(),this.groundColor=new on(e)}function ns(t){this.camera=t,this.bias=0,this.radius=1,this.mapSize=new Ue(512,512),this.map=null,this.matrix=new Ve}function is(){ns.call(this,new or(50,1,.5,500))}function rs(t,e,n,i,r,o){ts.call(this,t,e),this.type="SpotLight",this.position.copy(fn.DefaultUp),this.updateMatrix(),this.target=new fn,Object.defineProperty(this,"power",{get:function(){return this.intensity*Math.PI},set:function(t){this.intensity=t/Math.PI}}),this.distance=void 0!==n?n:0,this.angle=void 0!==i?i:Math.PI/3,this.penumbra=void 0!==r?r:0,this.decay=void 0!==o?o:1,this.shadow=new is}function os(t,e,n,i){ts.call(this,t,e),this.type="PointLight",Object.defineProperty(this,"power",{get:function(){return 4*this.intensity*Math.PI},set:function(t){this.intensity=t/(4*Math.PI)}}),this.distance=void 0!==n?n:0,this.decay=void 0!==i?i:1,this.shadow=new ns(new or(90,1,.5,500))}function as(t,e,n,i,r,o){rr.call(this),this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=void 0!==t?t:-1,this.right=void 0!==e?e:1,this.top=void 0!==n?n:1,this.bottom=void 0!==i?i:-1,this.near=void 0!==r?r:.1,this.far=void 0!==o?o:2e3,this.updateProjectionMatrix()}function ss(){ns.call(this,new as(-5,5,5,-5,.5,500))}function us(t,e){ts.call(this,t,e),this.type="DirectionalLight",this.position.copy(fn.DefaultUp),this.updateMatrix(),this.target=new fn,this.shadow=new ss}function ls(t,e){ts.call(this,t,e),this.type="AmbientLight",this.castShadow=void 0}function hs(t,e,n,i){ts.call(this,t,e),this.type="RectAreaLight",this.width=void 0!==n?n:10,this.height=void 0!==i?i:10}function cs(t){this.manager=void 0!==t?t:wa,this.textures={}}Qa.prototype=Object.assign(Object.create(Ra.prototype),{constructor:Qa,add:function(t){this.curves.push(t)},closePath:function(){var t=this.curves[0].getPoint(0),e=this.curves[this.curves.length-1].getPoint(1);t.equals(e)||this.curves.push(new Wa(e,t))},getPoint:function(t){for(var e=t*this.getLength(),n=this.getCurveLengths(),i=0;i<n.length;){if(n[i]>=e){var r=n[i]-e,o=this.curves[i],a=o.getLength(),s=0===a?0:1-r/a;return o.getPointAt(s)}i++}return null},getLength:function(){var t=this.getCurveLengths();return t[t.length-1]},updateArcLengths:function(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()},getCurveLengths:function(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;for(var t=[],e=0,n=0,i=this.curves.length;n<i;n++)e+=this.curves[n].getLength(),t.push(e);return this.cacheLengths=t,t},getSpacedPoints:function(t){void 0===t&&(t=40);for(var e=[],n=0;n<=t;n++)e.push(this.getPoint(n/t));return this.autoClose&&e.push(e[0]),e},getPoints:function(t){t=t||12;for(var e,n=[],i=0,r=this.curves;i<r.length;i++)for(var o=r[i],a=o&&o.isEllipseCurve?2*t:o&&(o.isLineCurve||o.isLineCurve3)?1:o&&o.isSplineCurve?t*o.points.length:t,s=o.getPoints(a),u=0;u<s.length;u++){var l=s[u];e&&e.equals(l)||(n.push(l),e=l)}return this.autoClose&&n.length>1&&!n[n.length-1].equals(n[0])&&n.push(n[0]),n},copy:function(t){Ra.prototype.copy.call(this,t),this.curves=[];for(var e=0,n=t.curves.length;e<n;e++){var i=t.curves[e];this.curves.push(i.clone())}return this.autoClose=t.autoClose,this},toJSON:function(){var t=Ra.prototype.toJSON.call(this);t.autoClose=this.autoClose,t.curves=[];for(var e=0,n=this.curves.length;e<n;e++){var i=this.curves[e];t.curves.push(i.toJSON())}return t},fromJSON:function(t){Ra.prototype.fromJSON.call(this,t),this.autoClose=t.autoClose,this.curves=[];for(var e=0,n=t.curves.length;e<n;e++){var i=t.curves[e];this.curves.push((new qa[i.type]).fromJSON(i))}return this}}),Ja.prototype=Object.assign(Object.create(Qa.prototype),{constructor:Ja,setFromPoints:function(t){this.moveTo(t[0].x,t[0].y);for(var e=1,n=t.length;e<n;e++)this.lineTo(t[e].x,t[e].y)},moveTo:function(t,e){this.currentPoint.set(t,e)},lineTo:function(t,e){var n=new Wa(this.currentPoint.clone(),new Ue(t,e));this.curves.push(n),this.currentPoint.set(t,e)},quadraticCurveTo:function(t,e,n,i){var r=new Ya(this.currentPoint.clone(),new Ue(t,e),new Ue(n,i));this.curves.push(r),this.currentPoint.set(n,i)},bezierCurveTo:function(t,e,n,i,r,o){var a=new Fa(this.currentPoint.clone(),new Ue(t,e),new Ue(n,i),new Ue(r,o));this.curves.push(a),this.currentPoint.set(r,o)},splineThru:function(t){var e=new Za([this.currentPoint.clone()].concat(t));this.curves.push(e),this.currentPoint.copy(t[t.length-1])},arc:function(t,e,n,i,r,o){var a=this.currentPoint.x,s=this.currentPoint.y;this.absarc(t+a,e+s,n,i,r,o)},absarc:function(t,e,n,i,r,o){this.absellipse(t,e,n,n,i,r,o)},ellipse:function(t,e,n,i,r,o,a,s){var u=this.currentPoint.x,l=this.currentPoint.y;this.absellipse(t+u,e+l,n,i,r,o,a,s)},absellipse:function(t,e,n,i,r,o,a,s){var u=new Oa(t,e,n,i,r,o,a,s);if(this.curves.length>0){var l=u.getPoint(0);l.equals(this.currentPoint)||this.lineTo(l.x,l.y)}this.curves.push(u);var h=u.getPoint(1);this.currentPoint.copy(h)},copy:function(t){return Qa.prototype.copy.call(this,t),this.currentPoint.copy(t.currentPoint),this},toJSON:function(){var t=Qa.prototype.toJSON.call(this);return t.currentPoint=this.currentPoint.toArray(),t},fromJSON:function(t){return Qa.prototype.fromJSON.call(this,t),this.currentPoint.fromArray(t.currentPoint),this}}),$a.prototype=Object.assign(Object.create(Ja.prototype),{constructor:$a,getPointsHoles:function(t){for(var e=[],n=0,i=this.holes.length;n<i;n++)e[n]=this.holes[n].getPoints(t);return e},extractPoints:function(t){return{shape:this.getPoints(t),holes:this.getPointsHoles(t)}},copy:function(t){Ja.prototype.copy.call(this,t),this.holes=[];for(var e=0,n=t.holes.length;e<n;e++){var i=t.holes[e];this.holes.push(i.clone())}return this},toJSON:function(){var t=Ja.prototype.toJSON.call(this);t.uuid=this.uuid,t.holes=[];for(var e=0,n=this.holes.length;e<n;e++){var i=this.holes[e];t.holes.push(i.toJSON())}return t},fromJSON:function(t){Ja.prototype.fromJSON.call(this,t),this.uuid=t.uuid,this.holes=[];for(var e=0,n=t.holes.length;e<n;e++){var i=t.holes[e];this.holes.push((new Ja).fromJSON(i))}return this}}),ts.prototype=Object.assign(Object.create(fn.prototype),{constructor:ts,isLight:!0,copy:function(t){return fn.prototype.copy.call(this,t),this.color.copy(t.color),this.intensity=t.intensity,this},toJSON:function(t){var e=fn.prototype.toJSON.call(this,t);return e.object.color=this.color.getHex(),e.object.intensity=this.intensity,void 0!==this.groundColor&&(e.object.groundColor=this.groundColor.getHex()),void 0!==this.distance&&(e.object.distance=this.distance),void 0!==this.angle&&(e.object.angle=this.angle),void 0!==this.decay&&(e.object.decay=this.decay),void 0!==this.penumbra&&(e.object.penumbra=this.penumbra),void 0!==this.shadow&&(e.object.shadow=this.shadow.toJSON()),e}}),es.prototype=Object.assign(Object.create(ts.prototype),{constructor:es,isHemisphereLight:!0,copy:function(t){return ts.prototype.copy.call(this,t),this.groundColor.copy(t.groundColor),this}}),Object.assign(ns.prototype,{copy:function(t){return this.camera=t.camera.clone(),this.bias=t.bias,this.radius=t.radius,this.mapSize.copy(t.mapSize),this},clone:function(){return(new this.constructor).copy(this)},toJSON:function(){var t={};return 0!==this.bias&&(t.bias=this.bias),1!==this.radius&&(t.radius=this.radius),512===this.mapSize.x&&512===this.mapSize.y||(t.mapSize=this.mapSize.toArray()),t.camera=this.camera.toJSON(!1).object,delete t.camera.matrix,t}}),is.prototype=Object.assign(Object.create(ns.prototype),{constructor:is,isSpotLightShadow:!0,update:function(t){var e=this.camera,n=2*Ge.RAD2DEG*t.angle,i=this.mapSize.width/this.mapSize.height,r=t.distance||e.far;n===e.fov&&i===e.aspect&&r===e.far||(e.fov=n,e.aspect=i,e.far=r,e.updateProjectionMatrix())}}),rs.prototype=Object.assign(Object.create(ts.prototype),{constructor:rs,isSpotLight:!0,copy:function(t){return ts.prototype.copy.call(this,t),this.distance=t.distance,this.angle=t.angle,this.penumbra=t.penumbra,this.decay=t.decay,this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}),os.prototype=Object.assign(Object.create(ts.prototype),{constructor:os,isPointLight:!0,copy:function(t){return ts.prototype.copy.call(this,t),this.distance=t.distance,this.decay=t.decay,this.shadow=t.shadow.clone(),this}}),as.prototype=Object.assign(Object.create(rr.prototype),{constructor:as,isOrthographicCamera:!0,copy:function(t,e){return rr.prototype.copy.call(this,t,e),this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.near=t.near,this.far=t.far,this.zoom=t.zoom,this.view=null===t.view?null:Object.assign({},t.view),this},setViewOffset:function(t,e,n,i,r,o){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=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=i,this.view.width=r,this.view.height=o,this.updateProjectionMatrix()},clearViewOffset:function(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()},updateProjectionMatrix:function(){var t=(this.right-this.left)/(2*this.zoom),e=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,i=(this.top+this.bottom)/2,r=n-t,o=n+t,a=i+e,s=i-e;if(null!==this.view&&this.view.enabled){var u=this.zoom/(this.view.width/this.view.fullWidth),l=this.zoom/(this.view.height/this.view.fullHeight),h=(this.right-this.left)/this.view.width,c=(this.top-this.bottom)/this.view.height;o=(r+=h*(this.view.offsetX/u))+h*(this.view.width/u),s=(a-=c*(this.view.offsetY/l))-c*(this.view.height/l)}this.projectionMatrix.makeOrthographic(r,o,a,s,this.near,this.far),this.projectionMatrixInverse.getInverse(this.projectionMatrix)},toJSON:function(t){var e=fn.prototype.toJSON.call(this,t);return e.object.zoom=this.zoom,e.object.left=this.left,e.object.right=this.right,e.object.top=this.top,e.object.bottom=this.bottom,e.object.near=this.near,e.object.far=this.far,null!==this.view&&(e.object.view=Object.assign({},this.view)),e}}),ss.prototype=Object.assign(Object.create(ns.prototype),{constructor:ss}),us.prototype=Object.assign(Object.create(ts.prototype),{constructor:us,isDirectionalLight:!0,copy:function(t){return ts.prototype.copy.call(this,t),this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}),ls.prototype=Object.assign(Object.create(ts.prototype),{constructor:ls,isAmbientLight:!0}),hs.prototype=Object.assign(Object.create(ts.prototype),{constructor:hs,isRectAreaLight:!0,copy:function(t){return ts.prototype.copy.call(this,t),this.width=t.width,this.height=t.height,this},toJSON:function(t){var e=ts.prototype.toJSON.call(this,t);return e.object.width=this.width,e.object.height=this.height,e}}),Object.assign(cs.prototype,{load:function(t,e,n,i){var r=this,o=new Sa(r.manager);o.setPath(r.path),o.load(t,function(t){e(r.parse(JSON.parse(t)))},n,i)},parse:function(t){var e=this.textures;function n(t){return void 0===e[t]&&console.warn("THREE.MaterialLoader: Undefined texture",t),e[t]}var i=new ra[t.type];if(void 0!==t.uuid&&(i.uuid=t.uuid),void 0!==t.name&&(i.name=t.name),void 0!==t.color&&i.color.setHex(t.color),void 0!==t.roughness&&(i.roughness=t.roughness),void 0!==t.metalness&&(i.metalness=t.metalness),void 0!==t.emissive&&i.emissive.setHex(t.emissive),void 0!==t.specular&&i.specular.setHex(t.specular),void 0!==t.shininess&&(i.shininess=t.shininess),void 0!==t.clearCoat&&(i.clearCoat=t.clearCoat),void 0!==t.clearCoatRoughness&&(i.clearCoatRoughness=t.clearCoatRoughness),void 0!==t.vertexColors&&(i.vertexColors=t.vertexColors),void 0!==t.fog&&(i.fog=t.fog),void 0!==t.flatShading&&(i.flatShading=t.flatShading),void 0!==t.blending&&(i.blending=t.blending),void 0!==t.combine&&(i.combine=t.combine),void 0!==t.side&&(i.side=t.side),void 0!==t.opacity&&(i.opacity=t.opacity),void 0!==t.transparent&&(i.transparent=t.transparent),void 0!==t.alphaTest&&(i.alphaTest=t.alphaTest),void 0!==t.depthTest&&(i.depthTest=t.depthTest),void 0!==t.depthWrite&&(i.depthWrite=t.depthWrite),void 0!==t.colorWrite&&(i.colorWrite=t.colorWrite),void 0!==t.wireframe&&(i.wireframe=t.wireframe),void 0!==t.wireframeLinewidth&&(i.wireframeLinewidth=t.wireframeLinewidth),void 0!==t.wireframeLinecap&&(i.wireframeLinecap=t.wireframeLinecap),void 0!==t.wireframeLinejoin&&(i.wireframeLinejoin=t.wireframeLinejoin),void 0!==t.rotation&&(i.rotation=t.rotation),1!==t.linewidth&&(i.linewidth=t.linewidth),void 0!==t.dashSize&&(i.dashSize=t.dashSize),void 0!==t.gapSize&&(i.gapSize=t.gapSize),void 0!==t.scale&&(i.scale=t.scale),void 0!==t.polygonOffset&&(i.polygonOffset=t.polygonOffset),void 0!==t.polygonOffsetFactor&&(i.polygonOffsetFactor=t.polygonOffsetFactor),void 0!==t.polygonOffsetUnits&&(i.polygonOffsetUnits=t.polygonOffsetUnits),void 0!==t.skinning&&(i.skinning=t.skinning),void 0!==t.morphTargets&&(i.morphTargets=t.morphTargets),void 0!==t.dithering&&(i.dithering=t.dithering),void 0!==t.visible&&(i.visible=t.visible),void 0!==t.userData&&(i.userData=t.userData),void 0!==t.uniforms)for(var r in t.uniforms){var o=t.uniforms[r];switch(i.uniforms[r]={},o.type){case"t":i.uniforms[r].value=n(o.value);break;case"c":i.uniforms[r].value=(new on).setHex(o.value);break;case"v2":i.uniforms[r].value=(new Ue).fromArray(o.value);break;case"v3":i.uniforms[r].value=(new He).fromArray(o.value);break;case"v4":i.uniforms[r].value=(new Ye).fromArray(o.value);break;case"m4":i.uniforms[r].value=(new Ve).fromArray(o.value);break;default:i.uniforms[r].value=o.value}}if(void 0!==t.defines&&(i.defines=t.defines),void 0!==t.vertexShader&&(i.vertexShader=t.vertexShader),void 0!==t.fragmentShader&&(i.fragmentShader=t.fragmentShader),void 0!==t.shading&&(i.flatShading=1===t.shading),void 0!==t.size&&(i.size=t.size),void 0!==t.sizeAttenuation&&(i.sizeAttenuation=t.sizeAttenuation),void 0!==t.map&&(i.map=n(t.map)),void 0!==t.alphaMap&&(i.alphaMap=n(t.alphaMap),i.transparent=!0),void 0!==t.bumpMap&&(i.bumpMap=n(t.bumpMap)),void 0!==t.bumpScale&&(i.bumpScale=t.bumpScale),void 0!==t.normalMap&&(i.normalMap=n(t.normalMap)),void 0!==t.normalMapType&&(i.normalMapType=t.normalMapType),void 0!==t.normalScale){var a=t.normalScale;!1===Array.isArray(a)&&(a=[a,a]),i.normalScale=(new Ue).fromArray(a)}return void 0!==t.displacementMap&&(i.displacementMap=n(t.displacementMap)),void 0!==t.displacementScale&&(i.displacementScale=t.displacementScale),void 0!==t.displacementBias&&(i.displacementBias=t.displacementBias),void 0!==t.roughnessMap&&(i.roughnessMap=n(t.roughnessMap)),void 0!==t.metalnessMap&&(i.metalnessMap=n(t.metalnessMap)),void 0!==t.emissiveMap&&(i.emissiveMap=n(t.emissiveMap)),void 0!==t.emissiveIntensity&&(i.emissiveIntensity=t.emissiveIntensity),void 0!==t.specularMap&&(i.specularMap=n(t.specularMap)),void 0!==t.envMap&&(i.envMap=n(t.envMap)),void 0!==t.envMapIntensity&&(i.envMapIntensity=t.envMapIntensity),void 0!==t.reflectivity&&(i.reflectivity=t.reflectivity),void 0!==t.lightMap&&(i.lightMap=n(t.lightMap)),void 0!==t.lightMapIntensity&&(i.lightMapIntensity=t.lightMapIntensity),void 0!==t.aoMap&&(i.aoMap=n(t.aoMap)),void 0!==t.aoMapIntensity&&(i.aoMapIntensity=t.aoMapIntensity),void 0!==t.gradientMap&&(i.gradientMap=n(t.gradientMap)),i},setPath:function(t){return this.path=t,this},setTextures:function(t){return this.textures=t,this}});var ps={decodeText:function(t){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(t);for(var e="",n=0,i=t.length;n<i;n++)e+=String.fromCharCode(t[n]);return decodeURIComponent(escape(e))},extractUrlBase:function(t){var e=t.lastIndexOf("/");return-1===e?"./":t.substr(0,e+1)}};function ds(t){this.manager=void 0!==t?t:wa}Object.assign(ds.prototype,{load:function(t,e,n,i){var r=this,o=new Sa(r.manager);o.setPath(r.path),o.load(t,function(t){e(r.parse(JSON.parse(t)))},n,i)},parse:function(t){var e=new Ln,n=t.data.index;if(void 0!==n){var i=new fs[n.type](n.array);e.setIndex(new vn(i,1))}var r=t.data.attributes;for(var o in r){var a=r[o];i=new fs[a.type](a.array);e.addAttribute(o,new vn(i,a.itemSize,a.normalized))}var s=t.data.groups||t.data.drawcalls||t.data.offsets;if(void 0!==s)for(var u=0,l=s.length;u!==l;++u){var h=s[u];e.addGroup(h.start,h.count,h.materialIndex)}var c=t.data.boundingSphere;if(void 0!==c){var p=new He;void 0!==c.center&&p.fromArray(c.center),e.boundingSphere=new Je(p,c.radius)}return e},setPath:function(t){return this.path=t,this}});var fs={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:"undefined"!=typeof Uint8ClampedArray?Uint8ClampedArray:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};function ms(){}function gs(t){"boolean"==typeof t&&(console.warn("THREE.JSONLoader: showStatus parameter has been removed from constructor."),t=void 0),this.manager=void 0!==t?t:wa,this.withCredentials=!1}function vs(t){this.manager=void 0!==t?t:wa,this.resourcePath=""}ms.Handlers={handlers:[],add:function(t,e){this.handlers.push(t,e)},get:function(t){for(var e=this.handlers,n=0,i=e.length;n<i;n+=2){var r=e[n],o=e[n+1];if(r.test(t))return o}return null}},Object.assign(ms.prototype,{crossOrigin:"anonymous",onLoadStart:function(){},onLoadProgress:function(){},onLoadComplete:function(){},initMaterials:function(t,e,n){for(var i=[],r=0;r<t.length;++r)i[r]=this.createMaterial(t[r],e,n);return i},createMaterial:function(){var t={NoBlending:A,NormalBlending:S,AdditiveBlending:T,SubtractiveBlending:E,MultiplyBlending:M,CustomBlending:P},e=new on,n=new La,i=new cs;return function(r,o,a){var s={};function u(t,e,i,r,u){var l,h=o+t,c=ms.Handlers.get(h);null!==c?l=c.load(h):(n.setCrossOrigin(a),l=n.load(h)),void 0!==e&&(l.repeat.fromArray(e),1!==e[0]&&(l.wrapS=mt),1!==e[1]&&(l.wrapT=mt)),void 0!==i&&l.offset.fromArray(i),void 0!==r&&("repeat"===r[0]&&(l.wrapS=mt),"mirror"===r[0]&&(l.wrapS=vt),"repeat"===r[1]&&(l.wrapT=mt),"mirror"===r[1]&&(l.wrapT=vt)),void 0!==u&&(l.anisotropy=u);var p=Ge.generateUUID();return s[p]=l,p}var l={uuid:Ge.generateUUID(),type:"MeshLambertMaterial"};for(var h in r){var c=r[h];switch(h){case"DbgColor":case"DbgIndex":case"opticalDensity":case"illumination":break;case"DbgName":l.name=c;break;case"blending":l.blending=t[c];break;case"colorAmbient":case"mapAmbient":console.warn("THREE.Loader.createMaterial:",h,"is no longer supported.");break;case"colorDiffuse":l.color=e.fromArray(c).getHex();break;case"colorSpecular":l.specular=e.fromArray(c).getHex();break;case"colorEmissive":l.emissive=e.fromArray(c).getHex();break;case"specularCoef":l.shininess=c;break;case"shading":"basic"===c.toLowerCase()&&(l.type="MeshBasicMaterial"),"phong"===c.toLowerCase()&&(l.type="MeshPhongMaterial"),"standard"===c.toLowerCase()&&(l.type="MeshStandardMaterial");break;case"mapDiffuse":l.map=u(c,r.mapDiffuseRepeat,r.mapDiffuseOffset,r.mapDiffuseWrap,r.mapDiffuseAnisotropy);break;case"mapDiffuseRepeat":case"mapDiffuseOffset":case"mapDiffuseWrap":case"mapDiffuseAnisotropy":break;case"mapEmissive":l.emissiveMap=u(c,r.mapEmissiveRepeat,r.mapEmissiveOffset,r.mapEmissiveWrap,r.mapEmissiveAnisotropy);break;case"mapEmissiveRepeat":case"mapEmissiveOffset":case"mapEmissiveWrap":case"mapEmissiveAnisotropy":break;case"mapLight":l.lightMap=u(c,r.mapLightRepeat,r.mapLightOffset,r.mapLightWrap,r.mapLightAnisotropy);break;case"mapLightRepeat":case"mapLightOffset":case"mapLightWrap":case"mapLightAnisotropy":break;case"mapAO":l.aoMap=u(c,r.mapAORepeat,r.mapAOOffset,r.mapAOWrap,r.mapAOAnisotropy);break;case"mapAORepeat":case"mapAOOffset":case"mapAOWrap":case"mapAOAnisotropy":break;case"mapBump":l.bumpMap=u(c,r.mapBumpRepeat,r.mapBumpOffset,r.mapBumpWrap,r.mapBumpAnisotropy);break;case"mapBumpScale":l.bumpScale=c;break;case"mapBumpRepeat":case"mapBumpOffset":case"mapBumpWrap":case"mapBumpAnisotropy":break;case"mapNormal":l.normalMap=u(c,r.mapNormalRepeat,r.mapNormalOffset,r.mapNormalWrap,r.mapNormalAnisotropy);break;case"mapNormalFactor":l.normalScale=c;break;case"mapNormalRepeat":case"mapNormalOffset":case"mapNormalWrap":case"mapNormalAnisotropy":break;case"mapSpecular":l.specularMap=u(c,r.mapSpecularRepeat,r.mapSpecularOffset,r.mapSpecularWrap,r.mapSpecularAnisotropy);break;case"mapSpecularRepeat":case"mapSpecularOffset":case"mapSpecularWrap":case"mapSpecularAnisotropy":break;case"mapMetalness":l.metalnessMap=u(c,r.mapMetalnessRepeat,r.mapMetalnessOffset,r.mapMetalnessWrap,r.mapMetalnessAnisotropy);break;case"mapMetalnessRepeat":case"mapMetalnessOffset":case"mapMetalnessWrap":case"mapMetalnessAnisotropy":break;case"mapRoughness":l.roughnessMap=u(c,r.mapRoughnessRepeat,r.mapRoughnessOffset,r.mapRoughnessWrap,r.mapRoughnessAnisotropy);break;case"mapRoughnessRepeat":case"mapRoughnessOffset":case"mapRoughnessWrap":case"mapRoughnessAnisotropy":break;case"mapAlpha":l.alphaMap=u(c,r.mapAlphaRepeat,r.mapAlphaOffset,r.mapAlphaWrap,r.mapAlphaAnisotropy);break;case"mapAlphaRepeat":case"mapAlphaOffset":case"mapAlphaWrap":case"mapAlphaAnisotropy":break;case"flipSided":l.side=g;break;case"doubleSided":l.side=v;break;case"transparency":console.warn("THREE.Loader.createMaterial: transparency has been renamed to opacity"),l.opacity=c;break;case"depthTest":case"depthWrite":case"colorWrite":case"opacity":case"reflectivity":case"transparent":case"visible":case"wireframe":l[h]=c;break;case"vertexColors":!0===c&&(l.vertexColors=w),"face"===c&&(l.vertexColors=x);break;default:console.error("THREE.Loader.createMaterial: Unsupported",h,c)}}return"MeshBasicMaterial"===l.type&&delete l.emissive,"MeshPhongMaterial"!==l.type&&delete l.specular,l.opacity<1&&(l.transparent=!0),i.setTextures(s),i.parse(l)}}()}),Object.assign(gs.prototype,{crossOrigin:"anonymous",load:function(t,e,n,i){var r=this,o=void 0===this.path?ps.extractUrlBase(t):this.path,a=new Sa(this.manager);a.setPath(this.path),a.setWithCredentials(this.withCredentials),a.load(t,function(n){var i=JSON.parse(n),a=i.metadata;if(void 0!==a){var s=a.type;if(void 0!==s&&"object"===s.toLowerCase())return void console.error("THREE.JSONLoader: "+t+" should be loaded with THREE.ObjectLoader instead.")}var u=r.parse(i,o);e(u.geometry,u.materials)},n,i)},setPath:function(t){return this.path=t,this},setResourcePath:function(t){return this.resourcePath=t,this},setCrossOrigin:function(t){return this.crossOrigin=t,this},parse:function(){return function(t,e){void 0!==t.data&&(t=t.data),void 0!==t.scale?t.scale=1/t.scale:t.scale=1;var n=new gn;return function(t,e){function n(t,e){return t&1<<e}var i,r,o,a,s,u,l,h,c,p,d,f,m,g,v,y,_,b,x,w,A,S,T,E,M,P=t.faces,C=t.vertices,L=t.normals,R=t.colors,O=t.scale,I=0;if(void 0!==t.uvs){for(i=0;i<t.uvs.length;i++)t.uvs[i].length&&I++;for(i=0;i<I;i++)e.faceVertexUvs[i]=[]}for(a=0,s=C.length;a<s;)(b=new He).x=C[a++]*O,b.y=C[a++]*O,b.z=C[a++]*O,e.vertices.push(b);for(a=0,s=P.length;a<s;)if(d=n(p=P[a++],0),f=n(p,1),m=n(p,3),g=n(p,4),v=n(p,5),y=n(p,6),_=n(p,7),d){if((w=new hn).a=P[a],w.b=P[a+1],w.c=P[a+3],(A=new hn).a=P[a+1],A.b=P[a+2],A.c=P[a+3],a+=4,f&&(c=P[a++],w.materialIndex=c,A.materialIndex=c),o=e.faces.length,m)for(i=0;i<I;i++)for(E=t.uvs[i],e.faceVertexUvs[i][o]=[],e.faceVertexUvs[i][o+1]=[],r=0;r<4;r++)M=new Ue(E[2*(h=P[a++])],E[2*h+1]),2!==r&&e.faceVertexUvs[i][o].push(M),0!==r&&e.faceVertexUvs[i][o+1].push(M);if(g&&(l=3*P[a++],w.normal.set(L[l++],L[l++],L[l]),A.normal.copy(w.normal)),v)for(i=0;i<4;i++)l=3*P[a++],T=new He(L[l++],L[l++],L[l]),2!==i&&w.vertexNormals.push(T),0!==i&&A.vertexNormals.push(T);if(y&&(S=R[u=P[a++]],w.color.setHex(S),A.color.setHex(S)),_)for(i=0;i<4;i++)S=R[u=P[a++]],2!==i&&w.vertexColors.push(new on(S)),0!==i&&A.vertexColors.push(new on(S));e.faces.push(w),e.faces.push(A)}else{if((x=new hn).a=P[a++],x.b=P[a++],x.c=P[a++],f&&(c=P[a++],x.materialIndex=c),o=e.faces.length,m)for(i=0;i<I;i++)for(E=t.uvs[i],e.faceVertexUvs[i][o]=[],r=0;r<3;r++)M=new Ue(E[2*(h=P[a++])],E[2*h+1]),e.faceVertexUvs[i][o].push(M);if(g&&(l=3*P[a++],x.normal.set(L[l++],L[l++],L[l])),v)for(i=0;i<3;i++)l=3*P[a++],T=new He(L[l++],L[l++],L[l]),x.vertexNormals.push(T);if(y&&(u=P[a++],x.color.setHex(R[u])),_)for(i=0;i<3;i++)u=P[a++],x.vertexColors.push(new on(R[u]));e.faces.push(x)}}(t,n),function(t,e){var n=void 0!==t.influencesPerVertex?t.influencesPerVertex:2;if(t.skinWeights)for(var i=0,r=t.skinWeights.length;i<r;i+=n){var o=t.skinWeights[i],a=n>1?t.skinWeights[i+1]:0,s=n>2?t.skinWeights[i+2]:0,u=n>3?t.skinWeights[i+3]:0;e.skinWeights.push(new Ye(o,a,s,u))}if(t.skinIndices)for(i=0,r=t.skinIndices.length;i<r;i+=n){var l=t.skinIndices[i],h=n>1?t.skinIndices[i+1]:0,c=n>2?t.skinIndices[i+2]:0,p=n>3?t.skinIndices[i+3]:0;e.skinIndices.push(new Ye(l,h,c,p))}e.bones=t.bones,e.bones&&e.bones.length>0&&(e.skinWeights.length!==e.skinIndices.length||e.skinIndices.length!==e.vertices.length)&&console.warn("When skinning, number of vertices ("+e.vertices.length+"), skinIndices ("+e.skinIndices.length+"), and skinWeights ("+e.skinWeights.length+") should match.")}(t,n),function(t,e){var n=t.scale;if(void 0!==t.morphTargets)for(var i=0,r=t.morphTargets.length;i<r;i++){e.morphTargets[i]={},e.morphTargets[i].name=t.morphTargets[i].name,e.morphTargets[i].vertices=[];for(var o=e.morphTargets[i].vertices,a=t.morphTargets[i].vertices,s=0,u=a.length;s<u;s+=3){var l=new He;l.x=a[s]*n,l.y=a[s+1]*n,l.z=a[s+2]*n,o.push(l)}}if(void 0!==t.morphColors&&t.morphColors.length>0){console.warn('THREE.JSONLoader: "morphColors" no longer supported. Using them as face colors.');var h=e.faces,c=t.morphColors[0].colors;for(i=0,r=h.length;i<r;i++)h[i].color.fromArray(c,3*i)}}(t,n),function(t,e){var n=[],i=[];void 0!==t.animation&&i.push(t.animation),void 0!==t.animations&&(t.animations.length?i=i.concat(t.animations):i.push(t.animations));for(var r=0;r<i.length;r++){var o=ya.parseAnimation(i[r],e.bones);o&&n.push(o)}if(e.morphTargets){var a=ya.CreateClipsFromMorphTargetSequences(e.morphTargets,10);n=n.concat(a)}n.length>0&&(e.animations=n)}(t,n),n.computeFaceNormals(),n.computeBoundingSphere(),void 0===t.materials||0===t.materials.length?{geometry:n}:{geometry:n,materials:ms.prototype.initMaterials(t.materials,this.resourcePath||e,this.crossOrigin)}}}()}),Object.assign(vs.prototype,{crossOrigin:"anonymous",load:function(t,e,n,i){var r=this,o=void 0===this.path?ps.extractUrlBase(t):this.path;this.resourcePath=this.resourcePath||o;var a=new Sa(r.manager);a.setPath(this.path),a.load(t,function(n){var o=null;try{o=JSON.parse(n)}catch(e){return void 0!==i&&i(e),void console.error("THREE:ObjectLoader: Can't parse "+t+".",e.message)}var a=o.metadata;void 0!==a&&void 0!==a.type&&"geometry"!==a.type.toLowerCase()?r.parse(o,e):console.error("THREE.ObjectLoader: Can't load "+t+". Use THREE.JSONLoader instead.")},n,i)},setPath:function(t){return this.path=t,this},setResourcePath:function(t){return this.resourcePath=t,this},setCrossOrigin:function(t){return this.crossOrigin=t,this},parse:function(t,e){var n=this.parseShape(t.shapes),i=this.parseGeometries(t.geometries,n),r=this.parseImages(t.images,function(){void 0!==e&&e(s)}),o=this.parseTextures(t.textures,r),a=this.parseMaterials(t.materials,o),s=this.parseObject(t.object,i,a);return t.animations&&(s.animations=this.parseAnimations(t.animations)),void 0!==t.images&&0!==t.images.length||void 0!==e&&e(s),s},parseShape:function(t){var e={};if(void 0!==t)for(var n=0,i=t.length;n<i;n++){var r=(new $a).fromJSON(t[n]);e[r.uuid]=r}return e},parseGeometries:function(t,e){var n={};if(void 0!==t)for(var i=new gs,r=new ds,o=0,a=t.length;o<a;o++){var s,u=t[o];switch(u.type){case"PlaneGeometry":case"PlaneBufferGeometry":s=new Yo[u.type](u.width,u.height,u.widthSegments,u.heightSegments);break;case"BoxGeometry":case"BoxBufferGeometry":case"CubeGeometry":s=new Yo[u.type](u.width,u.height,u.depth,u.widthSegments,u.heightSegments,u.depthSegments);break;case"CircleGeometry":case"CircleBufferGeometry":s=new Yo[u.type](u.radius,u.segments,u.thetaStart,u.thetaLength);break;case"CylinderGeometry":case"CylinderBufferGeometry":s=new Yo[u.type](u.radiusTop,u.radiusBottom,u.height,u.radialSegments,u.heightSegments,u.openEnded,u.thetaStart,u.thetaLength);break;case"ConeGeometry":case"ConeBufferGeometry":s=new Yo[u.type](u.radius,u.height,u.radialSegments,u.heightSegments,u.openEnded,u.thetaStart,u.thetaLength);break;case"SphereGeometry":case"SphereBufferGeometry":s=new Yo[u.type](u.radius,u.widthSegments,u.heightSegments,u.phiStart,u.phiLength,u.thetaStart,u.thetaLength);break;case"DodecahedronGeometry":case"DodecahedronBufferGeometry":case"IcosahedronGeometry":case"IcosahedronBufferGeometry":case"OctahedronGeometry":case"OctahedronBufferGeometry":case"TetrahedronGeometry":case"TetrahedronBufferGeometry":s=new Yo[u.type](u.radius,u.detail);break;case"RingGeometry":case"RingBufferGeometry":s=new Yo[u.type](u.innerRadius,u.outerRadius,u.thetaSegments,u.phiSegments,u.thetaStart,u.thetaLength);break;case"TorusGeometry":case"TorusBufferGeometry":s=new Yo[u.type](u.radius,u.tube,u.radialSegments,u.tubularSegments,u.arc);break;case"TorusKnotGeometry":case"TorusKnotBufferGeometry":s=new Yo[u.type](u.radius,u.tube,u.tubularSegments,u.radialSegments,u.p,u.q);break;case"LatheGeometry":case"LatheBufferGeometry":s=new Yo[u.type](u.points,u.segments,u.phiStart,u.phiLength);break;case"PolyhedronGeometry":case"PolyhedronBufferGeometry":s=new Yo[u.type](u.vertices,u.indices,u.radius,u.details);break;case"ShapeGeometry":case"ShapeBufferGeometry":for(var l=[],h=0,c=u.shapes.length;h<c;h++){var p=e[u.shapes[h]];l.push(p)}s=new Yo[u.type](l,u.curveSegments);break;case"ExtrudeGeometry":case"ExtrudeBufferGeometry":for(l=[],h=0,c=u.shapes.length;h<c;h++){p=e[u.shapes[h]];l.push(p)}var d=u.options.extrudePath;void 0!==d&&(u.options.extrudePath=(new qa[d.type]).fromJSON(d)),s=new Yo[u.type](l,u.options);break;case"BufferGeometry":s=r.parse(u);break;case"Geometry":s=i.parse(u,this.resourcePath).geometry;break;default:console.warn('THREE.ObjectLoader: Unsupported geometry type "'+u.type+'"');continue}s.uuid=u.uuid,void 0!==u.name&&(s.name=u.name),!0===s.isBufferGeometry&&void 0!==u.userData&&(s.userData=u.userData),n[u.uuid]=s}return n},parseMaterials:function(t,e){var n={},i={};if(void 0!==t){var r=new cs;r.setTextures(e);for(var o=0,a=t.length;o<a;o++){var s=t[o];if("MultiMaterial"===s.type){for(var u=[],l=0;l<s.materials.length;l++){var h=s.materials[l];void 0===n[h.uuid]&&(n[h.uuid]=r.parse(h)),u.push(n[h.uuid])}i[s.uuid]=u}else i[s.uuid]=r.parse(s),n[s.uuid]=i[s.uuid]}}return i},parseAnimations:function(t){for(var e=[],n=0;n<t.length;n++){var i=t[n],r=ya.parse(i);void 0!==i.uuid&&(r.uuid=i.uuid),e.push(r)}return e},parseImages:function(t,e){var n=this,i={};function r(t){return n.manager.itemStart(t),o.load(t,function(){n.manager.itemEnd(t)},void 0,function(){n.manager.itemError(t),n.manager.itemEnd(t)})}if(void 0!==t&&t.length>0){var o=new Pa(new xa(e));o.setCrossOrigin(this.crossOrigin);for(var a=0,s=t.length;a<s;a++){var u=t[a],l=u.url;if(Array.isArray(l)){i[u.uuid]=[];for(var h=0,c=l.length;h<c;h++){var p=l[h],d=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(p)?p:n.resourcePath+p;i[u.uuid].push(r(d))}}else{d=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(u.url)?u.url:n.resourcePath+u.url;i[u.uuid]=r(d)}}}return i},parseTextures:function(t,e){function n(t,e){return"number"==typeof t?t:(console.warn("THREE.ObjectLoader.parseTexture: Constant should be in numeric form.",t),e[t])}var i={};if(void 0!==t)for(var r=0,o=t.length;r<o;r++){var a,s=t[r];void 0===s.image&&console.warn('THREE.ObjectLoader: No "image" specified for',s.uuid),void 0===e[s.image]&&console.warn("THREE.ObjectLoader: Undefined image",s.image),(a=Array.isArray(e[s.image])?new Fn(e[s.image]):new Xe(e[s.image])).needsUpdate=!0,a.uuid=s.uuid,void 0!==s.name&&(a.name=s.name),void 0!==s.mapping&&(a.mapping=n(s.mapping,_s)),void 0!==s.offset&&a.offset.fromArray(s.offset),void 0!==s.repeat&&a.repeat.fromArray(s.repeat),void 0!==s.center&&a.center.fromArray(s.center),void 0!==s.rotation&&(a.rotation=s.rotation),void 0!==s.wrap&&(a.wrapS=n(s.wrap[0],bs),a.wrapT=n(s.wrap[1],bs)),void 0!==s.format&&(a.format=s.format),void 0!==s.minFilter&&(a.minFilter=n(s.minFilter,xs)),void 0!==s.magFilter&&(a.magFilter=n(s.magFilter,xs)),void 0!==s.anisotropy&&(a.anisotropy=s.anisotropy),void 0!==s.flipY&&(a.flipY=s.flipY),i[s.uuid]=a}return i},parseObject:function(t,e,n){var i;function r(t){return void 0===e[t]&&console.warn("THREE.ObjectLoader: Undefined geometry",t),e[t]}function o(t){if(void 0!==t){if(Array.isArray(t)){for(var e=[],i=0,r=t.length;i<r;i++){var o=t[i];void 0===n[o]&&console.warn("THREE.ObjectLoader: Undefined material",o),e.push(n[o])}return e}return void 0===n[t]&&console.warn("THREE.ObjectLoader: Undefined material",t),n[t]}}switch(t.type){case"Scene":i=new mr,void 0!==t.background&&Number.isInteger(t.background)&&(i.background=new on(t.background)),void 0!==t.fog&&("Fog"===t.fog.type?i.fog=new fr(t.fog.color,t.fog.near,t.fog.far):"FogExp2"===t.fog.type&&(i.fog=new dr(t.fog.color,t.fog.density)));break;case"PerspectiveCamera":i=new or(t.fov,t.aspect,t.near,t.far),void 0!==t.focus&&(i.focus=t.focus),void 0!==t.zoom&&(i.zoom=t.zoom),void 0!==t.filmGauge&&(i.filmGauge=t.filmGauge),void 0!==t.filmOffset&&(i.filmOffset=t.filmOffset),void 0!==t.view&&(i.view=Object.assign({},t.view));break;case"OrthographicCamera":i=new as(t.left,t.right,t.top,t.bottom,t.near,t.far),void 0!==t.zoom&&(i.zoom=t.zoom),void 0!==t.view&&(i.view=Object.assign({},t.view));break;case"AmbientLight":i=new ls(t.color,t.intensity);break;case"DirectionalLight":i=new us(t.color,t.intensity);break;case"PointLight":i=new os(t.color,t.intensity,t.distance,t.decay);break;case"RectAreaLight":i=new hs(t.color,t.intensity,t.width,t.height);break;case"SpotLight":i=new rs(t.color,t.intensity,t.distance,t.angle,t.penumbra,t.decay);break;case"HemisphereLight":i=new es(t.color,t.groundColor,t.intensity);break;case"SkinnedMesh":console.warn("THREE.ObjectLoader.parseObject() does not support SkinnedMesh yet.");case"Mesh":var a=r(t.geometry),s=o(t.material);i=a.bones&&a.bones.length>0?new Ar(a,s):new zn(a,s);break;case"LOD":i=new br;break;case"Line":i=new Tr(r(t.geometry),o(t.material),t.mode);break;case"LineLoop":i=new Mr(r(t.geometry),o(t.material));break;case"LineSegments":i=new Er(r(t.geometry),o(t.material));break;case"PointCloud":case"Points":i=new Cr(r(t.geometry),o(t.material));break;case"Sprite":i=new _r(o(t.material));break;case"Group":i=new ir;break;default:i=new fn}if(i.uuid=t.uuid,void 0!==t.name&&(i.name=t.name),void 0!==t.matrix?(i.matrix.fromArray(t.matrix),void 0!==t.matrixAutoUpdate&&(i.matrixAutoUpdate=t.matrixAutoUpdate),i.matrixAutoUpdate&&i.matrix.decompose(i.position,i.quaternion,i.scale)):(void 0!==t.position&&i.position.fromArray(t.position),void 0!==t.rotation&&i.rotation.fromArray(t.rotation),void 0!==t.quaternion&&i.quaternion.fromArray(t.quaternion),void 0!==t.scale&&i.scale.fromArray(t.scale)),void 0!==t.castShadow&&(i.castShadow=t.castShadow),void 0!==t.receiveShadow&&(i.receiveShadow=t.receiveShadow),t.shadow&&(void 0!==t.shadow.bias&&(i.shadow.bias=t.shadow.bias),void 0!==t.shadow.radius&&(i.shadow.radius=t.shadow.radius),void 0!==t.shadow.mapSize&&i.shadow.mapSize.fromArray(t.shadow.mapSize),void 0!==t.shadow.camera&&(i.shadow.camera=this.parseObject(t.shadow.camera))),void 0!==t.visible&&(i.visible=t.visible),void 0!==t.frustumCulled&&(i.frustumCulled=t.frustumCulled),void 0!==t.renderOrder&&(i.renderOrder=t.renderOrder),void 0!==t.userData&&(i.userData=t.userData),void 0!==t.layers&&(i.layers.mask=t.layers),void 0!==t.children)for(var u=t.children,l=0;l<u.length;l++)i.add(this.parseObject(u[l],e,n));if("LOD"===t.type)for(var h=t.levels,c=0;c<h.length;c++){var p=h[c],d=i.getObjectByProperty("uuid",p.object);void 0!==d&&i.addLevel(d,p.distance)}return i}});var ys,_s={UVMapping:st,CubeReflectionMapping:ut,CubeRefractionMapping:lt,EquirectangularReflectionMapping:ht,EquirectangularRefractionMapping:ct,SphericalReflectionMapping:pt,CubeUVReflectionMapping:dt,CubeUVRefractionMapping:ft},bs={RepeatWrapping:mt,ClampToEdgeWrapping:gt,MirroredRepeatWrapping:vt},xs={NearestFilter:yt,NearestMipMapNearestFilter:_t,NearestMipMapLinearFilter:bt,LinearFilter:xt,LinearMipMapNearestFilter:wt,LinearMipMapLinearFilter:At};function ws(t){"undefined"==typeof createImageBitmap&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),"undefined"==typeof fetch&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.manager=void 0!==t?t:wa,this.options=void 0}function As(){this.type="ShapePath",this.color=new on,this.subPaths=[],this.currentPath=null}function Ss(t){this.type="Font",this.data=t}function Ts(t,e,n,i,r){var o=r.glyphs[t]||r.glyphs["?"];if(o){var a,s,u,l,h,c,p,d,f=new As;if(o.o)for(var m=o._cachedOutline||(o._cachedOutline=o.o.split(" ")),g=0,v=m.length;g<v;){switch(m[g++]){case"m":a=m[g++]*e+n,s=m[g++]*e+i,f.moveTo(a,s);break;case"l":a=m[g++]*e+n,s=m[g++]*e+i,f.lineTo(a,s);break;case"q":u=m[g++]*e+n,l=m[g++]*e+i,h=m[g++]*e+n,c=m[g++]*e+i,f.quadraticCurveTo(h,c,u,l);break;case"b":u=m[g++]*e+n,l=m[g++]*e+i,h=m[g++]*e+n,c=m[g++]*e+i,p=m[g++]*e+n,d=m[g++]*e+i,f.bezierCurveTo(h,c,p,d,u,l)}}return{offsetX:o.ha*e,path:f}}}function Es(t){this.manager=void 0!==t?t:wa}ws.prototype={constructor:ws,setOptions:function(t){return this.options=t,this},load:function(t,e,n,i){void 0===t&&(t=""),void 0!==this.path&&(t=this.path+t),t=this.manager.resolveURL(t);var r=this,o=ba.get(t);if(void 0!==o)return r.manager.itemStart(t),setTimeout(function(){e&&e(o),r.manager.itemEnd(t)},0),o;fetch(t).then(function(t){return t.blob()}).then(function(t){return createImageBitmap(t,r.options)}).then(function(n){ba.add(t,n),e&&e(n),r.manager.itemEnd(t)}).catch(function(e){i&&i(e),r.manager.itemError(t),r.manager.itemEnd(t)})},setCrossOrigin:function(){return this},setPath:function(t){return this.path=t,this}},Object.assign(As.prototype,{moveTo:function(t,e){this.currentPath=new Ja,this.subPaths.push(this.currentPath),this.currentPath.moveTo(t,e)},lineTo:function(t,e){this.currentPath.lineTo(t,e)},quadraticCurveTo:function(t,e,n,i){this.currentPath.quadraticCurveTo(t,e,n,i)},bezierCurveTo:function(t,e,n,i,r,o){this.currentPath.bezierCurveTo(t,e,n,i,r,o)},splineThru:function(t){this.currentPath.splineThru(t)},toShapes:function(t,e){function n(t){for(var e=[],n=0,i=t.length;n<i;n++){var r=t[n],o=new $a;o.curves=r.curves,e.push(o)}return e}function i(t,e){for(var n=e.length,i=!1,r=n-1,o=0;o<n;r=o++){var a=e[r],s=e[o],u=s.x-a.x,l=s.y-a.y;if(Math.abs(l)>Number.EPSILON){if(l<0&&(a=e[o],u=-u,s=e[r],l=-l),t.y<a.y||t.y>s.y)continue;if(t.y===a.y){if(t.x===a.x)return!0}else{var h=l*(t.x-a.x)-u*(t.y-a.y);if(0===h)return!0;if(h<0)continue;i=!i}}else{if(t.y!==a.y)continue;if(s.x<=t.x&&t.x<=a.x||a.x<=t.x&&t.x<=s.x)return!0}}return i}var r=wo.isClockWise,o=this.subPaths;if(0===o.length)return[];if(!0===e)return n(o);var a,s,u,l=[];if(1===o.length)return s=o[0],(u=new $a).curves=s.curves,l.push(u),l;var h=!r(o[0].getPoints());h=t?!h:h;var c,p,d=[],f=[],m=[],g=0;f[g]=void 0,m[g]=[];for(var v=0,y=o.length;v<y;v++)a=r(c=(s=o[v]).getPoints()),(a=t?!a:a)?(!h&&f[g]&&g++,f[g]={s:new $a,p:c},f[g].s.curves=s.curves,h&&g++,m[g]=[]):m[g].push({h:s,p:c[0]});if(!f[0])return n(o);if(f.length>1){for(var _=!1,b=[],x=0,w=f.length;x<w;x++)d[x]=[];for(x=0,w=f.length;x<w;x++)for(var A=m[x],S=0;S<A.length;S++){for(var T=A[S],E=!0,M=0;M<f.length;M++)i(T.p,f[M].p)&&(x!==M&&b.push({froms:x,tos:M,hole:S}),E?(E=!1,d[M].push(T)):_=!0);E&&d[x].push(T)}b.length>0&&(_||(m=d))}v=0;for(var P=f.length;v<P;v++){u=f[v].s,l.push(u);for(var C=0,L=(p=m[v]).length;C<L;C++)u.holes.push(p[C].h)}return l}}),Object.assign(Ss.prototype,{isFont:!0,generateShapes:function(t,e){void 0===e&&(e=100);for(var n=[],i=function(t,e,n){for(var i=Array.from?Array.from(t):String(t).split(""),r=e/n.resolution,o=(n.boundingBox.yMax-n.boundingBox.yMin+n.underlineThickness)*r,a=[],s=0,u=0,l=0;l<i.length;l++){var h=i[l];if("\n"===h)s=0,u-=o;else{var c=Ts(h,r,s,u,n);s+=c.offsetX,a.push(c.path)}}return a}(t,e,this.data),r=0,o=i.length;r<o;r++)Array.prototype.push.apply(n,i[r].toShapes());return n}}),Object.assign(Es.prototype,{load:function(t,e,n,i){var r=this,o=new Sa(this.manager);o.setPath(this.path),o.load(t,function(t){var n;try{n=JSON.parse(t)}catch(e){console.warn("THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead."),n=JSON.parse(t.substring(65,t.length-2))}var i=r.parse(n);e&&e(i)},n,i)},parse:function(t){return new Ss(t)},setPath:function(t){return this.path=t,this}});var Ms={getContext:function(){return void 0===ys&&(ys=new(window.AudioContext||window.webkitAudioContext)),ys},setContext:function(t){ys=t}};function Ps(t){this.manager=void 0!==t?t:wa}function Cs(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new or,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new or,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1}function Ls(t,e,n,i){fn.call(this),this.type="CubeCamera";var r=new or(90,1,t,e);r.up.set(0,-1,0),r.lookAt(new He(1,0,0)),this.add(r);var o=new or(90,1,t,e);o.up.set(0,-1,0),o.lookAt(new He(-1,0,0)),this.add(o);var a=new or(90,1,t,e);a.up.set(0,0,1),a.lookAt(new He(0,1,0)),this.add(a);var s=new or(90,1,t,e);s.up.set(0,0,-1),s.lookAt(new He(0,-1,0)),this.add(s);var u=new or(90,1,t,e);u.up.set(0,-1,0),u.lookAt(new He(0,0,1)),this.add(u);var l=new or(90,1,t,e);l.up.set(0,-1,0),l.lookAt(new He(0,0,-1)),this.add(l),i=i||{format:kt,magFilter:xt,minFilter:xt},this.renderTarget=new Ze(n,n,i),this.renderTarget.texture.name="CubeCamera",this.update=function(t,e){null===this.parent&&this.updateMatrixWorld();var n=this.renderTarget,i=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,n.activeCubeFace=0,t.render(e,r,n),n.activeCubeFace=1,t.render(e,o,n),n.activeCubeFace=2,t.render(e,a,n),n.activeCubeFace=3,t.render(e,s,n),n.activeCubeFace=4,t.render(e,u,n),n.texture.generateMipmaps=i,n.activeCubeFace=5,t.render(e,l,n),t.setRenderTarget(null)},this.clear=function(t,e,n,i){for(var r=this.renderTarget,o=0;o<6;o++)r.activeCubeFace=o,t.setRenderTarget(r),t.clear(e,n,i);t.setRenderTarget(null)}}function Rs(t){this.autoStart=void 0===t||t,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}function Os(){fn.call(this),this.type="AudioListener",this.context=Ms.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0}function Is(t){fn.call(this),this.type="Audio",this.listener=t,this.context=t.context,this.gain=this.context.createGain(),this.gain.connect(t.getInput()),this.autoplay=!1,this.buffer=null,this.loop=!1,this.startTime=0,this.offset=0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.sourceType="empty",this.filters=[]}function Ns(t){Is.call(this,t),this.panner=this.context.createPanner(),this.panner.connect(this.gain)}function Ds(t,e){this.analyser=t.context.createAnalyser(),this.analyser.fftSize=void 0!==e?e:2048,this.data=new Uint8Array(this.analyser.frequencyBinCount),t.getOutput().connect(this.analyser)}function Bs(t,e,n){this.binding=t,this.valueSize=n;var i,r=Float64Array;switch(e){case"quaternion":i=this._slerp;break;case"string":case"bool":r=Array,i=this._select;break;default:i=this._lerp}this.buffer=new r(4*n),this._mixBufferRegion=i,this.cumulativeWeight=0,this.useCount=0,this.referenceCount=0}Object.assign(Ps.prototype,{load:function(t,e,n,i){var r=new Sa(this.manager);r.setResponseType("arraybuffer"),r.setPath(this.path),r.load(t,function(t){var n=t.slice(0);Ms.getContext().decodeAudioData(n,function(t){e(t)})},n,i)},setPath:function(t){return this.path=t,this}}),Object.assign(Cs.prototype,{update:function(){var t,e,n,i,r,o,a,s,u=new Ve,l=new Ve;return function(h){if(t!==this||e!==h.focus||n!==h.fov||i!==h.aspect*this.aspect||r!==h.near||o!==h.far||a!==h.zoom||s!==this.eyeSep){t=this,e=h.focus,n=h.fov,i=h.aspect*this.aspect,r=h.near,o=h.far,a=h.zoom;var c,p,d=h.projectionMatrix.clone(),f=(s=this.eyeSep/2)*r/e,m=r*Math.tan(Ge.DEG2RAD*n*.5)/a;l.elements[12]=-s,u.elements[12]=s,c=-m*i+f,p=m*i+f,d.elements[0]=2*r/(p-c),d.elements[8]=(p+c)/(p-c),this.cameraL.projectionMatrix.copy(d),c=-m*i-f,p=m*i-f,d.elements[0]=2*r/(p-c),d.elements[8]=(p+c)/(p-c),this.cameraR.projectionMatrix.copy(d)}this.cameraL.matrixWorld.copy(h.matrixWorld).multiply(l),this.cameraR.matrixWorld.copy(h.matrixWorld).multiply(u)}}()}),Ls.prototype=Object.create(fn.prototype),Ls.prototype.constructor=Ls,Object.assign(Rs.prototype,{start:function(){this.startTime=("undefined"==typeof performance?Date:performance).now(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0},stop:function(){this.getElapsedTime(),this.running=!1,this.autoStart=!1},getElapsedTime:function(){return this.getDelta(),this.elapsedTime},getDelta:function(){var t=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){var e=("undefined"==typeof performance?Date:performance).now();t=(e-this.oldTime)/1e3,this.oldTime=e,this.elapsedTime+=t}return t}}),Os.prototype=Object.assign(Object.create(fn.prototype),{constructor:Os,getInput:function(){return this.gain},removeFilter:function(){return null!==this.filter&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this},getFilter:function(){return this.filter},setFilter:function(t){return null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=t,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this},getMasterVolume:function(){return this.gain.gain.value},setMasterVolume:function(t){return this.gain.gain.setTargetAtTime(t,this.context.currentTime,.01),this},updateMatrixWorld:function(){var t=new He,e=new ze,n=new He,i=new He,r=new Rs;return function(o){fn.prototype.updateMatrixWorld.call(this,o);var a=this.context.listener,s=this.up;if(this.timeDelta=r.getDelta(),this.matrixWorld.decompose(t,e,n),i.set(0,0,-1).applyQuaternion(e),a.positionX){var u=this.context.currentTime+this.timeDelta;a.positionX.linearRampToValueAtTime(t.x,u),a.positionY.linearRampToValueAtTime(t.y,u),a.positionZ.linearRampToValueAtTime(t.z,u),a.forwardX.linearRampToValueAtTime(i.x,u),a.forwardY.linearRampToValueAtTime(i.y,u),a.forwardZ.linearRampToValueAtTime(i.z,u),a.upX.linearRampToValueAtTime(s.x,u),a.upY.linearRampToValueAtTime(s.y,u),a.upZ.linearRampToValueAtTime(s.z,u)}else a.setPosition(t.x,t.y,t.z),a.setOrientation(i.x,i.y,i.z,s.x,s.y,s.z)}}()}),Is.prototype=Object.assign(Object.create(fn.prototype),{constructor:Is,getOutput:function(){return this.gain},setNodeSource:function(t){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=t,this.connect(),this},setMediaElementSource:function(t){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(t),this.connect(),this},setBuffer:function(t){return this.buffer=t,this.sourceType="buffer",this.autoplay&&this.play(),this},play:function(){if(!0!==this.isPlaying){if(!1!==this.hasPlaybackControl){var t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.onended=this.onEnded.bind(this),t.playbackRate.setValueAtTime(this.playbackRate,this.startTime),this.startTime=this.context.currentTime,t.start(this.startTime,this.offset),this.isPlaying=!0,this.source=t,this.connect()}console.warn("THREE.Audio: this Audio has no playback control.")}else console.warn("THREE.Audio: Audio is already playing.")},pause:function(){if(!1!==this.hasPlaybackControl)return!0===this.isPlaying&&(this.source.stop(),this.source.onended=null,this.offset+=(this.context.currentTime-this.startTime)*this.playbackRate,this.isPlaying=!1),this;console.warn("THREE.Audio: this Audio has no playback control.")},stop:function(){if(!1!==this.hasPlaybackControl)return this.source.stop(),this.source.onended=null,this.offset=0,this.isPlaying=!1,this;console.warn("THREE.Audio: this Audio has no playback control.")},connect:function(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(var t=1,e=this.filters.length;t<e;t++)this.filters[t-1].connect(this.filters[t]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());return this},disconnect:function(){if(this.filters.length>0){this.source.disconnect(this.filters[0]);for(var t=1,e=this.filters.length;t<e;t++)this.filters[t-1].disconnect(this.filters[t]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());return this},getFilters:function(){return this.filters},setFilters:function(t){return t||(t=[]),!0===this.isPlaying?(this.disconnect(),this.filters=t,this.connect()):this.filters=t,this},getFilter:function(){return this.getFilters()[0]},setFilter:function(t){return this.setFilters(t?[t]:[])},setPlaybackRate:function(t){if(!1!==this.hasPlaybackControl)return this.playbackRate=t,!0===this.isPlaying&&this.source.playbackRate.setValueAtTime(this.playbackRate,this.context.currentTime),this;console.warn("THREE.Audio: this Audio has no playback control.")},getPlaybackRate:function(){return this.playbackRate},onEnded:function(){this.isPlaying=!1},getLoop:function(){return!1===this.hasPlaybackControl?(console.warn("THREE.Audio: this Audio has no playback control."),!1):this.loop},setLoop:function(t){if(!1!==this.hasPlaybackControl)return this.loop=t,!0===this.isPlaying&&(this.source.loop=this.loop),this;console.warn("THREE.Audio: this Audio has no playback control.")},getVolume:function(){return this.gain.gain.value},setVolume:function(t){return this.gain.gain.setTargetAtTime(t,this.context.currentTime,.01),this}}),Ns.prototype=Object.assign(Object.create(Is.prototype),{constructor:Ns,getOutput:function(){return this.panner},getRefDistance:function(){return this.panner.refDistance},setRefDistance:function(t){return this.panner.refDistance=t,this},getRolloffFactor:function(){return this.panner.rolloffFactor},setRolloffFactor:function(t){return this.panner.rolloffFactor=t,this},getDistanceModel:function(){return this.panner.distanceModel},setDistanceModel:function(t){return this.panner.distanceModel=t,this},getMaxDistance:function(){return this.panner.maxDistance},setMaxDistance:function(t){return this.panner.maxDistance=t,this},setDirectionalCone:function(t,e,n){return this.panner.coneInnerAngle=t,this.panner.coneOuterAngle=e,this.panner.coneOuterGain=n,this},updateMatrixWorld:function(){var t=new He,e=new ze,n=new He,i=new He;return function(r){fn.prototype.updateMatrixWorld.call(this,r);var o=this.panner;if(this.matrixWorld.decompose(t,e,n),i.set(0,0,1).applyQuaternion(e),o.positionX){var a=this.context.currentTime+this.listener.timeDelta;o.positionX.linearRampToValueAtTime(t.x,a),o.positionY.linearRampToValueAtTime(t.y,a),o.positionZ.linearRampToValueAtTime(t.z,a),o.orientationX.linearRampToValueAtTime(i.x,a),o.orientationY.linearRampToValueAtTime(i.y,a),o.orientationZ.linearRampToValueAtTime(i.z,a)}else o.setPosition(t.x,t.y,t.z),o.setOrientation(i.x,i.y,i.z)}}()}),Object.assign(Ds.prototype,{getFrequencyData:function(){return this.analyser.getByteFrequencyData(this.data),this.data},getAverageFrequency:function(){for(var t=0,e=this.getFrequencyData(),n=0;n<e.length;n++)t+=e[n];return t/e.length}}),Object.assign(Bs.prototype,{accumulate:function(t,e){var n=this.buffer,i=this.valueSize,r=t*i+i,o=this.cumulativeWeight;if(0===o){for(var a=0;a!==i;++a)n[r+a]=n[a];o=e}else{var s=e/(o+=e);this._mixBufferRegion(n,r,0,s,i)}this.cumulativeWeight=o},apply:function(t){var e=this.valueSize,n=this.buffer,i=t*e+e,r=this.cumulativeWeight,o=this.binding;if(this.cumulativeWeight=0,r<1){var a=3*e;this._mixBufferRegion(n,i,a,1-r,e)}for(var s=e,u=e+e;s!==u;++s)if(n[s]!==n[s+e]){o.setValue(n,i);break}},saveOriginalState:function(){var t=this.binding,e=this.buffer,n=this.valueSize,i=3*n;t.getValue(e,i);for(var r=n,o=i;r!==o;++r)e[r]=e[i+r%n];this.cumulativeWeight=0},restoreOriginalState:function(){var t=3*this.valueSize;this.binding.setValue(this.buffer,t)},_select:function(t,e,n,i,r){if(i>=.5)for(var o=0;o!==r;++o)t[e+o]=t[n+o]},_slerp:function(t,e,n,i){ze.slerpFlat(t,e,t,e,t,n,i)},_lerp:function(t,e,n,i,r){for(var o=1-i,a=0;a!==r;++a){var s=e+a;t[s]=t[s]*o+t[n+a]*i}}});var ks,Gs;function Us(t,e,n){var i=n||Vs.parseTrackName(e);this._targetGroup=t,this._bindings=t.subscribe_(e,i)}function Vs(t,e,n){this.path=e,this.parsedPath=n||Vs.parseTrackName(e),this.node=Vs.findNode(t,this.parsedPath.nodeName)||t,this.rootNode=t}function zs(){this.uuid=Ge.generateUUID(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;var t={};this._indicesByUUID=t;for(var e=0,n=arguments.length;e!==n;++e)t[arguments[e].uuid]=e;this._paths=[],this._parsedPaths=[],this._bindings=[],this._bindingsIndicesByPath={};var i=this;this.stats={objects:{get total(){return i._objects.length},get inUse(){return this.total-i.nCachedObjects_}},get bindingsPerObject(){return i._bindings.length}}}function Hs(t,e,n){this._mixer=t,this._clip=e,this._localRoot=n||null;for(var i=e.tracks,r=i.length,o=new Array(r),a={endingStart:be,endingEnd:be},s=0;s!==r;++s){var u=i[s].createInterpolant(null);o[s]=u,u.settings=a}this._interpolantSettings=a,this._interpolants=o,this._propertyBindings=new Array(r),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=me,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}function Fs(t){this._root=t,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}function js(t){"string"==typeof t&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),t=arguments[1]),this.value=t}function Ws(){Ln.call(this),this.type="InstancedBufferGeometry",this.maxInstancedCount=void 0}function Xs(t,e,n){gr.call(this,t,e),this.meshPerAttribute=n||1}function Ys(t,e,n,i){"number"==typeof n&&(i=n,n=!1,console.error("THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.")),vn.call(this,t,e,n),this.meshPerAttribute=i||1}function Ks(t,e,n,i){this.ray=new Gn(t,e),this.near=n||0,this.far=i||1/0,this.params={Mesh:{},Line:{},LOD:{},Points:{threshold:1},Sprite:{}},Object.defineProperties(this.params,{PointCloud:{get:function(){return console.warn("THREE.Raycaster: params.PointCloud has been renamed to params.Points."),this.Points}}})}function Zs(t,e){return t.distance-e.distance}function qs(t,e,n,i){if(!1!==t.visible&&(t.raycast(e,n),!0===i))for(var r=t.children,o=0,a=r.length;o<a;o++)qs(r[o],e,n,!0)}function Qs(t,e,n){return this.radius=void 0!==t?t:1,this.phi=void 0!==e?e:0,this.theta=void 0!==n?n:0,this}function Js(t,e,n){return this.radius=void 0!==t?t:1,this.theta=void 0!==e?e:0,this.y=void 0!==n?n:0,this}function $s(t,e){this.min=void 0!==t?t:new Ue(1/0,1/0),this.max=void 0!==e?e:new Ue(-1/0,-1/0)}function tu(t,e){this.start=void 0!==t?t:new He,this.end=void 0!==e?e:new He}function eu(t){fn.call(this),this.material=t,this.render=function(){}}function nu(t,e,n,i){this.object=t,this.size=void 0!==e?e:1;var r=void 0!==n?n:16711680,o=void 0!==i?i:1,a=0,s=this.object.geometry;s&&s.isGeometry?a=3*s.faces.length:s&&s.isBufferGeometry&&(a=s.attributes.normal.count);var u=new Ln,l=new Tn(2*a*3,3);u.addAttribute("position",l),Er.call(this,u,new Sr({color:r,linewidth:o})),this.matrixAutoUpdate=!1,this.update()}function iu(t,e){fn.call(this),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=e;for(var n=new Ln,i=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1],r=0,o=1;r<32;r++,o++){var a=r/32*Math.PI*2,s=o/32*Math.PI*2;i.push(Math.cos(a),Math.sin(a),1,Math.cos(s),Math.sin(s),1)}n.addAttribute("position",new Tn(i,3));var u=new Sr({fog:!1});this.cone=new Er(n,u),this.add(this.cone),this.update()}function ru(t){for(var e=function t(e){var n=[];e&&e.isBone&&n.push(e);for(var i=0;i<e.children.length;i++)n.push.apply(n,t(e.children[i]));return n}(t),n=new Ln,i=[],r=[],o=new on(0,0,1),a=new on(0,1,0),s=0;s<e.length;s++){var u=e[s];u.parent&&u.parent.isBone&&(i.push(0,0,0),i.push(0,0,0),r.push(o.r,o.g,o.b),r.push(a.r,a.g,a.b))}n.addAttribute("position",new Tn(i,3)),n.addAttribute("color",new Tn(r,3));var l=new Sr({vertexColors:w,depthTest:!1,depthWrite:!1,transparent:!0});Er.call(this,n,l),this.root=t,this.bones=e,this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1}function ou(t,e,n){this.light=t,this.light.updateMatrixWorld(),this.color=n;var i=new Oo(e,4,2),r=new Vn({wireframe:!0,fog:!1});zn.call(this,i,r),this.matrix=this.light.matrixWorld,this.matrixAutoUpdate=!1,this.update()}function au(t,e){fn.call(this),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=e;var n=new Sr({fog:!1}),i=new Ln;i.addAttribute("position",new vn(new Float32Array(15),3)),this.line=new Tr(i,n),this.add(this.line),this.update()}function su(t,e,n){fn.call(this),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=n;var i=new Hr(e);i.rotateY(.5*Math.PI),this.material=new Vn({wireframe:!0,fog:!1}),void 0===this.color&&(this.material.vertexColors=w);var r=i.getAttribute("position"),o=new Float32Array(3*r.count);i.addAttribute("color",new vn(o,3)),this.add(new zn(i,this.material)),this.update()}function uu(t,e,n,i){t=t||10,e=e||10,n=new on(void 0!==n?n:4473924),i=new on(void 0!==i?i:8947848);for(var r=e/2,o=t/e,a=t/2,s=[],u=[],l=0,h=0,c=-a;l<=e;l++,c+=o){s.push(-a,0,c,a,0,c),s.push(c,0,-a,c,0,a);var p=l===r?n:i;p.toArray(u,h),h+=3,p.toArray(u,h),h+=3,p.toArray(u,h),h+=3,p.toArray(u,h),h+=3}var d=new Ln;d.addAttribute("position",new Tn(s,3)),d.addAttribute("color",new Tn(u,3));var f=new Sr({vertexColors:w});Er.call(this,d,f)}function lu(t,e,n,i,r,o){t=t||10,e=e||16,n=n||8,i=i||64,r=new on(void 0!==r?r:4473924),o=new on(void 0!==o?o:8947848);var a,s,u,l,h,c,p,d=[],f=[];for(l=0;l<=e;l++)u=l/e*(2*Math.PI),a=Math.sin(u)*t,s=Math.cos(u)*t,d.push(0,0,0),d.push(a,0,s),p=1&l?r:o,f.push(p.r,p.g,p.b),f.push(p.r,p.g,p.b);for(l=0;l<=n;l++)for(p=1&l?r:o,c=t-t/n*l,h=0;h<i;h++)u=h/i*(2*Math.PI),a=Math.sin(u)*c,s=Math.cos(u)*c,d.push(a,0,s),f.push(p.r,p.g,p.b),u=(h+1)/i*(2*Math.PI),a=Math.sin(u)*c,s=Math.cos(u)*c,d.push(a,0,s),f.push(p.r,p.g,p.b);var m=new Ln;m.addAttribute("position",new Tn(d,3)),m.addAttribute("color",new Tn(f,3));var g=new Sr({vertexColors:w});Er.call(this,m,g)}function hu(t,e,n,i){this.object=t,this.size=void 0!==e?e:1;var r=void 0!==n?n:16776960,o=void 0!==i?i:1,a=0,s=this.object.geometry;s&&s.isGeometry?a=s.faces.length:console.warn("THREE.FaceNormalsHelper: only THREE.Geometry is supported. Use THREE.VertexNormalsHelper, instead.");var u=new Ln,l=new Tn(2*a*3,3);u.addAttribute("position",l),Er.call(this,u,new Sr({color:r,linewidth:o})),this.matrixAutoUpdate=!1,this.update()}function cu(t,e,n){fn.call(this),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,void 0===e&&(e=1);var i=new Ln;i.addAttribute("position",new Tn([-e,e,0,e,e,0,e,-e,0,-e,-e,0,-e,e,0],3));var r=new Sr({fog:!1});this.lightPlane=new Tr(i,r),this.add(this.lightPlane),(i=new Ln).addAttribute("position",new Tn([0,0,0,0,0,1],3)),this.targetLine=new Tr(i,r),this.add(this.targetLine),this.update()}function pu(t){var e=new Ln,n=new Sr({color:16777215,vertexColors:x}),i=[],r=[],o={},a=new on(16755200),s=new on(16711680),u=new on(43775),l=new on(16777215),h=new on(3355443);function c(t,e,n){p(t,n),p(e,n)}function p(t,e){i.push(0,0,0),r.push(e.r,e.g,e.b),void 0===o[t]&&(o[t]=[]),o[t].push(i.length/3-1)}c("n1","n2",a),c("n2","n4",a),c("n4","n3",a),c("n3","n1",a),c("f1","f2",a),c("f2","f4",a),c("f4","f3",a),c("f3","f1",a),c("n1","f1",a),c("n2","f2",a),c("n3","f3",a),c("n4","f4",a),c("p","n1",s),c("p","n2",s),c("p","n3",s),c("p","n4",s),c("u1","u2",u),c("u2","u3",u),c("u3","u1",u),c("c","t",l),c("p","c",h),c("cn1","cn2",h),c("cn3","cn4",h),c("cf1","cf2",h),c("cf3","cf4",h),e.addAttribute("position",new Tn(i,3)),e.addAttribute("color",new Tn(r,3)),Er.call(this,e,n),this.camera=t,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=o,this.update()}function du(t,e){this.object=t,void 0===e&&(e=16776960);var 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]),i=new Float32Array(24),r=new Ln;r.setIndex(new vn(n,1)),r.addAttribute("position",new vn(i,3)),Er.call(this,r,new Sr({color:e})),this.matrixAutoUpdate=!1,this.update()}function fu(t,e){this.type="Box3Helper",this.box=t;var n=void 0!==e?e:16776960,i=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 Ln;r.setIndex(new vn(i,1)),r.addAttribute("position",new Tn([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)),Er.call(this,r,new Sr({color:n})),this.geometry.computeBoundingSphere()}function mu(t,e,n){this.type="PlaneHelper",this.plane=t,this.size=void 0===e?1:e;var i=void 0!==n?n:16776960,r=new Ln;r.addAttribute("position",new Tn([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,0,1,0,0,0],3)),r.computeBoundingSphere(),Tr.call(this,r,new Sr({color:i}));var o=new Ln;o.addAttribute("position",new Tn([1,1,1,-1,1,1,-1,-1,1,1,1,1,-1,-1,1,1,-1,1],3)),o.computeBoundingSphere(),this.add(new zn(o,new Vn({color:i,opacity:.2,transparent:!0,depthWrite:!1})))}function gu(e,n,i,r,o,a){fn.call(this),void 0===e&&(e=new t.Vector3(0,0,1)),void 0===n&&(n=new t.Vector3(0,0,0)),void 0===i&&(i=1),void 0===r&&(r=16776960),void 0===o&&(o=.2*i),void 0===a&&(a=.2*o),void 0===ks&&((ks=new Ln).addAttribute("position",new Tn([0,0,0,0,1,0],3)),(Gs=new Ho(0,.5,1,5,1)).translate(0,-.5,0)),this.position.copy(n),this.line=new Tr(ks,new Sr({color:r})),this.line.matrixAutoUpdate=!1,this.add(this.line),this.cone=new zn(Gs,new Vn({color:r})),this.cone.matrixAutoUpdate=!1,this.add(this.cone),this.setDirection(e),this.setLength(i,o,a)}function vu(t){var e=[0,0,0,t=t||1,0,0,0,0,0,0,t,0,0,0,0,0,0,t],n=new Ln;n.addAttribute("position",new Tn(e,3)),n.addAttribute("color",new Tn([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3));var i=new Sr({vertexColors:w});Er.call(this,n,i)}function yu(t,e,n,i,r,o,a){return console.warn("THREE.Face4 has been removed. A THREE.Face3 will be created instead."),new hn(t,e,n,r,o,a)}Object.assign(Us.prototype,{getValue:function(t,e){this.bind();var n=this._targetGroup.nCachedObjects_,i=this._bindings[n];void 0!==i&&i.getValue(t,e)},setValue:function(t,e){for(var n=this._bindings,i=this._targetGroup.nCachedObjects_,r=n.length;i!==r;++i)n[i].setValue(t,e)},bind:function(){for(var t=this._bindings,e=this._targetGroup.nCachedObjects_,n=t.length;e!==n;++e)t[e].bind()},unbind:function(){for(var t=this._bindings,e=this._targetGroup.nCachedObjects_,n=t.length;e!==n;++e)t[e].unbind()}}),Object.assign(Vs,{Composite:Us,create:function(t,e,n){return t&&t.isAnimationObjectGroup?new Vs.Composite(t,e,n):new Vs(t,e,n)},sanitizeNodeName:function(){var t=new RegExp("[\\[\\]\\.:\\/]","g");return function(e){return e.replace(/\s/g,"_").replace(t,"")}}(),parseTrackName:function(){var t="[^\\[\\]\\.:\\/]",e="[^"+"\\[\\]\\.:\\/".replace("\\.","")+"]",n=/((?:WC+[\/:])*)/.source.replace("WC",t),i=/(WCOD+)?/.source.replace("WCOD",e),r=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",t),o=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",t),a=new RegExp("^"+n+i+r+o+"$"),s=["material","materials","bones"];return function(t){var e=a.exec(t);if(!e)throw new Error("PropertyBinding: Cannot parse trackName: "+t);var n={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},i=n.nodeName&&n.nodeName.lastIndexOf(".");if(void 0!==i&&-1!==i){var r=n.nodeName.substring(i+1);-1!==s.indexOf(r)&&(n.nodeName=n.nodeName.substring(0,i),n.objectName=r)}if(null===n.propertyName||0===n.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return n}}(),findNode:function(t,e){if(!e||""===e||"root"===e||"."===e||-1===e||e===t.name||e===t.uuid)return t;if(t.skeleton){var n=t.skeleton.getBoneByName(e);if(void 0!==n)return n}if(t.children){var i=function(t){for(var n=0;n<t.length;n++){var r=t[n];if(r.name===e||r.uuid===e)return r;var o=i(r.children);if(o)return o}return null},r=i(t.children);if(r)return r}return null}}),Object.assign(Vs.prototype,{_getValue_unavailable:function(){},_setValue_unavailable:function(){},BindingType:{Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3},Versioning:{None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2},GetterByBindingType:[function(t,e){t[e]=this.node[this.propertyName]},function(t,e){for(var n=this.resolvedProperty,i=0,r=n.length;i!==r;++i)t[e++]=n[i]},function(t,e){t[e]=this.resolvedProperty[this.propertyIndex]},function(t,e){this.resolvedProperty.toArray(t,e)}],SetterByBindingTypeAndVersioning:[[function(t,e){this.targetObject[this.propertyName]=t[e]},function(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.needsUpdate=!0},function(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}],[function(t,e){for(var n=this.resolvedProperty,i=0,r=n.length;i!==r;++i)n[i]=t[e++]},function(t,e){for(var n=this.resolvedProperty,i=0,r=n.length;i!==r;++i)n[i]=t[e++];this.targetObject.needsUpdate=!0},function(t,e){for(var n=this.resolvedProperty,i=0,r=n.length;i!==r;++i)n[i]=t[e++];this.targetObject.matrixWorldNeedsUpdate=!0}],[function(t,e){this.resolvedProperty[this.propertyIndex]=t[e]},function(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.needsUpdate=!0},function(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}],[function(t,e){this.resolvedProperty.fromArray(t,e)},function(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.needsUpdate=!0},function(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.matrixWorldNeedsUpdate=!0}]],getValue:function(t,e){this.bind(),this.getValue(t,e)},setValue:function(t,e){this.bind(),this.setValue(t,e)},bind:function(){var t=this.node,e=this.parsedPath,n=e.objectName,i=e.propertyName,r=e.propertyIndex;if(t||(t=Vs.findNode(this.rootNode,e.nodeName)||this.rootNode,this.node=t),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,t){if(n){var o=e.objectIndex;switch(n){case"materials":if(!t.material)return void console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);if(!t.material.materials)return void console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);t=t.material.materials;break;case"bones":if(!t.skeleton)return void console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);t=t.skeleton.bones;for(var a=0;a<t.length;a++)if(t[a].name===o){o=a;break}break;default:if(void 0===t[n])return void console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);t=t[n]}if(void 0!==o){if(void 0===t[o])return void console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,t);t=t[o]}}var s=t[i];if(void 0!==s){var u=this.Versioning.None;this.targetObject=t,void 0!==t.needsUpdate?u=this.Versioning.NeedsUpdate:void 0!==t.matrixWorldNeedsUpdate&&(u=this.Versioning.MatrixWorldNeedsUpdate);var l=this.BindingType.Direct;if(void 0!==r){if("morphTargetInfluences"===i){if(!t.geometry)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);if(t.geometry.isBufferGeometry){if(!t.geometry.morphAttributes)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);for(a=0;a<this.node.geometry.morphAttributes.position.length;a++)if(t.geometry.morphAttributes.position[a].name===r){r=a;break}}else{if(!t.geometry.morphTargets)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphTargets.",this);for(a=0;a<this.node.geometry.morphTargets.length;a++)if(t.geometry.morphTargets[a].name===r){r=a;break}}}l=this.BindingType.ArrayElement,this.resolvedProperty=s,this.propertyIndex=r}else void 0!==s.fromArray&&void 0!==s.toArray?(l=this.BindingType.HasFromToArray,this.resolvedProperty=s):Array.isArray(s)?(l=this.BindingType.EntireArray,this.resolvedProperty=s):this.propertyName=i;this.getValue=this.GetterByBindingType[l],this.setValue=this.SetterByBindingTypeAndVersioning[l][u]}else{var h=e.nodeName;console.error("THREE.PropertyBinding: Trying to update property for track: "+h+"."+i+" but it wasn't found.",t)}}else console.error("THREE.PropertyBinding: Trying to update node for track: "+this.path+" but it wasn't found.")},unbind:function(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}}),
//!\ DECLARE ALIAS AFTER assign prototype !
Object.assign(Vs.prototype,{_getValue_unbound:Vs.prototype.getValue,_setValue_unbound:Vs.prototype.setValue}),Object.assign(zs.prototype,{isAnimationObjectGroup:!0,add:function(){for(var t=this._objects,e=t.length,n=this.nCachedObjects_,i=this._indicesByUUID,r=this._paths,o=this._parsedPaths,a=this._bindings,s=a.length,u=void 0,l=0,h=arguments.length;l!==h;++l){var c=arguments[l],p=c.uuid,d=i[p];if(void 0===d){d=e++,i[p]=d,t.push(c);for(var f=0,m=s;f!==m;++f)a[f].push(new Vs(c,r[f],o[f]))}else if(d<n){u=t[d];var g=--n,v=t[g];i[v.uuid]=d,t[d]=v,i[p]=g,t[g]=c;for(f=0,m=s;f!==m;++f){var y=a[f],_=y[g],b=y[d];y[d]=_,void 0===b&&(b=new Vs(c,r[f],o[f])),y[g]=b}}else t[d]!==u&&console.error("THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.")}this.nCachedObjects_=n},remove:function(){for(var t=this._objects,e=this.nCachedObjects_,n=this._indicesByUUID,i=this._bindings,r=i.length,o=0,a=arguments.length;o!==a;++o){var s=arguments[o],u=s.uuid,l=n[u];if(void 0!==l&&l>=e){var h=e++,c=t[h];n[c.uuid]=l,t[l]=c,n[u]=h,t[h]=s;for(var p=0,d=r;p!==d;++p){var f=i[p],m=f[h],g=f[l];f[l]=m,f[h]=g}}}this.nCachedObjects_=e},uncache:function(){for(var t=this._objects,e=t.length,n=this.nCachedObjects_,i=this._indicesByUUID,r=this._bindings,o=r.length,a=0,s=arguments.length;a!==s;++a){var u=arguments[a].uuid,l=i[u];if(void 0!==l)if(delete i[u],l<n){var h=--n,c=t[h],p=t[v=--e];i[c.uuid]=l,t[l]=c,i[p.uuid]=h,t[h]=p,t.pop();for(var d=0,f=o;d!==f;++d){var m=(y=r[d])[h],g=y[v];y[l]=m,y[h]=g,y.pop()}}else{var v;i[(p=t[v=--e]).uuid]=l,t[l]=p,t.pop();for(d=0,f=o;d!==f;++d){var y;(y=r[d])[l]=y[v],y.pop()}}}this.nCachedObjects_=n},subscribe_:function(t,e){var n=this._bindingsIndicesByPath,i=n[t],r=this._bindings;if(void 0!==i)return r[i];var o=this._paths,a=this._parsedPaths,s=this._objects,u=s.length,l=this.nCachedObjects_,h=new Array(u);i=r.length,n[t]=i,o.push(t),a.push(e),r.push(h);for(var c=l,p=s.length;c!==p;++c){var d=s[c];h[c]=new Vs(d,t,e)}return h},unsubscribe_:function(t){var e=this._bindingsIndicesByPath,n=e[t];if(void 0!==n){var i=this._paths,r=this._parsedPaths,o=this._bindings,a=o.length-1,s=o[a];e[t[a]]=n,o[n]=s,o.pop(),r[n]=r[a],r.pop(),i[n]=i[a],i.pop()}}}),Object.assign(Hs.prototype,{play:function(){return this._mixer._activateAction(this),this},stop:function(){return this._mixer._deactivateAction(this),this.reset()},reset:function(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()},isRunning:function(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)},isScheduled:function(){return this._mixer._isActiveAction(this)},startAt:function(t){return this._startTime=t,this},setLoop:function(t,e){return this.loop=t,this.repetitions=e,this},setEffectiveWeight:function(t){return this.weight=t,this._effectiveWeight=this.enabled?t:0,this.stopFading()},getEffectiveWeight:function(){return this._effectiveWeight},fadeIn:function(t){return this._scheduleFading(t,0,1)},fadeOut:function(t){return this._scheduleFading(t,1,0)},crossFadeFrom:function(t,e,n){if(t.fadeOut(e),this.fadeIn(e),n){var i=this._clip.duration,r=t._clip.duration,o=r/i,a=i/r;t.warp(1,o,e),this.warp(a,1,e)}return this},crossFadeTo:function(t,e,n){return t.crossFadeFrom(this,e,n)},stopFading:function(){var t=this._weightInterpolant;return null!==t&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this},setEffectiveTimeScale:function(t){return this.timeScale=t,this._effectiveTimeScale=this.paused?0:t,this.stopWarping()},getEffectiveTimeScale:function(){return this._effectiveTimeScale},setDuration:function(t){return this.timeScale=this._clip.duration/t,this.stopWarping()},syncWith:function(t){return this.time=t.time,this.timeScale=t.timeScale,this.stopWarping()},halt:function(t){return this.warp(this._effectiveTimeScale,0,t)},warp:function(t,e,n){var i=this._mixer,r=i.time,o=this._timeScaleInterpolant,a=this.timeScale;null===o&&(o=i._lendControlInterpolant(),this._timeScaleInterpolant=o);var s=o.parameterPositions,u=o.sampleValues;return s[0]=r,s[1]=r+n,u[0]=t/a,u[1]=e/a,this},stopWarping:function(){var t=this._timeScaleInterpolant;return null!==t&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this},getMixer:function(){return this._mixer},getClip:function(){return this._clip},getRoot:function(){return this._localRoot||this._mixer._root},_update:function(t,e,n,i){if(this.enabled){var r=this._startTime;if(null!==r){var o=(t-r)*n;if(o<0||0===n)return;this._startTime=null,e=n*o}e*=this._updateTimeScale(t);var a=this._updateTime(e),s=this._updateWeight(t);if(s>0)for(var u=this._interpolants,l=this._propertyBindings,h=0,c=u.length;h!==c;++h)u[h].evaluate(a),l[h].accumulate(i,s)}else this._updateWeight(t)},_updateWeight:function(t){var e=0;if(this.enabled){e=this.weight;var n=this._weightInterpolant;if(null!==n){var i=n.evaluate(t)[0];e*=i,t>n.parameterPositions[1]&&(this.stopFading(),0===i&&(this.enabled=!1))}}return this._effectiveWeight=e,e},_updateTimeScale:function(t){var e=0;if(!this.paused){e=this.timeScale;var n=this._timeScaleInterpolant;if(null!==n)e*=n.evaluate(t)[0],t>n.parameterPositions[1]&&(this.stopWarping(),0===e?this.paused=!0:this.timeScale=e)}return this._effectiveTimeScale=e,e},_updateTime:function(t){var e=this.time+t,n=this._clip.duration,i=this.loop,r=this._loopCount,o=i===ge;if(0===t)return-1===r?e:o&&1==(1&r)?n-e:e;if(i===fe){-1===r&&(this._loopCount=0,this._setEndings(!0,!0,!1));t:{if(e>=n)e=n;else{if(!(e<0))break t;e=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this._mixer.dispatchEvent({type:"finished",action:this,direction:t<0?-1:1})}}else{if(-1===r&&(t>=0?(r=0,this._setEndings(!0,0===this.repetitions,o)):this._setEndings(0===this.repetitions,!0,o)),e>=n||e<0){var a=Math.floor(e/n);e-=n*a,r+=Math.abs(a);var s=this.repetitions-r;if(s<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,e=t>0?n:0,this._mixer.dispatchEvent({type:"finished",action:this,direction:t>0?1:-1});else{if(1===s){var u=t<0;this._setEndings(u,!u,o)}else this._setEndings(!1,!1,o);this._loopCount=r,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:a})}}if(o&&1==(1&r))return this.time=e,n-e}return this.time=e,e},_setEndings:function(t,e,n){var i=this._interpolantSettings;n?(i.endingStart=xe,i.endingEnd=xe):(i.endingStart=t?this.zeroSlopeAtStart?xe:be:we,i.endingEnd=e?this.zeroSlopeAtEnd?xe:be:we)},_scheduleFading:function(t,e,n){var i=this._mixer,r=i.time,o=this._weightInterpolant;null===o&&(o=i._lendControlInterpolant(),this._weightInterpolant=o);var a=o.parameterPositions,s=o.sampleValues;return a[0]=r,s[0]=e,a[1]=r+t,s[1]=n,this}}),Fs.prototype=Object.assign(Object.create(i.prototype),{constructor:Fs,_bindAction:function(t,e){var n=t._localRoot||this._root,i=t._clip.tracks,r=i.length,o=t._propertyBindings,a=t._interpolants,s=n.uuid,u=this._bindingsByRootAndName,l=u[s];void 0===l&&(l={},u[s]=l);for(var h=0;h!==r;++h){var c=i[h],p=c.name,d=l[p];if(void 0!==d)o[h]=d;else{if(void 0!==(d=o[h])){null===d._cacheIndex&&(++d.referenceCount,this._addInactiveBinding(d,s,p));continue}var f=e&&e._propertyBindings[h].binding.parsedPath;++(d=new Bs(Vs.create(n,p,f),c.ValueTypeName,c.getValueSize())).referenceCount,this._addInactiveBinding(d,s,p),o[h]=d}a[h].resultBuffer=d.buffer}},_activateAction:function(t){if(!this._isActiveAction(t)){if(null===t._cacheIndex){var e=(t._localRoot||this._root).uuid,n=t._clip.uuid,i=this._actionsByClip[n];this._bindAction(t,i&&i.knownActions[0]),this._addInactiveAction(t,n,e)}for(var r=t._propertyBindings,o=0,a=r.length;o!==a;++o){var s=r[o];0==s.useCount++&&(this._lendBinding(s),s.saveOriginalState())}this._lendAction(t)}},_deactivateAction:function(t){if(this._isActiveAction(t)){for(var e=t._propertyBindings,n=0,i=e.length;n!==i;++n){var r=e[n];0==--r.useCount&&(r.restoreOriginalState(),this._takeBackBinding(r))}this._takeBackAction(t)}},_initMemoryManager:function(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;var t=this;this.stats={actions:{get total(){return t._actions.length},get inUse(){return t._nActiveActions}},bindings:{get total(){return t._bindings.length},get inUse(){return t._nActiveBindings}},controlInterpolants:{get total(){return t._controlInterpolants.length},get inUse(){return t._nActiveControlInterpolants}}}},_isActiveAction:function(t){var e=t._cacheIndex;return null!==e&&e<this._nActiveActions},_addInactiveAction:function(t,e,n){var i=this._actions,r=this._actionsByClip,o=r[e];if(void 0===o)o={knownActions:[t],actionByRoot:{}},t._byClipCacheIndex=0,r[e]=o;else{var a=o.knownActions;t._byClipCacheIndex=a.length,a.push(t)}t._cacheIndex=i.length,i.push(t),o.actionByRoot[n]=t},_removeInactiveAction:function(t){var e=this._actions,n=e[e.length-1],i=t._cacheIndex;n._cacheIndex=i,e[i]=n,e.pop(),t._cacheIndex=null;var r=t._clip.uuid,o=this._actionsByClip,a=o[r],s=a.knownActions,u=s[s.length-1],l=t._byClipCacheIndex;u._byClipCacheIndex=l,s[l]=u,s.pop(),t._byClipCacheIndex=null,delete a.actionByRoot[(t._localRoot||this._root).uuid],0===s.length&&delete o[r],this._removeInactiveBindingsForAction(t)},_removeInactiveBindingsForAction:function(t){for(var e=t._propertyBindings,n=0,i=e.length;n!==i;++n){var r=e[n];0==--r.referenceCount&&this._removeInactiveBinding(r)}},_lendAction:function(t){var e=this._actions,n=t._cacheIndex,i=this._nActiveActions++,r=e[i];t._cacheIndex=i,e[i]=t,r._cacheIndex=n,e[n]=r},_takeBackAction:function(t){var e=this._actions,n=t._cacheIndex,i=--this._nActiveActions,r=e[i];t._cacheIndex=i,e[i]=t,r._cacheIndex=n,e[n]=r},_addInactiveBinding:function(t,e,n){var i=this._bindingsByRootAndName,r=i[e],o=this._bindings;void 0===r&&(r={},i[e]=r),r[n]=t,t._cacheIndex=o.length,o.push(t)},_removeInactiveBinding:function(t){var e=this._bindings,n=t.binding,i=n.rootNode.uuid,r=n.path,o=this._bindingsByRootAndName,a=o[i],s=e[e.length-1],u=t._cacheIndex;s._cacheIndex=u,e[u]=s,e.pop(),delete a[r];t:{for(var l in a)break t;delete o[i]}},_lendBinding:function(t){var e=this._bindings,n=t._cacheIndex,i=this._nActiveBindings++,r=e[i];t._cacheIndex=i,e[i]=t,r._cacheIndex=n,e[n]=r},_takeBackBinding:function(t){var e=this._bindings,n=t._cacheIndex,i=--this._nActiveBindings,r=e[i];t._cacheIndex=i,e[i]=t,r._cacheIndex=n,e[n]=r},_lendControlInterpolant:function(){var t=this._controlInterpolants,e=this._nActiveControlInterpolants++,n=t[e];return void 0===n&&((n=new ua(new Float32Array(2),new Float32Array(2),1,this._controlInterpolantsResultBuffer)).__cacheIndex=e,t[e]=n),n},_takeBackControlInterpolant:function(t){var e=this._controlInterpolants,n=t.__cacheIndex,i=--this._nActiveControlInterpolants,r=e[i];t.__cacheIndex=i,e[i]=t,r.__cacheIndex=n,e[n]=r},_controlInterpolantsResultBuffer:new Float32Array(1),clipAction:function(t,e){var n=e||this._root,i=n.uuid,r="string"==typeof t?ya.findByName(n,t):t,o=null!==r?r.uuid:t,a=this._actionsByClip[o],s=null;if(void 0!==a){var u=a.actionByRoot[i];if(void 0!==u)return u;s=a.knownActions[0],null===r&&(r=s._clip)}if(null===r)return null;var l=new Hs(this,r,e);return this._bindAction(l,s),this._addInactiveAction(l,o,i),l},existingAction:function(t,e){var n=e||this._root,i=n.uuid,r="string"==typeof t?ya.findByName(n,t):t,o=r?r.uuid:t,a=this._actionsByClip[o];return void 0!==a&&a.actionByRoot[i]||null},stopAllAction:function(){var t=this._actions,e=this._nActiveActions,n=this._bindings,i=this._nActiveBindings;this._nActiveActions=0,this._nActiveBindings=0;for(var r=0;r!==e;++r)t[r].reset();for(r=0;r!==i;++r)n[r].useCount=0;return this},update:function(t){t*=this.timeScale;for(var e=this._actions,n=this._nActiveActions,i=this.time+=t,r=Math.sign(t),o=this._accuIndex^=1,a=0;a!==n;++a){e[a]._update(i,t,r,o)}var s=this._bindings,u=this._nActiveBindings;for(a=0;a!==u;++a)s[a].apply(o);return this},getRoot:function(){return this._root},uncacheClip:function(t){var e=this._actions,n=t.uuid,i=this._actionsByClip,r=i[n];if(void 0!==r){for(var o=r.knownActions,a=0,s=o.length;a!==s;++a){var u=o[a];this._deactivateAction(u);var l=u._cacheIndex,h=e[e.length-1];u._cacheIndex=null,u._byClipCacheIndex=null,h._cacheIndex=l,e[l]=h,e.pop(),this._removeInactiveBindingsForAction(u)}delete i[n]}},uncacheRoot:function(t){var e=t.uuid,n=this._actionsByClip;for(var i in n){var r=n[i].actionByRoot[e];void 0!==r&&(this._deactivateAction(r),this._removeInactiveAction(r))}var o=this._bindingsByRootAndName[e];if(void 0!==o)for(var a in o){var s=o[a];s.restoreOriginalState(),this._removeInactiveBinding(s)}},uncacheAction:function(t,e){var n=this.existingAction(t,e);null!==n&&(this._deactivateAction(n),this._removeInactiveAction(n))}}),js.prototype.clone=function(){return new js(void 0===this.value.clone?this.value:this.value.clone())},Ws.prototype=Object.assign(Object.create(Ln.prototype),{constructor:Ws,isInstancedBufferGeometry:!0,copy:function(t){return Ln.prototype.copy.call(this,t),this.maxInstancedCount=t.maxInstancedCount,this},clone:function(){return(new this.constructor).copy(this)}}),Xs.prototype=Object.assign(Object.create(gr.prototype),{constructor:Xs,isInstancedInterleavedBuffer:!0,copy:function(t){return gr.prototype.copy.call(this,t),this.meshPerAttribute=t.meshPerAttribute,this}}),Ys.prototype=Object.assign(Object.create(vn.prototype),{constructor:Ys,isInstancedBufferAttribute:!0,copy:function(t){return vn.prototype.copy.call(this,t),this.meshPerAttribute=t.meshPerAttribute,this}}),Object.assign(Ks.prototype,{linePrecision:1,set:function(t,e){this.ray.set(t,e)},setFromCamera:function(t,e){e&&e.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(e.matrixWorld),this.ray.direction.set(t.x,t.y,.5).unproject(e).sub(this.ray.origin).normalize()):e&&e.isOrthographicCamera?(this.ray.origin.set(t.x,t.y,(e.near+e.far)/(e.near-e.far)).unproject(e),this.ray.direction.set(0,0,-1).transformDirection(e.matrixWorld)):console.error("THREE.Raycaster: Unsupported camera type.")},intersectObject:function(t,e,n){var i=n||[];return qs(t,this,i,e),i.sort(Zs),i},intersectObjects:function(t,e,n){var i=n||[];if(!1===Array.isArray(t))return console.warn("THREE.Raycaster.intersectObjects: objects is not an Array."),i;for(var r=0,o=t.length;r<o;r++)qs(t[r],this,i,e);return i.sort(Zs),i}}),Object.assign(Qs.prototype,{set:function(t,e,n){return this.radius=t,this.phi=e,this.theta=n,this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.radius=t.radius,this.phi=t.phi,this.theta=t.theta,this},makeSafe:function(){return this.phi=Math.max(1e-6,Math.min(Math.PI-1e-6,this.phi)),this},setFromVector3:function(t){return this.setFromCartesianCoords(t.x,t.y,t.z)},setFromCartesianCoords:function(t,e,n){return this.radius=Math.sqrt(t*t+e*e+n*n),0===this.radius?(this.theta=0,this.phi=0):(this.theta=Math.atan2(t,n),this.phi=Math.acos(Ge.clamp(e/this.radius,-1,1))),this}}),Object.assign(Js.prototype,{set:function(t,e,n){return this.radius=t,this.theta=e,this.y=n,this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.radius=t.radius,this.theta=t.theta,this.y=t.y,this},setFromVector3:function(t){return this.setFromCartesianCoords(t.x,t.y,t.z)},setFromCartesianCoords:function(t,e,n){return this.radius=Math.sqrt(t*t+n*n),this.theta=Math.atan2(t,n),this.y=e,this}}),Object.assign($s.prototype,{set:function(t,e){return this.min.copy(t),this.max.copy(e),this},setFromPoints:function(t){this.makeEmpty();for(var e=0,n=t.length;e<n;e++)this.expandByPoint(t[e]);return this},setFromCenterAndSize:function(){var t=new Ue;return function(e,n){var i=t.copy(n).multiplyScalar(.5);return this.min.copy(e).sub(i),this.max.copy(e).add(i),this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.min.copy(t.min),this.max.copy(t.max),this},makeEmpty:function(){return this.min.x=this.min.y=1/0,this.max.x=this.max.y=-1/0,this},isEmpty:function(){return this.max.x<this.min.x||this.max.y<this.min.y},getCenter:function(t){return void 0===t&&(console.warn("THREE.Box2: .getCenter() target is now required"),t=new Ue),this.isEmpty()?t.set(0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)},getSize:function(t){return void 0===t&&(console.warn("THREE.Box2: .getSize() target is now required"),t=new Ue),this.isEmpty()?t.set(0,0):t.subVectors(this.max,this.min)},expandByPoint:function(t){return this.min.min(t),this.max.max(t),this},expandByVector:function(t){return this.min.sub(t),this.max.add(t),this},expandByScalar:function(t){return this.min.addScalar(-t),this.max.addScalar(t),this},containsPoint:function(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y)},containsBox:function(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y},getParameter:function(t,e){return void 0===e&&(console.warn("THREE.Box2: .getParameter() target is now required"),e=new Ue),e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y))},intersectsBox:function(t){return!(t.max.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y)},clampPoint:function(t,e){return void 0===e&&(console.warn("THREE.Box2: .clampPoint() target is now required"),e=new Ue),e.copy(t).clamp(this.min,this.max)},distanceToPoint:function(){var t=new Ue;return function(e){return t.copy(e).clamp(this.min,this.max).sub(e).length()}}(),intersect:function(t){return this.min.max(t.min),this.max.min(t.max),this},union:function(t){return this.min.min(t.min),this.max.max(t.max),this},translate:function(t){return this.min.add(t),this.max.add(t),this},equals:function(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}),Object.assign(tu.prototype,{set:function(t,e){return this.start.copy(t),this.end.copy(e),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.start.copy(t.start),this.end.copy(t.end),this},getCenter:function(t){return void 0===t&&(console.warn("THREE.Line3: .getCenter() target is now required"),t=new He),t.addVectors(this.start,this.end).multiplyScalar(.5)},delta:function(t){return void 0===t&&(console.warn("THREE.Line3: .delta() target is now required"),t=new He),t.subVectors(this.end,this.start)},distanceSq:function(){return this.start.distanceToSquared(this.end)},distance:function(){return this.start.distanceTo(this.end)},at:function(t,e){return void 0===e&&(console.warn("THREE.Line3: .at() target is now required"),e=new He),this.delta(e).multiplyScalar(t).add(this.start)},closestPointToPointParameter:function(){var t=new He,e=new He;return function(n,i){t.subVectors(n,this.start),e.subVectors(this.end,this.start);var r=e.dot(e),o=e.dot(t)/r;return i&&(o=Ge.clamp(o,0,1)),o}}(),closestPointToPoint:function(t,e,n){var i=this.closestPointToPointParameter(t,e);return void 0===n&&(console.warn("THREE.Line3: .closestPointToPoint() target is now required"),n=new He),this.delta(n).multiplyScalar(i).add(this.start)},applyMatrix4:function(t){return this.start.applyMatrix4(t),this.end.applyMatrix4(t),this},equals:function(t){return t.start.equals(this.start)&&t.end.equals(this.end)}}),eu.prototype=Object.create(fn.prototype),eu.prototype.constructor=eu,eu.prototype.isImmediateRenderObject=!0,nu.prototype=Object.create(Er.prototype),nu.prototype.constructor=nu,nu.prototype.update=function(){var t=new He,e=new He,n=new Fe;return function(){var i=["a","b","c"];this.object.updateMatrixWorld(!0),n.getNormalMatrix(this.object.matrixWorld);var r=this.object.matrixWorld,o=this.geometry.attributes.position,a=this.object.geometry;if(a&&a.isGeometry)for(var s=a.vertices,u=a.faces,l=0,h=0,c=u.length;h<c;h++)for(var p=u[h],d=0,f=p.vertexNormals.length;d<f;d++){var m=s[p[i[d]]],g=p.vertexNormals[d];t.copy(m).applyMatrix4(r),e.copy(g).applyMatrix3(n).normalize().multiplyScalar(this.size).add(t),o.setXYZ(l,t.x,t.y,t.z),l+=1,o.setXYZ(l,e.x,e.y,e.z),l+=1}else if(a&&a.isBufferGeometry){var v=a.attributes.position,y=a.attributes.normal;for(l=0,d=0,f=v.count;d<f;d++)t.set(v.getX(d),v.getY(d),v.getZ(d)).applyMatrix4(r),e.set(y.getX(d),y.getY(d),y.getZ(d)),e.applyMatrix3(n).normalize().multiplyScalar(this.size).add(t),o.setXYZ(l,t.x,t.y,t.z),l+=1,o.setXYZ(l,e.x,e.y,e.z),l+=1}o.needsUpdate=!0}}(),iu.prototype=Object.create(fn.prototype),iu.prototype.constructor=iu,iu.prototype.dispose=function(){this.cone.geometry.dispose(),this.cone.material.dispose()},iu.prototype.update=function(){var t=new He,e=new He;return function(){this.light.updateMatrixWorld();var n=this.light.distance?this.light.distance:1e3,i=n*Math.tan(this.light.angle);this.cone.scale.set(i,i,n),t.setFromMatrixPosition(this.light.matrixWorld),e.setFromMatrixPosition(this.light.target.matrixWorld),this.cone.lookAt(e.sub(t)),void 0!==this.color?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)}}(),ru.prototype=Object.create(Er.prototype),ru.prototype.constructor=ru,ru.prototype.updateMatrixWorld=function(){var t=new He,e=new Ve,n=new Ve;return function(i){var r=this.bones,o=this.geometry,a=o.getAttribute("position");n.getInverse(this.root.matrixWorld);for(var s=0,u=0;s<r.length;s++){var l=r[s];l.parent&&l.parent.isBone&&(e.multiplyMatrices(n,l.matrixWorld),t.setFromMatrixPosition(e),a.setXYZ(u,t.x,t.y,t.z),e.multiplyMatrices(n,l.parent.matrixWorld),t.setFromMatrixPosition(e),a.setXYZ(u+1,t.x,t.y,t.z),u+=2)}o.getAttribute("position").needsUpdate=!0,fn.prototype.updateMatrixWorld.call(this,i)}}(),ou.prototype=Object.create(zn.prototype),ou.prototype.constructor=ou,ou.prototype.dispose=function(){this.geometry.dispose(),this.material.dispose()},ou.prototype.update=function(){void 0!==this.color?this.material.color.set(this.color):this.material.color.copy(this.light.color)},au.prototype=Object.create(fn.prototype),au.prototype.constructor=au,au.prototype.dispose=function(){this.children[0].geometry.dispose(),this.children[0].material.dispose()},au.prototype.update=function(){var t=.5*this.light.width,e=.5*this.light.height,n=this.line.geometry.attributes.position,i=n.array;i[0]=t,i[1]=-e,i[2]=0,i[3]=t,i[4]=e,i[5]=0,i[6]=-t,i[7]=e,i[8]=0,i[9]=-t,i[10]=-e,i[11]=0,i[12]=t,i[13]=-e,i[14]=0,n.needsUpdate=!0,void 0!==this.color?this.line.material.color.set(this.color):this.line.material.color.copy(this.light.color)},su.prototype=Object.create(fn.prototype),su.prototype.constructor=su,su.prototype.dispose=function(){this.children[0].geometry.dispose(),this.children[0].material.dispose()},su.prototype.update=function(){var t=new He,e=new on,n=new on;return function(){var i=this.children[0];if(void 0!==this.color)this.material.color.set(this.color);else{var r=i.geometry.getAttribute("color");e.copy(this.light.color),n.copy(this.light.groundColor);for(var o=0,a=r.count;o<a;o++){var s=o<a/2?e:n;r.setXYZ(o,s.r,s.g,s.b)}r.needsUpdate=!0}i.lookAt(t.setFromMatrixPosition(this.light.matrixWorld).negate())}}(),uu.prototype=Object.create(Er.prototype),uu.prototype.constructor=uu,lu.prototype=Object.create(Er.prototype),lu.prototype.constructor=lu,hu.prototype=Object.create(Er.prototype),hu.prototype.constructor=hu,hu.prototype.update=function(){var t=new He,e=new He,n=new Fe;return function(){this.object.updateMatrixWorld(!0),n.getNormalMatrix(this.object.matrixWorld);for(var i=this.object.matrixWorld,r=this.geometry.attributes.position,o=this.object.geometry,a=o.vertices,s=o.faces,u=0,l=0,h=s.length;l<h;l++){var c=s[l],p=c.normal;t.copy(a[c.a]).add(a[c.b]).add(a[c.c]).divideScalar(3).applyMatrix4(i),e.copy(p).applyMatrix3(n).normalize().multiplyScalar(this.size).add(t),r.setXYZ(u,t.x,t.y,t.z),u+=1,r.setXYZ(u,e.x,e.y,e.z),u+=1}r.needsUpdate=!0}}(),cu.prototype=Object.create(fn.prototype),cu.prototype.constructor=cu,cu.prototype.dispose=function(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()},cu.prototype.update=function(){var t=new He,e=new He,n=new He;return function(){t.setFromMatrixPosition(this.light.matrixWorld),e.setFromMatrixPosition(this.light.target.matrixWorld),n.subVectors(e,t),this.lightPlane.lookAt(n),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(n),this.targetLine.scale.z=n.length()}}(),pu.prototype=Object.create(Er.prototype),pu.prototype.constructor=pu,pu.prototype.update=function(){var t,e,n=new He,i=new rr;function r(r,o,a,s){n.set(o,a,s).unproject(i);var u=e[r];if(void 0!==u)for(var l=t.getAttribute("position"),h=0,c=u.length;h<c;h++)l.setXYZ(u[h],n.x,n.y,n.z)}return function(){t=this.geometry,e=this.pointMap;i.projectionMatrix.copy(this.camera.projectionMatrix),r("c",0,0,-1),r("t",0,0,1),r("n1",-1,-1,-1),r("n2",1,-1,-1),r("n3",-1,1,-1),r("n4",1,1,-1),r("f1",-1,-1,1),r("f2",1,-1,1),r("f3",-1,1,1),r("f4",1,1,1),r("u1",.7,1.1,-1),r("u2",-.7,1.1,-1),r("u3",0,2,-1),r("cf1",-1,0,1),r("cf2",1,0,1),r("cf3",0,-1,1),r("cf4",0,1,1),r("cn1",-1,0,-1),r("cn2",1,0,-1),r("cn3",0,-1,-1),r("cn4",0,1,-1),t.getAttribute("position").needsUpdate=!0}}(),du.prototype=Object.create(Er.prototype),du.prototype.constructor=du,du.prototype.update=function(){var t=new Qe;return function(e){if(void 0!==e&&console.warn("THREE.BoxHelper: .update() has no longer arguments."),void 0!==this.object&&t.setFromObject(this.object),!t.isEmpty()){var n=t.min,i=t.max,r=this.geometry.attributes.position,o=r.array;o[0]=i.x,o[1]=i.y,o[2]=i.z,o[3]=n.x,o[4]=i.y,o[5]=i.z,o[6]=n.x,o[7]=n.y,o[8]=i.z,o[9]=i.x,o[10]=n.y,o[11]=i.z,o[12]=i.x,o[13]=i.y,o[14]=n.z,o[15]=n.x,o[16]=i.y,o[17]=n.z,o[18]=n.x,o[19]=n.y,o[20]=n.z,o[21]=i.x,o[22]=n.y,o[23]=n.z,r.needsUpdate=!0,this.geometry.computeBoundingSphere()}}}(),du.prototype.setFromObject=function(t){return this.object=t,this.update(),this},du.prototype.copy=function(t){return Er.prototype.copy.call(this,t),this.object=t.object,this},du.prototype.clone=function(){return(new this.constructor).copy(this)},fu.prototype=Object.create(Er.prototype),fu.prototype.constructor=fu,fu.prototype.updateMatrixWorld=function(t){var e=this.box;e.isEmpty()||(e.getCenter(this.position),e.getSize(this.scale),this.scale.multiplyScalar(.5),fn.prototype.updateMatrixWorld.call(this,t))},mu.prototype=Object.create(Tr.prototype),mu.prototype.constructor=mu,mu.prototype.updateMatrixWorld=function(t){var e=-this.plane.constant;Math.abs(e)<1e-8&&(e=1e-8),this.scale.set(.5*this.size,.5*this.size,e),this.children[0].material.side=e<0?g:m,this.lookAt(this.plane.normal),fn.prototype.updateMatrixWorld.call(this,t)},gu.prototype=Object.create(fn.prototype),gu.prototype.constructor=gu,gu.prototype.setDirection=function(){var t,e=new He;return function(n){n.y>.99999?this.quaternion.set(0,0,0,1):n.y<-.99999?this.quaternion.set(1,0,0,0):(e.set(n.z,0,-n.x).normalize(),t=Math.acos(n.y),this.quaternion.setFromAxisAngle(e,t))}}(),gu.prototype.setLength=function(t,e,n){void 0===e&&(e=.2*t),void 0===n&&(n=.2*e),this.line.scale.set(1,Math.max(0,t-e),1),this.line.updateMatrix(),this.cone.scale.set(n,e,n),this.cone.position.y=t,this.cone.updateMatrix()},gu.prototype.setColor=function(t){this.line.material.color.copy(t),this.cone.material.color.copy(t)},gu.prototype.copy=function(t){return fn.prototype.copy.call(this,t,!1),this.line.copy(t.line),this.cone.copy(t.cone),this},gu.prototype.clone=function(){return(new this.constructor).copy(this)},vu.prototype=Object.create(Er.prototype),vu.prototype.constructor=vu;var _u=0,bu=1;function xu(t){return console.warn("THREE.MeshFaceMaterial has been removed. Use an Array instead."),t}function wu(t){return void 0===t&&(t=[]),console.warn("THREE.MultiMaterial has been removed. Use an Array instead."),t.isMultiMaterial=!0,t.materials=t,t.clone=function(){return t.slice()},t}function Au(t,e){return console.warn("THREE.PointCloud has been renamed to THREE.Points."),new Cr(t,e)}function Su(t){return console.warn("THREE.Particle has been renamed to THREE.Sprite."),new _r(t)}function Tu(t,e){return console.warn("THREE.ParticleSystem has been renamed to THREE.Points."),new Cr(t,e)}function Eu(t){return console.warn("THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial."),new Pr(t)}function Mu(t){return console.warn("THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial."),new Pr(t)}function Pu(t){return console.warn("THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial."),new Pr(t)}function Cu(t,e,n){return console.warn("THREE.Vertex has been removed. Use THREE.Vector3 instead."),new He(t,e,n)}function Lu(t,e){return console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setDynamic( true ) instead."),new vn(t,e).setDynamic(!0)}function Ru(t,e){return console.warn("THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead."),new yn(t,e)}function Ou(t,e){return console.warn("THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead."),new _n(t,e)}function Iu(t,e){return console.warn("THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead."),new bn(t,e)}function Nu(t,e){return console.warn("THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead."),new xn(t,e)}function Du(t,e){return console.warn("THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead."),new wn(t,e)}function Bu(t,e){return console.warn("THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead."),new An(t,e)}function ku(t,e){return console.warn("THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead."),new Sn(t,e)}function Gu(t,e){return console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead."),new Tn(t,e)}function Uu(t,e){return console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead."),new En(t,e)}function Vu(t){console.warn("THREE.ClosedSplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead."),Ua.call(this,t),this.type="catmullrom",this.closed=!0}function zu(t){console.warn("THREE.SplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead."),Ua.call(this,t),this.type="catmullrom"}function Hu(t){console.warn("THREE.Spline has been removed. Use THREE.CatmullRomCurve3 instead."),Ua.call(this,t),this.type="catmullrom"}function Fu(t){return console.warn("THREE.AxisHelper has been renamed to THREE.AxesHelper."),new vu(t)}function ju(t,e){return console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead."),new du(t,e)}function Wu(t,e){return console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead."),new Er(new Vo(t.geometry),new Sr({color:void 0!==e?e:16777215}))}function Xu(t,e){return console.warn("THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead."),new Er(new Nr(t.geometry),new Sr({color:void 0!==e?e:16777215}))}function Yu(t){return console.warn("THREE.XHRLoader has been renamed to THREE.FileLoader."),new Sa(t)}function Ku(t){return console.warn("THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader."),new Ma(t)}Ra.create=function(t,e){return console.log("THREE.Curve.create() has been deprecated"),t.prototype=Object.create(Ra.prototype),t.prototype.constructor=t,t.prototype.getPoint=e,t},Object.assign(Qa.prototype,{createPointsGeometry:function(t){console.warn("THREE.CurvePath: .createPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");var e=this.getPoints(t);return this.createGeometry(e)},createSpacedPointsGeometry:function(t){console.warn("THREE.CurvePath: .createSpacedPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");var e=this.getSpacedPoints(t);return this.createGeometry(e)},createGeometry:function(t){console.warn("THREE.CurvePath: .createGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");for(var e=new gn,n=0,i=t.length;n<i;n++){var r=t[n];e.vertices.push(new He(r.x,r.y,r.z||0))}return e}}),Object.assign(Ja.prototype,{fromPoints:function(t){console.warn("THREE.Path: .fromPoints() has been renamed to .setFromPoints()."),this.setFromPoints(t)}}),Vu.prototype=Object.create(Ua.prototype),zu.prototype=Object.create(Ua.prototype),Hu.prototype=Object.create(Ua.prototype),Object.assign(Hu.prototype,{initFromArray:function(){console.error("THREE.Spline: .initFromArray() has been removed.")},getControlPointsArray:function(){console.error("THREE.Spline: .getControlPointsArray() has been removed.")},reparametrizeByArcLength:function(){console.error("THREE.Spline: .reparametrizeByArcLength() has been removed.")}}),uu.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")},ru.prototype.update=function(){console.error("THREE.SkeletonHelper: update() no longer needs to be called.")},Object.assign(ms.prototype,{extractUrlBase:function(t){return console.warn("THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead."),ps.extractUrlBase(t)}}),Object.assign(gs.prototype,{setTexturePath:function(t){return console.warn("THREE.JSONLoader: .setTexturePath() has been renamed to .setResourcePath()."),this.setResourcePath(t)}}),Object.assign(vs.prototype,{setTexturePath:function(t){return console.warn("THREE.ObjectLoader: .setTexturePath() has been renamed to .setResourcePath()."),this.setResourcePath(t)}}),Object.assign($s.prototype,{center:function(t){return console.warn("THREE.Box2: .center() has been renamed to .getCenter()."),this.getCenter(t)},empty:function(){return console.warn("THREE.Box2: .empty() has been renamed to .isEmpty()."),this.isEmpty()},isIntersectionBox:function(t){return console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},size:function(t){return console.warn("THREE.Box2: .size() has been renamed to .getSize()."),this.getSize(t)}}),Object.assign(Qe.prototype,{center:function(t){return console.warn("THREE.Box3: .center() has been renamed to .getCenter()."),this.getCenter(t)},empty:function(){return console.warn("THREE.Box3: .empty() has been renamed to .isEmpty()."),this.isEmpty()},isIntersectionBox:function(t){return console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},isIntersectionSphere:function(t){return console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(t)},size:function(t){return console.warn("THREE.Box3: .size() has been renamed to .getSize()."),this.getSize(t)}}),tu.prototype.center=function(t){return console.warn("THREE.Line3: .center() has been renamed to .getCenter()."),this.getCenter(t)},Object.assign(Ge,{random16:function(){return console.warn("THREE.Math: .random16() has been deprecated. Use Math.random() instead."),Math.random()},nearestPowerOfTwo:function(t){return console.warn("THREE.Math: .nearestPowerOfTwo() has been renamed to .floorPowerOfTwo()."),Ge.floorPowerOfTwo(t)},nextPowerOfTwo:function(t){return console.warn("THREE.Math: .nextPowerOfTwo() has been renamed to .ceilPowerOfTwo()."),Ge.ceilPowerOfTwo(t)}}),Object.assign(Fe.prototype,{flattenToArrayOffset:function(t,e){return console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(t,e)},multiplyVector3:function(t){return console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead."),t.applyMatrix3(this)},multiplyVector3Array:function(){console.error("THREE.Matrix3: .multiplyVector3Array() has been removed.")},applyToBuffer:function(t){return console.warn("THREE.Matrix3: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead."),this.applyToBufferAttribute(t)},applyToVector3Array:function(){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")}}),Object.assign(Ve.prototype,{extractPosition:function(t){return console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition()."),this.copyPosition(t)},flattenToArrayOffset:function(t,e){return console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(t,e)},getPosition:function(){var t;return function(){return void 0===t&&(t=new He),console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead."),t.setFromMatrixColumn(this,3)}}(),setRotationFromQuaternion:function(t){return console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion()."),this.makeRotationFromQuaternion(t)},multiplyToArray:function(){console.warn("THREE.Matrix4: .multiplyToArray() has been removed.")},multiplyVector3:function(t){return console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},multiplyVector4:function(t){return console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},multiplyVector3Array:function(){console.error("THREE.Matrix4: .multiplyVector3Array() has been removed.")},rotateAxis:function(t){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead."),t.transformDirection(this)},crossVector:function(t){return console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},translate:function(){console.error("THREE.Matrix4: .translate() has been removed.")},rotateX:function(){console.error("THREE.Matrix4: .rotateX() has been removed.")},rotateY:function(){console.error("THREE.Matrix4: .rotateY() has been removed.")},rotateZ:function(){console.error("THREE.Matrix4: .rotateZ() has been removed.")},rotateByAxis:function(){console.error("THREE.Matrix4: .rotateByAxis() has been removed.")},applyToBuffer:function(t){return console.warn("THREE.Matrix4: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead."),this.applyToBufferAttribute(t)},applyToVector3Array:function(){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")},makeFrustum:function(t,e,n,i,r,o){return console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead."),this.makePerspective(t,e,i,n,r,o)}}),$e.prototype.isIntersectionLine=function(t){return console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine()."),this.intersectsLine(t)},ze.prototype.multiplyVector3=function(t){return console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead."),t.applyQuaternion(this)},Object.assign(Gn.prototype,{isIntersectionBox:function(t){return console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},isIntersectionPlane:function(t){return console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane()."),this.intersectsPlane(t)},isIntersectionSphere:function(t){return console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(t)}}),Object.assign(Un.prototype,{area:function(){return console.warn("THREE.Triangle: .area() has been renamed to .getArea()."),this.getArea()},barycoordFromPoint:function(t,e){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),this.getBarycoord(t,e)},midpoint:function(t){return console.warn("THREE.Triangle: .midpoint() has been renamed to .getMidpoint()."),this.getMidpoint(t)},normal:function(t){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),this.getNormal(t)},plane:function(t){return console.warn("THREE.Triangle: .plane() has been renamed to .getPlane()."),this.getPlane(t)}}),Object.assign(Un,{barycoordFromPoint:function(t,e,n,i,r){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),Un.getBarycoord(t,e,n,i,r)},normal:function(t,e,n,i){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),Un.getNormal(t,e,n,i)}}),Object.assign($a.prototype,{extractAllPoints:function(t){return console.warn("THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead."),this.extractPoints(t)},extrude:function(t){return console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead."),new To(this,t)},makeGeometry:function(t){return console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead."),new ko(this,t)}}),Object.assign(Ue.prototype,{fromAttribute:function(t,e,n){return console.warn("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,e,n)},distanceToManhattan:function(t){return console.warn("THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(t)},lengthManhattan:function(){return console.warn("THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()}}),Object.assign(He.prototype,{setEulerFromRotationMatrix:function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")},setEulerFromQuaternion:function(){console.error("THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.")},getPositionFromMatrix:function(t){return console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition()."),this.setFromMatrixPosition(t)},getScaleFromMatrix:function(t){return console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale()."),this.setFromMatrixScale(t)},getColumnFromMatrix:function(t,e){return console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn()."),this.setFromMatrixColumn(e,t)},applyProjection:function(t){return console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead."),this.applyMatrix4(t)},fromAttribute:function(t,e,n){return console.warn("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,e,n)},distanceToManhattan:function(t){return console.warn("THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(t)},lengthManhattan:function(){return console.warn("THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()}}),Object.assign(Ye.prototype,{fromAttribute:function(t,e,n){return console.warn("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,e,n)},lengthManhattan:function(){return console.warn("THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()}}),Object.assign(gn.prototype,{computeTangents:function(){console.error("THREE.Geometry: .computeTangents() has been removed.")},computeLineDistances:function(){console.error("THREE.Geometry: .computeLineDistances() has been removed. Use THREE.Line.computeLineDistances() instead.")}}),Object.assign(fn.prototype,{getChildByName:function(t){return console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName()."),this.getObjectByName(t)},renderDepth:function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")},translate:function(t,e){return console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead."),this.translateOnAxis(e,t)},getWorldRotation:function(){console.error("THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.")}}),Object.defineProperties(fn.prototype,{eulerOrder:{get:function(){return console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order},set:function(t){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order=t}},useQuaternion:{get:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},set:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")}}}),Object.defineProperties(br.prototype,{objects:{get:function(){return console.warn("THREE.LOD: .objects has been renamed to .levels."),this.levels}}}),Object.defineProperty(xr.prototype,"useVertexTexture",{get:function(){console.warn("THREE.Skeleton: useVertexTexture has been removed.")},set:function(){console.warn("THREE.Skeleton: useVertexTexture has been removed.")}}),Object.defineProperty(Ra.prototype,"__arcLengthDivisions",{get:function(){return console.warn("THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions."),this.arcLengthDivisions},set:function(t){console.warn("THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions."),this.arcLengthDivisions=t}}),or.prototype.setLens=function(t,e){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup."),void 0!==e&&(this.filmGauge=e),this.setFocalLength(t)},Object.defineProperties(ts.prototype,{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(t){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov."),this.shadow.camera.fov=t}},shadowCameraLeft:{set:function(t){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left."),this.shadow.camera.left=t}},shadowCameraRight:{set:function(t){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right."),this.shadow.camera.right=t}},shadowCameraTop:{set:function(t){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top."),this.shadow.camera.top=t}},shadowCameraBottom:{set:function(t){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom."),this.shadow.camera.bottom=t}},shadowCameraNear:{set:function(t){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near."),this.shadow.camera.near=t}},shadowCameraFar:{set:function(t){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far."),this.shadow.camera.far=t}},shadowCameraVisible:{set:function(){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}},shadowBias:{set:function(t){console.warn("THREE.Light: .shadowBias is now .shadow.bias."),this.shadow.bias=t}},shadowDarkness:{set:function(){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(t){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width."),this.shadow.mapSize.width=t}},shadowMapHeight:{set:function(t){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height."),this.shadow.mapSize.height=t}}}),Object.defineProperties(vn.prototype,{length:{get:function(){return console.warn("THREE.BufferAttribute: .length has been deprecated. Use .count instead."),this.array.length}},copyIndicesArray:function(){console.error("THREE.BufferAttribute: .copyIndicesArray() has been removed.")}}),Object.assign(Ln.prototype,{addIndex:function(t){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex()."),this.setIndex(t)},addDrawCall:function(t,e,n){void 0!==n&&console.warn("THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset."),console.warn("THREE.BufferGeometry: .addDrawCall() is now .addGroup()."),this.addGroup(t,e)},clearDrawCalls:function(){console.warn("THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups()."),this.clearGroups()},computeTangents:function(){console.warn("THREE.BufferGeometry: .computeTangents() has been removed.")},computeOffsets:function(){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")}}),Object.defineProperties(Ln.prototype,{drawcalls:{get:function(){return console.error("THREE.BufferGeometry: .drawcalls has been renamed to .groups."),this.groups}},offsets:{get:function(){return console.warn("THREE.BufferGeometry: .offsets has been renamed to .groups."),this.groups}}}),Object.assign(Eo.prototype,{getArrays:function(){console.error("THREE.ExtrudeBufferGeometry: .getArrays() has been removed.")},addShapeList:function(){console.error("THREE.ExtrudeBufferGeometry: .addShapeList() has been removed.")},addShape:function(){console.error("THREE.ExtrudeBufferGeometry: .addShape() has been removed.")}}),Object.defineProperties(js.prototype,{dynamic:{set:function(){console.warn("THREE.Uniform: .dynamic has been removed. Use object.onBeforeRender() instead.")}},onUpdate:{value:function(){return console.warn("THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead."),this}}}),Object.defineProperties(Bn.prototype,{wrapAround:{get:function(){console.warn("THREE.Material: .wrapAround has been removed.")},set:function(){console.warn("THREE.Material: .wrapAround has been removed.")}},overdraw:{get:function(){console.warn("THREE.Material: .overdraw has been removed.")},set:function(){console.warn("THREE.Material: .overdraw has been removed.")}},wrapRGB:{get:function(){return console.warn("THREE.Material: .wrapRGB has been removed."),new on}},shading:{get:function(){console.error("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead.")},set:function(t){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=t===y}}}),Object.defineProperties(Jo.prototype,{metal:{get:function(){return console.warn("THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead."),!1},set:function(){console.warn("THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead")}}}),Object.defineProperties(kn.prototype,{derivatives:{get:function(){return console.warn("THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives},set:function(t){console.warn("THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives=t}}}),Object.assign(pr.prototype,{clearTarget:function(t,e,n,i){console.warn("THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead."),this.setRenderTarget(t),this.clear(e,n,i)},animate:function(t){console.warn("THREE.WebGLRenderer: .animate() is now .setAnimationLoop()."),this.setAnimationLoop(t)},getCurrentRenderTarget:function(){return console.warn("THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget()."),this.getRenderTarget()},getMaxAnisotropy:function(){return console.warn("THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy()."),this.capabilities.getMaxAnisotropy()},getPrecision:function(){return console.warn("THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision."),this.capabilities.precision},resetGLState:function(){return console.warn("THREE.WebGLRenderer: .resetGLState() is now .state.reset()."),this.state.reset()},supportsFloatTextures:function(){return console.warn("THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' )."),this.extensions.get("OES_texture_float")},supportsHalfFloatTextures:function(){return console.warn("THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' )."),this.extensions.get("OES_texture_half_float")},supportsStandardDerivatives:function(){return console.warn("THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' )."),this.extensions.get("OES_standard_derivatives")},supportsCompressedTextureS3TC:function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' )."),this.extensions.get("WEBGL_compressed_texture_s3tc")},supportsCompressedTexturePVRTC:function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' )."),this.extensions.get("WEBGL_compressed_texture_pvrtc")},supportsBlendMinMax:function(){return console.warn("THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' )."),this.extensions.get("EXT_blend_minmax")},supportsVertexTextures:function(){return console.warn("THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures."),this.capabilities.vertexTextures},supportsInstancedArrays:function(){return console.warn("THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' )."),this.extensions.get("ANGLE_instanced_arrays")},enableScissorTest:function(t){console.warn("THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest()."),this.setScissorTest(t)},initMaterial:function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")},addPrePlugin:function(){console.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")},addPostPlugin:function(){console.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")},updateShadowMap:function(){console.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")},setFaceCulling:function(){console.warn("THREE.WebGLRenderer: .setFaceCulling() has been removed.")}}),Object.defineProperties(pr.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(t){console.warn("THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled."),this.shadowMap.enabled=t}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(t){console.warn("THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type."),this.shadowMap.type=t}},shadowMapCullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")}}}),Object.defineProperties(tr.prototype,{cullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")}},renderReverseSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")}},renderSingleSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")}}}),Object.defineProperties(Ke.prototype,{wrapS:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS},set:function(t){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS=t}},wrapT:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT},set:function(t){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT=t}},magFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter},set:function(t){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter=t}},minFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter},set:function(t){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter=t}},anisotropy:{get:function(){return console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy},set:function(t){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy=t}},offset:{get:function(){return console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset},set:function(t){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset=t}},repeat:{get:function(){return console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat},set:function(t){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat=t}},format:{get:function(){return console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format},set:function(t){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format=t}},type:{get:function(){return console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type},set:function(t){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type=t}},generateMipmaps:{get:function(){return console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps},set:function(t){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps=t}}}),Object.defineProperties(cr.prototype,{standing:{set:function(){console.warn("THREE.WebVRManager: .standing has been removed.")}},userHeight:{set:function(){console.warn("THREE.WebVRManager: .userHeight has been removed.")}}}),Is.prototype.load=function(t){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");var e=this;return(new Ps).load(t,function(t){e.setBuffer(t)}),this},Ds.prototype.getData=function(){return console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData()."),this.getFrequencyData()},Ls.prototype.updateCubeMap=function(t,e){return console.warn("THREE.CubeCamera: .updateCubeMap() is now .update()."),this.update(t,e)};var Zu={merge:function(t,e,n){var i;console.warn("THREE.GeometryUtils: .merge() has been moved to Geometry. Use geometry.merge( geometry2, matrix, materialIndexOffset ) instead."),e.isMesh&&(e.matrixAutoUpdate&&e.updateMatrix(),i=e.matrix,e=e.geometry),t.merge(e,i,n)},center:function(t){return console.warn("THREE.GeometryUtils: .center() has been moved to Geometry. Use geometry.center() instead."),t.center()}};function qu(){console.error("THREE.Projector has been moved to /examples/js/renderers/Projector.js."),this.projectVector=function(t,e){console.warn("THREE.Projector: .projectVector() is now vector.project()."),t.project(e)},this.unprojectVector=function(t,e){console.warn("THREE.Projector: .unprojectVector() is now vector.unproject()."),t.unproject(e)},this.pickingRay=function(){console.error("THREE.Projector: .pickingRay() is now raycaster.setFromCamera().")}}function Qu(){console.error("THREE.CanvasRenderer has been removed")}je.crossOrigin=void 0,je.loadTexture=function(t,e,n,i){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");var r=new La;r.setCrossOrigin(this.crossOrigin);var o=r.load(t,n,void 0,i);return e&&(o.mapping=e),o},je.loadTextureCube=function(t,e,n,i){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");var r=new Ca;r.setCrossOrigin(this.crossOrigin);var o=r.load(t,n,void 0,i);return e&&(o.mapping=e),o},je.loadCompressedTexture=function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")},je.loadCompressedTextureCube=function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")};var Ju={createMultiMaterialObject:function(){console.error("THREE.SceneUtils has been moved to /examples/js/utils/SceneUtils.js")},detach:function(){console.error("THREE.SceneUtils has been moved to /examples/js/utils/SceneUtils.js")},attach:function(){console.error("THREE.SceneUtils has been moved to /examples/js/utils/SceneUtils.js")}};function $u(){console.error("THREE.LensFlare has been moved to /examples/js/objects/Lensflare.js")}}.call(this,n(54))},function(t,e,n){var i=n(5);t.exports=function(t,e){if(!i(t)||t._t!==e)throw TypeError("Incompatible receiver, "+e+" required!");return t}},function(t,e){t.exports={}},function(t,e,n){var i=n(1),r=n(33),o=n(4),a=n(108),s="["+a+"]",u=RegExp("^"+s+s+"*"),l=RegExp(s+s+"*$"),h=function(t,e,n){var r={},s=o(function(){return!!a[t]()||"​"!="​"[t]()}),u=r[t]=s?e(c):a[t];n&&(r[n]=u),i(i.P+i.F*s,"String",r)},c=h.trim=function(t,e){return t=String(r(t)),1&e&&(t=t.replace(u,"")),2&e&&(t=t.replace(l,"")),t};t.exports=h},function(t,e,n){var i=n(10).f,r=n(24),o=n(6)("toStringTag");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&i(t,o,{configurable:!0,value:e})}},function(t,e,n){var i=n(8),r=n(16),o=n(14),a=n(7),s=n(123),u=n(84),l=n(25);function h(t){this._parenNode=t;var e=this._node=new i,n=this._listNode=new i(i.LIST);e.setStyleClass(a.Options),e.addChild(n),this._selectedIndex=null,this._callbackOut=function(){},this._unfocusable=!1,document.addEventListener(r.MOUSE_DOWN,this._onDocumentMouseDown.bind(this)),document.addEventListener(r.MOUSE_UP,this._onDocumentMouseUp.bind(this)),this.clear()}h.prototype={_onDocumentMouseDown:function(){this._unfocusable&&this._callbackOut()},_onDocumentMouseUp:function(){this._unfocusable=!0},build:function(t,e,n,r,h,c,p,d){this._clearList(),this._parenNode.addChild(this.getNode());var f=this._node,m=this._listNode;c=c||0;var g,v,y,_,b=this,x=-1;if(p)for(d=d||s.HEX,m.setStyleClass(a.Color);++x<t.length;){switch(v=t[x],y=(g=m.addChild(new i(i.LIST_ITEM))).addChild(new i),d){case s.HEX:_=v;break;case s.RGB:_=u.RGB2HEX(v[0],v[1],v[2]);break;case s.RGBfv:_=u.RGBfv2HEX(v[0],v[1],v[2]);break;case s.HSV:_=u.HSV2RGB(v[0],v[1],v[2])}y.getStyle().backgroundColor=_,y.getStyle().backgroundImage="linear-gradient( rgba(0,0,0,0) 0%, rgba(0,0,0,0.1) 100%)",y.setProperty("innerHTML",v),v==e&&g.setStyleClass(a.OptionsSelected),g.addEventListener(o.MOUSE_DOWN,function(){b._selectedIndex=Array.prototype.indexOf.call(this.parentNode.children,this),r()})}else for(m.deleteStyleClass();++x<t.length;)v=t[x],(g=m.addChild(new i(i.LIST_ITEM))).setProperty("innerHTML",v),v==e&&g.setStyleClass(a.OptionsSelected),g.addEventListener(o.MOUSE_DOWN,function(){b._selectedIndex=Array.prototype.indexOf.call(this.parentNode.children,this),r()});var w=n.getPositionGlobal(),A=n.getWidth()-c,S=n.getHeight(),T=m.getWidth(),E=m.getHeight(),M=2*l.STROKE_SIZE,P=l.PADDING_OPTIONS,C=(T<A?A:T)-M,L=w[0],R=w[1]+S-P,O=window.innerWidth,I=window.innerHeight,N=L+C>O?L-C+A-M:L,D=R+E>I?R-.5*E-.5*S:R;m.setWidth(C),f.setPositionGlobal(N,D),this._callbackOut=h,this._unfocusable=!1},_clearList:function(){this._listNode.removeAllChildren(),this._listNode.deleteStyleProperty("width"),this._selectedIndex=null,this._build=!1},clear:function(){this._clearList(),this._callbackOut=function(){},this._parenNode.removeChild(this.getNode())},isBuild:function(){return this._build},getNode:function(){return this._node},getSelectedIndex:function(){return this._selectedIndex}},h.setup=function(t){return h._instance=new h(t)},h.get=function(){return h._instance},h.destroy=function(){h._instance=null},t.exports=h},function(t,e,n){var i=n(36),r=n(12),o=n(127);function a(){i.apply(this,arguments),this._states=[],this._enabled=!1}a.prototype=Object.create(i.prototype),a.prototype.constructor=a,a.prototype.pushState=function(t,e,n){if(!this._enabled){var i=this._states;i.length>=30&&i.shift(),i.push({object:t,key:e,value:n}),this.dispatchEvent(new r(this,o.STATE_PUSH,null))}},a.prototype.getState=function(t,e){var n,i,r=this._states,o=r.length;if(0==o)return null;for(var a=-1;++a<o;)if((n=r[a]).object===t&&n.key===e){i=n.value;break}return i},a.prototype.popState=function(){if(!this._enabled){var t=this._states;if(!(t.length<1)){var e=t.pop();e.object[e.key]=e.value,this.dispatchEvent(new r(this,o.STATE_POP,null))}}},a.prototype.getNumStates=function(){return this._states.length},a._instance=null,a.setup=function(){return a._instance=new a},a.get=function(){return a._instance},a.prototype.enable=function(){this._enabled=!1},a.prototype.disable=function(){this._enabled=!0},t.exports=a},function(t,e,n){var i=n(27),r=n(6)("toStringTag"),o="Arguments"==i(function(){return arguments}());t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),r))?n:o?i(e):"Object"==(a=i(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var i=n(27);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==i(t)?t.split(""):Object(t)}},function(t,e,n){var i=n(36),r=(n(14),n(8)),o=/^-?\d*\.?\d*$/,a=null,s=null;function u(t,e){t.setProperty("value",e),t.dispatchEvent(new Event("input"))}NumberInput_Internal=function(t,e,n,o,u,l){i.apply(this,null),this._value=0,this._valueStep=t,this._valueDp=e,this._onBegin=n||function(){},this._onChange=o||function(){},this._onFinish=u||function(){},this._onError=l||function(){},this._keyCode=null,this._caretOffset=0;var h=this._input=new r("text");h.setProperty("value",this._value),h.addEventListener("input",this._onInput.bind(this)),h.addEventListener("keydown",this._onKeydown.bind(this)),a||(h.getElement().setSelectionRange?(a=function(t,e){t.getElement().setSelectionRange(e,e)},s=function(t){t.getElement().setSelectionRange(0,t.getProperty("value").length)}):(a=function(t,e){var n=t.getElement().createTextRange();n.collapse(!0),n.moveEnd("character",e),n.moveStart("character",e),n.select()},s=function(t){var e=t.getElement().createTextRange();e.collapse(!0),e.moveStart("character",0),e.moveEnd("character",t.getProperty("value").length),e.select()}))},NumberInput_Internal.prototype=Object.create(i.prototype),NumberInput_Internal.prototype.constructor=NumberInput_Internal,NumberInput_Internal.prototype._setValue=function(t){var e=((t=+t)||1/t)<0&&0==t?"-":"";t=Number(t).toFixed(this._valueDp),this._input.setProperty("value",e+t),this._value=Number(t)},NumberInput_Internal.prototype._onInput=function(){var t=this._input,e=t.getProperty("value"),n=t.getProperty("selectionStart"),i=this._valueDp,r=e[0];if(""==e?e=0:"."===r&&(e="0"+e),!o.test(e)||"-"==e)return t.setProperty("value",this._value.toFixed(i)),a(t,Math.max(--n,0)),void this._onError(this._keyCode);this._onBegin(this._value),this._setValue(e),a(t,n-this._caretOffset),this._onChange()},NumberInput_Internal.prototype._onKeydown=function(t){var e=this._keyCode=t.keyCode;if(13==e)return this._onFinish(),void t.preventDefault();var n=this._input,i=n.getProperty("value"),r=n.getProperty("selectionStart"),o=n.getProperty("selectionEnd"),l=i.length,h=8==e||45==e,c=t.metaKey,p=t.ctrlKey,d=37==e,f=d||39==e,m=t.shiftKey,g=38==e||40==e,v=(c||p)&&65==e,y=r!=o,_=0==r&&o==l,b=189==e,x=i.indexOf(".");if(this._caretOffset=0,!c&&!p||90!=e){if(v)return s(n),void t.preventDefault();if(_)return b?(u(n,"-0"),a(n,1)):(u(n,h?0:String.fromCharCode(e)),a(n,d?r:o)),void t.preventDefault();if(!h||r-1!=x){if(!f&&"0"==i[0]&&1==r)return a(n,1),void(this._caretOffset=1);if(g){var w=(m?10:1)*this._valueStep,A=38==e?1:-1;return u(n,Number(i)+w*A),a(n,r),void t.preventDefault()}return!y||m&&f?!m&&!f&&!h&&r>x&&r<l?(u(n,i=i.substr(0,r)+String.fromCharCode(e)+i.substr(r+1,l-1)),a(n,Math.min(r+1,l-1)),void t.preventDefault()):void(!h&&!f&&!g&&r>=l&&t.preventDefault()):(f?a(n,d?r:o):(u(n,i=i.substr(0,r)+String.fromCharCode(e)+i.substr(o,l-o)),a(n,o)),void t.preventDefault())}a(n,r-1)}else t.preventDefault()},NumberInput_Internal.prototype.getValue=function(){return this._value},NumberInput_Internal.prototype.setValue=function(t){this._setValue(t)},NumberInput_Internal.prototype.getNode=function(){return this._input},t.exports=NumberInput_Internal},function(t,e,n){var i=n(36),r=n(12),o=n(15),a=n(87);function s(){i.apply(this)}s.prototype=Object.create(i.prototype),s.prototype.constructor=s,s.prototype.onValueUpdated=function(t){this.dispatchEvent(new r(this,o.UPDATE_VALUE,{origin:t.sender}))},s.prototype.onOptionTriggered=function(t){this.dispatchEvent(new r(this,a.TRIGGER,{origin:t.sender}))};var u=null;s.get=function(){return u||(u=new s),u},s.destroy=function(){u=null},t.exports=s},function(t,e,n){var i=n(8),r=n(7),o=n(36),a=n(15);function s(t,e){o.apply(this,arguments),e=t.usesLabels()?e:"none",this._parent=t,this._enabled=!0;var n=this._node=new i(i.LIST_ITEM),s=this._wrapNode=new i;if(s.setStyleClass(r.Wrap),n.addChild(s),void 0!==e){if(0!=e.length&&"none"!=e){var u=this._lablNode=new i(i.SPAN);u.setStyleClass(r.Label),u.setProperty("innerHTML",e),n.addChild(u)}"none"==e&&(s.setStyleProperty("marginLeft","0"),s.setStyleProperty("width","100%"))}this._parent.addEventListener(a.ENABLE,this,"onEnable"),this._parent.addEventListener(a.DISABLE,this,"onDisable"),this._parent.addComponentNode(n)}s.prototype=Object.create(o.prototype),s.prototype.constructor=s,s.prototype.enable=function(){this._enabled=!0},s.prototype.disable=function(){this._enabled=!1},s.prototype.isEnabled=function(){return this._enabled},s.prototype.isDisabled=function(){return!this._enabled},s.prototype.onEnable=function(){this.enable()},s.prototype.onDisable=function(){this.disable()},t.exports=s},function(t,e){t.exports={PANEL_MOVE_BEGIN:"panelMoveBegin",PANEL_MOVE:"panelMove",PANEL_MOVE_END:"panelMoveEnd",PANEL_SHOW:"panelShow",PANEL_HIDE:"panelHide",PANEL_SCROLL_WRAP_ADDED:"panelScrollWrapAdded",PANEL_SCROLL_WRAP_REMOVED:"panelScrollWrapRemoved",PANEL_SIZE_CHANGE:"panelSizeChange"}},function(t,e,n){"use strict";var i=n(1),r=n(17),o=n(28),a=n(44);t.exports=function(t){i(i.S,t,{from:function(t){var e,n,i,s,u=arguments[1];return r(this),(e=void 0!==u)&&r(u),void 0==t?new this:(n=[],e?(i=0,s=o(u,arguments[2],2),a(t,!1,function(t){n.push(s(t,i++))})):a(t,!1,n.push,n),new this(n))}})}},function(t,e,n){"use strict";var i=n(1);t.exports=function(t){i(i.S,t,{of:function(){for(var t=arguments.length,e=new Array(t);t--;)e[t]=arguments[t];return new this(e)}})}},function(t,e,n){"use strict";t.exports=n(40)||!n(4)(function(){var t=Math.random();__defineSetter__.call(null,t,function(){}),delete n(3)[t]})},function(t,e,n){for(var i,r=n(3),o=n(20),a=n(51),s=a("typed_array"),u=a("view"),l=!(!r.ArrayBuffer||!r.DataView),h=l,c=0,p="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");c<9;)(i=r[p[c++]])?(o(i.prototype,s,!0),o(i.prototype,u,!0)):h=!1;t.exports={ABV:l,CONSTR:h,TYPED:s,VIEW:u}},function(t,e,n){"use strict";var i=n(3),r=n(1),o=n(19),a=n(43),s=n(41),u=n(44),l=n(45),h=n(5),c=n(4),p=n(77),d=n(58),f=n(107);t.exports=function(t,e,n,m,g,v){var y=i[t],_=y,b=g?"set":"add",x=_&&_.prototype,w={},A=function(t){var e=x[t];o(x,t,"delete"==t?function(t){return!(v&&!h(t))&&e.call(this,0===t?0:t)}:"has"==t?function(t){return!(v&&!h(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return v&&!h(t)?void 0:e.call(this,0===t?0:t)}:"add"==t?function(t){return e.call(this,0===t?0:t),this}:function(t,n){return e.call(this,0===t?0:t,n),this})};if("function"==typeof _&&(v||x.forEach&&!c(function(){(new _).entries().next()}))){var S=new _,T=S[b](v?{}:-0,1)!=S,E=c(function(){S.has(1)}),M=p(function(t){new _(t)}),P=!v&&c(function(){for(var t=new _,e=5;e--;)t[b](e,e);return!t.has(-0)});M||((_=e(function(e,n){l(e,_,t);var i=f(new y,e,_);return void 0!=n&&u(n,g,i[b],i),i})).prototype=x,x.constructor=_),(E||P)&&(A("delete"),A("has"),g&&A("get")),(P||T)&&A(b),v&&x.clear&&delete x.clear}else _=m.getConstructor(e,t,g,b),a(_.prototype,n),s.NEED=!0;return d(_,t),w[t]=_,r(r.G+r.W+r.F*(_!=y),w),v||m.setStrong(_,t,g),_}},function(t,e,n){var i=n(3).navigator;t.exports=i&&i.userAgent||""},function(t,e,n){var i=n(2),r=n(17),o=n(6)("species");t.exports=function(t,e){var n,a=i(t).constructor;return void 0===a||void 0==(n=i(a)[o])?e:r(n)}},function(t,e,n){"use strict";var i=n(20),r=n(19),o=n(4),a=n(33),s=n(6);t.exports=function(t,e,n){var u=s(t),l=n(a,u,""[t]),h=l[0],c=l[1];o(function(){var e={};return e[u]=function(){return 7},7!=""[t](e)})&&(r(String.prototype,t,h),i(RegExp.prototype,u,2==e?function(t,e){return c.call(t,this,e)}:function(t){return c.call(t,this)}))}},function(t,e,n){"use strict";var i=n(2);t.exports=function(){var t=i(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},function(t,e,n){var i=n(6)("iterator"),r=!1;try{var o=[7][i]();o.return=function(){r=!0},Array.from(o,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!r)return!1;var n=!1;try{var o=[7],a=o[i]();a.next=function(){return{done:n=!0}},o[i]=function(){return a},t(o)}catch(t){}return n}},function(t,e,n){var i=n(5),r=n(27),o=n(6)("match");t.exports=function(t){var e;return i(t)&&(void 0!==(e=t[o])?!!e:"RegExp"==r(t))}},function(t,e,n){var i=n(27);t.exports=Array.isArray||function(t){return"Array"==i(t)}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var i=n(23),r=n(9),o=n(49);t.exports=function(t){return function(e,n,a){var s,u=i(e),l=r(u.length),h=o(a,l);if(t&&n!=n){for(;l>h;)if((s=u[h++])!=s)return!0}else for(;l>h;h++)if((t||h in u)&&u[h]===n)return t||h||0;return!t&&-1}}},function(t,e,n){var i=n(35),r=n(3),o=r["__core-js_shared__"]||(r["__core-js_shared__"]={});(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:i.version,mode:n(40)?"pure":"global",copyright:"© 2018 Denis Pushkarev (zloirock.ru)"})},function(t,e,n){var i=n(36),r=n(65),o=n(12),a=n(87),s=n(14),u=n(8),l=n(7);function h(t){i.apply(this);var e=this._btnNode=new u(u.INPUT_BUTTON),n=this._indiNode=new u;this._onActive=function(){},this._onDeactive=function(){},this._isActive=!1,e.setStyleClass(l.ButtonPreset),e.addEventListener(s.MOUSE_DOWN,this._onMouseDown.bind(this)),e.addChild(n),t.addChildAt(e,0),r.get().addEventListener(a.TRIGGER,this,"onOptionTrigger"),this.addEventListener(a.TRIGGERED,r.get(),"onOptionTriggered")}h.prototype=Object.create(i.prototype),h.prototype.constructor=h,h.prototype.onOptionTrigger=function(t){t.data.origin!=this?this._isActive&&this.deactivate():this._isActive?this._onDeactive():(this._onActive(),this._btnNode.setStyleClass(l.ButtonPresetActive),this._isActive=!0)},h.prototype._onMouseDown=function(){this.dispatchEvent(new o(this,a.TRIGGERED,null))},h.prototype.setOnActive=function(t){this._onActive=t},h.prototype.setOnDeactive=function(t){this._onDeactive=t},h.prototype.deactivate=function(){this._isActive=!1,this._btnNode.setStyleClass(l.ButtonPreset)},t.exports=h},function(t,e){var n={HSV2RGB:function(t,e,n){if(t%=360,n=Math.max(0,Math.min(n,100))/100*255,e<=0)return[n=Math.round(n),n,n];e>100&&(e=100),e/=100;var i=Math.floor(t/60)%6,r=t/60-i,o=n*(1-e),a=n*(1-r*e),s=n*(1-(1-r)*e),u=0,l=0,h=0;switch(i){case 0:u=n,l=s,h=o;break;case 1:u=a,l=n,h=o;break;case 2:u=o,l=n,h=s;break;case 3:u=o,l=a,h=n;break;case 4:u=s,l=o,h=n;break;case 5:u=n,l=o,h=a}return[u=Math.round(u),l=Math.round(l),h=Math.round(h)]},RGB2HSV:function(t,e,n){var i=0;t/=255,e/=255,n/=255;var r=Math.min(t,Math.min(e,n)),o=Math.max(t,Math.max(e,n));if(r==o)return i=r,[0,0,Math.round(i)];var a=t==r?e-n:n==r?t-e:n-t,s=t==r?3:n==r?1:5;return[Math.round(60*(s-a/(o-r))),Math.round((o-r)/o*100),i=Math.round(100*o)]},RGB2HEX:function(t,e,n){return"#"+((1<<24)+(t<<16)+(e<<8)+n).toString(16).slice(1)},RGBfv2HEX:function(t,e,i){return n.RGB2HEX(Math.floor(255*t),Math.floor(255*e),Math.floor(255*i))},HSV2HEX:function(t,e,n){var i=ControlKit.ColorUtil.HSV2RGB(t,e,n);return ControlKit.ColorUtil.RGB2HEX(i[0],i[1],i[2])},HEX2RGB:function(t){t=t.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,n,i){return e+e+n+n+i+i});var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return e?[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]:null},isValidHEX:function(t){return/^#[0-9A-F]{6}$/i.test(t)},isValidRGB:function(t,e,n){return t>=0&&t<=255&&e>=0&&e<=255&&n>=0&&n<=255},isValidRGBfv:function(t,e,n){return t>=0&&t<=1&&e>=0&&e<=1&&n>=0&&n<=1}};t.exports=n},function(t,e,n){var i=n(181);function r(t,e,n,r){(r=r||{}).lineWidth=r.lineWidth||2,r.lineColor=r.lineColor||[255,255,255],i.apply(this,arguments);var o=this._lineWidth=r.lineWidth,a=r.lineColor;(this._grid=this._svgRoot.appendChild(this._createSVGObject("path"))).style.stroke="rgb(26,29,31)";var s=this._path=this._svgRoot.appendChild(this._createSVGObject("path"));s.style.stroke="rgb("+a[0]+","+a[1]+","+a[2]+")",s.style.strokeWidth=o,s.style.fill="none"}r.prototype=Object.create(i.prototype),r.prototype.constructor=r,t.exports=r},function(t,e,n){var i=n(85),r=n(25),o=1;function a(t,e,n,a){i.apply(this,arguments);var s=this._svg,u=Number(s.getAttribute("width")),l=Number(s.getAttribute("height"));(a=a||{}).height=a.height||l,a.resolution=a.resolution||o;for(var h=a.resolution,c=Math.floor(u/h),p=this._points=new Array(2*c),d=this._buffer0=new Array(c),f=this._buffer1=new Array(c),m=.5*this._lineWidth,g=-1;++g<c;)d[g]=f[g]=p[2*g]=p[2*g+1]=m;this._height=a.height=a.height<r.COMPONENT_MIN_HEIGHT?r.COMPONENT_MIN_HEIGHT:a.height,this._svgSetSize(l,Math.floor(a.height)),this._grid.style.stroke="rgb(39,44,46)",this._updateHeight(),this._drawValue()}a.prototype=Object.create(i.prototype),a.prototype.constructor=a,a.prototype._redraw=function(){for(var t=this._points,e=this._buffer0.length,n=Number(this._svg.getAttribute("width")),i=n/(e-1),r=-1;++r<e;)t[2*r]=n-r*i;this._drawValue()},a.prototype.onGroupSizeChange=function(){var t=this._wrapNode.getWidth(),e=this._height;this._svgSetSize(t,e),this._updateHeight(),this._drawGrid(),this._redraw()},a.prototype._drawValue=function(){this._drawCurve()},a.prototype._drawGrid=function(){var t=this._svg,e=Number(t.getAttribute("width")),n=Math.floor(.5*Number(t.getAttribute("height"))),i="";i+=this._pathCmdMoveTo(0,n),i+=this._pathCmdLineTo(e,n),this._grid.setAttribute("d",i)},a.prototype._drawCurve=function(){var t=this._svg,e=this._obj[this._key],n=this._buffer0,i=this._buffer1,r=this._points,o=n.length,a="",s=.5*Number(t.getAttribute("height")),u=s-.5*this._lineWidth;r[1]=n[0],n[o-1]=e*u*-1+Math.floor(s),a+=this._pathCmdMoveTo(r[0],r[1]);for(var l,h=0;++h<o;)l=2*h,i[h-1]=n[h],r[l+1]=n[h-1]=i[h-1],a+=this._pathCmdLineTo(r[l],r[l+1]);this._path.setAttribute("d",a)},a.prototype.update=function(){this._parent.isDisabled()||this._drawValue()},t.exports=a},function(t,e){t.exports={TRIGGERED:"selectTrigger",TRIGGER:"triggerSelect"}},function(t,e,n){var i=n(8),r=n(25),o=n(7),a=n(16),s=(n(14),n(42));function u(t,e,n){this._parentNode=t,this._targetNode=e,this._wrapHeight=n;var s=this._wrapNode=(new i).setStyleClass(o.ScrollWrap),u=this._node=(new i).setStyleClass(o.ScrollBar),l=this._trackNode=(new i).setStyleClass(o.ScrollBarTrack),h=this._thumbNode=(new i).setStyleClass(o.ScrollBarThumb);t.removeChild(e),t.addChild(s),t.addChildAt(u,0),s.addChild(e),u.addChild(l),l.addChild(h),this._mouseThumbOffset=0,this._scrollHeight=0,this._scrollUnit=0,this._scrollMin=0,this._scrollMax=0,h.setPositionY(r.SCROLLBAR_TRACK_PADDING),h.addEventListener(a.MOUSE_DOWN,this._onThumbDragStart.bind(this)),this._isValid=!1,this._enabled=!1;var c=u.getElement(),p=h.getElement(),d=this;this._onMouseWheel=function(t){var e=t.sender,n=e.getHoverElement();if(n==c||n==p){var i=.0125*d._scrollHeight;d._scroll(h.getPositionY()+e.getWheelDirection()*i*-1),t.data.preventDefault()}},this.addMouseListener()}u.prototype.update=function(){var t=this._targetNode,e=this._thumbNode,n=r.SCROLLBAR_TRACK_PADDING,i=this._wrapHeight,o=t.getHeight(),a=i-2*n;e.setHeight(a);var s=i/o;if(this._isValid=!1,!(s>1)){var u=a*s;this._scrollHeight=a,this._scrollUnit=o-this._scrollHeight-2*n,this._scrollMin=n,this._scrollMax=n+a-u,e.setHeight(u),this._isValid=!0}},u.prototype._scroll=function(t){var e=this._scrollMin,n=this._scrollMax,i=Math.max(e,Math.min(t,n)),r=(i-e)/(n-e);this._thumbNode.setPositionY(i),this._targetNode.setPositionY(r*this._scrollUnit*-1)},u.prototype._onThumbDragStart=function(){if(this._isValid&&!this._enabled){var t=a.MOUSE_MOVE,e=a.MOUSE_UP,n=s.get(),i=this._trackNode.getPositionGlobalY();this._mouseThumbOffset=n.getY()-this._thumbNode.getPositionGlobalY();var r=this,o=function(){r._scroll(n.getY()-i-r._mouseThumbOffset)},u=function(){document.removeEventListener(t,o,!1),document.removeEventListener(e,u,!1)};document.addEventListener(t,o,!1),document.addEventListener(e,u,!1),this._scroll(n.getY()-i-r._mouseThumbOffset)}},u.prototype.enable=function(){this._enabled=!1,this._updateAppearance()},u.prototype.disable=function(){this._enabled=!0,this._updateAppearance()},u.prototype.reset=function(){this._scroll(0)},u.prototype._updateAppearance=function(){this._enabled?(this._node.setStyleProperty("display","none"),this._targetNode.setPositionY(0),this._thumbNode.setPositionY(r.SCROLLBAR_TRACK_PADDING)):this._node.setStyleProperty("display","block")},u.prototype.isValid=function(){return this._isValid},u.prototype.setWrapHeight=function(t){this._wrapHeight=t,this.update()},u.prototype.removeTargetNode=function(){return this._wrapNode.removeChild(this._targetNode)},u.prototype.removeMouseListener=function(){s.get().removeEventListener(a.MOUSE_WHEEL,this,"_onMouseWheel")},u.prototype.addMouseListener=function(){s.get().addEventListener(a.MOUSE_WHEEL,this,"_onMouseWheel")},u.prototype.removeFromParent=function(){var t=this._parentNode,e=this._node,n=this._targetNode;return e.removeChild(n),t.removeChild(this._wrapNode),t.removeChild(e),n},u.prototype.getWrapNode=function(){return this._wrapNode},u.prototype.getNode=function(){return this._node},u.prototype.getTargetNode=function(){return this._targetNode},t.exports=u},function(t,e,n){"use strict";var i=n(3),r=n(11),o=n(40),a=n(71),s=n(20),u=n(43),l=n(4),h=n(45),c=n(32),p=n(9),d=n(137),f=n(47).f,m=n(10).f,g=n(94),v=n(58),y="prototype",_="Wrong index!",b=i.ArrayBuffer,x=i.DataView,w=i.Math,A=i.RangeError,S=i.Infinity,T=b,E=w.abs,M=w.pow,P=w.floor,C=w.log,L=w.LN2,R=r?"_b":"buffer",O=r?"_l":"byteLength",I=r?"_o":"byteOffset";function N(t,e,n){var i,r,o,a=new Array(n),s=8*n-e-1,u=(1<<s)-1,l=u>>1,h=23===e?M(2,-24)-M(2,-77):0,c=0,p=t<0||0===t&&1/t<0?1:0;for((t=E(t))!=t||t===S?(r=t!=t?1:0,i=u):(i=P(C(t)/L),t*(o=M(2,-i))<1&&(i--,o*=2),(t+=i+l>=1?h/o:h*M(2,1-l))*o>=2&&(i++,o/=2),i+l>=u?(r=0,i=u):i+l>=1?(r=(t*o-1)*M(2,e),i+=l):(r=t*M(2,l-1)*M(2,e),i=0));e>=8;a[c++]=255&r,r/=256,e-=8);for(i=i<<e|r,s+=e;s>0;a[c++]=255&i,i/=256,s-=8);return a[--c]|=128*p,a}function D(t,e,n){var i,r=8*n-e-1,o=(1<<r)-1,a=o>>1,s=r-7,u=n-1,l=t[u--],h=127&l;for(l>>=7;s>0;h=256*h+t[u],u--,s-=8);for(i=h&(1<<-s)-1,h>>=-s,s+=e;s>0;i=256*i+t[u],u--,s-=8);if(0===h)h=1-a;else{if(h===o)return i?NaN:l?-S:S;i+=M(2,e),h-=a}return(l?-1:1)*i*M(2,h-e)}function B(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]}function k(t){return[255&t]}function G(t){return[255&t,t>>8&255]}function U(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function V(t){return N(t,52,8)}function z(t){return N(t,23,4)}function H(t,e,n){m(t[y],e,{get:function(){return this[n]}})}function F(t,e,n,i){var r=d(+n);if(r+e>t[O])throw A(_);var o=t[R]._b,a=r+t[I],s=o.slice(a,a+e);return i?s:s.reverse()}function j(t,e,n,i,r,o){var a=d(+n);if(a+e>t[O])throw A(_);for(var s=t[R]._b,u=a+t[I],l=i(+r),h=0;h<e;h++)s[u+h]=l[o?h:e-h-1]}if(a.ABV){if(!l(function(){b(1)})||!l(function(){new b(-1)})||l(function(){return new b,new b(1.5),new b(NaN),"ArrayBuffer"!=b.name})){for(var W,X=(b=function(t){return h(this,b),new T(d(t))})[y]=T[y],Y=f(T),K=0;Y.length>K;)(W=Y[K++])in b||s(b,W,T[W]);o||(X.constructor=b)}var Z=new x(new b(2)),q=x[y].setInt8;Z.setInt8(0,2147483648),Z.setInt8(1,2147483649),!Z.getInt8(0)&&Z.getInt8(1)||u(x[y],{setInt8:function(t,e){q.call(this,t,e<<24>>24)},setUint8:function(t,e){q.call(this,t,e<<24>>24)}},!0)}else b=function(t){h(this,b,"ArrayBuffer");var e=d(t);this._b=g.call(new Array(e),0),this[O]=e},x=function(t,e,n){h(this,x,"DataView"),h(t,b,"DataView");var i=t[O],r=c(e);if(r<0||r>i)throw A("Wrong offset!");if(r+(n=void 0===n?i-r:p(n))>i)throw A("Wrong length!");this[R]=t,this[I]=r,this[O]=n},r&&(H(b,"byteLength","_l"),H(x,"buffer","_b"),H(x,"byteLength","_l"),H(x,"byteOffset","_o")),u(x[y],{getInt8:function(t){return F(this,1,t)[0]<<24>>24},getUint8:function(t){return F(this,1,t)[0]},getInt16:function(t){var e=F(this,2,t,arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=F(this,2,t,arguments[1]);return e[1]<<8|e[0]},getInt32:function(t){return B(F(this,4,t,arguments[1]))},getUint32:function(t){return B(F(this,4,t,arguments[1]))>>>0},getFloat32:function(t){return D(F(this,4,t,arguments[1]),23,4)},getFloat64:function(t){return D(F(this,8,t,arguments[1]),52,8)},setInt8:function(t,e){j(this,1,t,k,e)},setUint8:function(t,e){j(this,1,t,k,e)},setInt16:function(t,e){j(this,2,t,G,e,arguments[2])},setUint16:function(t,e){j(this,2,t,G,e,arguments[2])},setInt32:function(t,e){j(this,4,t,U,e,arguments[2])},setUint32:function(t,e){j(this,4,t,U,e,arguments[2])},setFloat32:function(t,e){j(this,4,t,z,e,arguments[2])},setFloat64:function(t,e){j(this,8,t,V,e,arguments[2])}});v(b,"ArrayBuffer"),v(x,"DataView"),s(x[y],a.VIEW,!0),e.ArrayBuffer=b,e.DataView=x},function(t,e,n){"use strict";var i=n(17);t.exports.f=function(t){return new function(t){var e,n;this.promise=new t(function(t,i){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=i}),this.resolve=i(e),this.reject=i(n)}(t)}},function(t,e,n){var i=n(3),r=n(92).set,o=i.MutationObserver||i.WebKitMutationObserver,a=i.process,s=i.Promise,u="process"==n(27)(a);t.exports=function(){var t,e,n,l=function(){var i,r;for(u&&(i=a.domain)&&i.exit();t;){r=t.fn,t=t.next;try{r()}catch(i){throw t?n():e=void 0,i}}e=void 0,i&&i.enter()};if(u)n=function(){a.nextTick(l)};else if(!o||i.navigator&&i.navigator.standalone)if(s&&s.resolve){var h=s.resolve(void 0);n=function(){h.then(l)}}else n=function(){r.call(i,l)};else{var c=!0,p=document.createTextNode("");new o(l).observe(p,{characterData:!0}),n=function(){p.data=c=!c}}return function(i){var r={fn:i,next:void 0};e&&(e.next=r),t||(t=r,n()),e=r}}},function(t,e,n){var i,r,o,a=n(28),s=n(156),u=n(110),l=n(114),h=n(3),c=h.process,p=h.setImmediate,d=h.clearImmediate,f=h.MessageChannel,m=h.Dispatch,g=0,v={},y=function(){var t=+this;if(v.hasOwnProperty(t)){var e=v[t];delete v[t],e()}},_=function(t){y.call(t.data)};p&&d||(p=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return v[++g]=function(){s("function"==typeof t?t:Function(t),e)},i(g),g},d=function(t){delete v[t]},"process"==n(27)(c)?i=function(t){c.nextTick(a(y,t,1))}:m&&m.now?i=function(t){m.now(a(y,t,1))}:f?(o=(r=new f).port2,r.port1.onmessage=_,i=a(o.postMessage,o,1)):h.addEventListener&&"function"==typeof postMessage&&!h.importScripts?(i=function(t){h.postMessage(t+"","*")},h.addEventListener("message",_,!1)):i="onreadystatechange"in l("script")?function(t){u.appendChild(l("script")).onreadystatechange=function(){u.removeChild(this),y.call(t)}}:function(t){setTimeout(a(y,t,1),0)}),t.exports={set:p,clear:d}},function(t,e,n){"use strict";var i=n(39),r=n(146),o=n(56),a=n(23);t.exports=n(102)(Array,"Array",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,r(1)):r(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),o.Arguments=o.Array,i("keys"),i("values"),i("entries")},function(t,e,n){"use strict";var i=n(13),r=n(49),o=n(9);t.exports=function(t){for(var e=i(this),n=o(e.length),a=arguments.length,s=r(a>1?arguments[1]:void 0,n),u=a>2?arguments[2]:void 0,l=void 0===u?n:r(u,n);l>s;)e[s++]=t;return e}},function(t,e,n){var i=n(310);t.exports=function(t,e){return new(i(t))(e)}},function(t,e,n){var i=n(61),r=n(6)("iterator"),o=n(56);t.exports=n(35).getIteratorMethod=function(t){if(void 0!=t)return t[r]||t["@@iterator"]||o[i(t)]}},function(t,e,n){"use strict";var i=n(10),r=n(52);t.exports=function(t,e,n){e in t?i.f(t,e,r(0,n)):t[e]=n}},function(t,e,n){var i=n(56),r=n(6)("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(i.Array===t||o[r]===t)}},function(t,e,n){var i=n(6)("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[i]=!1,!"/./"[t](e)}catch(t){}}return!0}},function(t,e,n){var i=n(78),r=n(33);t.exports=function(t,e,n){if(i(e))throw TypeError("String#"+n+" doesn't accept regex!");return String(r(t))}},function(t,e,n){"use strict";var i=n(48),r=n(52),o=n(58),a={};n(20)(a,n(6)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=i(a,{next:r(1,n)}),o(t,e+" Iterator")}},function(t,e,n){"use strict";var i=n(40),r=n(1),o=n(19),a=n(20),s=n(56),u=n(101),l=n(58),h=n(21),c=n(6)("iterator"),p=!([].keys&&"next"in[].keys()),d=function(){return this};t.exports=function(t,e,n,f,m,g,v){u(n,e,f);var y,_,b,x=function(t){if(!p&&t in T)return T[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},w=e+" Iterator",A="values"==m,S=!1,T=t.prototype,E=T[c]||T["@@iterator"]||m&&T[m],M=E||x(m),P=m?A?x("entries"):M:void 0,C="Array"==e&&T.entries||E;if(C&&(b=h(C.call(new t)))!==Object.prototype&&b.next&&(l(b,w,!0),i||"function"==typeof b[c]||a(b,c,d)),A&&E&&"values"!==E.name&&(S=!0,M=function(){return E.call(this)}),i&&!v||!p&&!S&&T[c]||a(T,c,M),s[e]=M,s[w]=d,m)if(y={values:A?M:x("values"),keys:g?M:x("keys"),entries:P},v)for(_ in y)_ in T||o(T,_,y[_]);else r(r.P+r.F*(p||S),e,y);return y}},function(t,e,n){var i=n(32),r=n(33);t.exports=function(t){return function(e,n){var o,a,s=String(r(e)),u=i(n),l=s.length;return u<0||u>=l?t?"":void 0:(o=s.charCodeAt(u))<55296||o>56319||u+1===l||(a=s.charCodeAt(u+1))<56320||a>57343?t?s.charAt(u):o:t?s.slice(u,u+2):a-56320+(o-55296<<10)+65536}}},function(t,e){var n=Math.expm1;t.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||-2e-17!=n(-2e-17)?function(t){return 0==(t=+t)?t:t>-1e-6&&t<1e-6?t+t*t/2:Math.exp(t)-1}:n},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,e,n){"use strict";var i=n(32),r=n(33);t.exports=function(t){var e=String(r(this)),n="",o=i(t);if(o<0||o==1/0)throw RangeError("Count can't be negative");for(;o>0;(o>>>=1)&&(e+=e))1&o&&(n+=e);return n}},function(t,e,n){var i=n(5),r=n(109).set;t.exports=function(t,e,n){var o,a=e.constructor;return a!==n&&"function"==typeof a&&(o=a.prototype)!==n.prototype&&i(o)&&r&&r(t,o),t}},function(t,e){t.exports="\t\n\v\f\r   ᠎             　\u2028\u2029\ufeff"},function(t,e,n){var i=n(5),r=n(2),o=function(t,e){if(r(t),!i(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,i){try{(i=n(28)(Function.call,n(22).f(Object.prototype,"__proto__").set,2))(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,n){return o(t,n),e?t.__proto__=n:i(t,n),t}}({},!1):void 0),check:o}},function(t,e,n){var i=n(3).document;t.exports=i&&i.documentElement},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var i=n(82)("keys"),r=n(51);t.exports=function(t){return i[t]||(i[t]=r(t))}},function(t,e,n){var i=n(3),r=n(35),o=n(40),a=n(162),s=n(10).f;t.exports=function(t){var e=r.Symbol||(r.Symbol=o?{}:i.Symbol||{});"_"==t.charAt(0)||t in e||s(e,t,{value:a.f(t)})}},function(t,e,n){var i=n(5),r=n(3).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e,n){var i=n(66),r=n(7),o=n(25),a=n(53);function s(t,e){i.apply(this,arguments);var n=this._wrapNode;n.setStyleClass(r.CanvasWrap);var o=n.getWidth(),s=this._svg=this._createSVGObject("svg");s.setAttribute("version","1.2"),s.setAttribute("baseProfile","tiny"),s.setAttribute("preserveAspectRatio","true"),n.getElement().appendChild(s),this._svgSetSize(o,o),this._updateHeight(),this._node.setStyleClass(r.CanvasListItem),this._parent.addEventListener(a.GROUP_SIZE_CHANGE,this,"onGroupSizeChange"),this.addEventListener(a.GROUP_SIZE_UPDATE,this._parent,"onGroupSizeUpdate")}s.prototype=Object.create(i.prototype),s.prototype.constructor=s,s.prototype._updateHeight=function(){var t=Number(this._svg.getAttribute("height"));this._wrapNode.setHeight(t),this._node.setHeight(t+o.PADDING_WRAPPER)},s.prototype.onGroupSizeChange=function(){var t=this._wrapNode.getWidth();this._svgSetSize(t,t),this._updateHeight()},s.prototype._svgSetSize=function(t,e){var n=this._svg;n.setAttribute("width",t),n.setAttribute("height",e),n.setAttribute("viewbox","0 0 "+t+" "+e)},s.prototype.getSVG=function(){return this._svg},t.exports=s},function(t,e,n){var i=n(66),r=n(7),o=n(25),a=n(12),s=n(53);function u(t,e){e.label=e.label||"",i.apply(this,[t,e.label]);var n=this._wrapNode;n.setStyleClass(r.CanvasWrap);var o=this._canvas=document.createElement("canvas");n.getElement().appendChild(o);var a=n.getWidth(),u=e.height||a;this._canvasWidth=a,this._canvasHeight=u,this._setCanvasSize(a,a),this._updateHeight(),this._node.setStyleClass(r.CanvasListItem),this._parent.addEventListener(s.GROUP_SIZE_CHANGE,this,"onGroupSizeChange"),this.addEventListener(s.GROUP_SIZE_UPDATE,this._parent,"onGroupSizeUpdate")}u.prototype=Object.create(i.prototype),u.prototype.constructor=u,u.prototype._updateHeight=function(){var t=this._canvas.height;this._wrapNode.setHeight(t),this._node.setHeight(t+o.PADDING_WRAPPER)},u.prototype._redraw=function(){},u.prototype.onGroupSizeChange=function(){var t=this._wrapNode.getWidth();this._setCanvasSize(t),this._updateHeight(),this._redraw(),this.dispatchEvent(new a(this,s.GROUP_SIZE_UPDATE,null))},u.prototype._setCanvasSize=function(t,e){var n=t,i=e||this._canvasHeight,r=this._canvas;r.style.width=n+"px",r.style.height=i+"px",r.width=n,r.height=i},u.prototype.getCanvas=function(){return this._canvas},u.prototype.getContext=function(){return this._canvas.getContext("2d")},t.exports=u},function(t,e,n){var i=n(118);StringOutput=function(t,e,n,r){i.apply(this,arguments)},StringOutput.prototype=Object.create(i.prototype),StringOutput.prototype.constructor=StringOutput,StringOutput.prototype._setValue=function(){if(!this._parent.isDisabled()){var t=this._obj[this._key];if(t!=this._prevString){var e,n=this._textArea,i=n.getElement();n.setProperty("value",t),e=i.scrollHeight,n.setHeight(e);var r=this._scrollBar;r&&(e<=this._wrapNode.getHeight()?r.disable():(r.enable(),r.update(),r.reset())),this._prevString=t}}},t.exports=StringOutput},function(t,e,n){var i=n(29),r=n(8),o=n(7),a=n(25),s=n(88),u=n(12),l=n(16),h=n(14),c=n(15),p=null,d=!1,f=!0;function m(t,e,n,u){i.apply(this,arguments),(u=u||{}).height=u.height||p,u.wrap=void 0===u.wrap?d:u.wrap,u.update=void 0===u.update?f:u.update,this._wrap=u.wrap,this._update=u.update;var l=this._textArea=new r(r.TEXTAREA),m=this._wrapNode,g=this._node;if(l.setProperty("readOnly",!0),m.addChild(l),l.addEventListener(h.MOUSE_DOWN,this._onInputDragStart.bind(this)),this.addEventListener(c.INPUT_SELECT_DRAG,this._parent,"onComponentSelectDrag"),u.height){var v=new r;v.setStyleClass(o.TextAreaWrap),v.addChild(l),m.addChild(v);var y=this._height=u.height;l.setHeight(Math.max(y+4,a.COMPONENT_MIN_HEIGHT)),m.setHeight(l.getHeight()),g.setHeight(m.getHeight()+4),this._scrollBar=new s(v,l,y-4)}u.wrap&&l.setStyleProperty("white-space","pre-wrap"),this._prevString="",this._prevScrollHeight=-1,this._setValue()}m.prototype=Object.create(i.prototype),m.prototype.constructor=m,m.prototype._setValue=function(){},m.prototype.onValueUpdate=function(){this._setValue()},m.prototype.update=function(){this._update&&this._setValue()},m.prototype._onDrag=function(){this.dispatchEvent(new u(this,c.INPUT_SELECT_DRAG,null))},m.prototype._onDragFinish=function(){this.dispatchEvent(new u(this,c.INPUT_SELECT_DRAG,null)),document.removeEventListener(l.MOUSE_MOVE,this._onDrag,!1),document.removeEventListener(l.MOUSE_MOVE,this._onDragFinish,!1)},m.prototype._onInputDragStart=function(){this.dispatchEvent(new u(this,c.INPUT_SELECT_DRAG,null)),document.addEventListener(l.MOUSE_MOVE,this._onDrag.bind(this),!1),document.addEventListener(l.MOUSE_UP,this._onDragFinish.bind(this),!1)},t.exports=m},function(t,e,n){var i=n(118),r=2;function o(t,e,n,o){(o=o||{}).dp=o.dp||r,i.apply(this,arguments),this._valueDp=o.dp+1}o.prototype=Object.create(i.prototype),o.prototype.constructor=o,o.prototype._setValue=function(){if(!this._parent.isDisabled()){var t,e,n=this._obj[this._key],i=this._textArea,r=this._valueDp;if("object"!=typeof n||"number"!=typeof n.length||"function"!=typeof n.splice||n.propertyIsEnumerable("length"))t=(e=n.toString()).indexOf("."),i.setProperty("value",t>0?e.slice(0,t+r):e);else{e=n.slice();for(var o,a=-1,s=this._wrap;++a<e.length;)(t=(o=e[a]=e[a].toString()).indexOf("."))>0&&(e[a]=o.slice(0,t+r));s&&(i.setStyleProperty("white-space","nowrap"),e=e.join("\n")),i.setProperty("value",e)}}},t.exports=o},function(t,e,n){var i=n(29),r=n(7),o=n(170),a=n(60),s=n(122),u=n(64),l=n(12),h=n(16),c=n(67),p=n(53),d=n(15),f=1,m=2;function g(t,e,n,a,s){(s=s||{}).label=s.label||n,i.apply(this,[t,e,a,s]),this._values=this._obj[this._key],this._targetKey=n,s.step=s.step||f,s.dp=void 0===s.dp||null==s.dp?m:s.dp,s.onChange=s.onChange||this._onChange,s.onFinish=s.onFinish||function(){},this._dp=s.dp,this._onChange=s.onChange,this._onFinish=s.onFinish;var l=this._values,d=this._obj,g=this._targetKey,v=this._wrapNode;v.setStyleClass(r.WrapSlider);var y=this._slider=new o(v,this._onSliderBegin.bind(this),this._onSliderMove.bind(this),this._onSliderEnd.bind(this));y.setBoundMax(l[1]),y.setBoundMin(l[0]),y.setValue(d[g]);var _=this._input=new u(s.step,s.dp,null,this._onInputChange.bind(this));_.setValue(d[g]),v.addChild(_.getNode()),this._parent.addEventListener(c.PANEL_MOVE_END,this,"onPanelMoveEnd"),this._parent.addEventListener(p.GROUP_SIZE_CHANGE,this,"onGroupWidthChange"),this._parent.addEventListener(h.WINDOW_RESIZE,this,"onWindowResize")}g.prototype=Object.create(i.prototype),g.prototype.constructor=g,g.prototype.pushHistoryState=function(){var t=this._obj,e=this._targetKey;a.get().pushState(t,e,t[e])},g.prototype._onSliderBegin=function(){this.pushHistoryState()},g.prototype._onSliderMove=function(){this.applyValue(),this._updateValueField(),this.dispatchEvent(new l(this,d.VALUE_UPDATED,null)),this._onChange()},g.prototype._onSliderEnd=function(){this.applyValue(),this._updateValueField(),this.dispatchEvent(new l(this,d.VALUE_UPDATED,null)),this._onFinish()},g.prototype._onInputChange=function(){var t=this._input,e=this._values[0],n=this._values[1];t.getValue()>=n&&t.setValue(n),t.getValue()<=e&&t.setValue(e);var i=t.getValue();this._slider.setValue(i),this._obj[this._targetKey]=i,this.dispatchEvent(new l(this,d.VALUE_UPDATED,null)),this._onFinish()},g.prototype.applyValue=function(){var t=this._slider.getValue();this._obj[this._targetKey]=parseFloat(t.toFixed(this._dp)),this._input.setValue(t)},g.prototype.onValueUpdate=function(t){var e=t.data.origin;if(e!=this){var n=this._slider;if(e instanceof g)n.setValue(this._obj[this._targetKey]);else{var i=this._values;n.setBoundMin(i[0]),n.setBoundMax(i[1]),e instanceof s||n.setValue(this._obj[this._targetKey])}this.applyValue()}},g.prototype._updateValueField=function(){this._input.setValue(this._slider.getValue())},g.prototype.onPanelMoveEnd=g.prototype.onGroupWidthChange=g.prototype.onWindowResize=function(){this._slider.resetOffset()},g.prototype.setValue=function(t){-1!=t&&(this._obj[this._targetKey]=t,this.dispatchEvent(new l(this,d.VALUE_UPDATED,null)))},g.prototype.getData=function(){var t={};return t[this._targetKey]=this._obj[this._targetKey],t},t.exports=g},function(t,e,n){var i=n(8),r=n(7),o=n(64),a=n(42),s=n(84),u=n(16),l=n(14),h=200,c=50,p=50;function d(t){var e=this._node=(new i).setStyleClass(r.Picker),n=this._headNode=(new i).setStyleClass(r.Head),a=(new i).setStyleClass(r.Wrap),s=(new i).setStyleClass(r.Label),u=(new i).setStyleClass(r.Menu),d=(new i).setStyleClass(r.Wrap),f=new i(i.INPUT_BUTTON);f.setStyleClass(r.ButtonMenuClose);var m=(new i).setStyleClass(r.PickerFieldWrap),g=(new i).setStyleClass(r.SliderWrap),v=(new i).setStyleClass(r.PickerInputWrap),y=this._canvasField=document.createElement("canvas"),_=this._canvasSlider=document.createElement("canvas");m.getElement().appendChild(y),g.getElement().appendChild(_),this._setSizeCanvasField(154,154),this._setSizeCanvasSlider(14,154);var b=this._contextCanvasField=y.getContext("2d"),x=this._contextCanvasSlider=_.getContext("2d"),w=this._handleField=new i;w.setStyleClass(r.PickerHandleField);var A=this._handleSlider=new i;A.setStyleClass(r.PickerHandleSlider);var S=this._onInputHueChange.bind(this),T=this._onInputSatChange.bind(this),E=this._onInputValChange.bind(this),M=this._onInputRChange.bind(this),P=this._onInputGChange.bind(this),C=this._onInputBChange.bind(this),L=this._inputHue=new o(1,0,null,S),R=this._inputSat=new o(1,0,null,T),O=this._inputVal=new o(1,0,null,E),I=this._inputR=new o(1,0,null,M),N=this._inputG=new o(1,0,null,P),D=this._inputB=new o(1,0,null,C),B=(new i).setStyleClass(r.PickerControlsWrap),k=new i(i.INPUT_BUTTON).setStyleClass(r.Button).setProperty("value","pick"),G=new i(i.INPUT_BUTTON).setStyleClass(r.Button).setProperty("value","cancel"),U=(new i).setStyleClass(r.PickerColorContrast),V=this._colorCurrNode=new i,z=this._colorPrevNode=new i;U.addChild(V),U.addChild(z),B.addChild(G),B.addChild(k),B.addChild(U),this._setContrasPrevColor(0,0,0);var H=(new i).setStyleClass(r.PickerInputField),F=(new i).setStyleClass(r.PickerInputField),j=(new i).setStyleClass(r.PickerInputField),W=new i(i.SPAN).setStyleClass(r.Label).setProperty("innerHTML","H"),X=new i(i.SPAN).setStyleClass(r.Label).setProperty("innerHTML","S"),Y=new i(i.SPAN).setStyleClass(r.Label).setProperty("innerHTML","V");H.addChildren(W,L.getNode()),F.addChildren(X,R.getNode()),j.addChildren(Y,O.getNode());var K=(new i).setStyleClass(r.PickerInputField),Z=(new i).setStyleClass(r.PickerInputField),q=(new i).setStyleClass(r.PickerInputField),Q=new i(i.SPAN).setStyleClass(r.Label).setProperty("innerHTML","R"),J=new i(i.SPAN).setStyleClass(r.Label).setProperty("innerHTML","G"),$=new i(i.SPAN).setStyleClass(r.Label).setProperty("innerHTML","B");K.addChildren(Q,I.getNode()),Z.addChildren(J,N.getNode()),q.addChildren($,D.getNode()),v.addChildren(K,H,Z,F,q,j,U);var tt=new i;tt.setStyleClass(r.PickerInputWrap);var et=this._inputHEX=new i(i.INPUT_TEXT),nt=(new i).setStyleClass(r.PickerInputField),it=new i(i.SPAN).setStyleClass(r.Label);it.setProperty("innerHTML","#"),nt.addChildren(it,et),tt.addChild(nt),et.addEventListener(l.CHANGE,this._onInputHEXFinish.bind(this)),s.setProperty("innerHTML","Color Picker"),u.addChild(f),n.addChild(u),a.addChild(s),n.addChild(a),e.addChild(n),e.addChild(d),d.addChild(m),d.addChild(g),d.addChild(v),d.addChild(tt),d.addChild(B),m.addChild(w),g.addChild(A);var rt=l.MOUSE_DOWN,ot=this._onCanvasFieldMouseDown.bind(this);m.addEventListener(rt,ot),w.addEventListener(rt,ot),ot=this._onCanvasSliderMouseDown.bind(this),g.addEventListener(rt,ot),A.addEventListener(rt,ot),f.addEventListener(rt,this._onClose.bind(this)),k.addEventListener(rt,this._onPick.bind(this)),G.addEventListener(rt,this._onClose.bind(this)),n.addEventListener(l.MOUSE_DOWN,this._onHeadDragStart.bind(this)),this._parentNode=t,this._mouseOffset=[0,0],this._position=[null,null],this._canvasSliderPos=[0,0],this._canvasFieldPos=[0,0],this._handleFieldSize=12,this._handleSliderHeight=7,this._imageDataSlider=x.createImageData(_.width,_.height),this._imageDataField=b.createImageData(y.width,y.height),this._valueHueMinMax=[0,360],this._valueSatMinMax=this._valueValMinMax=[0,100],this._valueRGBMinMax=[0,255],this._valueHue=h,this._valueSat=c,this._valueVal=p,this._valueR=0,this._valueG=0,this._valueB=0,this._valueHEX="#000000",this._valueHEXValid=this._valueHEX,this._callbackPick=function(){},this._drawCanvasField(),this._drawCanvasSlider(),this._setColorHSV(this._valueHue,this._valueSat,this._valueVal),this._updateColorRGBFromHSV(),this._updateColorHEXFromRGB(),this._updateHandles()}d.prototype={_drawHandleField:function(){var t=this._canvasField,e=this._canvasFieldPos,n=a.get().getPosition(),i=Math.max(0,Math.min(n[0]-e[0],t.width)),r=Math.max(0,Math.min(n[1]-e[1],t.height)),o=i/t.width,s=r/t.height,u=Math.round(o*this._valueSatMinMax[1]),l=Math.round((1-s)*this._valueValMinMax[1]);this._setColorHSV(this._valueHue,u,l),this._updateColorRGBFromHSV(),this._updateColorHEXFromRGB(),this._updateHandleField()},_updateHandleField:function(){var t=this._canvasField.width,e=this._canvasField.height,n=.25*this._handleFieldSize,i=this._valueSat/this._valueSatMinMax[1],r=this._valueVal/this._valueValMinMax[1];this._handleField.setPositionGlobal(i*t-n,(1-r)*e-n)},_drawHandleSlider:function(){var t=this._canvasSlider,e=this._canvasSliderPos[1],n=a.get().getY(),i=Math.max(0,Math.min(n-e,t.height))/t.height,r=Math.floor((1-i)*this._valueHueMinMax[1]);this._setColorHSV(r,this._valueSat,this._valueVal),this._updateColorRGBFromHSV(),this._updateColorHEXFromRGB(),this._updateHandleSlider()},_updateHandleSlider:function(){var t=this._canvasSlider.height,e=.25*this._handleSliderHeight,n=this._valueHue/this._valueHueMinMax[1];this._handleSlider.setPositionGlobalY((t-e)*(1-n))},_updateHandles:function(){this._updateHandleField(),this._updateHandleSlider()},_setHue:function(t){var e=this._valueHueMinMax;this._valueHue=t==e[1]?e[0]:t,this._updateColorHSV(),this._drawCanvasField()},_setSat:function(t){this._valueSat=Math.round(t),this._updateColorHSV()},_setVal:function(t){this._valueVal=Math.round(t),this._updateColorHSV()},_setR:function(t){this._valueR=Math.round(t),this._updateColorRGB()},_setG:function(t){this._valueG=Math.round(t),this._updateColorRGB()},_setB:function(t){this._valueB=Math.round(t),this._updateColorRGB()},_onInputHueChange:function(){var t=this._inputHue,e=this._getValueContrained(t,this._valueHueMinMax),n=this._valueHueMinMax;e==n[1]&&(e=n[0],t.setValue(e)),this._setHue(e),this._updateColorRGBFromHSV(),this._updateColorHEXFromRGB(),this._updateHandleSlider(),this._drawCanvasField()},_onInputSatChange:function(){this._setSat(this._getValueContrained(this._inputSat,this._valueSatMinMax)),this._onInputSVChange()},_onInputValChange:function(){this._setVal(this._getValueContrained(this._inputVal,this._valueValMinMax)),this._onInputSVChange()},_onInputRChange:function(){this._setR(this._getValueContrained(this._inputR,this._valueRGBMinMax)),this._onInputRGBChange()},_onInputGChange:function(){this._setG(this._getValueContrained(this._inputG,this._valueRGBMinMax)),this._onInputRGBChange()},_onInputBChange:function(){this._setB(this._getValueContrained(this._inputB,this._valueRGBMinMax)),this._onInputRGBChange()},_onInputHEXFinish:function(){var t=this._inputHEX,e=t.getProperty("value");s.isValidHEX(e)?(this._valueHEX=this._valueHEXValid=e,this._updateColorFromHEX()):t.setProperty("value",this._valueHEXValid)},_onInputSVChange:function(){this._updateColorRGBFromHSV(),this._updateColorHEXFromRGB(),this._updateHandleField()},_onInputRGBChange:function(){this._updateColorHSVFromRGB(),this._updateColorHEXFromRGB(),this._updateHandles()},_getValueContrained:function(t,e){var n=Math.round(t.getValue()),i=e[0],r=e[1];return n<=i&&(n=i,t.setValue(n)),n>=r&&(n=r,t.setValue(n)),n},_updateInputHue:function(){this._inputHue.setValue(this._valueHue)},_updateInputSat:function(){this._inputSat.setValue(this._valueSat)},_updateInputVal:function(){this._inputVal.setValue(this._valueVal)},_updateInputR:function(){this._inputR.setValue(this._valueR)},_updateInputG:function(){this._inputG.setValue(this._valueG)},_updateInputB:function(){this._inputB.setValue(this._valueB)},_updateInputHEX:function(){this._inputHEX.setProperty("value",this._valueHEX)},_setColorHSV:function(t,e,n){this._valueHue=t,this._valueSat=e,this._valueVal=n,this._updateInputHue(),this._updateInputSat(),this._updateInputVal(),this._updateContrastCurrColor()},_setColorRGB:function(t,e,n){this._valueR=t,this._valueG=e,this._valueB=n,this._updateInputR(),this._updateInputG(),this._updateInputB(),this._updateContrastCurrColor()},_setColorHEX:function(t){this._valueHEX=t,this._updateInputHEX()},_updateColorHSV:function(){this._setColorHSV(this._valueHue,this._valueSat,this._valueVal),this._updateContrastCurrColor()},_updateColorRGB:function(){this._setColorRGB(this._valueR,this._valueG,this._valueB),this._updateContrastCurrColor()},_updateColorHSVFromRGB:function(){var t=s.RGB2HSV(this._valueR,this._valueG,this._valueB);this._setColorHSV(t[0],t[1],t[2])},_updateColorRGBFromHSV:function(){var t=s.HSV2RGB(this._valueHue,this._valueSat,this._valueVal);this._setColorRGB(t[0],t[1],t[2])},_updateColorHEXFromRGB:function(){var t=s.RGB2HEX(this._valueR,this._valueG,this._valueB);this._setColorHEX(t)},_updateColorFromHEX:function(){var t=s.HEX2RGB(this._valueHEX);this._setColorRGB(t[0],t[1],t[2]),this._updateColorHSVFromRGB(),this._updateHandles()},_updateContrastCurrColor:function(){this._setContrastCurrColor(this._valueR,this._valueG,this._valueB)},_updateContrastPrevColor:function(){this._setContrasPrevColor(this._valueR,this._valueG,this._valueB)},_setContrastCurrColor:function(t,e,n){this._colorCurrNode.setStyleProperty("background","rgb("+t+","+e+","+n+")")},_setContrasPrevColor:function(t,e,n){this._colorPrevNode.setStyleProperty("background","rgb("+t+","+e+","+n+")")},_onHeadDragStart:function(){var t=this._node,e=this._parentNode,n=t.getPositionGlobal(),i=a.get().getPosition(),r=this._mouseOffset;r[0]=i[0]-n[0],r[1]=i[1]-n[1];var o=u.MOUSE_MOVE,s=u.MOUSE_UP,l=this,h=function(){l._updatePosition(),l._updateCanvasNodePositions()},c=function(){l._updateCanvasNodePositions(),document.removeEventListener(o,h,!1),document.removeEventListener(s,c,!1)};e.removeChild(t),e.addChild(t),document.addEventListener(o,h,!1),document.addEventListener(s,c,!1),this._updateCanvasNodePositions()},_updatePosition:function(){var t=a.get().getPosition(),e=this._mouseOffset,n=t[0]-e[0],i=t[1]-e[1],r=this._node,o=this._headNode,s=this._position,u=window.innerWidth-r.getWidth(),l=window.innerHeight-o.getHeight();s[0]=Math.max(0,Math.min(n,u)),s[1]=Math.max(0,Math.min(i,l)),r.setPositionGlobal(s[0],s[1])},_drawCanvasField:function(){for(var t,e=this._canvasField,n=this._contextCanvasField,i=e.width,r=e.height,o=1/i,a=1/r,u=this._imageDataField,l=[],h=0,c=this._valueHue,p=-1;++p<r;)for(t=-1;++t<i;)l=s.HSV2RGB(c,t*o*100,100*(1-p*a)),h=4*(p*i+t),u.data[h]=l[0],u.data[h+1]=l[1],u.data[h+2]=l[2],u.data[h+3]=255;n.putImageData(u,0,0)},_drawCanvasSlider:function(){for(var t,e=this._canvasSlider,n=this._contextCanvasSlider,i=e.width,r=e.height,o=1/r,a=this._imageDataSlider,u=[],l=0,h=-1;++h<r;)for(t=-1;++t<i;)u=s.HSV2RGB(360*(1-h*o),100,100),l=4*(h*i+t),a.data[l]=u[0],a.data[l+1]=u[1],a.data[l+2]=u[2],a.data[l+3]=255;n.putImageData(a,0,0)},_onCanvasFieldMouseDown:function(){var t=u.MOUSE_MOVE,e=u.MOUSE_UP,n=this,i=function(){n._drawHandleField()},r=function(){document.removeEventListener(t,i,!1),document.removeEventListener(e,r,!1)};document.addEventListener(t,i,!1),document.addEventListener(e,r,!1),n._drawHandleField()},_onCanvasSliderMouseDown:function(){var t=u.MOUSE_MOVE,e=u.MOUSE_UP,n=this,i=function(){n._drawHandleSlider(),n._drawCanvasField()},r=function(){document.removeEventListener(t,i,!1),document.removeEventListener(e,r,!1),n._drawCanvasField()};document.addEventListener(t,i,!1),document.addEventListener(e,r,!1),n._drawHandleSlider(),n._drawCanvasField()},_setSizeCanvasField:function(t,e){var n=this._canvasField;n.style.width=t+"px",n.style.height=e+"px",n.width=t,n.height=e},_setSizeCanvasSlider:function(t,e){var n=this._canvasSlider;n.style.width=t+"px",n.style.height=e+"px",n.width=t,n.height=e},open:function(){var t=this._node;this._parentNode.addChild(t);var e=this._position;null===e[0]||null===e[1]?(e[0]=.5*window.innerWidth-.5*t.getWidth(),e[1]=.5*window.innerHeight-.5*t.getHeight()):(e[0]=Math.max(0,Math.min(e[0],window.innerWidth-t.getWidth())),e[1]=Math.max(0,Math.min(e[1],window.innerHeight-t.getHeight()))),t.setPositionGlobal(e[0],e[1]),this._updateCanvasNodePositions()},close:function(){this._parentNode.removeChild(this._node)},_onClose:function(t){t.cancelBubble=!0,this.close()},_onPick:function(){this._callbackPick(),this.close()},_updateCanvasNodePositions:function(){var t=this._canvasSliderPos,e=this._canvasFieldPos;t[0]=t[1]=0,e[0]=e[1]=0;for(var n=this._canvasSlider;n;)t[0]+=n.offsetLeft,t[1]+=n.offsetTop,n=n.offsetParent;for(n=this._canvasField;n;)e[0]+=n.offsetLeft,e[1]+=n.offsetTop,n=n.offsetParent},setCallbackPick:function(t){this._callbackPick=t},setColorHEX:function(t){this._setColorHEX(t),this._updateColorFromHEX(),this._setColor()},setColorRGB:function(t,e,n){this._setColorRGB(t,e,n),this._updateColorHEXFromRGB(),this._updateColorHSVFromRGB(),this._setColor()},setColorRGBfv:function(t,e,n){this.setColorRGB(Math.floor(255*t),Math.floor(255*e),Math.floor(255*n))},setColorHSV:function(t,e,n){this._setColorHSV(t,e,n),this._updateColorRGBFromHSV(),this._updateColorHEXFromRGB(),this._setColor()},_setColor:function(){this._drawCanvasField(),this._drawCanvasSlider(),this._updateHandles(),this._setContrasPrevColor(this._valueR,this._valueG,this._valueB)},getR:function(){return this._valueR},getG:function(){return this._valueG},getB:function(){return this._valueB},getRGB:function(){return[this._valueR,this._valueG,this._valueB]},getHue:function(){return this._valueHue},getSat:function(){return this._valueSat},getVal:function(){return this._valueVal},getHSV:function(){return[this._valueHue,this._valueSat,this._valueVal]},getHEX:function(){return this._valueHEX},getRGBfv:function(){return[this._valueR/255,this._valueG/255,this._valueB/255]},getNode:function(){return this._node}},d.setup=function(t){return d._instance=new d(t)},d.get=function(){return d._instance},d.destroy=function(){d._instance=null},t.exports=d},function(t,e,n){var i=n(29),r=n(8),o=n(64),a=n(7),s=n(12),u=n(15),l=1,h=2;function c(t,e,n,s){i.apply(this,arguments),(s=s||{}).onChange=s.onChange||this._onChange,s.step=s.step||l,s.dp=null!=s.dp?s.dp:h,this._onChange=s.onChange;var u=this._step=s.step,c=this._dp=s.dp,p=new r,d=this._inputMin=new o(u,c,this.pushHistoryState.bind(this),this._onInputMinChange.bind(this)),f=new r,m=this._inputMax=new o(u,c,this.pushHistoryState.bind(this),this._onInputMaxChange.bind(this)),g=(new r).setStyleClass(a.Wrap),v=(new r).setStyleClass(a.Wrap),y=(new r).setStyleClass(a.Wrap),_=(new r).setStyleClass(a.Wrap);p.setStyleClass(a.Label).setProperty("innerHTML","MIN"),f.setStyleClass(a.Label).setProperty("innerHTML","MAX");var b=this._obj[this._key];d.setValue(b[0]),m.setValue(b[1]);var x=this._wrapNode;g.addChild(p),v.addChild(d.getNode()),y.addChild(f),_.addChild(m.getNode()),x.addChild(g),x.addChild(v),x.addChild(y),x.addChild(_)}c.prototype=Object.create(i.prototype),c.prototype.constructor=c,c.prototype._onInputChange=function(){this.dispatchEvent(new s(this,u.VALUE_UPDATED,null)),this._onChange()},c.prototype._updateValueMin=function(){var t=this._obj[this._key],e=this._inputMin,n=e.getValue();n>=this._inputMax.getValue()?e.setValue(t[0]):t[0]=n},c.prototype._updateValueMax=function(){var t=this._obj[this._key],e=this._inputMax,n=e.getValue();n<=this._inputMin.getValue()?e.setValue(t[1]):t[1]=n},c.prototype.onValueUpdate=function(t){if(t.data.origin!=this){t.data.origin;var e=this._obj,n=this._key;this._inputMin.setValue(e[n][0]),this._inputMax.setValue(e[n][1])}},c.prototype.setValue=function(t){var e=this._obj,n=this._key;e[n][0]=t[0],e[n][1]=t[1],this.dispatchEvent(new s(this,u.VALUE_UPDATED,null))},c.prototype._onInputMinChange=function(){this._updateValueMin(),this._onInputChange()},c.prototype._onInputMaxChange=function(){this._updateValueMax(),this._onInputChange()},t.exports=c},function(t,e){t.exports={RGB:"rgb",HSV:"hsv",HEX:"hex",RGBfv:"rgbfv"}},function(t,e,n){var i=n(29),r=n(8),o=n(7),a=n(59),s=n(83),u=n(25),l=n(12),h=n(16),c=n(14),p=n(15),d=null;function f(t,e,n,l){i.apply(this,arguments),(l=l||{}).onChange=l.onChange||this._onChange,l.presets=l.presets||d,this._onChange=l.onChange;var h=this._input=new r(r.INPUT_TEXT),f=this._wrapNode,m=l.presets;if(m){var g=new r;g.setStyleClass(o.WrapInputWPreset),f.addChild(g),g.addChild(h);var v=a.get(),y=new s(this._wrapNode),_=function(){v.clear(),y.deactivate()},b=this;y.setOnActive(function(){v.build(m,h.getProperty("value"),h,function(){h.setProperty("value",m[v.getSelectedIndex()]),b.pushHistoryState(),b.applyValue()},_,u.PADDING_PRESET,!1)}),y.setOnDeactive(_)}else f.addChild(h);h.setProperty("value",this._obj[this._key]),h.addEventListener(c.KEY_UP,this._onInputKeyUp.bind(this)),h.addEventListener(c.CHANGE,this._onInputChange.bind(this)),h.addEventListener(c.MOUSE_DOWN,this._onInputDragStart.bind(this)),this.addEventListener(p.INPUT_SELECT_DRAG,this._parent,"onComponentSelectDrag")}f.prototype=Object.create(i.prototype),f.prototype.constructor=f,f.prototype._onInputKeyUp=function(t){this._keyIsChar(t.keyCode)&&this.pushHistoryState(),this.applyValue(),this._onChange()},f.prototype._onInputChange=function(t){this._keyIsChar(t.keyCode)&&this.pushHistoryState(),this.applyValue()},f.prototype._keyIsChar=function(t){return 17!=t&&18!=t&&20!=t&&37!=t&&38!=t&&39!=t&&40!=t&&16!=t},f.prototype.applyValue=function(){this._obj[this._key]=this._input.getProperty("value"),this.dispatchEvent(new l(this,p.VALUE_UPDATED,null))},f.prototype.onValueUpdate=function(t){t.data.origin!=this&&this._input.setProperty("value",this._obj[this._key])},f.prototype._onInputDragStart=function(){var t=h.MOUSE_MOVE,e=h.MOUSE_UP,n=p.INPUT_SELECT_DRAG,i=this,r=function(){i.dispatchEvent(new l(this,n,null))},o=function(){i.dispatchEvent(new l(this,n,null)),document.removeEventListener(t,r,!1),document.removeEventListener(t,o,!1)};this.dispatchEvent(new l(this,n,null)),document.addEventListener(t,r,!1),document.addEventListener(e,o,!1)},f.prototype.update=function(){this.onValueUpdate({data:{}})},t.exports=f},function(t,e){t.exports={UPDATE_MENU:"updateMenu"}},function(t,e,n){var i=n(85),r=n(8),o=n(7),a=n(180),s=n(42),u=n(25),l=n(16),h=n(15),c=n(14),p=n(179),d=n(178),f=n(65),m=!0,g=1,v=1,y=.25,_=.25,b=.15,x=4,w=10,A=1,S=.02,T=25,E="rgba(255,255,255,0.75)",M="rgba(25,25,25,0.75)",P="rgb(54,60,64)",C="rgb(25,25,25)";function L(t,e,n,s){if((s=s||{}).showMinMaxLabels=void 0===s.showMinMaxLabels?m:s.showMinMaxLabels,i.apply(this,arguments),"function"!=typeof e[n])throw new p(e,n);var u=e[n].length;if(u>2||0==u)throw new d;var L=this._svgRoot,R=this._path,O=this._axes=L.insertBefore(this._createSVGObject("path"),R);O.style.strokeWidth=1;var I=this._axesLabels=L.insertBefore(this._createSVGObject("path"),R);I.style.stroke="rgb(43,48,51)",I.style.strokeWidth=1;var N=this._grid,D=this._svg,B=Number(D.getAttribute("width")),k=new r;k.setStyleClass(o.GraphSliderXWrap);var G=new r;G.setStyleClass(o.GraphSliderYWrap);var U=this._sliderXTrack=new r;U.setStyleClass(o.GraphSliderX);var V=this._sliderYTrack=new r;V.setStyleClass(o.GraphSliderY);var z=this._sliderXHandle=new r;z.setStyleClass(o.GraphSliderXHandle);var H=this._sliderYHandle=new r;H.setStyleClass(o.GraphSliderYHandle),U.addChild(z),V.addChild(H),k.addChild(U),G.addChild(V);var F=this._wrapNode,j=this._plotMode=1==u?a.NON_IMPLICIT:a.IMPLICIT;if(j==a.IMPLICIT){var W=this._canvas=document.createElement("canvas");W.style.width=W.style.height=B+"px",W.width=W.height=B,F.getElement().insertBefore(W,D),this._canvasContext=W.getContext("2d"),this._canvasImageData=this._canvasContext.getImageData(0,0,B,B),O.style.stroke=E,N.style.stroke=M}else O.style.stroke=P,N.style.stroke=C;F.addChild(k),F.addChild(G),z.addEventListener(c.MOUSE_DOWN,this._onSliderXHandleDown.bind(this)),H.addEventListener(c.MOUSE_DOWN,this._onSliderYHandleDown.bind(this));var X=this._units=[null,null];this._scale=null,j==a.NON_IMPLICIT?(X[0]=g,X[1]=v,this._scale=w):j==a.IMPLICIT&&(X[0]=y,X[1]=_,this._scale=A),this._unitsMinMax=[b,x],this._scaleMinMax=[S,T],this._center=[Math.round(.5*B),Math.round(.5*B)],this._svgPos=[0,0],this._func=null,this.setFunction(this._obj[this._key]),this._sliderXHandleUpdate(),this._sliderYHandleUpdate(),D.addEventListener(l.MOUSE_DOWN,this._onDragStart.bind(this),!1),this._wrapNode.getElement().addEventListener("mousewheel",this._onScale.bind(this,!1)),f.get().addEventListener(h.UPDATE_VALUE,this,"onValueUpdate")}L.prototype=Object.create(i.prototype),L.prototype.constructor=L,L.prototype._updateCenter=function(){var t=this._svg,e=Number(t.getAttribute("width")),n=Number(t.getAttribute("height")),i=s.get().getPosition(),r=this._svgPos,o=this._center;o[0]=Math.max(0,Math.min(i[0]-r[0],e)),o[1]=Math.max(0,Math.min(i[1]-r[1],n)),this._plotGraph()},L.prototype._onDragStart=function(t){var e=this._svgPos;e[0]=0,e[1]=0;for(var n=this._svg.parentNode;n;)e[0]+=n.offsetLeft,e[1]+=n.offsetTop,n=n.offsetParent;var i=l.MOUSE_MOVE,r=l.MOUSE_UP,o=this._updateCenter.bind(this),a=function(){this._updateCenter.bind(this),document.removeEventListener(i,o,!1),document.removeEventListener(r,a,!1)}.bind(this);document.addEventListener(i,o,!1),document.addEventListener(r,a,!1),this._updateCenter()},L.prototype._onScale=function(t){t=window.event||t,this._scale+=-1*Math.max(-1,Math.min(1,t.wheelDelta||-t.detail));var e=this._scaleMinMax;this._scale=Math.max(e[0],Math.min(this._scale,e[1])),this._plotGraph(),t.preventDefault()},L.prototype.onValueUpdate=function(){this.setFunction(this._obj[this._key])},L.prototype._redraw=function(){if(this._plotMode==a.IMPLICIT){var t=this._wrapNode.getWidth(),e=this._canvas;e.style.width=e.style.height=t+"px",e.width=e.height=t,this._canvasImageData=this._canvasContext.getImageData(0,0,t,t)}this._sliderXHandleUpdate(),this._sliderYHandleUpdate(),this.setFunction(this._obj[this._key])},L.prototype.setFunction=function(t){this._func=t.bind(this._obj),this._plotGraph()},L.prototype._plotGraph=function(){this._drawGrid(),this._drawAxes(),this._drawPlot()},L.prototype._drawAxes=function(){var t=this._svg,e=Number(t.getAttribute("width")),n=Number(t.getAttribute("height")),i=this._center,r=i[0],o=i[1],a="";a+=this._pathCmdLine(0,o,e,o),a+=this._pathCmdLine(r,0,r,n),this._axes.setAttribute("d",a)},L.prototype._drawPlot=function(){var t,e,n,i,r,o,s,u,l,h,c=this._center,p=c[0],d=c[1],f=this._units,m=this._scale;if(this._plotMode==a.NON_IMPLICIT){var g=this._svg;t=Number(g.getAttribute("width")),e=Number(g.getAttribute("height")),n=f[0]*m,i=e/(f[1]*m),u=p/t;var v=Math.floor(t),y=new Array(2*v);for(h=-1;++h<v;)r=(h/v-u)*n,o=d-this._func(r)*i,y[s=2*h]=h,y[s+1]=o;var _="";for(_+=this._pathCmdMoveTo(y[0],y[1]),h=2;h<y.length;)_+=this._pathCmdLineTo(y[h],y[h+1]),h+=2;this._path.setAttribute("d",_)}else{var b=this._canvas,x=this._canvasContext,w=this._canvasImageData;t=b.width,e=b.height,n=f[0]*m,i=f[1]*m,u=p/t,l=d/e;var A,S=1/t,T=1/e,E=[0,0,0],M=[30,34,36],P=[255,255,255];for(h=-1;++h<e;)for(A=-1;++A<t;)o=this._func((A*S-u)*n,(h*T-l)*i),E[0]=Math.floor((P[0]-M[0])*o+M[0]),E[1]=Math.floor((P[1]-M[1])*o+M[1]),E[2]=Math.floor((P[2]-M[2])*o+M[2]),s=4*(h*t+A),w.data[s]=E[0],w.data[s+1]=E[1],w.data[s+2]=E[2],w.data[s+3]=255;x.clearRect(0,0,t,e),x.putImageData(w,0,0)}},L.prototype._drawGrid=function(){var t,e,n=this._svg,i=Number(n.getAttribute("width")),r=Number(n.getAttribute("height")),o=this._scale,a=this._units,s=i/(a[0]*o),l=r/(a[1]*o),h=this._center,c=h[0],p=h[1],d=Math.round(p/l)+1,f=Math.round((r-p)/l)+1,m=Math.round(c/s)+1,g=Math.round((i-c)/s)+1,v="",y="",_=u.STROKE_SIZE,b=u.FUNCTION_PLOTTER_LABEL_TICK_SIZE,x=i-b-_,w=r-b-_,A=x-b,S=w-b,T=x-2*(b+_),E=w-2*(b+_);for(t=-1;++t<d;)e=Math.round(p-l*t),v+=this._pathCmdLine(0,e,i,e),e>b&&(y+=this._pathCmdLine(x,e,A,e));for(t=-1;++t<f;)e=Math.round(p+l*t),v+=this._pathCmdLine(0,e,i,e),e<E&&(y+=this._pathCmdLine(x,e,A,e));for(t=-1;++t<m;)e=Math.round(c-s*t),v+=this._pathCmdLine(e,0,e,r),e>b&&(y+=this._pathCmdLine(e,w,e,S));for(t=-1;++t<g;)e=Math.round(c+s*t),v+=this._pathCmdLine(e,0,e,r),e<T&&(y+=this._pathCmdLine(e,w,e,S));this._grid.setAttribute("d",v),this._axesLabels.setAttribute("d",y)},L.prototype._sliderXStep=function(t){var e=t[0],n=this._sliderXHandle,i=.5*n.getWidth(),r=this._sliderXTrack,o=r.getWidth(),a=r.getPositionGlobalX(),s=o-i-2*u.STROKE_SIZE,l=Math.max(i,Math.min(e-a,s)),h=l-i;n.setPositionX(h);var c=this._unitsMinMax[0],p=c+(this._unitsMinMax[1]-c)*((l-i)/(s-i));this._units[0]=p,this._plotGraph()},L.prototype._sliderYStep=function(t){var e=t[1],n=this._sliderYHandle,i=.5*n.getHeight(),r=this._sliderYTrack,o=r.getHeight(),a=r.getPositionGlobalY(),s=o-i-2,u=Math.max(i,Math.min(e-a,s)),l=u-i;n.setPositionY(l);var h=this._unitsMinMax[0],c=this._unitsMinMax[1],p=c+(h-c)*((u-i)/(s-i));this._units[1]=p,this._plotGraph()},L.prototype._onSliderXHandleDown=function(){this._onSliderHandleDown(this._sliderXStep.bind(this))},L.prototype._onSliderYHandleDown=function(){this._onSliderHandleDown(this._sliderYStep.bind(this))},L.prototype._onSliderHandleDown=function(t){var e=l.MOUSE_MOVE,n=l.MOUSE_UP,i=s.get(),r=function(){t(i.getPosition())},o=function(){document.removeEventListener(e,r,!1),document.removeEventListener(n,o,!1)};t(i.getPosition()),document.addEventListener(e,r,!1),document.addEventListener(n,o,!1)},L.prototype._sliderXHandleUpdate=function(){var t=this._unitsMinMax[0],e=this._unitsMinMax[1],n=this._units[0],i=this._sliderXHandle,r=.5*i.getWidth(),o=r,a=this._sliderXTrack.getWidth()-r-2*u.STROKE_SIZE;i.setPositionX(o+(n-t)/(e-t)*(a-o)-r)},L.prototype._sliderYHandleUpdate=function(){var t=this._unitsMinMax[0],e=this._unitsMinMax[1],n=this._units[1],i=this._sliderYHandle,r=.5*i.getHeight(),o=this._sliderYTrack.getHeight()-r-2*u.STROKE_SIZE,a=r;i.setPositionY(o+(n-t)/(e-t)*(a-o)-r)},t.exports=L},function(t,e){t.exports={STATE_PUSH:"historyStatePush",STATE_POP:"historyStatePop"}},function(t,e,n){var i=n(36),r=n(8),o=n(88);function a(t,e){i.apply(this,arguments),(e=e||{}).height=e.height||null,e.enable=void 0===e.enable||e.enable,this._parent=t,this._height=e.height,this._enabled=e.enable,this._scrollBar=null,this._node=new r(r.LIST_ITEM),this._wrapNode=new r,this._listNode=new r(r.LIST),this._parent.getList().addChild(this._node)}a.prototype=Object.create(i.prototype),a.prototype.constructor=a,a.prototype.addScrollWrap=function(){var t=this._wrapNode,e=this.getMaxHeight();this._scrollBar=new o(t,this._listNode,e),this.isEnabled()&&t.setHeight(e)},a.prototype.preventSelectDrag=function(){this._parent.preventSelectDrag(),this.hasScrollWrap()&&(this._wrapNode.getElement().scrollTop=0)},a.prototype.hasMaxHeight=function(){return null!=this._height},a.prototype.getMaxHeight=function(){return this._height},a.prototype.hasScrollWrap=function(){return null!=this._scrollBar},a.prototype.hasLabel=function(){return null!=this._lablNode},a.prototype.disable=function(){this._enabled=!1,this._updateAppearance()},a.prototype.enable=function(){this._enabled=!0,this._updateAppearance()},a.prototype.isDisabled=function(){return!this._enabled},a.prototype.isEnabled=function(){return this._enabled},a.prototype.getList=function(){return this._listNode},t.exports=a},function(t,e){t.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),n=[],i=0;i<t.length-1;i++)n.push(t[i],e[i]||"");return n.push(t[i]),n.join("")}},function(t,e){t.exports=Math.scale||function(t,e,n,i,r){return 0===arguments.length||t!=t||e!=e||n!=n||i!=i||r!=r?NaN:t===1/0||t===-1/0?t:(t-e)*(r-i)/(n-e)+i}},function(t,e,n){var i=n(44);t.exports=function(t,e){var n=[];return i(t,!1,n.push,n,e),n}},function(t,e,n){var i=n(61),r=n(131);t.exports=function(t){return function(){if(i(this)!=t)throw TypeError(t+"#toJSON isn't generic");return r(this)}}},function(t,e,n){var i=n(50),r=n(23),o=n(62).f;t.exports=function(t){return function(e){for(var n,a=r(e),s=i(a),u=s.length,l=0,h=[];u>l;)o.call(a,n=s[l++])&&h.push(t?[n,a[n]]:a[n]);return h}}},function(t,e,n){var i=n(9),r=n(106),o=n(33);t.exports=function(t,e,n,a){var s=String(o(t)),u=s.length,l=void 0===n?" ":String(n),h=i(e);if(h<=u||""==l)return s;var c=h-u,p=r.call(l,Math.ceil(c/l.length));return p.length>c&&(p=p.slice(0,c)),a?p+s:s+p}},function(t,e,n){"use strict";var i=n(79),r=n(5),o=n(9),a=n(28),s=n(6)("isConcatSpreadable");t.exports=function t(e,n,u,l,h,c,p,d){for(var f,m,g=h,v=0,y=!!p&&a(p,d,3);v<l;){if(v in u){if(f=y?y(u[v],v,n):u[v],m=!1,r(f)&&(m=void 0!==(m=f[s])?!!m:i(f)),m&&c>0)g=t(e,n,f,o(f.length),g,c-1)-1;else{if(g>=9007199254740991)throw TypeError();e[g]=f}g++}v++}return g}},function(t,e,n){var i=n(47),r=n(80),o=n(2),a=n(3).Reflect;t.exports=a&&a.ownKeys||function(t){var e=i.f(o(t)),n=r.f;return n?e.concat(n(t)):e}},function(t,e,n){var i=n(32),r=n(9);t.exports=function(t){if(void 0===t)return 0;var e=i(t),n=r(e);if(e!==n)throw RangeError("Wrong length!");return n}},function(t,e,n){"use strict";var i=n(43),r=n(41).getWeak,o=n(2),a=n(5),s=n(45),u=n(44),l=n(30),h=n(24),c=n(55),p=l(5),d=l(6),f=0,m=function(t){return t._l||(t._l=new g)},g=function(){this.a=[]},v=function(t,e){return p(t.a,function(t){return t[0]===e})};g.prototype={get:function(t){var e=v(this,t);if(e)return e[1]},has:function(t){return!!v(this,t)},set:function(t,e){var n=v(this,t);n?n[1]=e:this.a.push([t,e])},delete:function(t){var e=d(this.a,function(e){return e[0]===t});return~e&&this.a.splice(e,1),!!~e}},t.exports={getConstructor:function(t,e,n,o){var l=t(function(t,i){s(t,l,e,"_i"),t._t=e,t._i=f++,t._l=void 0,void 0!=i&&u(i,n,t[o],t)});return i(l.prototype,{delete:function(t){if(!a(t))return!1;var n=r(t);return!0===n?m(c(this,e)).delete(t):n&&h(n,this._i)&&delete n[this._i]},has:function(t){if(!a(t))return!1;var n=r(t);return!0===n?m(c(this,e)).has(t):n&&h(n,this._i)}}),l},def:function(t,e,n){var i=r(o(e),!0);return!0===i?m(t).set(e,n):i[t._i]=n,t},ufstore:m}},function(t,e,n){"use strict";var i,r=n(30)(0),o=n(19),a=n(41),s=n(158),u=n(138),l=n(5),h=n(4),c=n(55),p=a.getWeak,d=Object.isExtensible,f=u.ufstore,m={},g=function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},v={get:function(t){if(l(t)){var e=p(t);return!0===e?f(c(this,"WeakMap")).get(t):e?e[this._i]:void 0}},set:function(t,e){return u.def(c(this,"WeakMap"),t,e)}},y=t.exports=n(72)("WeakMap",g,v,u,!0,!0);h(function(){return 7!=(new y).set((Object.freeze||Object)(m),7).get(m)})&&(s((i=u.getConstructor(g,"WeakMap")).prototype,v),a.NEED=!0,r(["delete","has","get","set"],function(t){var e=y.prototype,n=e[t];o(e,t,function(e,r){if(l(e)&&!d(e)){this._f||(this._f=new i);var o=this._f[t](e,r);return"set"==t?this:o}return n.call(this,e,r)})}))},function(t,e,n){"use strict";var i=n(141),r=n(55);t.exports=n(72)("Set",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return i.def(r(this,"Set"),t=0===t?0:t,t)}},i)},function(t,e,n){"use strict";var i=n(10).f,r=n(48),o=n(43),a=n(28),s=n(45),u=n(44),l=n(102),h=n(146),c=n(46),p=n(11),d=n(41).fastKey,f=n(55),m=p?"_s":"size",g=function(t,e){var n,i=d(e);if("F"!==i)return t._i[i];for(n=t._f;n;n=n.n)if(n.k==e)return n};t.exports={getConstructor:function(t,e,n,l){var h=t(function(t,i){s(t,h,e,"_i"),t._t=e,t._i=r(null),t._f=void 0,t._l=void 0,t[m]=0,void 0!=i&&u(i,n,t[l],t)});return o(h.prototype,{clear:function(){for(var t=f(this,e),n=t._i,i=t._f;i;i=i.n)i.r=!0,i.p&&(i.p=i.p.n=void 0),delete n[i.i];t._f=t._l=void 0,t[m]=0},delete:function(t){var n=f(this,e),i=g(n,t);if(i){var r=i.n,o=i.p;delete n._i[i.i],i.r=!0,o&&(o.n=r),r&&(r.p=o),n._f==i&&(n._f=r),n._l==i&&(n._l=o),n[m]--}return!!i},forEach:function(t){f(this,e);for(var n,i=a(t,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(i(n.v,n.k,this);n&&n.r;)n=n.p},has:function(t){return!!g(f(this,e),t)}}),p&&i(h.prototype,"size",{get:function(){return f(this,e)[m]}}),h},def:function(t,e,n){var i,r,o=g(t,e);return o?o.v=n:(t._l=o={i:r=d(e,!0),k:e,v:n,p:i=t._l,n:void 0,r:!1},t._f||(t._f=o),i&&(i.n=o),t[m]++,"F"!==r&&(t._i[r]=o)),t},getEntry:g,setStrong:function(t,e,n){l(t,e,function(t,n){this._t=f(t,e),this._k=n,this._l=void 0},function(){for(var t=this._k,e=this._l;e&&e.r;)e=e.p;return this._t&&(this._l=e=e?e.n:this._t._f)?h(0,"keys"==t?e.k:"values"==t?e.v:[e.k,e.v]):(this._t=void 0,h(1))},n?"entries":"values",!n,!0),c(e)}}},function(t,e,n){"use strict";var i=n(141),r=n(55);t.exports=n(72)("Map",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{get:function(t){var e=i.getEntry(r(this,"Map"),t);return e&&e.v},set:function(t,e){return i.def(r(this,"Map"),0===t?0:t,e)}},i,!0)},function(t,e,n){var i=n(2),r=n(5),o=n(90);t.exports=function(t,e){if(i(t),r(e)&&e.constructor===t)return e;var n=o.f(t);return(0,n.resolve)(e),n.promise}},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},function(t,e,n){n(11)&&"g"!=/./g.flags&&n(10).f(RegExp.prototype,"flags",{configurable:!0,get:n(76)})},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){"use strict";var i=n(13),r=n(49),o=n(9);t.exports=[].copyWithin||function(t,e){var n=i(this),a=o(n.length),s=r(t,a),u=r(e,a),l=arguments.length>2?arguments[2]:void 0,h=Math.min((void 0===l?a:r(l,a))-u,a-s),c=1;for(u<s&&s<u+h&&(c=-1,u+=h-1,s+=h-1);h-- >0;)u in n?n[s]=n[u]:delete n[s],s+=c,u+=c;return n}},function(t,e,n){var i=n(17),r=n(13),o=n(63),a=n(9);t.exports=function(t,e,n,s,u){i(e);var l=r(t),h=o(l),c=a(l.length),p=u?c-1:0,d=u?-1:1;if(n<2)for(;;){if(p in h){s=h[p],p+=d;break}if(p+=d,u?p<0:c<=p)throw TypeError("Reduce of empty array with no initial value")}for(;u?p>=0:c>p;p+=d)p in h&&(s=e(s,h[p],p,l));return s}},function(t,e,n){var i=n(2);t.exports=function(t,e,n,r){try{return r?e(i(n)[0],n[1]):e(n)}catch(e){var o=t.return;throw void 0!==o&&i(o.call(t)),e}}},function(t,e,n){var i=n(105),r=Math.pow,o=r(2,-52),a=r(2,-23),s=r(2,127)*(2-a),u=r(2,-126);t.exports=Math.fround||function(t){var e,n,r=Math.abs(t),l=i(t);return r<u?l*function(t){return t+1/o-1/o}(r/u/a)*u*a:(n=(e=(1+a/o)*r)-(e-r))>s||n!=n?l*(1/0):l*n}},function(t,e){t.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,e,n){var i=n(5),r=Math.floor;t.exports=function(t){return!i(t)&&isFinite(t)&&r(t)===t}},function(t,e,n){var i=n(27);t.exports=function(t,e){if("number"!=typeof t&&"Number"!=i(t))throw TypeError(e);return+t}},function(t,e,n){var i=n(3).parseFloat,r=n(57).trim;t.exports=1/i(n(108)+"-0")!=-1/0?function(t){var e=r(String(t),3),n=i(e);return 0===n&&"-"==e.charAt(0)?-0:n}:i},function(t,e,n){var i=n(3).parseInt,r=n(57).trim,o=n(108),a=/^[-+]?0[xX]/;t.exports=8!==i(o+"08")||22!==i(o+"0x16")?function(t,e){var n=r(String(t),3);return i(n,e>>>0||(a.test(n)?16:10))}:i},function(t,e){t.exports=function(t,e,n){var i=void 0===n;switch(e.length){case 0:return i?t():t.call(n);case 1:return i?t(e[0]):t.call(n,e[0]);case 2:return i?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return i?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return i?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},function(t,e,n){"use strict";var i=n(17),r=n(5),o=n(156),a=[].slice,s={};t.exports=Function.bind||function(t){var e=i(this),n=a.call(arguments,1),u=function(){var i=n.concat(a.call(arguments));return this instanceof u?function(t,e,n){if(!(e in s)){for(var i=[],r=0;r<e;r++)i[r]="a["+r+"]";s[e]=Function("F,a","return new F("+i.join(",")+")")}return s[e](t,n)}(e,i.length,i):o(e,i,t)};return r(e.prototype)&&(u.prototype=e.prototype),u}},function(t,e,n){"use strict";var i=n(50),r=n(80),o=n(62),a=n(13),s=n(63),u=Object.assign;t.exports=!u||n(4)(function(){var t={},e={},n=Symbol(),i="abcdefghijklmnopqrst";return t[n]=7,i.split("").forEach(function(t){e[t]=t}),7!=u({},t)[n]||Object.keys(u({},e)).join("")!=i})?function(t,e){for(var n=a(t),u=arguments.length,l=1,h=r.f,c=o.f;u>l;)for(var p,d=s(arguments[l++]),f=h?i(d).concat(h(d)):i(d),m=f.length,g=0;m>g;)c.call(d,p=f[g++])&&(n[p]=d[p]);return n}:u},function(t,e,n){var i=n(23),r=n(47).f,o={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"[object Window]"==o.call(t)?function(t){try{return r(t)}catch(t){return a.slice()}}(t):r(i(t))}},function(t,e,n){var i=n(10),r=n(2),o=n(50);t.exports=n(11)?Object.defineProperties:function(t,e){r(t);for(var n,a=o(e),s=a.length,u=0;s>u;)i.f(t,n=a[u++],e[n]);return t}},function(t,e,n){var i=n(24),r=n(23),o=n(81)(!1),a=n(112)("IE_PROTO");t.exports=function(t,e){var n,s=r(t),u=0,l=[];for(n in s)n!=a&&i(s,n)&&l.push(n);for(;e.length>u;)i(s,n=e[u++])&&(~o(l,n)||l.push(n));return l}},function(t,e,n){e.f=n(6)},function(t,e,n){t.exports=!n(11)&&!n(4)(function(){return 7!=Object.defineProperty(n(114)("div"),"a",{get:function(){return 7}}).a})},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){"use strict";n.r(e);var i=n(0);
/*!
 * VERSION: 2.0.2
 * DATE: 2018-08-27
 * UPDATES AND DOCS AT: http://greensock.com
 *
 * @license Copyright (c) 2008-2018, GreenSock. All rights reserved.
 * This work is subject to the terms at http://greensock.com/standard-license or for
 * Club GreenSock members, the software agreement that was issued with your membership.
 * 
 * @author: Jack Doyle, jack@greensock.com
 **/i.k._gsDefine("TweenMax",["core.Animation","core.SimpleTimeline","TweenLite"],function(){var t=function(t){var e,n=[],i=t.length;for(e=0;e!==i;n.push(t[e++]));return n},e=function(t,e,n){var i,r,o=t.cycle;for(i in o)r=o[i],t[i]="function"==typeof r?r(n,e[n]):r[n%r.length];delete t.cycle},n=function(t,e,r){i.l.call(this,t,e,r),this._cycle=0,this._yoyo=!0===this.vars.yoyo||!!this.vars.yoyoEase,this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._repeat&&this._uncache(!0),this.render=n.prototype.render},r=i.l._internals,o=r.isSelector,a=r.isArray,s=n.prototype=i.l.to({},.1,{}),u=[];n.version="2.0.2",s.constructor=n,s.kill()._gc=!1,n.killTweensOf=n.killDelayedCallsTo=i.l.killTweensOf,n.getTweensOf=i.l.getTweensOf,n.lagSmoothing=i.l.lagSmoothing,n.ticker=i.l.ticker,n.render=i.l.render,s.invalidate=function(){return this._yoyo=!0===this.vars.yoyo||!!this.vars.yoyoEase,this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._yoyoEase=null,this._uncache(!0),i.l.prototype.invalidate.call(this)},s.updateTo=function(t,e){var n,r=this.ratio,o=this.vars.immediateRender||t.immediateRender;for(n in e&&this._startTime<this._timeline._time&&(this._startTime=this._timeline._time,this._uncache(!1),this._gc?this._enabled(!0,!1):this._timeline.insert(this,this._startTime-this._delay)),t)this.vars[n]=t[n];if(this._initted||o)if(e)this._initted=!1,o&&this.render(0,!0,!0);else if(this._gc&&this._enabled(!0,!1),this._notifyPluginsOfEnabled&&this._firstPT&&i.l._onPluginEvent("_onDisable",this),this._time/this._duration>.998){var a=this._totalTime;this.render(0,!0,!1),this._initted=!1,this.render(a,!0,!1)}else if(this._initted=!1,this._init(),this._time>0||o)for(var s,u=1/(1-r),l=this._firstPT;l;)s=l.s+l.c,l.c*=u,l.s=s-l.c,l=l._next;return this},s.render=function(t,e,n){this._initted||0===this._duration&&this.vars.repeat&&this.invalidate();var o,a,s,u,l,h,c,p,d,f=this._dirty?this.totalDuration():this._totalDuration,m=this._time,g=this._totalTime,v=this._cycle,y=this._duration,_=this._rawPrevTime;if(t>=f-1e-7&&t>=0?(this._totalTime=f,this._cycle=this._repeat,this._yoyo&&0!=(1&this._cycle)?(this._time=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0):(this._time=y,this.ratio=this._ease._calcEnd?this._ease.getRatio(1):1),this._reversed||(o=!0,a="onComplete",n=n||this._timeline.autoRemoveChildren),0===y&&(this._initted||!this.vars.lazy||n)&&(this._startTime===this._timeline._duration&&(t=0),(_<0||t<=0&&t>=-1e-7||1e-10===_&&"isPause"!==this.data)&&_!==t&&(n=!0,_>1e-10&&(a="onReverseComplete")),this._rawPrevTime=p=!e||t||_===t?t:1e-10)):t<1e-7?(this._totalTime=this._time=this._cycle=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0,(0!==g||0===y&&_>0)&&(a="onReverseComplete",o=this._reversed),t<0&&(this._active=!1,0===y&&(this._initted||!this.vars.lazy||n)&&(_>=0&&(n=!0),this._rawPrevTime=p=!e||t||_===t?t:1e-10)),this._initted||(n=!0)):(this._totalTime=this._time=t,0!==this._repeat&&(u=y+this._repeatDelay,this._cycle=this._totalTime/u>>0,0!==this._cycle&&this._cycle===this._totalTime/u&&g<=t&&this._cycle--,this._time=this._totalTime-this._cycle*u,this._yoyo&&0!=(1&this._cycle)&&(this._time=y-this._time,(d=this._yoyoEase||this.vars.yoyoEase)&&(this._yoyoEase||(!0!==d||this._initted?this._yoyoEase=d=!0===d?this._ease:d instanceof i.b?d:i.b.map[d]:(d=this.vars.ease,this._yoyoEase=d=d?d instanceof i.b?d:"function"==typeof d?new i.b(d,this.vars.easeParams):i.b.map[d]||i.l.defaultEase:i.l.defaultEase)),this.ratio=d?1-d.getRatio((y-this._time)/y):0)),this._time>y?this._time=y:this._time<0&&(this._time=0)),this._easeType&&!d?(l=this._time/y,h=this._easeType,c=this._easePower,(1===h||3===h&&l>=.5)&&(l=1-l),3===h&&(l*=2),1===c?l*=l:2===c?l*=l*l:3===c?l*=l*l*l:4===c&&(l*=l*l*l*l),1===h?this.ratio=1-l:2===h?this.ratio=l:this._time/y<.5?this.ratio=l/2:this.ratio=1-l/2):d||(this.ratio=this._ease.getRatio(this._time/y))),m!==this._time||n||v!==this._cycle){if(!this._initted){if(this._init(),!this._initted||this._gc)return;if(!n&&this._firstPT&&(!1!==this.vars.lazy&&this._duration||this.vars.lazy&&!this._duration))return this._time=m,this._totalTime=g,this._rawPrevTime=_,this._cycle=v,r.lazyTweens.push(this),void(this._lazy=[t,e]);!this._time||o||d?o&&this._ease._calcEnd&&!d&&(this.ratio=this._ease.getRatio(0===this._time?0:1)):this.ratio=this._ease.getRatio(this._time/y)}for(!1!==this._lazy&&(this._lazy=!1),this._active||!this._paused&&this._time!==m&&t>=0&&(this._active=!0),0===g&&(2===this._initted&&t>0&&this._init(),this._startAt&&(t>=0?this._startAt.render(t,!0,n):a||(a="_dummyGS")),this.vars.onStart&&(0===this._totalTime&&0!==y||e||this._callback("onStart"))),s=this._firstPT;s;)s.f?s.t[s.p](s.c*this.ratio+s.s):s.t[s.p]=s.c*this.ratio+s.s,s=s._next;this._onUpdate&&(t<0&&this._startAt&&this._startTime&&this._startAt.render(t,!0,n),e||(this._totalTime!==g||a)&&this._callback("onUpdate")),this._cycle!==v&&(e||this._gc||this.vars.onRepeat&&this._callback("onRepeat")),a&&(this._gc&&!n||(t<0&&this._startAt&&!this._onUpdate&&this._startTime&&this._startAt.render(t,!0,n),o&&(this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[a]&&this._callback(a),0===y&&1e-10===this._rawPrevTime&&1e-10!==p&&(this._rawPrevTime=0)))}else g!==this._totalTime&&this._onUpdate&&(e||this._callback("onUpdate"))},n.to=function(t,e,i){return new n(t,e,i)},n.from=function(t,e,i){return i.runBackwards=!0,i.immediateRender=0!=i.immediateRender,new n(t,e,i)},n.fromTo=function(t,e,i,r){return r.startAt=i,r.immediateRender=0!=r.immediateRender&&0!=i.immediateRender,new n(t,e,r)},n.staggerTo=n.allTo=function(r,s,l,h,c,p,d){h=h||0;var f,m,g,v,y=0,_=[],b=function(){l.onComplete&&l.onComplete.apply(l.onCompleteScope||this,arguments),c.apply(d||l.callbackScope||this,p||u)},x=l.cycle,w=l.startAt&&l.startAt.cycle;for(a(r)||("string"==typeof r&&(r=i.l.selector(r)||r),o(r)&&(r=t(r))),r=r||[],h<0&&((r=t(r)).reverse(),h*=-1),f=r.length-1,g=0;g<=f;g++){for(v in m={},l)m[v]=l[v];if(x&&(e(m,r,g),null!=m.duration&&(s=m.duration,delete m.duration)),w){for(v in w=m.startAt={},l.startAt)w[v]=l.startAt[v];e(m.startAt,r,g)}m.delay=y+(m.delay||0),g===f&&c&&(m.onComplete=b),_[g]=new n(r[g],s,m),y+=h}return _},n.staggerFrom=n.allFrom=function(t,e,i,r,o,a,s){return i.runBackwards=!0,i.immediateRender=0!=i.immediateRender,n.staggerTo(t,e,i,r,o,a,s)},n.staggerFromTo=n.allFromTo=function(t,e,i,r,o,a,s,u){return r.startAt=i,r.immediateRender=0!=r.immediateRender&&0!=i.immediateRender,n.staggerTo(t,e,r,o,a,s,u)},n.delayedCall=function(t,e,i,r,o){return new n(e,0,{delay:t,onComplete:e,onCompleteParams:i,callbackScope:r,onReverseComplete:e,onReverseCompleteParams:i,immediateRender:!1,useFrames:o,overwrite:0})},n.set=function(t,e){return new n(t,0,e)},n.isTweening=function(t){return i.l.getTweensOf(t,!0).length>0};var l=function(t,e){for(var n=[],r=0,o=t._first;o;)o instanceof i.l?n[r++]=o:(e&&(n[r++]=o),r=(n=n.concat(l(o,e))).length),o=o._next;return n},h=n.getAllTweens=function(t){return l(i.a._rootTimeline,t).concat(l(i.a._rootFramesTimeline,t))};n.killAll=function(t,e,n,r){null==e&&(e=!0),null==n&&(n=!0);var o,a,s,u=h(0!=r),l=u.length,c=e&&n&&r;for(s=0;s<l;s++)a=u[s],(c||a instanceof i.i||(o=a.target===a.vars.onComplete)&&n||e&&!o)&&(t?a.totalTime(a._reversed?0:a.totalDuration()):a._enabled(!1,!1))},n.killChildTweensOf=function(e,s){if(null!=e){var u,l,h,c,p,d=r.tweenLookup;if("string"==typeof e&&(e=i.l.selector(e)||e),o(e)&&(e=t(e)),a(e))for(c=e.length;--c>-1;)n.killChildTweensOf(e[c],s);else{for(h in u=[],d)for(l=d[h].target.parentNode;l;)l===e&&(u=u.concat(d[h].tweens)),l=l.parentNode;for(p=u.length,c=0;c<p;c++)s&&u[c].totalTime(u[c].totalDuration()),u[c]._enabled(!1,!1)}}};var c=function(t,e,n,r){e=!1!==e,n=!1!==n;for(var o,a,s=h(r=!1!==r),u=e&&n&&r,l=s.length;--l>-1;)a=s[l],(u||a instanceof i.i||(o=a.target===a.vars.onComplete)&&n||e&&!o)&&a.paused(t)};return n.pauseAll=function(t,e,n){c(!0,t,e,n)},n.resumeAll=function(t,e,n){c(!1,t,e,n)},n.globalTimeScale=function(t){var e=i.a._rootTimeline,n=i.l.ticker.time;return arguments.length?(t=t||1e-10,e._startTime=n-(n-e._startTime)*e._timeScale/t,e=i.a._rootFramesTimeline,n=i.l.ticker.frame,e._startTime=n-(n-e._startTime)*e._timeScale/t,e._timeScale=i.a._rootTimeline._timeScale=t,t):e._timeScale},s.progress=function(t,e){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&0!=(1&this._cycle)?1-t:t)+this._cycle*(this._duration+this._repeatDelay),e):this._time/this.duration()},s.totalProgress=function(t,e){return arguments.length?this.totalTime(this.totalDuration()*t,e):this._totalTime/this.totalDuration()},s.time=function(t,e){return arguments.length?(this._dirty&&this.totalDuration(),t>this._duration&&(t=this._duration),this._yoyo&&0!=(1&this._cycle)?t=this._duration-t+this._cycle*(this._duration+this._repeatDelay):0!==this._repeat&&(t+=this._cycle*(this._duration+this._repeatDelay)),this.totalTime(t,e)):this._time},s.duration=function(t){return arguments.length?i.a.prototype.duration.call(this,t):this._duration},s.totalDuration=function(t){return arguments.length?-1===this._repeat?this:this.duration((t-this._repeat*this._repeatDelay)/(this._repeat+1)):(this._dirty&&(this._totalDuration=-1===this._repeat?999999999999:this._duration*(this._repeat+1)+this._repeatDelay*this._repeat,this._dirty=!1),this._totalDuration)},s.repeat=function(t){return arguments.length?(this._repeat=t,this._uncache(!0)):this._repeat},s.repeatDelay=function(t){return arguments.length?(this._repeatDelay=t,this._uncache(!0)):this._repeatDelay},s.yoyo=function(t){return arguments.length?(this._yoyo=t,this):this._yoyo},n},!0);var r=i.m.TweenMax;
/*!
 * VERSION: 2.0.2
 * DATE: 2018-08-27
 * UPDATES AND DOCS AT: http://greensock.com
 *
 * @license Copyright (c) 2008-2018, GreenSock. All rights reserved.
 * This work is subject to the terms at http://greensock.com/standard-license or for
 * Club GreenSock members, the software agreement that was issued with your membership.
 * 
 * @author: Jack Doyle, jack@greensock.com
 */
i.k._gsDefine("plugins.CSSPlugin",["plugins.TweenPlugin","TweenLite"],function(){var t,e,n,r,o=function(){i.j.call(this,"css"),this._overwriteProps.length=0,this.setRatio=o.prototype.setRatio},a=i.k._gsDefine.globals,s={},u=o.prototype=new i.j("css");u.constructor=o,o.version="2.0.2",o.API=2,o.defaultTransformPerspective=0,o.defaultSkewType="compensated",o.defaultSmoothOrigin=!0,u="px",o.suffixMap={top:u,right:u,bottom:u,left:u,width:u,height:u,fontSize:u,padding:u,margin:u,perspective:u,lineHeight:""};var l,h,c,p,d,f,m,g,v=/(?:\-|\.|\b)(\d|\.|e\-)+/g,y=/(?:\d|\-\d|\.\d|\-\.\d|\+=\d|\-=\d|\+=.\d|\-=\.\d)+/g,_=/(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b)/gi,b=/(?![+-]?\d*\.?\d+|[+-]|e[+-]\d+)[^0-9]/g,x=/(?:\d|\-|\+|=|#|\.)*/g,w=/opacity *= *([^)]*)/i,A=/opacity:([^;]*)/i,S=/alpha\(opacity *=.+?\)/i,T=/^(rgb|hsl)/,E=/([A-Z])/g,M=/-([a-z])/gi,P=/(^(?:url\(\"|url\())|(?:(\"\))$|\)$)/gi,C=function(t,e){return e.toUpperCase()},L=/(?:Left|Right|Width)/i,R=/(M11|M12|M21|M22)=[\d\-\.e]+/gi,O=/progid\:DXImageTransform\.Microsoft\.Matrix\(.+?\)/i,I=/,(?=[^\)]*(?:\(|$))/gi,N=/[\s,\(]/i,D=Math.PI/180,B=180/Math.PI,k={},G={style:{}},U=i.k.document||{createElement:function(){return G}},V=function(t,e){return U.createElementNS?U.createElementNS(e||"http://www.w3.org/1999/xhtml",t):U.createElement(t)},z=V("div"),H=V("img"),F=o._internals={_specialProps:s},j=(i.k.navigator||{}).userAgent||"",W=function(){var t=j.indexOf("Android"),e=V("a");return c=-1!==j.indexOf("Safari")&&-1===j.indexOf("Chrome")&&(-1===t||parseFloat(j.substr(t+8,2))>3),d=c&&parseFloat(j.substr(j.indexOf("Version/")+8,2))<6,p=-1!==j.indexOf("Firefox"),(/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(j)||/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(j))&&(f=parseFloat(RegExp.$1)),!!e&&(e.style.cssText="top:1px;opacity:.55;",/^0.55/.test(e.style.opacity))}(),X=function(t){return w.test("string"==typeof t?t:(t.currentStyle?t.currentStyle.filter:t.style.filter)||"")?parseFloat(RegExp.$1)/100:1},Y=function(t){i.k.console&&console.log(t)},K="",Z="",q=function(t,e){var n,i,r=(e=e||z).style;if(void 0!==r[t])return t;for(t=t.charAt(0).toUpperCase()+t.substr(1),n=["O","Moz","ms","Ms","Webkit"],i=5;--i>-1&&void 0===r[n[i]+t];);return i>=0?(K="-"+(Z=3===i?"ms":n[i]).toLowerCase()+"-",Z+t):null},Q=("undefined"!=typeof window?window:U.defaultView||{getComputedStyle:function(){}}).getComputedStyle,J=o.getStyle=function(t,e,n,i,r){var o;return W||"opacity"!==e?(!i&&t.style[e]?o=t.style[e]:(n=n||Q(t))?o=n[e]||n.getPropertyValue(e)||n.getPropertyValue(e.replace(E,"-$1").toLowerCase()):t.currentStyle&&(o=t.currentStyle[e]),null==r||o&&"none"!==o&&"auto"!==o&&"auto auto"!==o?o:r):X(t)},$=F.convertToPixels=function(t,e,n,r,a){if("px"===r||!r&&"lineHeight"!==e)return n;if("auto"===r||!n)return 0;var s,u,l,h=L.test(e),c=t,p=z.style,d=n<0,f=1===n;if(d&&(n=-n),f&&(n*=100),"lineHeight"!==e||r)if("%"===r&&-1!==e.indexOf("border"))s=n/100*(h?t.clientWidth:t.clientHeight);else{if(p.cssText="border:0 solid red;position:"+J(t,"position")+";line-height:0;","%"!==r&&c.appendChild&&"v"!==r.charAt(0)&&"rem"!==r)p[h?"borderLeftWidth":"borderTopWidth"]=n+r;else{if(c=t.parentNode||U.body,-1!==J(c,"display").indexOf("flex")&&(p.position="absolute"),u=c._gsCache,l=i.l.ticker.frame,u&&h&&u.time===l)return u.width*n/100;p[h?"width":"height"]=n+r}c.appendChild(z),s=parseFloat(z[h?"offsetWidth":"offsetHeight"]),c.removeChild(z),h&&"%"===r&&!1!==o.cacheWidths&&((u=c._gsCache=c._gsCache||{}).time=l,u.width=s/n*100),0!==s||a||(s=$(t,e,n,r,!0))}else u=Q(t).lineHeight,t.style.lineHeight=n,s=parseFloat(Q(t).lineHeight),t.style.lineHeight=u;return f&&(s/=100),d?-s:s},tt=F.calculateOffset=function(t,e,n){if("absolute"!==J(t,"position",n))return 0;var i="left"===e?"Left":"Top",r=J(t,"margin"+i,n);return t["offset"+i]-($(t,e,parseFloat(r),r.replace(x,""))||0)},et=function(t,e){var n,i,r,o={};if(e=e||Q(t,null))if(n=e.length)for(;--n>-1;)-1!==(r=e[n]).indexOf("-transform")&&Pt!==r||(o[r.replace(M,C)]=e.getPropertyValue(r));else for(n in e)-1!==n.indexOf("Transform")&&Mt!==n||(o[n]=e[n]);else if(e=t.currentStyle||t.style)for(n in e)"string"==typeof n&&void 0===o[n]&&(o[n.replace(M,C)]=e[n]);return W||(o.opacity=X(t)),i=zt(t,e,!1),o.rotation=i.rotation,o.skewX=i.skewX,o.scaleX=i.scaleX,o.scaleY=i.scaleY,o.x=i.x,o.y=i.y,Lt&&(o.z=i.z,o.rotationX=i.rotationX,o.rotationY=i.rotationY,o.scaleZ=i.scaleZ),o.filters&&delete o.filters,o},nt=function(t,e,n,i,r){var o,a,s,u={},l=t.style;for(a in n)"cssText"!==a&&"length"!==a&&isNaN(a)&&(e[a]!==(o=n[a])||r&&r[a])&&-1===a.indexOf("Origin")&&("number"!=typeof o&&"string"!=typeof o||(u[a]="auto"!==o||"left"!==a&&"top"!==a?""!==o&&"auto"!==o&&"none"!==o||"string"!=typeof e[a]||""===e[a].replace(b,"")?o:0:tt(t,a),void 0!==l[a]&&(s=new vt(l,a,l[a],s))));if(i)for(a in i)"className"!==a&&(u[a]=i[a]);return{difs:u,firstMPT:s}},it={width:["Left","Right"],height:["Top","Bottom"]},rt=["marginLeft","marginRight","marginTop","marginBottom"],ot=function(t,e,n){if("svg"===(t.nodeName+"").toLowerCase())return(n||Q(t))[e]||0;if(t.getCTM&&Gt(t))return t.getBBox()[e]||0;var i=parseFloat("width"===e?t.offsetWidth:t.offsetHeight),r=it[e],o=r.length;for(n=n||Q(t,null);--o>-1;)i-=parseFloat(J(t,"padding"+r[o],n,!0))||0,i-=parseFloat(J(t,"border"+r[o]+"Width",n,!0))||0;return i},at=function(t,e){if("contain"===t||"auto"===t||"auto auto"===t)return t+" ";null!=t&&""!==t||(t="0 0");var n,i=t.split(" "),r=-1!==t.indexOf("left")?"0%":-1!==t.indexOf("right")?"100%":i[0],o=-1!==t.indexOf("top")?"0%":-1!==t.indexOf("bottom")?"100%":i[1];if(i.length>3&&!e){for(i=t.split(", ").join(",").split(","),t=[],n=0;n<i.length;n++)t.push(at(i[n]));return t.join(",")}return null==o?o="center"===r?"50%":"0":"center"===o&&(o="50%"),("center"===r||isNaN(parseFloat(r))&&-1===(r+"").indexOf("="))&&(r="50%"),t=r+" "+o+(i.length>2?" "+i[2]:""),e&&(e.oxp=-1!==r.indexOf("%"),e.oyp=-1!==o.indexOf("%"),e.oxr="="===r.charAt(1),e.oyr="="===o.charAt(1),e.ox=parseFloat(r.replace(b,"")),e.oy=parseFloat(o.replace(b,"")),e.v=t),e||t},st=function(t,e){return"function"==typeof t&&(t=t(g,m)),"string"==typeof t&&"="===t.charAt(1)?parseInt(t.charAt(0)+"1",10)*parseFloat(t.substr(2)):parseFloat(t)-parseFloat(e)||0},ut=function(t,e){"function"==typeof t&&(t=t(g,m));var n="string"==typeof t&&"="===t.charAt(1);return"string"==typeof t&&"v"===t.charAt(t.length-2)&&(t=(n?t.substr(0,2):0)+window["inner"+("vh"===t.substr(-2)?"Height":"Width")]*(parseFloat(n?t.substr(2):t)/100)),null==t?e:n?parseInt(t.charAt(0)+"1",10)*parseFloat(t.substr(2))+e:parseFloat(t)||0},lt=function(t,e,n,i){var r,o,a,s,u;return"function"==typeof t&&(t=t(g,m)),null==t?s=e:"number"==typeof t?s=t:(r=360,o=t.split("_"),a=((u="="===t.charAt(1))?parseInt(t.charAt(0)+"1",10)*parseFloat(o[0].substr(2)):parseFloat(o[0]))*(-1===t.indexOf("rad")?1:B)-(u?0:e),o.length&&(i&&(i[n]=e+a),-1!==t.indexOf("short")&&(a%=r)!==a%(r/2)&&(a=a<0?a+r:a-r),-1!==t.indexOf("_cw")&&a<0?a=(a+9999999999*r)%r-(a/r|0)*r:-1!==t.indexOf("ccw")&&a>0&&(a=(a-9999999999*r)%r-(a/r|0)*r)),s=e+a),s<1e-6&&s>-1e-6&&(s=0),s},ht={aqua:[0,255,255],lime:[0,255,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,255],navy:[0,0,128],white:[255,255,255],fuchsia:[255,0,255],olive:[128,128,0],yellow:[255,255,0],orange:[255,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[255,0,0],pink:[255,192,203],cyan:[0,255,255],transparent:[255,255,255,0]},ct=function(t,e,n){return 255*(6*(t=t<0?t+1:t>1?t-1:t)<1?e+(n-e)*t*6:t<.5?n:3*t<2?e+(n-e)*(2/3-t)*6:e)+.5|0},pt=o.parseColor=function(t,e){var n,i,r,o,a,s,u,l,h,c,p;if(t)if("number"==typeof t)n=[t>>16,t>>8&255,255&t];else{if(","===t.charAt(t.length-1)&&(t=t.substr(0,t.length-1)),ht[t])n=ht[t];else if("#"===t.charAt(0))4===t.length&&(t="#"+(i=t.charAt(1))+i+(r=t.charAt(2))+r+(o=t.charAt(3))+o),n=[(t=parseInt(t.substr(1),16))>>16,t>>8&255,255&t];else if("hsl"===t.substr(0,3))if(n=p=t.match(v),e){if(-1!==t.indexOf("="))return t.match(y)}else a=Number(n[0])%360/360,s=Number(n[1])/100,i=2*(u=Number(n[2])/100)-(r=u<=.5?u*(s+1):u+s-u*s),n.length>3&&(n[3]=Number(n[3])),n[0]=ct(a+1/3,i,r),n[1]=ct(a,i,r),n[2]=ct(a-1/3,i,r);else n=t.match(v)||ht.transparent;n[0]=Number(n[0]),n[1]=Number(n[1]),n[2]=Number(n[2]),n.length>3&&(n[3]=Number(n[3]))}else n=ht.black;return e&&!p&&(i=n[0]/255,r=n[1]/255,o=n[2]/255,u=((l=Math.max(i,r,o))+(h=Math.min(i,r,o)))/2,l===h?a=s=0:(c=l-h,s=u>.5?c/(2-l-h):c/(l+h),a=l===i?(r-o)/c+(r<o?6:0):l===r?(o-i)/c+2:(i-r)/c+4,a*=60),n[0]=a+.5|0,n[1]=100*s+.5|0,n[2]=100*u+.5|0),n},dt=function(t,e){var n,i,r,o=t.match(ft)||[],a=0,s="";if(!o.length)return t;for(n=0;n<o.length;n++)i=o[n],a+=(r=t.substr(a,t.indexOf(i,a)-a)).length+i.length,3===(i=pt(i,e)).length&&i.push(1),s+=r+(e?"hsla("+i[0]+","+i[1]+"%,"+i[2]+"%,"+i[3]:"rgba("+i.join(","))+")";return s+t.substr(a)},ft="(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3}){1,2}\\b";for(u in ht)ft+="|"+u+"\\b";ft=new RegExp(ft+")","gi"),o.colorStringFilter=function(t){var e,n=t[0]+" "+t[1];ft.test(n)&&(e=-1!==n.indexOf("hsl(")||-1!==n.indexOf("hsla("),t[0]=dt(t[0],e),t[1]=dt(t[1],e)),ft.lastIndex=0},i.l.defaultStringFilter||(i.l.defaultStringFilter=o.colorStringFilter);var mt=function(t,e,n,i){if(null==t)return function(t){return t};var r,o=e?(t.match(ft)||[""])[0]:"",a=t.split(o).join("").match(_)||[],s=t.substr(0,t.indexOf(a[0])),u=")"===t.charAt(t.length-1)?")":"",l=-1!==t.indexOf(" ")?" ":",",h=a.length,c=h>0?a[0].replace(v,""):"";return h?r=e?function(t){var e,p,d,f;if("number"==typeof t)t+=c;else if(i&&I.test(t)){for(f=t.replace(I,"|").split("|"),d=0;d<f.length;d++)f[d]=r(f[d]);return f.join(",")}if(e=(t.match(ft)||[o])[0],d=(p=t.split(e).join("").match(_)||[]).length,h>d--)for(;++d<h;)p[d]=n?p[(d-1)/2|0]:a[d];return s+p.join(l)+l+e+u+(-1!==t.indexOf("inset")?" inset":"")}:function(t){var e,o,p;if("number"==typeof t)t+=c;else if(i&&I.test(t)){for(o=t.replace(I,"|").split("|"),p=0;p<o.length;p++)o[p]=r(o[p]);return o.join(",")}if(p=(e=t.match(_)||[]).length,h>p--)for(;++p<h;)e[p]=n?e[(p-1)/2|0]:a[p];return s+e.join(l)+u}:function(t){return t}},gt=function(t){return t=t.split(","),function(e,n,i,r,o,a,s){var u,l=(n+"").split(" ");for(s={},u=0;u<4;u++)s[t[u]]=l[u]=l[u]||l[(u-1)/2>>0];return r.parse(e,s,o,a)}},vt=(F._setPluginRatio=function(t){this.plugin.setRatio(t);for(var e,n,i,r,o,a=this.data,s=a.proxy,u=a.firstMPT;u;)e=s[u.v],u.r?e=u.r(e):e<1e-6&&e>-1e-6&&(e=0),u.t[u.p]=e,u=u._next;if(a.autoRotate&&(a.autoRotate.rotation=a.mod?a.mod.call(this._tween,s.rotation,this.t,this._tween):s.rotation),1===t||0===t)for(u=a.firstMPT,o=1===t?"e":"b";u;){if((n=u.t).type){if(1===n.type){for(r=n.xs0+n.s+n.xs1,i=1;i<n.l;i++)r+=n["xn"+i]+n["xs"+(i+1)];n[o]=r}}else n[o]=n.s+n.xs0;u=u._next}},function(t,e,n,i,r){this.t=t,this.p=e,this.v=n,this.r=r,i&&(i._prev=this,this._next=i)}),yt=(F._parseToProxy=function(t,e,n,i,r,o){var a,s,u,l,h,c=i,p={},d={},f=n._transform,m=k;for(n._transform=null,k=e,i=h=n.parse(t,e,i,r),k=m,o&&(n._transform=f,c&&(c._prev=null,c._prev&&(c._prev._next=null)));i&&i!==c;){if(i.type<=1&&(d[s=i.p]=i.s+i.c,p[s]=i.s,o||(l=new vt(i,"s",s,l,i.r),i.c=0),1===i.type))for(a=i.l;--a>0;)u="xn"+a,d[s=i.p+"_"+u]=i.data[u],p[s]=i[u],o||(l=new vt(i,u,s,l,i.rxp[u]));i=i._next}return{proxy:p,end:d,firstMPT:l,pt:h}},F.CSSPropTween=function(e,n,i,o,a,s,u,l,h,c,p){this.t=e,this.p=n,this.s=i,this.c=o,this.n=u||n,e instanceof yt||r.push(this.n),this.r=l?"function"==typeof l?l:Math.round:l,this.type=s||0,h&&(this.pr=h,t=!0),this.b=void 0===c?i:c,this.e=void 0===p?i+o:p,a&&(this._next=a,a._prev=this)}),_t=function(t,e,n,i,r,o){var a=new yt(t,e,n,i-n,r,-1,o);return a.b=n,a.e=a.xs0=i,a},bt=o.parseComplex=function(t,e,n,i,r,a,s,u,h,c){n=n||a||"","function"==typeof i&&(i=i(g,m)),s=new yt(t,e,0,0,s,c?2:1,null,!1,u,n,i),i+="",r&&ft.test(i+n)&&(i=[n,i],o.colorStringFilter(i),n=i[0],i=i[1]);var p,d,f,_,b,x,w,A,S,T,E,M,P,C=n.split(", ").join(",").split(" "),L=i.split(", ").join(",").split(" "),R=C.length,O=!1!==l;for(-1===i.indexOf(",")&&-1===n.indexOf(",")||(-1!==(i+n).indexOf("rgb")||-1!==(i+n).indexOf("hsl")?(C=C.join(" ").replace(I,", ").split(" "),L=L.join(" ").replace(I,", ").split(" ")):(C=C.join(" ").split(",").join(", ").split(" "),L=L.join(" ").split(",").join(", ").split(" ")),R=C.length),R!==L.length&&(R=(C=(a||"").split(" ")).length),s.plugin=h,s.setRatio=c,ft.lastIndex=0,p=0;p<R;p++)if(_=C[p],b=L[p]+"",(A=parseFloat(_))||0===A)s.appendXtra("",A,st(b,A),b.replace(y,""),!(!O||-1===b.indexOf("px"))&&Math.round,!0);else if(r&&ft.test(_))M=")"+((M=b.indexOf(")")+1)?b.substr(M):""),P=-1!==b.indexOf("hsl")&&W,T=b,_=pt(_,P),b=pt(b,P),(S=_.length+b.length>6)&&!W&&0===b[3]?(s["xs"+s.l]+=s.l?" transparent":"transparent",s.e=s.e.split(L[p]).join("transparent")):(W||(S=!1),P?s.appendXtra(T.substr(0,T.indexOf("hsl"))+(S?"hsla(":"hsl("),_[0],st(b[0],_[0]),",",!1,!0).appendXtra("",_[1],st(b[1],_[1]),"%,",!1).appendXtra("",_[2],st(b[2],_[2]),S?"%,":"%"+M,!1):s.appendXtra(T.substr(0,T.indexOf("rgb"))+(S?"rgba(":"rgb("),_[0],b[0]-_[0],",",Math.round,!0).appendXtra("",_[1],b[1]-_[1],",",Math.round).appendXtra("",_[2],b[2]-_[2],S?",":M,Math.round),S&&(_=_.length<4?1:_[3],s.appendXtra("",_,(b.length<4?1:b[3])-_,M,!1))),ft.lastIndex=0;else if(x=_.match(v)){if(!(w=b.match(y))||w.length!==x.length)return s;for(f=0,d=0;d<x.length;d++)E=x[d],T=_.indexOf(E,f),s.appendXtra(_.substr(f,T-f),Number(E),st(w[d],E),"",!(!O||"px"!==_.substr(T+E.length,2))&&Math.round,0===d),f=T+E.length;s["xs"+s.l]+=_.substr(f)}else s["xs"+s.l]+=s.l||s["xs"+s.l]?" "+b:b;if(-1!==i.indexOf("=")&&s.data){for(M=s.xs0+s.data.s,p=1;p<s.l;p++)M+=s["xs"+p]+s.data["xn"+p];s.e=M+s["xs"+p]}return s.l||(s.type=-1,s.xs0=s.e),s.xfirst||s},xt=9;for((u=yt.prototype).l=u.pr=0;--xt>0;)u["xn"+xt]=0,u["xs"+xt]="";u.xs0="",u._next=u._prev=u.xfirst=u.data=u.plugin=u.setRatio=u.rxp=null,u.appendXtra=function(t,e,n,i,r,o){var a=this,s=a.l;return a["xs"+s]+=o&&(s||a["xs"+s])?" "+t:t||"",n||0===s||a.plugin?(a.l++,a.type=a.setRatio?2:1,a["xs"+a.l]=i||"",s>0?(a.data["xn"+s]=e+n,a.rxp["xn"+s]=r,a["xn"+s]=e,a.plugin||(a.xfirst=new yt(a,"xn"+s,e,n,a.xfirst||a,0,a.n,r,a.pr),a.xfirst.xs0=0),a):(a.data={s:e+n},a.rxp={},a.s=e,a.c=n,a.r=r,a)):(a["xs"+s]+=e+(i||""),a)};var wt=function(t,e){e=e||{},this.p=e.prefix&&q(t)||t,s[t]=s[this.p]=this,this.format=e.formatter||mt(e.defaultValue,e.color,e.collapsible,e.multi),e.parser&&(this.parse=e.parser),this.clrs=e.color,this.multi=e.multi,this.keyword=e.keyword,this.dflt=e.defaultValue,this.pr=e.priority||0},At=F._registerComplexSpecialProp=function(t,e,n){"object"!=typeof e&&(e={parser:n});var i,r=t.split(","),o=e.defaultValue;for(n=n||[o],i=0;i<r.length;i++)e.prefix=0===i&&e.prefix,e.defaultValue=n[i]||o,new wt(r[i],e)},St=F._registerPluginProp=function(t){if(!s[t]){var e=t.charAt(0).toUpperCase()+t.substr(1)+"Plugin";At(t,{parser:function(t,n,i,r,o,u,l){var h=a.com.greensock.plugins[e];return h?(h._cssRegister(),s[i].parse(t,n,i,r,o,u,l)):(Y("Error: "+e+" js file not loaded."),o)}})}};(u=wt.prototype).parseComplex=function(t,e,n,i,r,o){var a,s,u,l,h,c,p=this.keyword;if(this.multi&&(I.test(n)||I.test(e)?(s=e.replace(I,"|").split("|"),u=n.replace(I,"|").split("|")):p&&(s=[e],u=[n])),u){for(l=u.length>s.length?u.length:s.length,a=0;a<l;a++)e=s[a]=s[a]||this.dflt,n=u[a]=u[a]||this.dflt,p&&(h=e.indexOf(p))!==(c=n.indexOf(p))&&(-1===c?s[a]=s[a].split(p).join(""):-1===h&&(s[a]+=" "+p));e=s.join(", "),n=u.join(", ")}return bt(t,this.p,e,n,this.clrs,this.dflt,i,this.pr,r,o)},u.parse=function(t,e,i,r,o,a,s){return this.parseComplex(t.style,this.format(J(t,this.p,n,!1,this.dflt)),this.format(e),o,a)},o.registerSpecialProp=function(t,e,n){At(t,{parser:function(t,i,r,o,a,s,u){var l=new yt(t,r,0,0,a,2,r,!1,n);return l.plugin=s,l.setRatio=e(t,i,o._tween,r),l},priority:n})},o.useSVGTransformAttr=!0;var Tt,Et="scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective,xPercent,yPercent".split(","),Mt=q("transform"),Pt=K+"transform",Ct=q("transformOrigin"),Lt=null!==q("perspective"),Rt=F.Transform=function(){this.perspective=parseFloat(o.defaultTransformPerspective)||0,this.force3D=!(!1===o.defaultForce3D||!Lt)&&(o.defaultForce3D||"auto")},Ot=i.k.SVGElement,It=function(t,e,n){var i,r=U.createElementNS("http://www.w3.org/2000/svg",t),o=/([a-z])([A-Z])/g;for(i in n)r.setAttributeNS(null,i.replace(o,"$1-$2").toLowerCase(),n[i]);return e.appendChild(r),r},Nt=U.documentElement||{},Dt=function(){var t,e,n,r=f||/Android/i.test(j)&&!i.k.chrome;return U.createElementNS&&!r&&(t=It("svg",Nt),n=(e=It("rect",t,{width:100,height:50,x:100})).getBoundingClientRect().width,e.style[Ct]="50% 50%",e.style[Mt]="scaleX(0.5)",r=n===e.getBoundingClientRect().width&&!(p&&Lt),Nt.removeChild(t)),r}(),Bt=function(t,e,n,i,r,a){var s,u,l,h,c,p,d,f,m,g,v,y,_,b,x=t._gsTransform,w=Vt(t,!0);x&&(_=x.xOrigin,b=x.yOrigin),(!i||(s=i.split(" ")).length<2)&&(0===(d=t.getBBox()).x&&0===d.y&&d.width+d.height===0&&(d={x:parseFloat(t.hasAttribute("x")?t.getAttribute("x"):t.hasAttribute("cx")?t.getAttribute("cx"):0)||0,y:parseFloat(t.hasAttribute("y")?t.getAttribute("y"):t.hasAttribute("cy")?t.getAttribute("cy"):0)||0,width:0,height:0}),s=[(-1!==(e=at(e).split(" "))[0].indexOf("%")?parseFloat(e[0])/100*d.width:parseFloat(e[0]))+d.x,(-1!==e[1].indexOf("%")?parseFloat(e[1])/100*d.height:parseFloat(e[1]))+d.y]),n.xOrigin=h=parseFloat(s[0]),n.yOrigin=c=parseFloat(s[1]),i&&w!==Ut&&(p=w[0],d=w[1],f=w[2],m=w[3],g=w[4],v=w[5],(y=p*m-d*f)&&(u=h*(m/y)+c*(-f/y)+(f*v-m*g)/y,l=h*(-d/y)+c*(p/y)-(p*v-d*g)/y,h=n.xOrigin=s[0]=u,c=n.yOrigin=s[1]=l)),x&&(a&&(n.xOffset=x.xOffset,n.yOffset=x.yOffset,x=n),r||!1!==r&&!1!==o.defaultSmoothOrigin?(u=h-_,l=c-b,x.xOffset+=u*w[0]+l*w[2]-u,x.yOffset+=u*w[1]+l*w[3]-l):x.xOffset=x.yOffset=0),a||t.setAttribute("data-svg-origin",s.join(" "))},kt=function(t){var e,n=V("svg",this.ownerSVGElement&&this.ownerSVGElement.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),i=this.parentNode,r=this.nextSibling,o=this.style.cssText;if(Nt.appendChild(n),n.appendChild(this),this.style.display="block",t)try{e=this.getBBox(),this._originalGetBBox=this.getBBox,this.getBBox=kt}catch(t){}else this._originalGetBBox&&(e=this._originalGetBBox());return r?i.insertBefore(this,r):i.appendChild(this),Nt.removeChild(n),this.style.cssText=o,e},Gt=function(t){return!(!Ot||!t.getCTM||t.parentNode&&!t.ownerSVGElement||!function(t){try{return t.getBBox()}catch(e){return kt.call(t,!0)}}(t))},Ut=[1,0,0,1,0,0],Vt=function(t,e){var n,i,r,o,a,s,u=t._gsTransform||new Rt,l=t.style;if(Mt?i=J(t,Pt,null,!0):t.currentStyle&&(i=(i=t.currentStyle.filter.match(R))&&4===i.length?[i[0].substr(4),Number(i[2].substr(4)),Number(i[1].substr(4)),i[3].substr(4),u.x||0,u.y||0].join(","):""),n=!i||"none"===i||"matrix(1, 0, 0, 1, 0, 0)"===i,!Mt||!(s=!Q(t)||"none"===Q(t).display)&&t.parentNode||(s&&(o=l.display,l.display="block"),t.parentNode||(a=1,Nt.appendChild(t)),n=!(i=J(t,Pt,null,!0))||"none"===i||"matrix(1, 0, 0, 1, 0, 0)"===i,o?l.display=o:s&&Wt(l,"display"),a&&Nt.removeChild(t)),(u.svg||t.getCTM&&Gt(t))&&(n&&-1!==(l[Mt]+"").indexOf("matrix")&&(i=l[Mt],n=0),r=t.getAttribute("transform"),n&&r&&(i="matrix("+(r=t.transform.baseVal.consolidate().matrix).a+","+r.b+","+r.c+","+r.d+","+r.e+","+r.f+")",n=0)),n)return Ut;for(r=(i||"").match(v)||[],xt=r.length;--xt>-1;)o=Number(r[xt]),r[xt]=(a=o-(o|=0))?(1e5*a+(a<0?-.5:.5)|0)/1e5+o:o;return e&&r.length>6?[r[0],r[1],r[4],r[5],r[12],r[13]]:r},zt=F.getTransform=function(t,e,n,r){if(t._gsTransform&&n&&!r)return t._gsTransform;var a,s,u,l,h,c,p=n&&t._gsTransform||new Rt,d=p.scaleX<0,f=Lt&&(parseFloat(J(t,Ct,e,!1,"0 0 0").split(" ")[2])||p.zOrigin)||0,m=parseFloat(o.defaultTransformPerspective)||0;if(p.svg=!(!t.getCTM||!Gt(t)),p.svg&&(Bt(t,J(t,Ct,e,!1,"50% 50%")+"",p,t.getAttribute("data-svg-origin")),Tt=o.useSVGTransformAttr||Dt),(a=Vt(t))!==Ut){if(16===a.length){var g,v,y,_,b,x=a[0],w=a[1],A=a[2],S=a[3],T=a[4],E=a[5],M=a[6],P=a[7],C=a[8],L=a[9],R=a[10],O=a[12],I=a[13],N=a[14],D=a[11],k=Math.atan2(M,R);p.zOrigin&&(O=C*(N=-p.zOrigin)-a[12],I=L*N-a[13],N=R*N+p.zOrigin-a[14]),p.rotationX=k*B,k&&(g=T*(_=Math.cos(-k))+C*(b=Math.sin(-k)),v=E*_+L*b,y=M*_+R*b,C=T*-b+C*_,L=E*-b+L*_,R=M*-b+R*_,D=P*-b+D*_,T=g,E=v,M=y),k=Math.atan2(-A,R),p.rotationY=k*B,k&&(v=w*(_=Math.cos(-k))-L*(b=Math.sin(-k)),y=A*_-R*b,L=w*b+L*_,R=A*b+R*_,D=S*b+D*_,x=g=x*_-C*b,w=v,A=y),k=Math.atan2(w,x),p.rotation=k*B,k&&(g=x*(_=Math.cos(k))+w*(b=Math.sin(k)),v=T*_+E*b,y=C*_+L*b,w=w*_-x*b,E=E*_-T*b,L=L*_-C*b,x=g,T=v,C=y),p.rotationX&&Math.abs(p.rotationX)+Math.abs(p.rotation)>359.9&&(p.rotationX=p.rotation=0,p.rotationY=180-p.rotationY),k=Math.atan2(T,E),p.scaleX=(1e5*Math.sqrt(x*x+w*w+A*A)+.5|0)/1e5,p.scaleY=(1e5*Math.sqrt(E*E+M*M)+.5|0)/1e5,p.scaleZ=(1e5*Math.sqrt(C*C+L*L+R*R)+.5|0)/1e5,x/=p.scaleX,T/=p.scaleY,w/=p.scaleX,E/=p.scaleY,Math.abs(k)>2e-5?(p.skewX=k*B,T=0,"simple"!==p.skewType&&(p.scaleY*=1/Math.cos(k))):p.skewX=0,p.perspective=D?1/(D<0?-D:D):0,p.x=O,p.y=I,p.z=N,p.svg&&(p.x-=p.xOrigin-(p.xOrigin*x-p.yOrigin*T),p.y-=p.yOrigin-(p.yOrigin*w-p.xOrigin*E))}else if(!Lt||r||!a.length||p.x!==a[4]||p.y!==a[5]||!p.rotationX&&!p.rotationY){var G=a.length>=6,U=G?a[0]:1,V=a[1]||0,z=a[2]||0,H=G?a[3]:1;p.x=a[4]||0,p.y=a[5]||0,u=Math.sqrt(U*U+V*V),l=Math.sqrt(H*H+z*z),h=U||V?Math.atan2(V,U)*B:p.rotation||0,c=z||H?Math.atan2(z,H)*B+h:p.skewX||0,p.scaleX=u,p.scaleY=l,p.rotation=h,p.skewX=c,Lt&&(p.rotationX=p.rotationY=p.z=0,p.perspective=m,p.scaleZ=1),p.svg&&(p.x-=p.xOrigin-(p.xOrigin*U+p.yOrigin*z),p.y-=p.yOrigin-(p.xOrigin*V+p.yOrigin*H))}for(s in Math.abs(p.skewX)>90&&Math.abs(p.skewX)<270&&(d?(p.scaleX*=-1,p.skewX+=p.rotation<=0?180:-180,p.rotation+=p.rotation<=0?180:-180):(p.scaleY*=-1,p.skewX+=p.skewX<=0?180:-180)),p.zOrigin=f,p)p[s]<2e-5&&p[s]>-2e-5&&(p[s]=0)}return n&&(t._gsTransform=p,p.svg&&(Tt&&t.style[Mt]?i.l.delayedCall(.001,function(){Wt(t.style,Mt)}):!Tt&&t.getAttribute("transform")&&i.l.delayedCall(.001,function(){t.removeAttribute("transform")}))),p},Ht=function(t){var e,n,i=this.data,r=-i.rotation*D,o=r+i.skewX*D,a=(Math.cos(r)*i.scaleX*1e5|0)/1e5,s=(Math.sin(r)*i.scaleX*1e5|0)/1e5,u=(Math.sin(o)*-i.scaleY*1e5|0)/1e5,l=(Math.cos(o)*i.scaleY*1e5|0)/1e5,h=this.t.style,c=this.t.currentStyle;if(c){n=s,s=-u,u=-n,e=c.filter,h.filter="";var p,d,m=this.t.offsetWidth,g=this.t.offsetHeight,v="absolute"!==c.position,y="progid:DXImageTransform.Microsoft.Matrix(M11="+a+", M12="+s+", M21="+u+", M22="+l,_=i.x+m*i.xPercent/100,b=i.y+g*i.yPercent/100;if(null!=i.ox&&(_+=(p=(i.oxp?m*i.ox*.01:i.ox)-m/2)-(p*a+(d=(i.oyp?g*i.oy*.01:i.oy)-g/2)*s),b+=d-(p*u+d*l)),y+=v?", Dx="+((p=m/2)-(p*a+(d=g/2)*s)+_)+", Dy="+(d-(p*u+d*l)+b)+")":", sizingMethod='auto expand')",-1!==e.indexOf("DXImageTransform.Microsoft.Matrix(")?h.filter=e.replace(O,y):h.filter=y+" "+e,0!==t&&1!==t||1===a&&0===s&&0===u&&1===l&&(v&&-1===y.indexOf("Dx=0, Dy=0")||w.test(e)&&100!==parseFloat(RegExp.$1)||-1===e.indexOf(e.indexOf("Alpha"))&&h.removeAttribute("filter")),!v){var A,S,T,E=f<8?1:-1;for(p=i.ieOffsetX||0,d=i.ieOffsetY||0,i.ieOffsetX=Math.round((m-((a<0?-a:a)*m+(s<0?-s:s)*g))/2+_),i.ieOffsetY=Math.round((g-((l<0?-l:l)*g+(u<0?-u:u)*m))/2+b),xt=0;xt<4;xt++)T=(n=-1!==(A=c[S=rt[xt]]).indexOf("px")?parseFloat(A):$(this.t,S,parseFloat(A),A.replace(x,""))||0)!==i[S]?xt<2?-i.ieOffsetX:-i.ieOffsetY:xt<2?p-i.ieOffsetX:d-i.ieOffsetY,h[S]=(i[S]=Math.round(n-T*(0===xt||2===xt?1:E)))+"px"}}},Ft=F.set3DTransformRatio=F.setTransformRatio=function(t){var e,n,i,r,o,a,s,u,l,h,c,d,f,m,g,v,y,_,b,x,w,A=this.data,S=this.t.style,T=A.rotation,E=A.rotationX,M=A.rotationY,P=A.scaleX,C=A.scaleY,L=A.scaleZ,R=A.x,O=A.y,I=A.z,N=A.svg,B=A.perspective,k=A.force3D,G=A.skewY,U=A.skewX;if(G&&(U+=G,T+=G),!((1!==t&&0!==t||"auto"!==k||this.tween._totalTime!==this.tween._totalDuration&&this.tween._totalTime)&&k||I||B||M||E||1!==L)||Tt&&N||!Lt)T||U||N?(T*=D,x=U*D,w=1e5,n=Math.cos(T)*P,o=Math.sin(T)*P,i=Math.sin(T-x)*-C,a=Math.cos(T-x)*C,x&&"simple"===A.skewType&&(e=Math.tan(x-G*D),i*=e=Math.sqrt(1+e*e),a*=e,G&&(e=Math.tan(G*D),n*=e=Math.sqrt(1+e*e),o*=e)),N&&(R+=A.xOrigin-(A.xOrigin*n+A.yOrigin*i)+A.xOffset,O+=A.yOrigin-(A.xOrigin*o+A.yOrigin*a)+A.yOffset,Tt&&(A.xPercent||A.yPercent)&&(g=this.t.getBBox(),R+=.01*A.xPercent*g.width,O+=.01*A.yPercent*g.height),R<(g=1e-6)&&R>-g&&(R=0),O<g&&O>-g&&(O=0)),b=(n*w|0)/w+","+(o*w|0)/w+","+(i*w|0)/w+","+(a*w|0)/w+","+R+","+O+")",N&&Tt?this.t.setAttribute("transform","matrix("+b):S[Mt]=(A.xPercent||A.yPercent?"translate("+A.xPercent+"%,"+A.yPercent+"%) matrix(":"matrix(")+b):S[Mt]=(A.xPercent||A.yPercent?"translate("+A.xPercent+"%,"+A.yPercent+"%) matrix(":"matrix(")+P+",0,0,"+C+","+R+","+O+")";else{if(p&&(P<(g=1e-4)&&P>-g&&(P=L=2e-5),C<g&&C>-g&&(C=L=2e-5),!B||A.z||A.rotationX||A.rotationY||(B=0)),T||U)T*=D,v=n=Math.cos(T),y=o=Math.sin(T),U&&(T-=U*D,v=Math.cos(T),y=Math.sin(T),"simple"===A.skewType&&(e=Math.tan((U-G)*D),v*=e=Math.sqrt(1+e*e),y*=e,A.skewY&&(e=Math.tan(G*D),n*=e=Math.sqrt(1+e*e),o*=e))),i=-y,a=v;else{if(!(M||E||1!==L||B||N))return void(S[Mt]=(A.xPercent||A.yPercent?"translate("+A.xPercent+"%,"+A.yPercent+"%) translate3d(":"translate3d(")+R+"px,"+O+"px,"+I+"px)"+(1!==P||1!==C?" scale("+P+","+C+")":""));n=a=1,i=o=0}h=1,r=s=u=l=c=d=0,f=B?-1/B:0,m=A.zOrigin,g=1e-6,",","0",(T=M*D)&&(v=Math.cos(T),u=-(y=Math.sin(T)),c=f*-y,r=n*y,s=o*y,h=v,f*=v,n*=v,o*=v),(T=E*D)&&(e=i*(v=Math.cos(T))+r*(y=Math.sin(T)),_=a*v+s*y,l=h*y,d=f*y,r=i*-y+r*v,s=a*-y+s*v,h*=v,f*=v,i=e,a=_),1!==L&&(r*=L,s*=L,h*=L,f*=L),1!==C&&(i*=C,a*=C,l*=C,d*=C),1!==P&&(n*=P,o*=P,u*=P,c*=P),(m||N)&&(m&&(R+=r*-m,O+=s*-m,I+=h*-m+m),N&&(R+=A.xOrigin-(A.xOrigin*n+A.yOrigin*i)+A.xOffset,O+=A.yOrigin-(A.xOrigin*o+A.yOrigin*a)+A.yOffset),R<g&&R>-g&&(R="0"),O<g&&O>-g&&(O="0"),I<g&&I>-g&&(I=0)),b=A.xPercent||A.yPercent?"translate("+A.xPercent+"%,"+A.yPercent+"%) matrix3d(":"matrix3d(",b+=(n<g&&n>-g?"0":n)+","+(o<g&&o>-g?"0":o)+","+(u<g&&u>-g?"0":u),b+=","+(c<g&&c>-g?"0":c)+","+(i<g&&i>-g?"0":i)+","+(a<g&&a>-g?"0":a),E||M||1!==L?(b+=","+(l<g&&l>-g?"0":l)+","+(d<g&&d>-g?"0":d)+","+(r<g&&r>-g?"0":r),b+=","+(s<g&&s>-g?"0":s)+","+(h<g&&h>-g?"0":h)+","+(f<g&&f>-g?"0":f)+","):b+=",0,0,0,0,1,0,",b+=R+","+O+","+I+","+(B?1+-I/B:1)+")",S[Mt]=b}};(u=Rt.prototype).x=u.y=u.z=u.skewX=u.skewY=u.rotation=u.rotationX=u.rotationY=u.zOrigin=u.xPercent=u.yPercent=u.xOffset=u.yOffset=0,u.scaleX=u.scaleY=u.scaleZ=1,At("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,svgOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType,xPercent,yPercent,smoothOrigin",{parser:function(t,e,i,r,a,s,u){if(r._lastParsedTransform===u)return a;r._lastParsedTransform=u;var l,h=u.scale&&"function"==typeof u.scale?u.scale:0;"function"==typeof u[i]&&(l=u[i],u[i]=e),h&&(u.scale=h(g,t));var c,p,d,f,v,y,_,b,x,w=t._gsTransform,A=t.style,S=Et.length,T=u,E={},M=zt(t,n,!0,T.parseTransform),P=T.transform&&("function"==typeof T.transform?T.transform(g,m):T.transform);if(M.skewType=T.skewType||M.skewType||o.defaultSkewType,r._transform=M,"rotationZ"in T&&(T.rotation=T.rotationZ),P&&"string"==typeof P&&Mt)(p=z.style)[Mt]=P,p.display="block",p.position="absolute",-1!==P.indexOf("%")&&(p.width=J(t,"width"),p.height=J(t,"height")),U.body.appendChild(z),c=zt(z,null,!1),"simple"===M.skewType&&(c.scaleY*=Math.cos(c.skewX*D)),M.svg&&(y=M.xOrigin,_=M.yOrigin,c.x-=M.xOffset,c.y-=M.yOffset,(T.transformOrigin||T.svgOrigin)&&(P={},Bt(t,at(T.transformOrigin),P,T.svgOrigin,T.smoothOrigin,!0),y=P.xOrigin,_=P.yOrigin,c.x-=P.xOffset-M.xOffset,c.y-=P.yOffset-M.yOffset),(y||_)&&(b=Vt(z,!0),c.x-=y-(y*b[0]+_*b[2]),c.y-=_-(y*b[1]+_*b[3]))),U.body.removeChild(z),c.perspective||(c.perspective=M.perspective),null!=T.xPercent&&(c.xPercent=ut(T.xPercent,M.xPercent)),null!=T.yPercent&&(c.yPercent=ut(T.yPercent,M.yPercent));else if("object"==typeof T){if(c={scaleX:ut(null!=T.scaleX?T.scaleX:T.scale,M.scaleX),scaleY:ut(null!=T.scaleY?T.scaleY:T.scale,M.scaleY),scaleZ:ut(T.scaleZ,M.scaleZ),x:ut(T.x,M.x),y:ut(T.y,M.y),z:ut(T.z,M.z),xPercent:ut(T.xPercent,M.xPercent),yPercent:ut(T.yPercent,M.yPercent),perspective:ut(T.transformPerspective,M.perspective)},null!=(v=T.directionalRotation))if("object"==typeof v)for(p in v)T[p]=v[p];else T.rotation=v;"string"==typeof T.x&&-1!==T.x.indexOf("%")&&(c.x=0,c.xPercent=ut(T.x,M.xPercent)),"string"==typeof T.y&&-1!==T.y.indexOf("%")&&(c.y=0,c.yPercent=ut(T.y,M.yPercent)),c.rotation=lt("rotation"in T?T.rotation:"shortRotation"in T?T.shortRotation+"_short":M.rotation,M.rotation,"rotation",E),Lt&&(c.rotationX=lt("rotationX"in T?T.rotationX:"shortRotationX"in T?T.shortRotationX+"_short":M.rotationX||0,M.rotationX,"rotationX",E),c.rotationY=lt("rotationY"in T?T.rotationY:"shortRotationY"in T?T.shortRotationY+"_short":M.rotationY||0,M.rotationY,"rotationY",E)),c.skewX=lt(T.skewX,M.skewX),c.skewY=lt(T.skewY,M.skewY)}for(Lt&&null!=T.force3D&&(M.force3D=T.force3D,f=!0),(d=M.force3D||M.z||M.rotationX||M.rotationY||c.z||c.rotationX||c.rotationY||c.perspective)||null==T.scale||(c.scaleZ=1);--S>-1;)((P=c[x=Et[S]]-M[x])>1e-6||P<-1e-6||null!=T[x]||null!=k[x])&&(f=!0,a=new yt(M,x,M[x],P,a),x in E&&(a.e=E[x]),a.xs0=0,a.plugin=s,r._overwriteProps.push(a.n));return P=T.transformOrigin,M.svg&&(P||T.svgOrigin)&&(y=M.xOffset,_=M.yOffset,Bt(t,at(P),c,T.svgOrigin,T.smoothOrigin),a=_t(M,"xOrigin",(w?M:c).xOrigin,c.xOrigin,a,"transformOrigin"),a=_t(M,"yOrigin",(w?M:c).yOrigin,c.yOrigin,a,"transformOrigin"),y===M.xOffset&&_===M.yOffset||(a=_t(M,"xOffset",w?y:M.xOffset,M.xOffset,a,"transformOrigin"),a=_t(M,"yOffset",w?_:M.yOffset,M.yOffset,a,"transformOrigin")),P="0px 0px"),(P||Lt&&d&&M.zOrigin)&&(Mt?(f=!0,x=Ct,P=(P||J(t,x,n,!1,"50% 50%"))+"",(a=new yt(A,x,0,0,a,-1,"transformOrigin")).b=A[x],a.plugin=s,Lt?(p=M.zOrigin,P=P.split(" "),M.zOrigin=(P.length>2&&(0===p||"0px"!==P[2])?parseFloat(P[2]):p)||0,a.xs0=a.e=P[0]+" "+(P[1]||"50%")+" 0px",(a=new yt(M,"zOrigin",0,0,a,-1,a.n)).b=p,a.xs0=a.e=M.zOrigin):a.xs0=a.e=P):at(P+"",M)),f&&(r._transformType=M.svg&&Tt||!d&&3!==this._transformType?2:3),l&&(u[i]=l),h&&(u.scale=h),a},prefix:!0}),At("boxShadow",{defaultValue:"0px 0px 0px 0px #999",prefix:!0,color:!0,multi:!0,keyword:"inset"}),At("borderRadius",{defaultValue:"0px",parser:function(t,i,r,o,a,s){i=this.format(i);var u,l,h,c,p,d,f,m,g,v,y,_,b,x,w,A,S=["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],T=t.style;for(g=parseFloat(t.offsetWidth),v=parseFloat(t.offsetHeight),u=i.split(" "),l=0;l<S.length;l++)this.p.indexOf("border")&&(S[l]=q(S[l])),-1!==(p=c=J(t,S[l],n,!1,"0px")).indexOf(" ")&&(p=(c=p.split(" "))[0],c=c[1]),d=h=u[l],f=parseFloat(p),_=p.substr((f+"").length),(b="="===d.charAt(1))?(m=parseInt(d.charAt(0)+"1",10),d=d.substr(2),m*=parseFloat(d),y=d.substr((m+"").length-(m<0?1:0))||""):(m=parseFloat(d),y=d.substr((m+"").length)),""===y&&(y=e[r]||_),y!==_&&(x=$(t,"borderLeft",f,_),w=$(t,"borderTop",f,_),"%"===y?(p=x/g*100+"%",c=w/v*100+"%"):"em"===y?(p=x/(A=$(t,"borderLeft",1,"em"))+"em",c=w/A+"em"):(p=x+"px",c=w+"px"),b&&(d=parseFloat(p)+m+y,h=parseFloat(c)+m+y)),a=bt(T,S[l],p+" "+c,d+" "+h,!1,"0px",a);return a},prefix:!0,formatter:mt("0px 0px 0px 0px",!1,!0)}),At("borderBottomLeftRadius,borderBottomRightRadius,borderTopLeftRadius,borderTopRightRadius",{defaultValue:"0px",parser:function(t,e,i,r,o,a){return bt(t.style,i,this.format(J(t,i,n,!1,"0px 0px")),this.format(e),!1,"0px",o)},prefix:!0,formatter:mt("0px 0px",!1,!0)}),At("backgroundPosition",{defaultValue:"0 0",parser:function(t,e,i,r,o,a){var s,u,l,h,c,p,d="background-position",m=n||Q(t,null),g=this.format((m?f?m.getPropertyValue(d+"-x")+" "+m.getPropertyValue(d+"-y"):m.getPropertyValue(d):t.currentStyle.backgroundPositionX+" "+t.currentStyle.backgroundPositionY)||"0 0"),v=this.format(e);if(-1!==g.indexOf("%")!=(-1!==v.indexOf("%"))&&v.split(",").length<2&&(p=J(t,"backgroundImage").replace(P,""))&&"none"!==p){for(s=g.split(" "),u=v.split(" "),H.setAttribute("src",p),l=2;--l>-1;)(h=-1!==(g=s[l]).indexOf("%"))!==(-1!==u[l].indexOf("%"))&&(c=0===l?t.offsetWidth-H.width:t.offsetHeight-H.height,s[l]=h?parseFloat(g)/100*c+"px":parseFloat(g)/c*100+"%");g=s.join(" ")}return this.parseComplex(t.style,g,v,o,a)},formatter:at}),At("backgroundSize",{defaultValue:"0 0",formatter:function(t){return"co"===(t+="").substr(0,2)?t:at(-1===t.indexOf(" ")?t+" "+t:t)}}),At("perspective",{defaultValue:"0px",prefix:!0}),At("perspectiveOrigin",{defaultValue:"50% 50%",prefix:!0}),At("transformStyle",{prefix:!0}),At("backfaceVisibility",{prefix:!0}),At("userSelect",{prefix:!0}),At("margin",{parser:gt("marginTop,marginRight,marginBottom,marginLeft")}),At("padding",{parser:gt("paddingTop,paddingRight,paddingBottom,paddingLeft")}),At("clip",{defaultValue:"rect(0px,0px,0px,0px)",parser:function(t,e,i,r,o,a){var s,u,l;return f<9?(u=t.currentStyle,l=f<8?" ":",",s="rect("+u.clipTop+l+u.clipRight+l+u.clipBottom+l+u.clipLeft+")",e=this.format(e).split(",").join(l)):(s=this.format(J(t,this.p,n,!1,this.dflt)),e=this.format(e)),this.parseComplex(t.style,s,e,o,a)}}),At("textShadow",{defaultValue:"0px 0px 0px #999",color:!0,multi:!0}),At("autoRound,strictUnits",{parser:function(t,e,n,i,r){return r}}),At("border",{defaultValue:"0px solid #000",parser:function(t,e,i,r,o,a){var s=J(t,"borderTopWidth",n,!1,"0px"),u=this.format(e).split(" "),l=u[0].replace(x,"");return"px"!==l&&(s=parseFloat(s)/$(t,"borderTopWidth",1,l)+l),this.parseComplex(t.style,this.format(s+" "+J(t,"borderTopStyle",n,!1,"solid")+" "+J(t,"borderTopColor",n,!1,"#000")),u.join(" "),o,a)},color:!0,formatter:function(t){var e=t.split(" ");return e[0]+" "+(e[1]||"solid")+" "+(t.match(ft)||["#000"])[0]}}),At("borderWidth",{parser:gt("borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth")}),At("float,cssFloat,styleFloat",{parser:function(t,e,n,i,r,o){var a=t.style,s="cssFloat"in a?"cssFloat":"styleFloat";return new yt(a,s,0,0,r,-1,n,!1,0,a[s],e)}});var jt=function(t){var e,n=this.t,i=n.filter||J(this.data,"filter")||"",r=this.s+this.c*t|0;100===r&&(-1===i.indexOf("atrix(")&&-1===i.indexOf("radient(")&&-1===i.indexOf("oader(")?(n.removeAttribute("filter"),e=!J(this.data,"filter")):(n.filter=i.replace(S,""),e=!0)),e||(this.xn1&&(n.filter=i=i||"alpha(opacity="+r+")"),-1===i.indexOf("pacity")?0===r&&this.xn1||(n.filter=i+" alpha(opacity="+r+")"):n.filter=i.replace(w,"opacity="+r))};At("opacity,alpha,autoAlpha",{defaultValue:"1",parser:function(t,e,i,r,o,a){var s=parseFloat(J(t,"opacity",n,!1,"1")),u=t.style,l="autoAlpha"===i;return"string"==typeof e&&"="===e.charAt(1)&&(e=("-"===e.charAt(0)?-1:1)*parseFloat(e.substr(2))+s),l&&1===s&&"hidden"===J(t,"visibility",n)&&0!==e&&(s=0),W?o=new yt(u,"opacity",s,e-s,o):((o=new yt(u,"opacity",100*s,100*(e-s),o)).xn1=l?1:0,u.zoom=1,o.type=2,o.b="alpha(opacity="+o.s+")",o.e="alpha(opacity="+(o.s+o.c)+")",o.data=t,o.plugin=a,o.setRatio=jt),l&&((o=new yt(u,"visibility",0,0,o,-1,null,!1,0,0!==s?"inherit":"hidden",0===e?"hidden":"inherit")).xs0="inherit",r._overwriteProps.push(o.n),r._overwriteProps.push(i)),o}});var Wt=function(t,e){e&&(t.removeProperty?("ms"!==e.substr(0,2)&&"webkit"!==e.substr(0,6)||(e="-"+e),t.removeProperty(e.replace(E,"-$1").toLowerCase())):t.removeAttribute(e))},Xt=function(t){if(this.t._gsClassPT=this,1===t||0===t){this.t.setAttribute("class",0===t?this.b:this.e);for(var e=this.data,n=this.t.style;e;)e.v?n[e.p]=e.v:Wt(n,e.p),e=e._next;1===t&&this.t._gsClassPT===this&&(this.t._gsClassPT=null)}else this.t.getAttribute("class")!==this.e&&this.t.setAttribute("class",this.e)};At("className",{parser:function(e,i,r,o,a,s,u){var l,h,c,p,d,f=e.getAttribute("class")||"",m=e.style.cssText;if((a=o._classNamePT=new yt(e,r,0,0,a,2)).setRatio=Xt,a.pr=-11,t=!0,a.b=f,h=et(e,n),c=e._gsClassPT){for(p={},d=c.data;d;)p[d.p]=1,d=d._next;c.setRatio(1)}return e._gsClassPT=a,a.e="="!==i.charAt(1)?i:f.replace(new RegExp("(?:\\s|^)"+i.substr(2)+"(?![\\w-])"),"")+("+"===i.charAt(0)?" "+i.substr(2):""),e.setAttribute("class",a.e),l=nt(e,h,et(e),u,p),e.setAttribute("class",f),a.data=l.firstMPT,e.style.cssText=m,a=a.xfirst=o.parse(e,l.difs,a,s)}});var Yt=function(t){if((1===t||0===t)&&this.data._totalTime===this.data._totalDuration&&"isFromStart"!==this.data.data){var e,n,i,r,o,a=this.t.style,u=s.transform.parse;if("all"===this.e)a.cssText="",r=!0;else for(i=(e=this.e.split(" ").join("").split(",")).length;--i>-1;)n=e[i],s[n]&&(s[n].parse===u?r=!0:n="transformOrigin"===n?Ct:s[n].p),Wt(a,n);r&&(Wt(a,Mt),(o=this.t._gsTransform)&&(o.svg&&(this.t.removeAttribute("data-svg-origin"),this.t.removeAttribute("transform")),delete this.t._gsTransform))}};for(At("clearProps",{parser:function(e,n,i,r,o){return(o=new yt(e,i,0,0,o,2)).setRatio=Yt,o.e=n,o.pr=-10,o.data=r._tween,t=!0,o}}),u="bezier,throwProps,physicsProps,physics2D".split(","),xt=u.length;xt--;)St(u[xt]);(u=o.prototype)._firstPT=u._lastParsedTransform=u._transform=null,u._onInitTween=function(i,a,u,p){if(!i.nodeType)return!1;this._target=m=i,this._tween=u,this._vars=a,g=p,l=a.autoRound,t=!1,e=a.suffixMap||o.suffixMap,n=Q(i,""),r=this._overwriteProps;var f,v,y,_,b,x,w,S,T,E=i.style;if(h&&""===E.zIndex&&("auto"!==(f=J(i,"zIndex",n))&&""!==f||this._addLazySet(E,"zIndex",0)),"string"==typeof a&&(_=E.cssText,f=et(i,n),E.cssText=_+";"+a,f=nt(i,f,et(i)).difs,!W&&A.test(a)&&(f.opacity=parseFloat(RegExp.$1)),a=f,E.cssText=_),a.className?this._firstPT=v=s.className.parse(i,a.className,"className",this,null,null,a):this._firstPT=v=this.parse(i,a,null),this._transformType){for(T=3===this._transformType,Mt?c&&(h=!0,""===E.zIndex&&("auto"!==(w=J(i,"zIndex",n))&&""!==w||this._addLazySet(E,"zIndex",0)),d&&this._addLazySet(E,"WebkitBackfaceVisibility",this._vars.WebkitBackfaceVisibility||(T?"visible":"hidden"))):E.zoom=1,y=v;y&&y._next;)y=y._next;S=new yt(i,"transform",0,0,null,2),this._linkCSSP(S,null,y),S.setRatio=Mt?Ft:Ht,S.data=this._transform||zt(i,n,!0),S.tween=u,S.pr=-1,r.pop()}if(t){for(;v;){for(x=v._next,y=_;y&&y.pr>v.pr;)y=y._next;(v._prev=y?y._prev:b)?v._prev._next=v:_=v,(v._next=y)?y._prev=v:b=v,v=x}this._firstPT=_}return!0},u.parse=function(t,i,r,o){var a,u,h,c,p,d,f,v,y,_,b=t.style;for(a in i){if("function"==typeof(d=i[a])&&(d=d(g,m)),u=s[a])r=u.parse(t,d,a,this,r,o,i);else{if("--"===a.substr(0,2)){this._tween._propLookup[a]=this._addTween.call(this._tween,t.style,"setProperty",Q(t).getPropertyValue(a)+"",d+"",a,!1,a);continue}p=J(t,a,n)+"",y="string"==typeof d,"color"===a||"fill"===a||"stroke"===a||-1!==a.indexOf("Color")||y&&T.test(d)?(y||(d=((d=pt(d)).length>3?"rgba(":"rgb(")+d.join(",")+")"),r=bt(b,a,p,d,!0,"transparent",r,0,o)):y&&N.test(d)?r=bt(b,a,p,d,!0,null,r,0,o):(f=(h=parseFloat(p))||0===h?p.substr((h+"").length):"",""!==p&&"auto"!==p||("width"===a||"height"===a?(h=ot(t,a,n),f="px"):"left"===a||"top"===a?(h=tt(t,a,n),f="px"):(h="opacity"!==a?0:1,f="")),(_=y&&"="===d.charAt(1))?(c=parseInt(d.charAt(0)+"1",10),d=d.substr(2),c*=parseFloat(d),v=d.replace(x,"")):(c=parseFloat(d),v=y?d.replace(x,""):""),""===v&&(v=a in e?e[a]:f),d=c||0===c?(_?c+h:c)+v:i[a],f!==v&&(""===v&&"lineHeight"!==a||(c||0===c)&&h&&(h=$(t,a,h,f),"%"===v?(h/=$(t,a,100,"%")/100,!0!==i.strictUnits&&(p=h+"%")):"em"===v||"rem"===v||"vw"===v||"vh"===v?h/=$(t,a,1,v):"px"!==v&&(c=$(t,a,c,v),v="px"),_&&(c||0===c)&&(d=c+h+v))),_&&(c+=h),!h&&0!==h||!c&&0!==c?void 0!==b[a]&&(d||d+""!="NaN"&&null!=d)?(r=new yt(b,a,c||h||0,0,r,-1,a,!1,0,p,d)).xs0="none"!==d||"display"!==a&&-1===a.indexOf("Style")?d:p:Y("invalid "+a+" tween value: "+i[a]):(r=new yt(b,a,h,c-h,r,0,a,!1!==l&&("px"===v||"zIndex"===a),0,p,d)).xs0=v)}o&&r&&!r.plugin&&(r.plugin=o)}return r},u.setRatio=function(t){var e,n,i,r=this._firstPT;if(1!==t||this._tween._time!==this._tween._duration&&0!==this._tween._time)if(t||this._tween._time!==this._tween._duration&&0!==this._tween._time||-1e-6===this._tween._rawPrevTime)for(;r;){if(e=r.c*t+r.s,r.r?e=r.r(e):e<1e-6&&e>-1e-6&&(e=0),r.type)if(1===r.type)if(2===(i=r.l))r.t[r.p]=r.xs0+e+r.xs1+r.xn1+r.xs2;else if(3===i)r.t[r.p]=r.xs0+e+r.xs1+r.xn1+r.xs2+r.xn2+r.xs3;else if(4===i)r.t[r.p]=r.xs0+e+r.xs1+r.xn1+r.xs2+r.xn2+r.xs3+r.xn3+r.xs4;else if(5===i)r.t[r.p]=r.xs0+e+r.xs1+r.xn1+r.xs2+r.xn2+r.xs3+r.xn3+r.xs4+r.xn4+r.xs5;else{for(n=r.xs0+e+r.xs1,i=1;i<r.l;i++)n+=r["xn"+i]+r["xs"+(i+1)];r.t[r.p]=n}else-1===r.type?r.t[r.p]=r.xs0:r.setRatio&&r.setRatio(t);else r.t[r.p]=e+r.xs0;r=r._next}else for(;r;)2!==r.type?r.t[r.p]=r.b:r.setRatio(t),r=r._next;else for(;r;){if(2!==r.type)if(r.r&&-1!==r.type)if(e=r.r(r.s+r.c),r.type){if(1===r.type){for(i=r.l,n=r.xs0+e+r.xs1,i=1;i<r.l;i++)n+=r["xn"+i]+r["xs"+(i+1)];r.t[r.p]=n}}else r.t[r.p]=e+r.xs0;else r.t[r.p]=r.e;else r.setRatio(t);r=r._next}},u._enableTransforms=function(t){this._transform=this._transform||zt(this._target,n,!0),this._transformType=this._transform.svg&&Tt||!t&&3!==this._transformType?2:3};var Kt=function(t){this.t[this.p]=this.e,this.data._linkCSSP(this,this._next,null,!0)};u._addLazySet=function(t,e,n){var i=this._firstPT=new yt(t,e,0,0,this._firstPT,2);i.e=n,i.setRatio=Kt,i.data=this},u._linkCSSP=function(t,e,n,i){return t&&(e&&(e._prev=t),t._next&&(t._next._prev=t._prev),t._prev?t._prev._next=t._next:this._firstPT===t&&(this._firstPT=t._next,i=!0),n?n._next=t:i||null!==this._firstPT||(this._firstPT=t),t._next=e,t._prev=n),t},u._mod=function(t){for(var e=this._firstPT;e;)"function"==typeof t[e.p]&&(e.r=t[e.p]),e=e._next},u._kill=function(t){var e,n,r,o=t;if(t.autoAlpha||t.alpha){for(n in o={},t)o[n]=t[n];o.opacity=1,o.autoAlpha&&(o.visibility=1)}for(t.className&&(e=this._classNamePT)&&((r=e.xfirst)&&r._prev?this._linkCSSP(r._prev,e._next,r._prev._prev):r===this._firstPT&&(this._firstPT=e._next),e._next&&this._linkCSSP(e._next,e._next._next,r._prev),this._classNamePT=null),e=this._firstPT;e;)e.plugin&&e.plugin!==n&&e.plugin._kill&&(e.plugin._kill(t),n=e.plugin),e=e._next;return i.j.prototype._kill.call(this,o)};var Zt=function(t,e,n){var i,r,o,a;if(t.slice)for(r=t.length;--r>-1;)Zt(t[r],e,n);else for(r=(i=t.childNodes).length;--r>-1;)a=(o=i[r]).type,o.style&&(e.push(et(o)),n&&n.push(o)),1!==a&&9!==a&&11!==a||!o.childNodes.length||Zt(o,e,n)};return o.cascadeTo=function(t,e,n){var r,o,a,s,u=i.l.to(t,e,n),l=[u],h=[],c=[],p=[],d=i.l._internals.reservedProps;for(t=u._targets||u.target,Zt(t,h,p),u.render(e,!0,!0),Zt(t,c),u.render(0,!0,!0),u._enabled(!0),r=p.length;--r>-1;)if((o=nt(p[r],h[r],c[r])).firstMPT){for(a in o=o.difs,n)d[a]&&(o[a]=n[a]);for(a in s={},o)s[a]=h[r][a];l.push(i.l.fromTo(p[r],e,s,o))}return l},i.j.activate([o]),o},!0);var o=i.m.CSSPlugin,a=i.k._gsDefine.plugin({propName:"attr",API:2,version:"0.6.1",init:function(t,e,n,i){var r,o;if("function"!=typeof t.setAttribute)return!1;for(r in e)"function"==typeof(o=e[r])&&(o=o(i,t)),this._addTween(t,"setAttribute",t.getAttribute(r)+"",o+"",r,!1,r),this._overwriteProps.push(r);return!0}}),s=i.k._gsDefine.plugin({propName:"roundProps",version:"1.7.0",priority:-1,API:2,init:function(t,e,n){return this._tween=n,!0}}),u=function(t){var e=t<1?Math.pow(10,(t+"").length-2):1;return function(n){return(Math.round(n/t)*t*e|0)/e}},l=function(t,e){for(;t;)t.f||t.blob||(t.m=e||Math.round),t=t._next},h=s.prototype;
/*!
 * VERSION: 0.6.1
 * DATE: 2018-08-27
 * UPDATES AND DOCS AT: http://greensock.com
 *
 * @license Copyright (c) 2008-2018, GreenSock. All rights reserved.
 * This work is subject to the terms at http://greensock.com/standard-license or for
 * Club GreenSock members, the software agreement that was issued with your membership.
 * 
 * @author: Jack Doyle, jack@greensock.com
 */h._onInitAllProps=function(){var t,e,n,i,r=this._tween,o=r.vars.roundProps,a={},s=r._propLookup.roundProps;if("object"!=typeof o||o.push)for("string"==typeof o&&(o=o.split(",")),n=o.length;--n>-1;)a[o[n]]=Math.round;else for(i in o)a[i]=u(o[i]);for(i in a)for(t=r._firstPT;t;)e=t._next,t.pg?t.t._mod(a):t.n===i&&(2===t.f&&t.t?l(t.t._firstPT,a[i]):(this._add(t.t,i,t.s,t.c,a[i]),e&&(e._prev=t._prev),t._prev?t._prev._next=e:r._firstPT===t&&(r._firstPT=e),t._next=t._prev=null,r._propLookup[i]=s)),t=e;return!1},h._add=function(t,e,n,i,r){this._addTween(t,e,n,n+i,e,r||Math.round),this._overwriteProps.push(e)};
/*!
 * VERSION: 0.3.1
 * DATE: 2018-08-27
 * UPDATES AND DOCS AT: http://greensock.com
 *
 * @license Copyright (c) 2008-2018, GreenSock. All rights reserved.
 * This work is subject to the terms at http://greensock.com/standard-license or for
 * Club GreenSock members, the software agreement that was issued with your membership.
 * 
 * @author: Jack Doyle, jack@greensock.com
 **/
var c=i.k._gsDefine.plugin({propName:"directionalRotation",version:"0.3.1",API:2,init:function(t,e,n,i){"object"!=typeof e&&(e={rotation:e}),this.finals={};var r,o,a,s,u,l,h=!0===e.useRadians?2*Math.PI:360;for(r in e)"useRadians"!==r&&("function"==typeof(s=e[r])&&(s=s(i,t)),o=(l=(s+"").split("_"))[0],a=parseFloat("function"!=typeof t[r]?t[r]:t[r.indexOf("set")||"function"!=typeof t["get"+r.substr(3)]?r:"get"+r.substr(3)]()),u=(s=this.finals[r]="string"==typeof o&&"="===o.charAt(1)?a+parseInt(o.charAt(0)+"1",10)*Number(o.substr(2)):Number(o)||0)-a,l.length&&(-1!==(o=l.join("_")).indexOf("short")&&(u%=h)!==u%(h/2)&&(u=u<0?u+h:u-h),-1!==o.indexOf("_cw")&&u<0?u=(u+9999999999*h)%h-(u/h|0)*h:-1!==o.indexOf("ccw")&&u>0&&(u=(u-9999999999*h)%h-(u/h|0)*h)),(u>1e-6||u<-1e-6)&&(this._addTween(t,r,a,a+u,r),this._overwriteProps.push(r)));return!0},set:function(t){var e;if(1!==t)this._super.setRatio.call(this,t);else for(e=this._firstPT;e;)e.f?e.t[e.p](this.finals[e.p]):e.t[e.p]=this.finals[e.p],e=e._next}});c._autoCSS=!0,
/*!
 * VERSION: 2.0.2
 * DATE: 2018-08-27
 * UPDATES AND DOCS AT: http://greensock.com
 *
 * @license Copyright (c) 2008-2018, GreenSock. All rights reserved.
 * This work is subject to the terms at http://greensock.com/standard-license or for
 * Club GreenSock members, the software agreement that was issued with your membership.
 * 
 * @author: Jack Doyle, jack@greensock.com
 */
i.k._gsDefine("TimelineLite",["core.Animation","core.SimpleTimeline","TweenLite"],function(){var t=function(t){i.i.call(this,t),this._labels={},this.autoRemoveChildren=!0===this.vars.autoRemoveChildren,this.smoothChildTiming=!0===this.vars.smoothChildTiming,this._sortChildren=!0,this._onUpdate=this.vars.onUpdate;var e,n,r=this.vars;for(n in r)e=r[n],o(e)&&-1!==e.join("").indexOf("{self}")&&(r[n]=this._swapSelfInParams(e));o(r.tweens)&&this.add(r.tweens,0,r.align,r.stagger)},e=i.l._internals,n=t._internals={},r=e.isSelector,o=e.isArray,a=e.lazyTweens,s=e.lazyRender,u=i.k._gsDefine.globals,l=function(t){var e,n={};for(e in t)n[e]=t[e];return n},h=function(t,e,n){var i,r,o=t.cycle;for(i in o)r=o[i],t[i]="function"==typeof r?r(n,e[n]):r[n%r.length];delete t.cycle},c=n.pauseCallback=function(){},p=function(t){var e,n=[],i=t.length;for(e=0;e!==i;n.push(t[e++]));return n},d=t.prototype=new i.i;return t.version="2.0.2",d.constructor=t,d.kill()._gc=d._forcingPlayhead=d._hasPause=!1,d.to=function(t,e,n,r){var o=n.repeat&&u.TweenMax||i.l;return e?this.add(new o(t,e,n),r):this.set(t,n,r)},d.from=function(t,e,n,r){return this.add((n.repeat&&u.TweenMax||i.l).from(t,e,n),r)},d.fromTo=function(t,e,n,r,o){var a=r.repeat&&u.TweenMax||i.l;return e?this.add(a.fromTo(t,e,n,r),o):this.set(t,r,o)},d.staggerTo=function(e,n,o,a,s,u,c,d){var f,m,g=new t({onComplete:u,onCompleteParams:c,callbackScope:d,smoothChildTiming:this.smoothChildTiming}),v=o.cycle;for("string"==typeof e&&(e=i.l.selector(e)||e),r(e=e||[])&&(e=p(e)),(a=a||0)<0&&((e=p(e)).reverse(),a*=-1),m=0;m<e.length;m++)(f=l(o)).startAt&&(f.startAt=l(f.startAt),f.startAt.cycle&&h(f.startAt,e,m)),v&&(h(f,e,m),null!=f.duration&&(n=f.duration,delete f.duration)),g.to(e[m],n,f,m*a);return this.add(g,s)},d.staggerFrom=function(t,e,n,i,r,o,a,s){return n.immediateRender=0!=n.immediateRender,n.runBackwards=!0,this.staggerTo(t,e,n,i,r,o,a,s)},d.staggerFromTo=function(t,e,n,i,r,o,a,s,u){return i.startAt=n,i.immediateRender=0!=i.immediateRender&&0!=n.immediateRender,this.staggerTo(t,e,i,r,o,a,s,u)},d.call=function(t,e,n,r){return this.add(i.l.delayedCall(0,t,e,n),r)},d.set=function(t,e,n){return n=this._parseTimeOrLabel(n,0,!0),null==e.immediateRender&&(e.immediateRender=n===this._time&&!this._paused),this.add(new i.l(t,0,e),n)},t.exportRoot=function(e,n){null==(e=e||{}).smoothChildTiming&&(e.smoothChildTiming=!0);var r,o,a,s,u=new t(e),l=u._timeline;for(null==n&&(n=!0),l._remove(u,!0),u._startTime=0,u._rawPrevTime=u._time=u._totalTime=l._time,a=l._first;a;)s=a._next,n&&a instanceof i.l&&a.target===a.vars.onComplete||((o=a._startTime-a._delay)<0&&(r=1),u.add(a,o)),a=s;return l.add(u,0),r&&u.totalDuration(),u},d.add=function(e,n,r,a){var s,u,l,h,c,p;if("number"!=typeof n&&(n=this._parseTimeOrLabel(n,0,!0,e)),!(e instanceof i.a)){if(e instanceof Array||e&&e.push&&o(e)){for(r=r||"normal",a=a||0,s=n,u=e.length,l=0;l<u;l++)o(h=e[l])&&(h=new t({tweens:h})),this.add(h,s),"string"!=typeof h&&"function"!=typeof h&&("sequence"===r?s=h._startTime+h.totalDuration()/h._timeScale:"start"===r&&(h._startTime-=h.delay())),s+=a;return this._uncache(!0)}if("string"==typeof e)return this.addLabel(e,n);if("function"!=typeof e)throw"Cannot add "+e+" into the timeline; it is not a tween, timeline, function, or string.";e=i.l.delayedCall(0,e)}if(i.i.prototype.add.call(this,e,n),e._time&&(s=Math.max(0,Math.min(e.totalDuration(),(this.rawTime()-e._startTime)*e._timeScale)),Math.abs(s-e._totalTime)>1e-5&&e.render(s,!1,!1)),(this._gc||this._time===this._duration)&&!this._paused&&this._duration<this.duration())for(p=(c=this).rawTime()>e._startTime;c._timeline;)p&&c._timeline.smoothChildTiming?c.totalTime(c._totalTime,!0):c._gc&&c._enabled(!0,!1),c=c._timeline;return this},d.remove=function(t){if(t instanceof i.a){this._remove(t,!1);var e=t._timeline=t.vars.useFrames?i.a._rootFramesTimeline:i.a._rootTimeline;return t._startTime=(t._paused?t._pauseTime:e._time)-(t._reversed?t.totalDuration()-t._totalTime:t._totalTime)/t._timeScale,this}if(t instanceof Array||t&&t.push&&o(t)){for(var n=t.length;--n>-1;)this.remove(t[n]);return this}return"string"==typeof t?this.removeLabel(t):this.kill(null,t)},d._remove=function(t,e){return i.i.prototype._remove.call(this,t,e),this._last?this._time>this.duration()&&(this._time=this._duration,this._totalTime=this._totalDuration):this._time=this._totalTime=this._duration=this._totalDuration=0,this},d.append=function(t,e){return this.add(t,this._parseTimeOrLabel(null,e,!0,t))},d.insert=d.insertMultiple=function(t,e,n,i){return this.add(t,e||0,n,i)},d.appendMultiple=function(t,e,n,i){return this.add(t,this._parseTimeOrLabel(null,e,!0,t),n,i)},d.addLabel=function(t,e){return this._labels[t]=this._parseTimeOrLabel(e),this},d.addPause=function(t,e,n,r){var o=i.l.delayedCall(0,c,n,r||this);return o.vars.onComplete=o.vars.onReverseComplete=e,o.data="isPause",this._hasPause=!0,this.add(o,t)},d.removeLabel=function(t){return delete this._labels[t],this},d.getLabelTime=function(t){return null!=this._labels[t]?this._labels[t]:-1},d._parseTimeOrLabel=function(t,e,n,r){var a,s;if(r instanceof i.a&&r.timeline===this)this.remove(r);else if(r&&(r instanceof Array||r.push&&o(r)))for(s=r.length;--s>-1;)r[s]instanceof i.a&&r[s].timeline===this&&this.remove(r[s]);if(a="number"!=typeof t||e?this.duration()>99999999999?this.recent().endTime(!1):this._duration:0,"string"==typeof e)return this._parseTimeOrLabel(e,n&&"number"==typeof t&&null==this._labels[e]?t-a:0,n);if(e=e||0,"string"!=typeof t||!isNaN(t)&&null==this._labels[t])null==t&&(t=a);else{if(-1===(s=t.indexOf("=")))return null==this._labels[t]?n?this._labels[t]=a+e:e:this._labels[t]+e;e=parseInt(t.charAt(s-1)+"1",10)*Number(t.substr(s+1)),t=s>1?this._parseTimeOrLabel(t.substr(0,s-1),0,n):a}return Number(t)+e},d.seek=function(t,e){return this.totalTime("number"==typeof t?t:this._parseTimeOrLabel(t),!1!==e)},d.stop=function(){return this.paused(!0)},d.gotoAndPlay=function(t,e){return this.play(t,e)},d.gotoAndStop=function(t,e){return this.pause(t,e)},d.render=function(t,e,n){this._gc&&this._enabled(!0,!1);var i,r,o,u,l,h,c,p=this._time,d=this._dirty?this.totalDuration():this._totalDuration,f=this._startTime,m=this._timeScale,g=this._paused;if(p!==this._time&&(t+=this._time-p),t>=d-1e-7&&t>=0)this._totalTime=this._time=d,this._reversed||this._hasPausedChild()||(r=!0,u="onComplete",l=!!this._timeline.autoRemoveChildren,0===this._duration&&(t<=0&&t>=-1e-7||this._rawPrevTime<0||1e-10===this._rawPrevTime)&&this._rawPrevTime!==t&&this._first&&(l=!0,this._rawPrevTime>1e-10&&(u="onReverseComplete"))),this._rawPrevTime=this._duration||!e||t||this._rawPrevTime===t?t:1e-10,t=d+1e-4;else if(t<1e-7)if(this._totalTime=this._time=0,(0!==p||0===this._duration&&1e-10!==this._rawPrevTime&&(this._rawPrevTime>0||t<0&&this._rawPrevTime>=0))&&(u="onReverseComplete",r=this._reversed),t<0)this._active=!1,this._timeline.autoRemoveChildren&&this._reversed?(l=r=!0,u="onReverseComplete"):this._rawPrevTime>=0&&this._first&&(l=!0),this._rawPrevTime=t;else{if(this._rawPrevTime=this._duration||!e||t||this._rawPrevTime===t?t:1e-10,0===t&&r)for(i=this._first;i&&0===i._startTime;)i._duration||(r=!1),i=i._next;t=0,this._initted||(l=!0)}else{if(this._hasPause&&!this._forcingPlayhead&&!e){if(t>=p)for(i=this._first;i&&i._startTime<=t&&!h;)i._duration||"isPause"!==i.data||i.ratio||0===i._startTime&&0===this._rawPrevTime||(h=i),i=i._next;else for(i=this._last;i&&i._startTime>=t&&!h;)i._duration||"isPause"===i.data&&i._rawPrevTime>0&&(h=i),i=i._prev;h&&(this._time=t=h._startTime,this._totalTime=t+this._cycle*(this._totalDuration+this._repeatDelay))}this._totalTime=this._time=this._rawPrevTime=t}if(this._time!==p&&this._first||n||l||h){if(this._initted||(this._initted=!0),this._active||!this._paused&&this._time!==p&&t>0&&(this._active=!0),0===p&&this.vars.onStart&&(0===this._time&&this._duration||e||this._callback("onStart")),(c=this._time)>=p)for(i=this._first;i&&(o=i._next,c===this._time&&(!this._paused||g));)(i._active||i._startTime<=c&&!i._paused&&!i._gc)&&(h===i&&this.pause(),i._reversed?i.render((i._dirty?i.totalDuration():i._totalDuration)-(t-i._startTime)*i._timeScale,e,n):i.render((t-i._startTime)*i._timeScale,e,n)),i=o;else for(i=this._last;i&&(o=i._prev,c===this._time&&(!this._paused||g));){if(i._active||i._startTime<=p&&!i._paused&&!i._gc){if(h===i){for(h=i._prev;h&&h.endTime()>this._time;)h.render(h._reversed?h.totalDuration()-(t-h._startTime)*h._timeScale:(t-h._startTime)*h._timeScale,e,n),h=h._prev;h=null,this.pause()}i._reversed?i.render((i._dirty?i.totalDuration():i._totalDuration)-(t-i._startTime)*i._timeScale,e,n):i.render((t-i._startTime)*i._timeScale,e,n)}i=o}this._onUpdate&&(e||(a.length&&s(),this._callback("onUpdate"))),u&&(this._gc||f!==this._startTime&&m===this._timeScale||(0===this._time||d>=this.totalDuration())&&(r&&(a.length&&s(),this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[u]&&this._callback(u)))}},d._hasPausedChild=function(){for(var e=this._first;e;){if(e._paused||e instanceof t&&e._hasPausedChild())return!0;e=e._next}return!1},d.getChildren=function(t,e,n,r){r=r||-9999999999;for(var o=[],a=this._first,s=0;a;)a._startTime<r||(a instanceof i.l?!1!==e&&(o[s++]=a):(!1!==n&&(o[s++]=a),!1!==t&&(s=(o=o.concat(a.getChildren(!0,e,n))).length))),a=a._next;return o},d.getTweensOf=function(t,e){var n,r,o=this._gc,a=[],s=0;for(o&&this._enabled(!0,!0),r=(n=i.l.getTweensOf(t)).length;--r>-1;)(n[r].timeline===this||e&&this._contains(n[r]))&&(a[s++]=n[r]);return o&&this._enabled(!1,!0),a},d.recent=function(){return this._recent},d._contains=function(t){for(var e=t.timeline;e;){if(e===this)return!0;e=e.timeline}return!1},d.shiftChildren=function(t,e,n){n=n||0;for(var i,r=this._first,o=this._labels;r;)r._startTime>=n&&(r._startTime+=t),r=r._next;if(e)for(i in o)o[i]>=n&&(o[i]+=t);return this._uncache(!0)},d._kill=function(t,e){if(!t&&!e)return this._enabled(!1,!1);for(var n=e?this.getTweensOf(e):this.getChildren(!0,!0,!1),i=n.length,r=!1;--i>-1;)n[i]._kill(t,e)&&(r=!0);return r},d.clear=function(t){var e=this.getChildren(!1,!0,!0),n=e.length;for(this._time=this._totalTime=0;--n>-1;)e[n]._enabled(!1,!1);return!1!==t&&(this._labels={}),this._uncache(!0)},d.invalidate=function(){for(var t=this._first;t;)t.invalidate(),t=t._next;return i.a.prototype.invalidate.call(this)},d._enabled=function(t,e){if(t===this._gc)for(var n=this._first;n;)n._enabled(t,!0),n=n._next;return i.i.prototype._enabled.call(this,t,e)},d.totalTime=function(t,e,n){this._forcingPlayhead=!0;var r=i.a.prototype.totalTime.apply(this,arguments);return this._forcingPlayhead=!1,r},d.duration=function(t){return arguments.length?(0!==this.duration()&&0!==t&&this.timeScale(this._duration/t),this):(this._dirty&&this.totalDuration(),this._duration)},d.totalDuration=function(t){if(!arguments.length){if(this._dirty){for(var e,n,i=0,r=this._last,o=999999999999;r;)e=r._prev,r._dirty&&r.totalDuration(),r._startTime>o&&this._sortChildren&&!r._paused&&!this._calculatingDuration?(this._calculatingDuration=1,this.add(r,r._startTime-r._delay),this._calculatingDuration=0):o=r._startTime,r._startTime<0&&!r._paused&&(i-=r._startTime,this._timeline.smoothChildTiming&&(this._startTime+=r._startTime/this._timeScale,this._time-=r._startTime,this._totalTime-=r._startTime,this._rawPrevTime-=r._startTime),this.shiftChildren(-r._startTime,!1,-9999999999),o=0),(n=r._startTime+r._totalDuration/r._timeScale)>i&&(i=n),r=e;this._duration=this._totalDuration=i,this._dirty=!1}return this._totalDuration}return t&&this.totalDuration()?this.timeScale(this._totalDuration/t):this},d.paused=function(t){if(!t)for(var e=this._first,n=this._time;e;)e._startTime===n&&"isPause"===e.data&&(e._rawPrevTime=0),e=e._next;return i.a.prototype.paused.apply(this,arguments)},d.usesFrames=function(){for(var t=this._timeline;t._timeline;)t=t._timeline;return t===i.a._rootFramesTimeline},d.rawTime=function(t){return t&&(this._paused||this._repeat&&this.time()>0&&this.totalProgress()<1)?this._totalTime%(this._duration+this._repeatDelay):this._paused?this._totalTime:(this._timeline.rawTime(t)-this._startTime)*this._timeScale},t},!0);var p=i.m.TimelineLite;
/*!
 * VERSION: 2.0.2
 * DATE: 2018-08-27
 * UPDATES AND DOCS AT: http://greensock.com
 *
 * @license Copyright (c) 2008-2018, GreenSock. All rights reserved.
 * This work is subject to the terms at http://greensock.com/standard-license or for
 * Club GreenSock members, the software agreement that was issued with your membership.
 * 
 * @author: Jack Doyle, jack@greensock.com
 */i.k._gsDefine("TimelineMax",["TimelineLite","TweenLite","easing.Ease"],function(){var t=function(t){p.call(this,t),this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._cycle=0,this._yoyo=!0===this.vars.yoyo,this._dirty=!0},e=i.l._internals,n=e.lazyTweens,r=e.lazyRender,o=i.k._gsDefine.globals,a=new i.b(null,null,1,0),s=t.prototype=new p;return s.constructor=t,s.kill()._gc=!1,t.version="2.0.2",s.invalidate=function(){return this._yoyo=!0===this.vars.yoyo,this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._uncache(!0),p.prototype.invalidate.call(this)},s.addCallback=function(t,e,n,r){return this.add(i.l.delayedCall(0,t,n,r),e)},s.removeCallback=function(t,e){if(t)if(null==e)this._kill(null,t);else for(var n=this.getTweensOf(t,!1),i=n.length,r=this._parseTimeOrLabel(e);--i>-1;)n[i]._startTime===r&&n[i]._enabled(!1,!1);return this},s.removePause=function(t){return this.removeCallback(p._internals.pauseCallback,t)},s.tweenTo=function(t,e){e=e||{};var n,r,s,u={ease:a,useFrames:this.usesFrames(),immediateRender:!1,lazy:!1},l=e.repeat&&o.TweenMax||i.l;for(r in e)u[r]=e[r];return u.time=this._parseTimeOrLabel(t),n=Math.abs(Number(u.time)-this._time)/this._timeScale||.001,s=new l(this,n,u),u.onStart=function(){s.target.paused(!0),s.vars.time===s.target.time()||n!==s.duration()||s.isFromTo||s.duration(Math.abs(s.vars.time-s.target.time())/s.target._timeScale).render(s.time(),!0,!0),e.onStart&&e.onStart.apply(e.onStartScope||e.callbackScope||s,e.onStartParams||[])},s},s.tweenFromTo=function(t,e,n){n=n||{},t=this._parseTimeOrLabel(t),n.startAt={onComplete:this.seek,onCompleteParams:[t],callbackScope:this},n.immediateRender=!1!==n.immediateRender;var i=this.tweenTo(e,n);return i.isFromTo=1,i.duration(Math.abs(i.vars.time-t)/this._timeScale||.001)},s.render=function(t,e,i){this._gc&&this._enabled(!0,!1);var o,a,s,u,l,h,c,p,d=this._time,f=this._dirty?this.totalDuration():this._totalDuration,m=this._duration,g=this._totalTime,v=this._startTime,y=this._timeScale,_=this._rawPrevTime,b=this._paused,x=this._cycle;if(d!==this._time&&(t+=this._time-d),t>=f-1e-7&&t>=0)this._locked||(this._totalTime=f,this._cycle=this._repeat),this._reversed||this._hasPausedChild()||(a=!0,u="onComplete",l=!!this._timeline.autoRemoveChildren,0===this._duration&&(t<=0&&t>=-1e-7||_<0||1e-10===_)&&_!==t&&this._first&&(l=!0,_>1e-10&&(u="onReverseComplete"))),this._rawPrevTime=this._duration||!e||t||this._rawPrevTime===t?t:1e-10,this._yoyo&&0!=(1&this._cycle)?this._time=t=0:(this._time=m,t=m+1e-4);else if(t<1e-7)if(this._locked||(this._totalTime=this._cycle=0),this._time=0,(0!==d||0===m&&1e-10!==_&&(_>0||t<0&&_>=0)&&!this._locked)&&(u="onReverseComplete",a=this._reversed),t<0)this._active=!1,this._timeline.autoRemoveChildren&&this._reversed?(l=a=!0,u="onReverseComplete"):_>=0&&this._first&&(l=!0),this._rawPrevTime=t;else{if(this._rawPrevTime=m||!e||t||this._rawPrevTime===t?t:1e-10,0===t&&a)for(o=this._first;o&&0===o._startTime;)o._duration||(a=!1),o=o._next;t=0,this._initted||(l=!0)}else if(0===m&&_<0&&(l=!0),this._time=this._rawPrevTime=t,this._locked||(this._totalTime=t,0!==this._repeat&&(h=m+this._repeatDelay,this._cycle=this._totalTime/h>>0,0!==this._cycle&&this._cycle===this._totalTime/h&&g<=t&&this._cycle--,this._time=this._totalTime-this._cycle*h,this._yoyo&&0!=(1&this._cycle)&&(this._time=m-this._time),this._time>m?(this._time=m,t=m+1e-4):this._time<0?this._time=t=0:t=this._time)),this._hasPause&&!this._forcingPlayhead&&!e){if((t=this._time)>=d||this._repeat&&x!==this._cycle)for(o=this._first;o&&o._startTime<=t&&!c;)o._duration||"isPause"!==o.data||o.ratio||0===o._startTime&&0===this._rawPrevTime||(c=o),o=o._next;else for(o=this._last;o&&o._startTime>=t&&!c;)o._duration||"isPause"===o.data&&o._rawPrevTime>0&&(c=o),o=o._prev;c&&c._startTime<m&&(this._time=t=c._startTime,this._totalTime=t+this._cycle*(this._totalDuration+this._repeatDelay))}if(this._cycle!==x&&!this._locked){var w=this._yoyo&&0!=(1&x),A=w===(this._yoyo&&0!=(1&this._cycle)),S=this._totalTime,T=this._cycle,E=this._rawPrevTime,M=this._time;if(this._totalTime=x*m,this._cycle<x?w=!w:this._totalTime+=m,this._time=d,this._rawPrevTime=0===m?_-1e-4:_,this._cycle=x,this._locked=!0,d=w?0:m,this.render(d,e,0===m),e||this._gc||this.vars.onRepeat&&(this._cycle=T,this._locked=!1,this._callback("onRepeat")),d!==this._time)return;if(A&&(this._cycle=x,this._locked=!0,d=w?m+1e-4:-1e-4,this.render(d,!0,!1)),this._locked=!1,this._paused&&!b)return;this._time=M,this._totalTime=S,this._cycle=T,this._rawPrevTime=E}if(this._time!==d&&this._first||i||l||c){if(this._initted||(this._initted=!0),this._active||!this._paused&&this._totalTime!==g&&t>0&&(this._active=!0),0===g&&this.vars.onStart&&(0===this._totalTime&&this._totalDuration||e||this._callback("onStart")),(p=this._time)>=d)for(o=this._first;o&&(s=o._next,p===this._time&&(!this._paused||b));)(o._active||o._startTime<=this._time&&!o._paused&&!o._gc)&&(c===o&&this.pause(),o._reversed?o.render((o._dirty?o.totalDuration():o._totalDuration)-(t-o._startTime)*o._timeScale,e,i):o.render((t-o._startTime)*o._timeScale,e,i)),o=s;else for(o=this._last;o&&(s=o._prev,p===this._time&&(!this._paused||b));){if(o._active||o._startTime<=d&&!o._paused&&!o._gc){if(c===o){for(c=o._prev;c&&c.endTime()>this._time;)c.render(c._reversed?c.totalDuration()-(t-c._startTime)*c._timeScale:(t-c._startTime)*c._timeScale,e,i),c=c._prev;c=null,this.pause()}o._reversed?o.render((o._dirty?o.totalDuration():o._totalDuration)-(t-o._startTime)*o._timeScale,e,i):o.render((t-o._startTime)*o._timeScale,e,i)}o=s}this._onUpdate&&(e||(n.length&&r(),this._callback("onUpdate"))),u&&(this._locked||this._gc||v!==this._startTime&&y===this._timeScale||(0===this._time||f>=this.totalDuration())&&(a&&(n.length&&r(),this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[u]&&this._callback(u)))}else g!==this._totalTime&&this._onUpdate&&(e||this._callback("onUpdate"))},s.getActive=function(t,e,n){null==t&&(t=!0),null==e&&(e=!0),null==n&&(n=!1);var i,r,o=[],a=this.getChildren(t,e,n),s=0,u=a.length;for(i=0;i<u;i++)(r=a[i]).isActive()&&(o[s++]=r);return o},s.getLabelAfter=function(t){t||0!==t&&(t=this._time);var e,n=this.getLabelsArray(),i=n.length;for(e=0;e<i;e++)if(n[e].time>t)return n[e].name;return null},s.getLabelBefore=function(t){null==t&&(t=this._time);for(var e=this.getLabelsArray(),n=e.length;--n>-1;)if(e[n].time<t)return e[n].name;return null},s.getLabelsArray=function(){var t,e=[],n=0;for(t in this._labels)e[n++]={time:this._labels[t],name:t};return e.sort(function(t,e){return t.time-e.time}),e},s.invalidate=function(){return this._locked=!1,p.prototype.invalidate.call(this)},s.progress=function(t,e){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&0!=(1&this._cycle)?1-t:t)+this._cycle*(this._duration+this._repeatDelay),e):this._time/this.duration()||0},s.totalProgress=function(t,e){return arguments.length?this.totalTime(this.totalDuration()*t,e):this._totalTime/this.totalDuration()||0},s.totalDuration=function(t){return arguments.length?-1!==this._repeat&&t?this.timeScale(this.totalDuration()/t):this:(this._dirty&&(p.prototype.totalDuration.call(this),this._totalDuration=-1===this._repeat?999999999999:this._duration*(this._repeat+1)+this._repeatDelay*this._repeat),this._totalDuration)},s.time=function(t,e){return arguments.length?(this._dirty&&this.totalDuration(),t>this._duration&&(t=this._duration),this._yoyo&&0!=(1&this._cycle)?t=this._duration-t+this._cycle*(this._duration+this._repeatDelay):0!==this._repeat&&(t+=this._cycle*(this._duration+this._repeatDelay)),this.totalTime(t,e)):this._time},s.repeat=function(t){return arguments.length?(this._repeat=t,this._uncache(!0)):this._repeat},s.repeatDelay=function(t){return arguments.length?(this._repeatDelay=t,this._uncache(!0)):this._repeatDelay},s.yoyo=function(t){return arguments.length?(this._yoyo=t,this):this._yoyo},s.currentLabel=function(t){return arguments.length?this.seek(t,!0):this.getLabelBefore(this._time+1e-8)},t},!0);var d=i.m.TimelineMax,f=180/Math.PI,m=[],g=[],v=[],y={},_=i.k._gsDefine.globals,b=function(t,e,n,i){n===i&&(n=i-(i-e)/1e6),t===e&&(e=t+(n-t)/1e6),this.a=t,this.b=e,this.c=n,this.d=i,this.da=i-t,this.ca=n-t,this.ba=e-t},x=function(t,e,n,i){var r={a:t},o={},a={},s={c:i},u=(t+e)/2,l=(e+n)/2,h=(n+i)/2,c=(u+l)/2,p=(l+h)/2,d=(p-c)/8;return r.b=u+(t-u)/4,o.b=c+d,r.c=o.a=(r.b+o.b)/2,o.c=a.a=(c+p)/2,a.b=p-d,s.b=h+(i-h)/4,a.c=s.a=(a.b+s.b)/2,[r,o,a,s]},w=function(t,e,n,i,r){var o,a,s,u,l,h,c,p,d,f,y,_,b,w=t.length-1,A=0,S=t[0].a;for(o=0;o<w;o++)a=(l=t[A]).a,s=l.d,u=t[A+1].d,r?(y=m[o],b=((_=g[o])+y)*e*.25/(i?.5:v[o]||.5),p=s-((h=s-(s-a)*(i?.5*e:0!==y?b/y:0))+(((c=s+(u-s)*(i?.5*e:0!==_?b/_:0))-h)*(3*y/(y+_)+.5)/4||0))):p=s-((h=s-(s-a)*e*.5)+(c=s+(u-s)*e*.5))/2,h+=p,c+=p,l.c=d=h,l.b=0!==o?S:S=l.a+.6*(l.c-l.a),l.da=s-a,l.ca=d-a,l.ba=S-a,n?(f=x(a,S,d,s),t.splice(A,1,f[0],f[1],f[2],f[3]),A+=4):A++,S=c;(l=t[A]).b=S,l.c=S+.4*(l.d-S),l.da=l.d-l.a,l.ca=l.c-l.a,l.ba=S-l.a,n&&(f=x(l.a,S,l.c,l.d),t.splice(A,1,f[0],f[1],f[2],f[3]))},A=function(t,e,n,i){var r,o,a,s,u,l,h=[];if(i)for(o=(t=[i].concat(t)).length;--o>-1;)"string"==typeof(l=t[o][e])&&"="===l.charAt(1)&&(t[o][e]=i[e]+Number(l.charAt(0)+l.substr(2)));if((r=t.length-2)<0)return h[0]=new b(t[0][e],0,0,t[0][e]),h;for(o=0;o<r;o++)a=t[o][e],s=t[o+1][e],h[o]=new b(a,0,0,s),n&&(u=t[o+2][e],m[o]=(m[o]||0)+(s-a)*(s-a),g[o]=(g[o]||0)+(u-s)*(u-s));return h[o]=new b(t[o][e],0,0,t[o+1][e]),h},S=function(t,e,n,i,r,o){var a,s,u,l,h,c,p,d,f={},_=[],b=o||t[0];for(s in r="string"==typeof r?","+r+",":",x,y,z,left,top,right,bottom,marginTop,marginLeft,marginRight,marginBottom,paddingLeft,paddingTop,paddingRight,paddingBottom,backgroundPosition,backgroundPosition_y,",null==e&&(e=1),t[0])_.push(s);if(t.length>1){for(d=t[t.length-1],p=!0,a=_.length;--a>-1;)if(s=_[a],Math.abs(b[s]-d[s])>.05){p=!1;break}p&&(t=t.concat(),o&&t.unshift(o),t.push(t[1]),o=t[t.length-3])}for(m.length=g.length=v.length=0,a=_.length;--a>-1;)s=_[a],y[s]=-1!==r.indexOf(","+s+","),f[s]=A(t,s,y[s],o);for(a=m.length;--a>-1;)m[a]=Math.sqrt(m[a]),g[a]=Math.sqrt(g[a]);if(!i){for(a=_.length;--a>-1;)if(y[s])for(c=(u=f[_[a]]).length-1,l=0;l<c;l++)h=u[l+1].da/g[l]+u[l].da/m[l]||0,v[l]=(v[l]||0)+h*h;for(a=v.length;--a>-1;)v[a]=Math.sqrt(v[a])}for(a=_.length,l=n?4:1;--a>-1;)u=f[s=_[a]],w(u,e,n,i,y[s]),p&&(u.splice(0,l),u.splice(u.length-l,l));return f},T=function(t,e,n){for(var i,r,o,a,s,u,l,h,c,p,d,f=1/n,m=t.length;--m>-1;)for(o=(p=t[m]).a,a=p.d-o,s=p.c-o,u=p.b-o,i=r=0,h=1;h<=n;h++)i=r-(r=((l=f*h)*l*a+3*(c=1-l)*(l*s+c*u))*l),e[d=m*n+h-1]=(e[d]||0)+i*i},E=i.k._gsDefine.plugin({propName:"bezier",priority:-1,version:"1.3.8",API:2,global:!0,init:function(t,e,n){this._target=t,e instanceof Array&&(e={values:e}),this._func={},this._mod={},this._props=[],this._timeRes=null==e.timeResolution?6:parseInt(e.timeResolution,10);var i,r,o,a,s,u=e.values||[],l={},h=u[0],c=e.autoRotate||n.vars.orientToBezier;for(i in this._autoRotate=c?c instanceof Array?c:[["x","y","rotation",!0===c?0:Number(c)||0]]:null,h)this._props.push(i);for(o=this._props.length;--o>-1;)i=this._props[o],this._overwriteProps.push(i),r=this._func[i]="function"==typeof t[i],l[i]=r?t[i.indexOf("set")||"function"!=typeof t["get"+i.substr(3)]?i:"get"+i.substr(3)]():parseFloat(t[i]),s||l[i]!==u[0][i]&&(s=l);if(this._beziers="cubic"!==e.type&&"quadratic"!==e.type&&"soft"!==e.type?S(u,isNaN(e.curviness)?1:e.curviness,!1,"thruBasic"===e.type,e.correlate,s):function(t,e,n){var i,r,o,a,s,u,l,h,c,p,d,f={},m="cubic"===(e=e||"soft")?3:2,g="soft"===e,v=[];if(g&&n&&(t=[n].concat(t)),null==t||t.length<m+1)throw"invalid Bezier data";for(c in t[0])v.push(c);for(u=v.length;--u>-1;){for(f[c=v[u]]=s=[],p=0,h=t.length,l=0;l<h;l++)i=null==n?t[l][c]:"string"==typeof(d=t[l][c])&&"="===d.charAt(1)?n[c]+Number(d.charAt(0)+d.substr(2)):Number(d),g&&l>1&&l<h-1&&(s[p++]=(i+s[p-2])/2),s[p++]=i;for(h=p-m+1,p=0,l=0;l<h;l+=m)i=s[l],r=s[l+1],o=s[l+2],a=2===m?0:s[l+3],s[p++]=d=3===m?new b(i,r,o,a):new b(i,(2*r+i)/3,(2*r+o)/3,o);s.length=p}return f}(u,e.type,l),this._segCount=this._beziers[i].length,this._timeRes){var p=function(t,e){var n,i,r,o,a=[],s=[],u=0,l=0,h=(e=e>>0||6)-1,c=[],p=[];for(n in t)T(t[n],a,e);for(r=a.length,i=0;i<r;i++)u+=Math.sqrt(a[i]),p[o=i%e]=u,o===h&&(l+=u,c[o=i/e>>0]=p,s[o]=l,u=0,p=[]);return{length:l,lengths:s,segments:c}}(this._beziers,this._timeRes);this._length=p.length,this._lengths=p.lengths,this._segments=p.segments,this._l1=this._li=this._s1=this._si=0,this._l2=this._lengths[0],this._curSeg=this._segments[0],this._s2=this._curSeg[0],this._prec=1/this._curSeg.length}if(c=this._autoRotate)for(this._initialRotations=[],c[0]instanceof Array||(this._autoRotate=c=[c]),o=c.length;--o>-1;){for(a=0;a<3;a++)i=c[o][a],this._func[i]="function"==typeof t[i]&&t[i.indexOf("set")||"function"!=typeof t["get"+i.substr(3)]?i:"get"+i.substr(3)];i=c[o][2],this._initialRotations[o]=(this._func[i]?this._func[i].call(this._target):this._target[i])||0,this._overwriteProps.push(i)}return this._startRatio=n.vars.runBackwards?1:0,!0},set:function(t){var e,n,i,r,o,a,s,u,l,h,c=this._segCount,p=this._func,d=this._target,m=t!==this._startRatio;if(this._timeRes){if(l=this._lengths,h=this._curSeg,t*=this._length,i=this._li,t>this._l2&&i<c-1){for(u=c-1;i<u&&(this._l2=l[++i])<=t;);this._l1=l[i-1],this._li=i,this._curSeg=h=this._segments[i],this._s2=h[this._s1=this._si=0]}else if(t<this._l1&&i>0){for(;i>0&&(this._l1=l[--i])>=t;);0===i&&t<this._l1?this._l1=0:i++,this._l2=l[i],this._li=i,this._curSeg=h=this._segments[i],this._s1=h[(this._si=h.length-1)-1]||0,this._s2=h[this._si]}if(e=i,t-=this._l1,i=this._si,t>this._s2&&i<h.length-1){for(u=h.length-1;i<u&&(this._s2=h[++i])<=t;);this._s1=h[i-1],this._si=i}else if(t<this._s1&&i>0){for(;i>0&&(this._s1=h[--i])>=t;);0===i&&t<this._s1?this._s1=0:i++,this._s2=h[i],this._si=i}a=(i+(t-this._s1)/(this._s2-this._s1))*this._prec||0}else a=(t-(e=t<0?0:t>=1?c-1:c*t>>0)*(1/c))*c;for(n=1-a,i=this._props.length;--i>-1;)r=this._props[i],s=(a*a*(o=this._beziers[r][e]).da+3*n*(a*o.ca+n*o.ba))*a+o.a,this._mod[r]&&(s=this._mod[r](s,d)),p[r]?d[r](s):d[r]=s;if(this._autoRotate){var g,v,y,_,b,x,w,A=this._autoRotate;for(i=A.length;--i>-1;)r=A[i][2],x=A[i][3]||0,w=!0===A[i][4]?1:f,o=this._beziers[A[i][0]],g=this._beziers[A[i][1]],o&&g&&(o=o[e],g=g[e],v=o.a+(o.b-o.a)*a,v+=((_=o.b+(o.c-o.b)*a)-v)*a,_+=(o.c+(o.d-o.c)*a-_)*a,y=g.a+(g.b-g.a)*a,y+=((b=g.b+(g.c-g.b)*a)-y)*a,b+=(g.c+(g.d-g.c)*a-b)*a,s=m?Math.atan2(b-y,_-v)*w+x:this._initialRotations[i],this._mod[r]&&(s=this._mod[r](s,d)),p[r]?d[r](s):d[r]=s)}}}),M=E.prototype;
/*!
 * VERSION: 1.3.8
 * DATE: 2018-05-30
 * UPDATES AND DOCS AT: http://greensock.com
 *
 * @license Copyright (c) 2008-2018, GreenSock. All rights reserved.
 * This work is subject to the terms at http://greensock.com/standard-license or for
 * Club GreenSock members, the software agreement that was issued with your membership.
 * 
 * @author: Jack Doyle, jack@greensock.com
 **/E.bezierThrough=S,E.cubicToQuadratic=x,E._autoCSS=!0,E.quadraticToCubic=function(t,e,n){return new b(t,(2*e+t)/3,(2*e+n)/3,n)},E._cssRegister=function(){var t=_.CSSPlugin;if(t){var e=t._internals,n=e._parseToProxy,i=e._setPluginRatio,r=e.CSSPropTween;e._registerComplexSpecialProp("bezier",{parser:function(t,e,o,a,s,u){e instanceof Array&&(e={values:e}),u=new E;var l,h,c,p=e.values,d=p.length-1,f=[],m={};if(d<0)return s;for(l=0;l<=d;l++)c=n(t,p[l],a,s,u,d!==l),f[l]=c.end;for(h in e)m[h]=e[h];return m.values=f,(s=new r(t,"bezier",0,0,c.pt,2)).data=c,s.plugin=u,s.setRatio=i,0===m.autoRotate&&(m.autoRotate=!0),!m.autoRotate||m.autoRotate instanceof Array||(l=!0===m.autoRotate?0:Number(m.autoRotate),m.autoRotate=null!=c.end.left?[["left","top","rotation",l,!1]]:null!=c.end.x&&[["x","y","rotation",l,!1]]),m.autoRotate&&(a._transform||a._enableTransforms(!1),c.autoRotate=a._target._gsTransform,c.proxy.rotation=c.autoRotate.rotation||0,a._overwriteProps.push("rotation")),u._onInitTween(c.proxy,m,a._tween),s}})}},M._mod=function(t){for(var e,n=this._overwriteProps,i=n.length;--i>-1;)(e=t[n[i]])&&"function"==typeof e&&(this._mod[n[i]]=e)},M._kill=function(t){var e,n,i=this._props;for(e in this._beziers)if(e in t)for(delete this._beziers[e],delete this._func[e],n=i.length;--n>-1;)i[n]===e&&i.splice(n,1);if(i=this._autoRotate)for(n=i.length;--n>-1;)t[i[n][2]]&&i.splice(n,1);return this._super._kill.call(this,t)},
/*!
 * VERSION: 1.16.1
 * DATE: 2018-08-27
 * UPDATES AND DOCS AT: http://greensock.com
 *
 * @license Copyright (c) 2008-2018, GreenSock. All rights reserved.
 * This work is subject to the terms at http://greensock.com/standard-license or for
 * Club GreenSock members, the software agreement that was issued with your membership.
 * 
 * @author: Jack Doyle, jack@greensock.com
 **/
i.k._gsDefine("easing.Back",["easing.Ease"],function(){var t,e,n,r,o=i.k.GreenSockGlobals||i.k,a=o.com.greensock,s=2*Math.PI,u=Math.PI/2,l=a._class,h=function(t,e){var n=l("easing."+t,function(){},!0),r=n.prototype=new i.b;return r.constructor=n,r.getRatio=e,n},c=i.b.register||function(){},p=function(t,e,n,i,r){var o=l("easing."+t,{easeOut:new e,easeIn:new n,easeInOut:new i},!0);return c(o,t),o},d=function(t,e,n){this.t=t,this.v=e,n&&(this.next=n,n.prev=this,this.c=n.v-e,this.gap=n.t-t)},f=function(t,e){var n=l("easing."+t,function(t){this._p1=t||0===t?t:1.70158,this._p2=1.525*this._p1},!0),r=n.prototype=new i.b;return r.constructor=n,r.getRatio=e,r.config=function(t){return new n(t)},n},m=p("Back",f("BackOut",function(t){return(t-=1)*t*((this._p1+1)*t+this._p1)+1}),f("BackIn",function(t){return t*t*((this._p1+1)*t-this._p1)}),f("BackInOut",function(t){return(t*=2)<1?.5*t*t*((this._p2+1)*t-this._p2):.5*((t-=2)*t*((this._p2+1)*t+this._p2)+2)})),g=l("easing.SlowMo",function(t,e,n){e=e||0===e?e:.7,null==t?t=.7:t>1&&(t=1),this._p=1!==t?e:0,this._p1=(1-t)/2,this._p2=t,this._p3=this._p1+this._p2,this._calcEnd=!0===n},!0),v=g.prototype=new i.b;return v.constructor=g,v.getRatio=function(t){var e=t+(.5-t)*this._p;return t<this._p1?this._calcEnd?1-(t=1-t/this._p1)*t:e-(t=1-t/this._p1)*t*t*t*e:t>this._p3?this._calcEnd?1===t?0:1-(t=(t-this._p3)/this._p1)*t:e+(t-e)*(t=(t-this._p3)/this._p1)*t*t*t:this._calcEnd?1:e},g.ease=new g(.7,.7),v.config=g.config=function(t,e,n){return new g(t,e,n)},(v=(t=l("easing.SteppedEase",function(t,e){t=t||1,this._p1=1/t,this._p2=t+(e?0:1),this._p3=e?1:0},!0)).prototype=new i.b).constructor=t,v.getRatio=function(t){return t<0?t=0:t>=1&&(t=.999999999),((this._p2*t|0)+this._p3)*this._p1},v.config=t.config=function(e,n){return new t(e,n)},(v=(e=l("easing.ExpoScaleEase",function(t,e,n){this._p1=Math.log(e/t),this._p2=e-t,this._p3=t,this._ease=n},!0)).prototype=new i.b).constructor=e,v.getRatio=function(t){return this._ease&&(t=this._ease.getRatio(t)),(this._p3*Math.exp(this._p1*t)-this._p3)/this._p2},v.config=e.config=function(t,n,i){return new e(t,n,i)},(v=(n=l("easing.RoughEase",function(t){for(var e,n,r,o,a,s,u=(t=t||{}).taper||"none",l=[],h=0,c=0|(t.points||20),p=c,f=!1!==t.randomize,m=!0===t.clamp,g=t.template instanceof i.b?t.template:null,v="number"==typeof t.strength?.4*t.strength:.4;--p>-1;)e=f?Math.random():1/c*p,n=g?g.getRatio(e):e,r="none"===u?v:"out"===u?(o=1-e)*o*v:"in"===u?e*e*v:e<.5?(o=2*e)*o*.5*v:(o=2*(1-e))*o*.5*v,f?n+=Math.random()*r-.5*r:p%2?n+=.5*r:n-=.5*r,m&&(n>1?n=1:n<0&&(n=0)),l[h++]={x:e,y:n};for(l.sort(function(t,e){return t.x-e.x}),s=new d(1,1,null),p=c;--p>-1;)a=l[p],s=new d(a.x,a.y,s);this._prev=new d(0,0,0!==s.t?s:s.next)},!0)).prototype=new i.b).constructor=n,v.getRatio=function(t){var e=this._prev;if(t>e.t){for(;e.next&&t>=e.t;)e=e.next;e=e.prev}else for(;e.prev&&t<=e.t;)e=e.prev;return this._prev=e,e.v+(t-e.t)/e.gap*e.c},v.config=function(t){return new n(t)},n.ease=new n,p("Bounce",h("BounceOut",function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}),h("BounceIn",function(t){return(t=1-t)<1/2.75?1-7.5625*t*t:t<2/2.75?1-(7.5625*(t-=1.5/2.75)*t+.75):t<2.5/2.75?1-(7.5625*(t-=2.25/2.75)*t+.9375):1-(7.5625*(t-=2.625/2.75)*t+.984375)}),h("BounceInOut",function(t){var e=t<.5;return(t=e?1-2*t:2*t-1)<1/2.75?t*=7.5625*t:t=t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375,e?.5*(1-t):.5*t+.5})),p("Circ",h("CircOut",function(t){return Math.sqrt(1-(t-=1)*t)}),h("CircIn",function(t){return-(Math.sqrt(1-t*t)-1)}),h("CircInOut",function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)})),p("Elastic",(r=function(t,e,n){var r=l("easing."+t,function(t,e){this._p1=t>=1?t:1,this._p2=(e||n)/(t<1?t:1),this._p3=this._p2/s*(Math.asin(1/this._p1)||0),this._p2=s/this._p2},!0),o=r.prototype=new i.b;return o.constructor=r,o.getRatio=e,o.config=function(t,e){return new r(t,e)},r})("ElasticOut",function(t){return this._p1*Math.pow(2,-10*t)*Math.sin((t-this._p3)*this._p2)+1},.3),r("ElasticIn",function(t){return-this._p1*Math.pow(2,10*(t-=1))*Math.sin((t-this._p3)*this._p2)},.3),r("ElasticInOut",function(t){return(t*=2)<1?this._p1*Math.pow(2,10*(t-=1))*Math.sin((t-this._p3)*this._p2)*-.5:this._p1*Math.pow(2,-10*(t-=1))*Math.sin((t-this._p3)*this._p2)*.5+1},.45)),p("Expo",h("ExpoOut",function(t){return 1-Math.pow(2,-10*t)}),h("ExpoIn",function(t){return Math.pow(2,10*(t-1))-.001}),h("ExpoInOut",function(t){return(t*=2)<1?.5*Math.pow(2,10*(t-1)):.5*(2-Math.pow(2,-10*(t-1)))})),p("Sine",h("SineOut",function(t){return Math.sin(t*u)}),h("SineIn",function(t){return 1-Math.cos(t*u)}),h("SineInOut",function(t){return-.5*(Math.cos(Math.PI*t)-1)})),l("easing.EaseLookup",{find:function(t){return i.b.map[t]}},!0),c(o.SlowMo,"SlowMo","ease,"),c(n,"RoughEase","ease,"),c(t,"SteppedEase","ease,"),m},!0);var P=i.m.Back,C=i.m.Elastic,L=i.m.Bounce,R=i.m.RoughEase,O=i.m.SlowMo,I=i.m.SteppedEase,N=i.m.Circ,D=i.m.Expo,B=i.m.Sine,k=i.m.ExpoScaleEase;n.d(e,"TweenMax",function(){return G}),n.d(e,"default",function(){return G}),n.d(e,"TweenLite",function(){return i.l}),n.d(e,"TimelineLite",function(){return p}),n.d(e,"TimelineMax",function(){return d}),n.d(e,"CSSPlugin",function(){return o}),n.d(e,"AttrPlugin",function(){return a}),n.d(e,"BezierPlugin",function(){return E}),n.d(e,"DirectionalRotationPlugin",function(){return c}),n.d(e,"RoundPropsPlugin",function(){return s}),n.d(e,"TweenPlugin",function(){return i.j}),n.d(e,"Ease",function(){return i.b}),n.d(e,"Power0",function(){return i.d}),n.d(e,"Power1",function(){return i.e}),n.d(e,"Power2",function(){return i.f}),n.d(e,"Power3",function(){return i.g}),n.d(e,"Power4",function(){return i.h}),n.d(e,"Linear",function(){return i.c}),n.d(e,"Back",function(){return P}),n.d(e,"Elastic",function(){return C}),n.d(e,"Bounce",function(){return L}),n.d(e,"RoughEase",function(){return R}),n.d(e,"SlowMo",function(){return O}),n.d(e,"SteppedEase",function(){return I}),n.d(e,"Circ",function(){return N}),n.d(e,"Expo",function(){return D}),n.d(e,"Sine",function(){return B}),n.d(e,"ExpoScaleEase",function(){return k});
/*!
 * VERSION: 2.0.2
 * DATE: 2018-08-27
 * UPDATES AND DOCS AT: http://greensock.com
 *
 * @license Copyright (c) 2008-2018, GreenSock. All rights reserved.
 * This work is subject to the terms at http://greensock.com/standard-license or for
 * Club GreenSock members, the software agreement that was issued with your membership.
 * 
 * @author: Jack Doyle, jack@greensock.com
 **/
var G=r;G._autoActivated=[p,d,o,a,E,s,c,P,C,L,R,O,I,N,D,B,k]},function(t,e,n){t.exports=function(){var t=function(){function e(t){return r.appendChild(t.dom),t}function n(t){for(var e=0;e<r.children.length;e++)r.children[e].style.display=e===t?"block":"none";i=t}var i=0,r=document.createElement("div");r.style.cssText="position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000",r.addEventListener("click",function(t){t.preventDefault(),n(++i%r.children.length)},!1);var o=(performance||Date).now(),a=o,s=0,u=e(new t.Panel("FPS","#0ff","#002")),l=e(new t.Panel("MS","#0f0","#020"));if(self.performance&&self.performance.memory)var h=e(new t.Panel("MB","#f08","#201"));return n(0),{REVISION:16,dom:r,addPanel:e,showPanel:n,begin:function(){o=(performance||Date).now()},end:function(){s++;var t=(performance||Date).now();if(l.update(t-o,200),t>a+1e3&&(u.update(1e3*s/(t-a),100),a=t,s=0,h)){var e=performance.memory;h.update(e.usedJSHeapSize/1048576,e.jsHeapSizeLimit/1048576)}return t},update:function(){o=this.end()},domElement:r,setMode:n}};return t.Panel=function(t,e,n){var i=1/0,r=0,o=Math.round,a=o(window.devicePixelRatio||1),s=80*a,u=48*a,l=3*a,h=2*a,c=3*a,p=15*a,d=74*a,f=30*a,m=document.createElement("canvas");m.width=s,m.height=u,m.style.cssText="width:80px;height:48px";var g=m.getContext("2d");return g.font="bold "+9*a+"px Helvetica,Arial,sans-serif",g.textBaseline="top",g.fillStyle=n,g.fillRect(0,0,s,u),g.fillStyle=e,g.fillText(t,l,h),g.fillRect(c,p,d,f),g.fillStyle=n,g.globalAlpha=.9,g.fillRect(c,p,d,f),{dom:m,update:function(u,v){i=Math.min(i,u),r=Math.max(r,u),g.fillStyle=n,g.globalAlpha=1,g.fillRect(0,0,s,p),g.fillStyle=e,g.fillText(o(u)+" "+t+" ("+o(i)+"-"+o(r)+")",l,h),g.drawImage(m,c+a,p,d-a,f,c,p,d-a,f),g.fillRect(c+d-a,p,a,f),g.fillStyle=n,g.globalAlpha=.9,g.fillRect(c+d-a,p,a,o((1-u/v)*f))}}},t}()},function(t,e){t.exports={string:"#controlKit{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}#controlKit .panel{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;pointer-events:auto;position:relative;z-index:1;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;opacity:1;float:left;width:200px;border-radius:3px;-moz-border-radius:3px;box-shadow:0 2px 2px rgba(0,0,0,.25);margin:0;padding:0;background-color:#1a1a1a;font-family:Arial,sans-serif}#controlKit .panel .wrap{width:auto;height:auto;margin:0;padding:0;position:relative;overflow:hidden}#controlKit .panel ul{margin:0;padding:0;list-style:none}#controlKit .panel .color,#controlKit .panel input[type=text],#controlKit .panel textarea,#controlKit .picker input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;height:25px;padding:0 0 0 8px;font-family:Arial,sans-serif;font-size:11px;color:#fff;text-shadow:1px 1px #000;outline:0;background:#222729;background-image:-o-linear-gradient(rgba(0,0,0,.075) 0,rgba(0,0,0,.125) 100%);background-image:linear-gradient(rgba(0,0,0,.075) 0,rgba(0,0,0,.125) 100%);border:none;box-shadow:0 0 0 1px #1f1f1f inset;border-radius:2px;-moz-border-radius:2px}#controlKit .panel .button,#controlKit .panel .select,#controlKit .panel .select-active,#controlKit .picker .button{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;width:100%;height:26px;margin:0;background-image:-o-linear-gradient(#404040 0,#3b3b3b 100%);background-image:linear-gradient(#404040 0,#3b3b3b 100%);border:none;outline:0;border-radius:2px;box-shadow:0 0 0 1px #1f1f1f inset,-1px 2px 0 0 #4a4a4a inset;font-family:Arial,sans-serif;color:#fff}#controlKit .panel textarea{padding:5px 8px 2px;overflow:hidden;resize:none;vertical-align:top;white-space:nowrap}#controlKit .panel .textarea-wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;padding:0;float:left;height:100%;overflow:hidden;border:none;border-radius:2px;-moz-border-radius:2px;background-color:#222729;box-shadow:0 0 1px 2px rgba(0,0,0,.0125) inset,0 0 1px 1px #111314 inset;background-image:-o-linear-gradient(rgba(0,0,0,.075) 0,rgba(0,0,0,.125) 100%);background-image:linear-gradient(rgba(0,0,0,.075) 0,rgba(0,0,0,.125) 100%)}#controlKit .panel .textarea-wrap textarea{border:none;border-radius:2px;-moz-border-radius:2px;box-shadow:none;background:0 0}#controlKit .panel .textarea-wrap .scrollBar{border:1px solid #101213;border-bottom-right-radius:2px;border-top-right-radius:2px;border-left:none;box-shadow:0 0 1px 2px rgba(0,0,0,.0125) inset,0 0 1px 1px #111314 inset}#controlKit .panel canvas{cursor:pointer;vertical-align:bottom;border:none;box-shadow:0 0 0 1px #1f1f1f inset;border-radius:2px;-moz-border-radius:2px}#controlKit .panel .canvas-wrap,#controlKit .panel .svg-wrap{margin:6px 0 0;position:relative;width:70%;float:right;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:none;border-radius:2px;-moz-border-radius:2px;background:#1e2224;background-image:-o-linear-gradient(transparent 0,rgba(0,0,0,.05) 100%);background-image:linear-gradient(transparent 0,rgba(0,0,0,.05) 100%)}#controlKit .panel .canvas-wrap svg,#controlKit .panel .svg-wrap svg{position:absolute;left:0;top:0;cursor:pointer;vertical-align:bottom;border:none;box-shadow:0 0 0 1px #1f1f1f inset;border-radius:2px;-moz-border-radius:2px}#controlKit .panel .button,#controlKit .picker .button{font-size:10px;font-weight:700;text-shadow:0 1px #000;text-transform:uppercase}#controlKit .panel .button:hover,#controlKit .picker .button:hover{background-image:-o-linear-gradient(#454545 0,#3b3b3b 100%);background-image:linear-gradient(#454545 0,#3b3b3b 100%)}#controlKit .panel .button:active,#controlKit .picker .button:active{background-image:-o-linear-gradient(#404040 0,#3b3b3b 100%);background-image:linear-gradient(#404040 0,#3b3b3b 100%)}#controlKit .panel .color-with-preset-wrap,#controlKit .panel .input-with-preset-wrap{width:100%;float:left}#controlKit .panel .color-with-preset-wrap .color,#controlKit .panel .input-with-preset-wrap input[type=text]{padding-right:25px;border-top-right-radius:2px;border-bottom-right-radius:2px;float:left}#controlKit .panel .button-preset,#controlKit .panel .button-preset-active{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;right:0;width:20px;height:25px;margin:0;cursor:pointer;float:right;border:none;border-top-right-radius:2px;border-bottom-right-radius:2px;box-shadow:0 0 0 1px #1f1f1f inset,-1px 2px 0 0 #4a4a4a inset;outline:0}#controlKit .panel .button-preset-active,#controlKit .panel .button-preset:hover{background:url(data:image/png;base64,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) 50% 50% no-repeat,linear-gradient(#454545 0,#3b3b3b 100%)}#controlKit .panel .button-preset{background:url(data:image/png;base64,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) 50% 50% no-repeat,linear-gradient(#404040 0,#3b3b3b 100%)}#controlKit .panel input[type=checkbox]{margin:6px 0 0}#controlKit .panel .select,#controlKit .panel .select-active{padding-left:10px;padding-right:20px;font-size:11px;text-align:left;text-shadow:1px 1px #000;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#controlKit .panel .select{background:url(data:image/png;base64,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) 100% 50% no-repeat,linear-gradient(#404040 0,#3b3b3b 100%)}#controlKit .panel .select-active,#controlKit .panel .select:hover{background:url(data:image/png;base64,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) 100% 50% no-repeat,linear-gradient(#454545 0,#3b3b3b 100%)}#controlKit .panel .slider-handle,#controlKit .panel .slider-slot,#controlKit .panel .slider-wrap,#controlKit .panel .wrap-slider{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#controlKit .panel .wrap-slider{width:70%;padding:6px 0 0;float:right;height:100%}#controlKit .panel .wrap-slider input[type=text]{width:25%;text-align:center;padding:0;float:right}#controlKit .panel .slider-wrap{float:left;cursor:ew-resize;width:70%}#controlKit .panel .slider-slot{width:100%;height:25px;padding:3px;background-color:#1e2224;border:none;box-shadow:0 0 0 1px #1f1f1f inset;border-radius:2px;-moz-border-radius:2px}#controlKit .panel .slider-handle{position:relative;width:100%;height:100%;background:#b32435;background-image:-o-linear-gradient(transparent 0,rgba(0,0,0,.1) 100%);background-image:linear-gradient(transparent 0,rgba(0,0,0,.1) 100%);box-shadow:0 1px 0 0 #0f0f0f}#controlKit .panel .color{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;width:100%;height:25px;padding:0;border:none;background:#fff;box-shadow:0 0 0 1px #111314 inset;text-align:center;line-height:25px;border-radius:2px;-moz-border-radius:2px}#controlKit .panel .graph-slider-x-wrap,#controlKit .panel .graph-slider-y-wrap{position:absolute;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#controlKit .panel .graph-slider-x-wrap{bottom:0;left:0;width:100%;padding:6px 20px 6px 6px}#controlKit .panel .graph-slider-y-wrap{top:0;right:0;height:100%;padding:6px 6px 20px}#controlKit .panel .graph-slider-x,#controlKit .panel .graph-slider-y{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:2px;-moz-border-radius:2px;background:rgba(24,27,29,.5);border:1px solid #181b1d}#controlKit .panel .graph-slider-x{height:8px}#controlKit .panel .graph-slider-y{width:8px;height:100%}#controlKit .panel .graph-slider-x-handle,#controlKit .panel .graph-slider-y-handle{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;border:1px solid #181b1d;background:#303639}#controlKit .panel .graph-slider-x-handle{width:20px;height:100%;border-top:none;border-bottom:none}#controlKit .panel .graph-slider-y-handle{width:100%;height:20px;border-left:none;border-right:none}#controlKit .sub-group .wrap .wrap .wrap{width:25%!important;padding:0!important;float:left!important}#controlKit .sub-group .wrap .wrap .wrap .label{width:100%!important;padding:8px 0 0!important;color:#878787!important;text-align:center!important;text-transform:uppercase!important;font-weight:700!important;text-shadow:1px 1px #1a1a1a!important}#controlKit .sub-group .wrap .wrap .wrap input[type=text]{padding:0;text-align:center}#controlKit .options{pointer-events:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:1px solid #1f1f1f;border-radius:2px;-moz-border-radius:2px;position:absolute;z-index:2147483638;left:0;top:0;width:auto;height:auto;box-shadow:0 1px 0 0 #4a4a4a inset;background-color:#454545;font-family:Arial,sans-serif;font-size:11px;color:#fff;text-shadow:1px 1px #000;overflow:hidden}#controlKit .options ul{width:100%;list-style:none;margin:0;padding:0}#controlKit .options ul li{margin:0;width:100%;height:25px;line-height:25px;padding:0 20px 0 10px;overflow:hidden;white-space:normal;text-overflow:ellipsis;cursor:pointer}#controlKit .options ul li:hover{background-color:#1f2325}#controlKit .options ul .li-selected{background-color:#292d30}#controlKit .options .color{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#controlKit .options .color .li-selected,#controlKit .options .color li{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0;height:25px;line-height:25px;text-align:center}#controlKit .options .color .li-selected:hover,#controlKit .options .color li:hover{background:0 0;font-weight:700}#controlKit .options .color .li-selected{font-weight:700}#controlKit .panel .label,#controlKit .picker .label{width:100%;float:left;font-size:11px;font-weight:700;text-shadow:0 1px #000;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:default}#controlKit .panel .head,#controlKit .panel .panel-head-inactive,#controlKit .picker .head{height:30px;padding:0 10px;background:#1a1a1a;overflow:hidden}#controlKit .panel .head .wrap,#controlKit .panel .panel-head-inactive .wrap,#controlKit .picker .head .wrap{width:auto;height:auto;margin:0;padding:0;position:relative;overflow:hidden}#controlKit .panel .head .label,#controlKit .picker .head .label{cursor:pointer;line-height:30px;color:#65696b}#controlKit .panel .group-list .group .head{height:38px;padding:0 10px;border-top:1px solid #4f4f4f;border-bottom:1px solid #262626;background-image:-o-linear-gradient(#454545 0,#3b3b3b 100%);background-image:linear-gradient(#454545 0,#3b3b3b 100%);cursor:pointer}#controlKit .panel .group-list .group .head .label{font-size:12px;line-height:38px;color:#fff}#controlKit .panel .group-list .group .head:hover{border-top:1px solid #525252;background-image:-o-linear-gradient(#454545 0,#404040 100%);background-image:linear-gradient(#454545 0,#404040 100%)}#controlKit .panel .group-list .group li{height:35px;padding:0 10px}#controlKit .panel .group-list .group .sub-group-list .sub-group:last-of-type{border-bottom:none}#controlKit .panel .group-list .group .sub-group-list .sub-group{padding:0;height:auto;border-bottom:1px solid #242424}#controlKit .panel .group-list .group .sub-group-list .sub-group ul{overflow:hidden}#controlKit .panel .group-list .group .sub-group-list .sub-group ul li{background:#2e2e2e;border-bottom:1px solid #222729}#controlKit .panel .group-list .group .sub-group-list .sub-group ul li:last-of-type{border-bottom:none}#controlKit .panel .group-list .group .sub-group-list .sub-group:first-child{margin-top:0}#controlKit .panel .group-list .group .sub-group-list .sub-group .head,#controlKit .panel .group-list .group .sub-group-list .sub-group .head-inactive{cursor:pointer}#controlKit .panel .group-list .group .sub-group-list .sub-group .head{height:27px;padding:0 10px;border-top:none;border-bottom:1px solid #242424;background-image:none;background-color:#272727}#controlKit .panel .group-list .group .sub-group-list .sub-group .head:hover{background-image:none;background-color:#272727}#controlKit .panel .group-list .group .sub-group-list .sub-group .head-inactive{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;height:27px;padding:0 10px;box-shadow:0 1px 0 0 #404040 inset;background-image:-o-linear-gradient(#3b3b3b 0,#383838 100%);background-image:linear-gradient(#3b3b3b 0,#383838 100%)}#controlKit .panel .group-list .group .sub-group-list .sub-group .head-inactive:hover{box-shadow:0 1px 0 0 #474747 inset;background-image:none;background-image:-o-linear-gradient(#404040 0,#3b3b3b 100%);background-image:linear-gradient(#404040 0,#3b3b3b 100%)}#controlKit .panel .group-list .group .sub-group-list .sub-group .head .label,#controlKit .panel .group-list .group .sub-group-list .sub-group .head-inactive .label{margin:0;padding:0;line-height:27px;color:#fff;font-weight:700;font-size:11px;text-shadow:1px 1px #000;text-transform:capitalize}#controlKit .panel .group-list .group .sub-group-list .sub-group .head .wrap .label,#controlKit .panel .group-list .group .sub-group-list .sub-group .head-inactive .wrap .label{width:100%;font-weight:700;color:#fff;padding:0}#controlKit .panel .group-list .group .sub-group-list .sub-group .wrap .label{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;height:100%;width:30%;padding:12px 5px 0 0;float:left;font-size:11px;font-weight:400;color:#aeb5b8;text-shadow:1px 1px #000}#controlKit .panel .group-list .group .sub-group-list .sub-group .wrap .wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:70%;padding:5px 0 0;float:right;height:100%}#controlKit .panel .group-list .group:last-child .scroll-buffer:nth-of-type(3),#controlKit .panel .group-list .group:last-child .sub-group-list{border-bottom:none}#controlKit .panel .scroll-wrap{position:relative;overflow:hidden}#controlKit .panel .scroll-buffer{width:100%;height:8px;border-top:1px solid #3b4447;border-bottom:1px solid #1e2224}#controlKit .panel .scrollBar{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;width:15px;height:100%;float:right;top:0;padding:0;margin:0;position:relative;background:#212628;background-image:linear-gradient(to right,#242424 0,#2e2e2e 100%)}#controlKit .panel .scrollBar .track{padding:0 3px 0 2px}#controlKit .panel .scrollBar .track .thumb{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:11px;position:absolute;cursor:pointer;background-color:#343434;border:1px solid #1b1f21;border-radius:10px;-moz-border-radius:10px;box-shadow:inset 0 1px 0 0 #434b50}#controlKit .panel .menu,#controlKit .panel .menu-active,#controlKit .picker .menu{float:right;padding:5px 0 0}#controlKit .panel .menu input[type=button],#controlKit .panel .menu-active input[type=button],#controlKit .picker .menu input[type=button]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;height:20px;border:none;vertical-align:top;border-radius:2px;-moz-border-radius:2px;font-family:Arial,sans-serif;font-size:10px;font-weight:700;color:#aaa;text-shadow:0 -1px #000;text-transform:uppercase;box-shadow:0 0 0 1px #131313 inset,-1px 2px 0 0 #212527 inset;outline:0}#controlKit .panel .menu .button-menu-close,#controlKit .panel .menu .button-menu-hide,#controlKit .panel .menu .button-menu-show,#controlKit .panel .menu-active .button-menu-close,#controlKit .panel .menu-active .button-menu-hide,#controlKit .panel .menu-active .button-menu-show,#controlKit .picker .menu .button-menu-close,#controlKit .picker .menu .button-menu-hide,#controlKit .picker .menu .button-menu-show{width:20px;margin-left:4px}#controlKit .panel .menu .button-menu-hide,#controlKit .panel .menu-active .button-menu-hide,#controlKit .picker .menu .button-menu-hide{background:url(data:image/png;base64,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) 50% 50% no-repeat,#1a1d1f}#controlKit .panel .menu .button-menu-hide:hover,#controlKit .panel .menu-active .button-menu-hide:hover,#controlKit .picker .menu .button-menu-hide:hover{background:url(data:image/png;base64,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) 50% 50% no-repeat,#000;box-shadow:#fff 0,#000 100%}#controlKit .panel .menu .button-menu-show,#controlKit .panel .menu-active .button-menu-show,#controlKit .picker .menu .button-menu-show{background:url(data:image/png;base64,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) 50% 50% no-repeat,#1a1d1f}#controlKit .panel .menu .button-menu-show:hover,#controlKit .panel .menu-active .button-menu-show:hover,#controlKit .picker .menu .button-menu-show:hover{background:url(data:image/png;base64,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) 50% 50% no-repeat,#000;box-shadow:#fff 0,#000 100%}#controlKit .panel .menu .button-menu-close,#controlKit .panel .menu-active .button-menu-close,#controlKit .picker .menu .button-menu-close{background:url(data:image/png;base64,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) 50% 50% no-repeat,#1a1d1f}#controlKit .panel .menu .button-menu-close:hover,#controlKit .panel .menu-active .button-menu-close:hover,#controlKit .picker .menu .button-menu-close:hover{background:url(data:image/png;base64,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) 50% 50% no-repeat,#000;box-shadow:#fff 0,#000 100%}#controlKit .panel .menu .button-menu-undo,#controlKit .panel .menu-active .button-menu-undo{background:url(data:image/png;base64, ) 20% 50% no-repeat,#1a1d1f;padding:0 6px 1px 0;width:38px;vertical-align:top;text-align:end}#controlKit .panel .menu .button-menu-undo:hover,#controlKit .panel .menu-active .button-menu-undo:hover{background:url(data:image/png;base64, ) 20% 50% no-repeat,#000;box-shadow:#fff 0,#000 100%}#controlKit .panel .menu .button-menu-load,#controlKit .panel .menu-active .button-menu-load{margin-right:2px}#controlKit .panel .menu .button-menu-load,#controlKit .panel .menu .button-menu-save,#controlKit .panel .menu-active .button-menu-load,#controlKit .panel .menu-active .button-menu-save{background:#1a1d1f;font-size:9px!important}#controlKit .panel .menu .button-menu-load:hover,#controlKit .panel .menu .button-menu-save:hover,#controlKit .panel .menu-active .button-menu-load:hover,#controlKit .panel .menu-active .button-menu-save:hover{background:#000}#controlKit .panel .menu .wrap{display:none}#controlKit .panel .menu-active{width:100%;float:left}#controlKit .panel .menu-active .wrap{display:inline}#controlKit .panel .menu-active .button-menu-close,#controlKit .panel .menu-active .button-menu-hide,#controlKit .panel .menu-active .button-menu-show{float:right}#controlKit .panel .arrow-s-max{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAG5JREFUeNpi5ODiamRgYKhjwA4amVx8gxjmL1rC8P3rVxQ8b+ESBhffIAZmNR29A5evXWdiZGC019XSZGBgYGBYvmY9w7I16xoZGBgaWKBG1S9bs+4/AwNDPQMDA1ySgYGBgdEnPAbZzgY0mgEwAE9lJT1lrsffAAAAAElFTkSuQmCC) center no-repeat}#controlKit .panel .arrow-s-min{background:url(data:image/png;base64,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) center no-repeat}#controlKit .panel .arrow-s-max,#controlKit .panel .arrow-s-min{width:100%;height:20px}#controlKit .panel .arrow-b-max{background:url(data:image/png;base64,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) center no-repeat}#controlKit .panel .arrow-b-min{background:url(data:image/png;base64,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) center no-repeat}#controlKit .panel .arrow-b-sub-max{background:url(data:image/png;base64,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) center no-repeat}#controlKit .panel .arrow-b-sub-min{background:url(data:image/png;base64,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) center no-repeat}#controlKit .panel .arrow-b-max,#controlKit .panel .arrow-b-min,#controlKit .panel .arrow-b-sub-max,#controlKit .panel .arrow-b-sub-min{width:10px;height:100%;float:right}#controlKit .picker{pointer-events:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:3px;-moz-border-radius:3px;background-color:#3b3b3b;font-family:Arial,sans-serif;font-size:11px;color:#fff;text-shadow:1px 1px #000;overflow:hidden;position:absolute;z-index:2147483631;width:360px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;box-shadow:0 2px 2px rgba(0,0,0,.25)}#controlKit .picker canvas{vertical-align:bottom;cursor:pointer}#controlKit .picker .wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:10px;float:left}#controlKit .picker .field-wrap{padding:3px}#controlKit .picker .slider-wrap{padding:3px 13px 3px 3px}#controlKit .picker .field-wrap,#controlKit .picker .input-wrap,#controlKit .picker .slider-wrap{height:auto;overflow:hidden;float:left}#controlKit .picker .input-wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:1px solid #242424;border-radius:2px;-moz-border-radius:2px;width:140px;float:right;padding:5px 10px 1px 0}#controlKit .picker .input-field{width:50%;float:right;margin-bottom:4px}#controlKit .picker .input-field .label{padding:8px 0 0;color:#878787;text-align:center;text-transform:uppercase;font-weight:700;text-shadow:1px 1px #1a1a1a;width:40%}#controlKit .picker .input-field .wrap{padding:0;width:60%;height:auto;float:right}#controlKit .picker .controls-wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;height:auto;float:right;padding:9px 0 0}#controlKit .picker .controls-wrap input[type=button]{float:right;width:65px;margin:0 0 0 10px}#controlKit .picker .color-contrast{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:none;box-shadow:0 0 0 1px #1f1f1f inset;border-radius:2px;-moz-border-radius:2px;height:25px;padding:3px;width:80%;margin-bottom:4px;float:right}#controlKit .picker .color-contrast div{width:50%;height:100%;float:left}#controlKit .picker input[type=text]{padding:0;text-align:center;width:60%;float:right}#controlKit .picker .wrap .input-wrap:nth-of-type(3){border-bottom-left-radius:0;border-bottom-right-radius:0}#controlKit .picker .wrap .input-wrap:nth-of-type(4){border-top:none;border-top-left-radius:0;border-top-right-radius:0}#controlKit .picker .wrap .input-wrap:nth-of-type(4) .input-field{width:100%}#controlKit .picker .wrap .input-wrap:nth-of-type(4) .input-field .label{width:20%}#controlKit .picker .wrap .input-wrap:nth-of-type(4) input[type=text]{width:80%}#controlKit .picker .field-wrap,#controlKit .picker .slider-wrap{background:#1e2224;border:none;box-shadow:0 0 0 1px #1f1f1f inset;border-radius:2px;-moz-border-radius:2px;position:relative;margin-right:5px}#controlKit .picker .field-wrap .indicator,#controlKit .picker .slider-wrap .indicator{position:absolute;border:2px solid #fff;box-shadow:0 1px black,0 1px #000 inset;cursor:pointer}#controlKit .picker .field-wrap .indicator{width:8px;height:8px;left:50%;top:50%;border-radius:50%;-moz-border-radius:50%}#controlKit .picker .slider-wrap .indicator{width:14px;height:3px;border-radius:8px;-moz-border-radius:8px;left:1px;top:1px}#controlKit .picker .slider-wrap .indicator:after{content:'';width:0;height:0;border-top:4.5px solid transparent;border-bottom:4.5px solid transparent;border-right:4px solid #fff;float:right;position:absolute;top:-2px;left:19px}#controlKit .picker .slider-wrap .indicator:before{content:'';width:0;height:0;border-top:4.5px solid transparent;border-bottom:4.5px solid transparent;border-right:4px solid #000;float:right;position:absolute;top:-3px;left:19px}"}},function(t,e){var n='<head>\n   <title>ControlKit State</title>\n   <style type="text/css">\n      body{\n          box-sizing: border-box;\n          padding: 20px;\n          margin: 0;\n          font-family: Arial, sans-serif;\n          width: 100%;\n      }\n      textarea{\n          margin-bottom:10px;\n          box-sizing: border-box;\n          padding: 0;\n          border: 0;\n          border: 1px solid #dedede;\n          outline: none;\n          font-family: Monaco, monospace;\n          font-size: 11px;\n          resize: none;\n          word-wrap: break-word;\n          display: block;\n          width: 100%;\n          overflow-y: scroll;\n          height: 125px;\n      }\n      button{\n          margin: 0;\n          padding: 0 5px 3px 5px;\n          height: 20px;\n      }\n      #save,#filename,#load{\n          float: right;\n      }\n      input[type="text"]{\n          margin: 0;\n          padding: 0;\n          width: 45%;\n          height:20px;\n      }\n   </style>\n</head>\n<body>\n   <textarea name="state" id="state"></textarea>\n</body>',i='<button type="button" id="save">Save</button>\n<input type="text" id="filename" value="ck-state.json"></input>',r='<input type="file" id="load-disk"></button><button type="button" id="load">Load</button>';function o(){var t=window.open("","","        width=320,        height=200,        left="+(window.screenX+.5*window.innerWidth-160)+",        top="+(window.screenY+.5*window.innerHeight-100)+",        location=0,        titlebar=0,        resizable=0");return t.document.documentElement.innerHTML=n,t}t.exports={load:function(t){var e=o(),n=e.document;n.body.innerHTML+=r;var i=n.getElementById("state"),a=n.getElementById("load");function s(){try{var t=JSON.parse(i.value);t&&"object"==typeof t&&null!==t&&(a.disabled=!1)}catch(t){a.disabled=!0}}a.disabled=!0,i.addEventListener("input",function(){s()}),n.getElementById("load").addEventListener("click",function(){var n=i.value;t(JSON.parse(n).data),e.close()});var u=n.getElementById("load-disk");u.addEventListener("change",function(){var t=new FileReader;t.addEventListener("loadend",function(t){i.value=t.target.result,s()}),t.readAsText(u.files[0],"utf-8")})},save:function(t){var e=o().document;e.body.innerHTML+=i,e.getElementById("save").addEventListener("click",function(){var t=e.getElementById("state").value,n=new Blob([t],{type:"application:json"}),i=e.getElementById("filename").value,r=document.createElement("a");r.download=i,window.webkitURL?r.href=window.webkitURL.createObjectURL(n):(r.href=window.createObjectURL(n),r.style.display="none",r.addEventListener("click",function(){e.body.removeChild(r)}),e.body.appendChild(r)),r.click()}),e.getElementById("state").innerText=JSON.stringify(t)}}},function(t,e,n){var i=n(85),r=n(42),o=n(12),a=n(16),s=n(15),u=[-1,1],l=[-1,1],h="",c="";function p(t,e,n,r){i.apply(this,arguments),(r=r||{}).boundsX=r.boundsX||u,r.boundsY=r.boundsY||l,r.labelX=r.labelX||h,r.labelY=r.labelY||c,r.showCross=r.showCross||!0,this._onChange=r.onChange||this._onChange,this._onFinish=r.onFinish||function(){},this._boundsX=r.boundsX,this._boundsY=r.boundsY,this._labelAxisX=""!=r.labelX&&"none"!=r.labelX?r.labelX:null,this._labelAxisY=""!=r.labelY&&"none"!=r.labelY?r.labelY:null;var o=this._path;o.style.strokeWidth=1,o.style.stroke="#363c40",this._grid.style.stroke="rgb(25,25,25)",this._svgPos=[0,0];var s=this._handle=this._svgRoot.appendChild(this._createSVGObject("g")),p=s.appendChild(this._createSVGObject("circle"));p.setAttribute("r",String(11)),p.setAttribute("fill","rgba(0,0,0,0.05)");var d=s.appendChild(this._createSVGObject("circle"));d.setAttribute("r",String(10)),d.setAttribute("fill","rgb(83,93,98)");var f=s.appendChild(this._createSVGObject("circle"));f.setAttribute("r",String(9)),f.setAttribute("fill","rgb(57,69,76)"),f.setAttribute("cy",String(.75));var m=s.appendChild(this._createSVGObject("circle"));m.setAttribute("r",String(10)),m.setAttribute("stroke","rgb(17,19,20)"),m.setAttribute("stroke-width",String(1)),m.setAttribute("fill","none");var g=s.appendChild(this._createSVGObject("circle"));g.setAttribute("r",String(6)),g.setAttribute("fill","rgb(30,34,36)");var v=s.appendChild(this._createSVGObject("circle"));v.setAttribute("r",String(3)),v.setAttribute("fill","rgb(255,255,255)"),s.setAttribute("tranform","translate(0 0)"),this._svg.addEventListener(a.MOUSE_DOWN,this._onDragStart.bind(this),!1),this._drawValue(this._obj[this._key])}p.prototype=Object.create(i.prototype),p.prototype.constructor=p,p.prototype._onDragStart=function(){var t=this._svgPos;t[0]=0,t[1]=0;for(var e=this._svg.parentNode;e;)t[0]+=e.offsetLeft,t[1]+=e.offsetTop,e=e.offsetParent;var n=a.MOUSE_MOVE,i=a.MOUSE_UP,r=function(){this._drawValueInput(),this.applyValue(),this._onChange()}.bind(this),o=function(){this.pushHistoryState(),this._drawValueInput(),this.applyValue(),this._onFinish(),document.removeEventListener(n,r,!1),document.removeEventListener(i,o,!1)}.bind(this);document.addEventListener(n,r,!1),document.addEventListener(i,o,!1),this._drawValueInput(),this.applyValue(),this._onChange()},p.prototype._redraw=function(){this._drawValue(this._obj[this._key])},p.prototype._drawValueInput=function(){this._drawValue(this._getMouseNormalized())},p.prototype._drawValue=function(t){this._obj[this._key]=t,this._drawGrid(),this._drawPoint()},p.prototype._drawGrid=function(){var t=Number(this._svg.getAttribute("width")),e=Math.floor(.5*t),n=Math.floor(.5*t),i="";i+=this._pathCmdLine(0,n,t,n),i+=this._pathCmdLine(e,0,e,t),this._grid.setAttribute("d",i)},p.prototype._drawPoint=function(){var t=Number(this._svg.getAttribute("width")),e=this._obj[this._key],n=(.5+.5*e[0])*t,i=(.5+.5*-e[1])*t,r="";r+=this._pathCmdLine(0,i,t,i),r+=this._pathCmdLine(n,0,n,t),this._path.setAttribute("d",r),this._handle.setAttribute("transform","translate("+n+" "+i+")")},p.prototype._getMouseNormalized=function(){var t=this._svgPos,e=r.get().getPosition(),n=Number(this._svg.getAttribute("width"));return[Math.max(0,Math.min(e[0]-t[0],n))/n*2-1,1-Math.max(0,Math.min(e[1]-t[1],n))/n*2]},p.prototype.applyValue=function(){this.dispatchEvent(new o(this,s.VALUE_UPDATED,null))},p.prototype.onValueUpdate=function(t){t.data.origin!=this&&this._drawValue(this._obj[this._key])},t.exports=p},function(t,e,n){var i=n(8),r=n(16),o=n(14),a=n(7),s=n(42);function u(t,e,n,s){this._bounds=[0,1],this._value=0,this._intrpl=0,this._focus=!1,this._onBegin=e||function(){},this._onChange=n||function(){},this._onFinish=s||function(){};var u=(new i).setStyleClass(a.SliderWrap);t.addChild(u);var l=this._slot={node:(new i).setStyleClass(a.SliderSlot),offsetX:0,width:0,padding:3},h=this._handle={node:(new i).setStyleClass(a.SliderHandle),width:0,dragging:!1};u.addChild(l.node),l.node.addChild(h.node),l.offsetX=l.node.getPositionGlobalX(),l.width=Math.floor(l.node.getWidth()-2*l.padding),h.node.setWidth(h.width),l.node.addEventListener(o.MOUSE_DOWN,this._onSlotMouseDown.bind(this)),l.node.addEventListener(o.MOUSE_UP,this._onSlotMouseUp.bind(this)),document.addEventListener(r.MOUSE_MOVE,this._onDocumentMouseMove.bind(this)),document.addEventListener(r.MOUSE_UP,this._onDocumentMouseUp.bind(this))}u.prototype._onDocumentMouseMove=function(){this._handle.dragging&&(this._update(),this._onChange())},u.prototype._onDocumentMouseUp=function(){this._handle.dragging&&this._onFinish(),this._handle.dragging=!1},u.prototype._onSlotMouseDown=function(){this._onBegin(),this._focus=!0,this._handle.dragging=!0,this._handle.node.getElement().focus(),this._update()},u.prototype._onSlotMouseUp=function(){if(this._focus){var t=this._handle;t.dragging&&this._onFinish(),t.dragging=!1}this._focus=!1},u.prototype._update=function(){var t=s.get().getX(),e=this._slot.offsetX,n=this._slot.width,i=t<e?0:t>e+n?n:t-e;this._handle.node.setWidth(Math.round(i)),this._intrpl=i/n,this._interpolateValue()},u.prototype._updateHandle=function(){var t=this._slot.width,e=Math.round(this._intrpl*t);this._handle.node.setWidth(Math.min(e,t))},u.prototype._interpolateValue=function(){var t=this._intrpl,e=this._bounds;this._value=e[0]*(1-t)+e[1]*t},u.prototype.resetOffset=function(){var t=this._slot;t.offsetX=t.node.getPositionGlobalX(),t.width=Math.floor(t.node.getWidth()-2*t.padding)},u.prototype.setBoundMin=function(t){var e=this._bounds;t>=e[1]||(e[0]=t,this._updateFromBounds())},u.prototype.setBoundMax=function(t){var e=this._bounds;t<=e[0]||(e[1]=t,this._updateFromBounds())},u.prototype._updateFromBounds=function(){var t=this._bounds[0],e=this._bounds[1];this._value=Math.max(t,Math.min(this._value,e)),this._intrpl=Math.abs((this._value-t)/(t-e)),this._updateHandle()},u.prototype.setValue=function(t){var e=this._bounds[0],n=this._bounds[1];t<e||t>n||(this._intrpl=Math.abs((t-e)/(e-n)),this._updateHandle(),this._value=t)},u.prototype.getValue=function(){return this._value},t.exports=u},function(t,e,n){var i=n(29),r=n(8),o=n(7),a=n(59),s=n(60),u=n(12),l=n(14),h=n(15),c=n(87),p=n(65),d="Choose ...";function f(t,e,n,a){i.apply(this,arguments),(a=a||{}).onChange=a.onChange||this._onChange,this._onChange=a.onChange;var s=this._obj,u=this._key,h=this._targetKey=a.target,f=this._values=s[u];this._selectedIndex=-1,this._selected=null;var m=this._select=new r(r.INPUT_BUTTON);if(m.setStyleClass(o.Select),m.addEventListener(l.MOUSE_DOWN,this._onOptionTrigger.bind(this)),this._hasTarget()){for(var g=s[h]||"",v=-1;++v<f.length;)g==f[v]&&(this._selected=f[v]);m.setProperty("value",g.toString().length>0?g:f[0])}else m.setProperty("value",-1!==a.selected?f[a.selected]:d);this._wrapNode.addChild(m),p.get().addEventListener(c.TRIGGER,this,"onOptionTrigger"),this.addEventListener(c.TRIGGERED,p.get(),"onOptionTriggered")}f.prototype=Object.create(i.prototype),f.prototype.constructor=f,f.prototype.onOptionTrigger=function(t){if(t.data.origin==this)return this._active=!this._active,this._updateAppearance(),void(this._active?this._buildOptions():a.get().clear());this._active=!1,this._updateAppearance()},f.prototype._buildOptions=function(){var t=a.get(),e=this;t.build(this._values,this._selected,this._select,function(){e.applyValue(),e._active=!1,e._updateAppearance(),e._selectedIndex=t.getSelectedIndex(),e._onChange(e._selectedIndex),t.clear()},function(){e._active=!1,e._updateAppearance(),t.clear()},!1)},f.prototype._applySelected=function(t){this._select.setProperty("value",t),this.dispatchEvent(new u(this,h.VALUE_UPDATED),null)},f.prototype.applyValue=function(){var t=a.get().getSelectedIndex(),e=this._selected=this._values[t];this._hasTarget()&&(this.pushHistoryState(),this._obj[this._targetKey]=e),this._applySelected(e)},f.prototype.pushHistoryState=function(){var t=this._obj,e=this._targetKey;s.get().pushState(t,e,t[e])},f.prototype._onOptionTrigger=function(){this.dispatchEvent(new u(this,c.TRIGGERED,null))},f.prototype._updateAppearance=function(){this._select.setStyleClass(this._active?o.SelectActive:o.Select)},f.prototype.onValueUpdate=function(t){this._hasTarget()&&(this._selected=this._obj[this._targetKey],this._select.setProperty("value",this._selected.toString()))},f.prototype._hasTarget=function(){return null!=this._targetKey},f.prototype.setValue=function(t){if(this._selectedIndex=t,-1==t)return this._selected=null,void this._select.setProperty("value",d);this._selected=this._values[this._selectedIndex],this._applySelected(this._selected)},f.prototype.getData=function(){var t={};return t.selectedIndex=this._selectedIndex,t},t.exports=f},function(t,e,n){var i=n(12),r=n(14),o=n(15),a=n(8),s=n(66),u=n(7),l="";function h(t,e,n,h){n=n||function(){},(h=h||{}).label=h.label||l,s.apply(this,[t,h.label]);var c=this._inputNode=new a(a.INPUT_BUTTON);c.setStyleClass(u.Button),c.setProperty("value",e);var p=this;c.addEventListener(r.ON_CLICK,function(){n.bind(p)(),p.dispatchEvent(new i(p,o.VALUE_UPDATED))}),this._wrapNode.addChild(c)}h.prototype=Object.create(s.prototype),h.prototype.constructor=h,h.prototype.getButtonLabel=function(){return this._inputNode.getProperty("value")},h.prototype.setButtonLabel=function(t){this._inputNode.setProperty("value",t)},t.exports=h},function(t,e){function n(t){Error.apply(this),Error.captureStackTrace(this,n),this.name="ColorFormatError",this.message=t}n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,t.exports=n},function(t,e,n){var i=n(29),r=n(8),o=n(123),a=n(121),s=n(84),u=n(59),l=n(83),h=n(25),c=n(7),p=n(12),d=n(14),f=n(15),m=n(173),g=o.HEX,v=null,y="Color format should be hex. Set colorMode to rgb, rgbfv or hsv.",_="Color format should be rgb, rgbfv or hsv. Set colorMode to hex.",b="Preset color format should be hex.",x="Preset color format should be rgb, rgbfv or hsv.";function w(t,e,n,o){i.apply(this,arguments),(o=o||{}).presets=o.presets||v,o.colorMode=o.colorMode||g,o.onChange=o.onChange||this._onChange,this._presetsKey=o.presets,this._onChange=o.onChange;var a=this._color=new r;n=this._value=this._obj[this._key];var s=this._colorMode=o.colorMode;this._validateColorFormat(n,y,_);var p=this._wrapNode;if(this._presetsKey){a.setStyleClass(c.Color);var f=new r;f.setStyleClass(c.WrapColorWPreset),p.addChild(f),f.addChild(a);for(var m=this._obj[this._presetsKey],w=-1;++w<m.length;)this._validateColorFormat(m[w],b,x);var A=u.get(),S=new l(p),T=function(){A.clear(),S.deactivate()},E=this;S.setOnActive(function(){A.build(m,E._value,a,function(){E.pushHistoryState(),E._value=m[A.getSelectedIndex()],E.applyValue(),E._onChange(E._obj[E._key])},T,h.PADDING_PRESET,!0,s)}),S.setOnDeactive(T)}else a.setStyleClass(c.Color),p.addChild(a);a.addEventListener(d.MOUSE_DOWN,this._onColorTrigger.bind(this)),this._updateColor()}w.prototype=Object.create(i.prototype),w.prototype.constructor=w,w.prototype._onColorTrigger=function(){var t,e=this._colorMode,n=o.HEX,i=o.RGB,r=o.RGBfv,s=o.HSV,u=this._value,l=function(){switch(this.pushHistoryState(),e){case n:this._value=a.get().getHEX();break;case i:t=a.get().getRGB(),u[0]=t[0],u[1]=t[1],u[2]=t[2];break;case r:t=a.get().getRGBfv(),u[0]=t[0],u[1]=t[1],u[2]=t[2];break;case s:this._value=a.get().getHSV()}this.applyValue()}.bind(this),h=a.get();switch(e){case n:h.setColorHEX(u);break;case i:h.setColorRGB(u[0],u[1],u[2]);break;case r:h.setColorRGBfv(u[0],u[1],u[2]);break;case s:h.setColorHSV(u[0],u[1],u[2])}h.setCallbackPick(l),h.open()},w.prototype.applyValue=function(){this._obj[this._key]=this._value,this._updateColor(),this.dispatchEvent(new p(this,f.VALUE_UPDATED,null)),this._onChange(this._obj[this._key])},w.prototype.onValueUpdate=function(t){t.data.origin!=this&&(this._value=this._obj[this._key],this._updateColor())},w.prototype._updateColor=function(){var t,e=this._value,n=this._color;switch(n.setProperty("innerHTML",e),this._colorMode){case o.HEX:t=e;break;case o.RGB:t=s.RGB2HEX(e[0],e[1],e[2]);break;case o.RGBfv:t=s.RGBfv2HEX(e[0],e[1],e[2]);break;case o.HSV:t=s.HSV2RGB(e[0],e[1],e[2])}n.getStyle().backgroundColor=t},w.prototype._validateColorFormat=function(t,e,n){var i=this._colorMode;if(i==o.HEX&&"[object Array]"===Object.prototype.toString.call(t)||i==o.HEX&&"[object Float32Array]"===Object.prototype.toString.call(t))throw new m(e);if((i==o.RGB||i==o.RGBfv||i==o.HSV)&&"[object Array]"!==Object.prototype.toString.call(t)||i==o.HSV&&"[object Float32Array]"!==Object.prototype.toString.call(t))throw new m(n)},t.exports=w},function(t,e,n){var i=n(29),r=n(8),o=n(12),a=n(14),s=n(15);function u(t,e,n,o){i.apply(this,arguments),(o=o||{}).onChange=o.onChange||this._onChange,this._onChange=o.onChange;var s=this._input=new r(r.INPUT_CHECKBOX);s.setProperty("checked",this._obj[this._key]),s.addEventListener(a.CHANGE,this._onInputChange.bind(this)),this._wrapNode.addChild(this._input)}u.prototype=Object.create(i.prototype),u.prototype.constructor=u,u.prototype.applyValue=function(){this.pushHistoryState();var t=this._obj,e=this._key;t[e]=!t[e],this.dispatchEvent(new o(this,s.VALUE_UPDATED,null))},u.prototype._onInputChange=function(){this.applyValue(),this._onChange()},u.prototype.onValueUpdate=function(t){t.data.origin!=this&&this._input.setProperty("checked",this._obj[this._key])},t.exports=u},function(t,e,n){var i=n(29),r=n(64),o=n(8),a=n(59),s=n(83),u=n(7),l=n(25),h=n(12),c=n(16),p=n(14),d=n(15),f=2,m=1,g=null;function v(t,e,n,h){i.apply(this,arguments),(h=h||{}).onBegin=h.onBegin||null,h.onChange=h.onChange||this._onChange,h.onFinish=h.onFinish||null,h.onError=h.onError||null,h.dp=void 0===h.dp||null==h.dp?f:h.dp,h.step=h.step||m,h.presets=h.presets||g,this._onBegin=h.onBegin,this._onChange=h.onChange,this._presetsKey=h.presets;var c=this._input=new r(h.step,h.dp,h.onBegin,this._onInputChange.bind(this),h.onFinish,h.onError),v=this._wrapNode,y=h.presets;if(y){var _=new o;_.setStyleClass(u.WrapInputWPreset),v.addChild(_),_.addChild(c.getNode());var b=a.get(),x=this._btnPreset=new s(this._wrapNode),w=function(){b.clear(),x.deactivate()},A=this;x.setOnActive(function(){b.build(y,c.getValue(),c.getNode(),function(){c.setValue(y[b.getSelectedIndex()]),A.applyValue(),A._onChange(A._obj[A._key])},w,l.PADDING_PRESET,!1)}),x.setOnDeactive(w)}else v.addChild(c.getNode());c.getNode().addEventListener(p.MOUSE_DOWN,this._onInputDragStart.bind(this)),this.addEventListener(d.INPUT_SELECT_DRAG,this._parent,"onComponentSelectDrag"),c.setValue(this._obj[this._key])}v.prototype=Object.create(i.prototype),v.prototype.constructor=v,v.prototype._onInputChange=function(){this.applyValue(),this._onChange(this._obj[this._key])},v.prototype.applyValue=function(){this.pushHistoryState(),this._obj[this._key]=this._input.getValue(),this.dispatchEvent(new h(this,d.VALUE_UPDATED,null))},v.prototype.onValueUpdate=function(t){t.data.origin!=this&&this._input.setValue(this._obj[this._key])},v.prototype._onInputDragStart=function(){var t=c.MOUSE_MOVE,e=c.MOUSE_UP,n=d.INPUT_SELECT_DRAG,i=this,r=function(){i.dispatchEvent(new h(this,n,null))},o=function(){i.dispatchEvent(new h(this,n,null)),document.removeEventListener(t,r,!1),document.removeEventListener(t,o,!1)};this.dispatchEvent(new h(this,n,null)),document.addEventListener(t,r,!1),document.addEventListener(e,o,!1)},t.exports=v},function(t,e){t.exports={LEFT:"left",RIGHT:"right",TOP:"top",BOTTOM:"bottom",NONE:"none"}},function(t,e){function n(){Error.apply(this),Error.captureStackTrace(this,n),this.name="FunctionPlotterFunctionArgsError",this.message="Function should be of form f(x) or f(x,y)."}n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,t.exports=n},function(t,e){function n(t,e){Error.apply(this),Error.captureStackTrace(this,n),this.name="ComponentObjectError",this.message="Object "+t.constructor.name+" "+e+"should be of type Function."}n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,t.exports=n},function(t,e){t.exports={IMPLICIT:"implicit",NON_IMPLICIT:"nonImplicit"}},function(t,e,n){var i=n(29),r=n(7),o=n(53),a=n(25);function s(t,e,n,a){i.apply(this,arguments);var s=this._wrapNode;s.setStyleClass(r.SVGWrap);var u=s.getWidth(),l=this._svg=this._createSVGObject("svg");l.setAttribute("version","1.2"),l.setAttribute("baseProfile","tiny"),s.getElement().appendChild(l),(this._svgRoot=l.appendChild(this._createSVGObject("g"))).setAttribute("transform","translate(0.5 0.5)"),this._svgSetSize(u,u),this._updateHeight(),this._node.setStyleClass(r.SVGListItem),this._parent.addEventListener(o.GROUP_SIZE_CHANGE,this,"onGroupSizeChange"),this.addEventListener(o.GROUP_SIZE_UPDATE,this._parent,"onGroupSizeUpdate")}s.prototype=Object.create(i.prototype),s.prototype.constructor=s,s.prototype._updateHeight=function(){var t=Number(this._svg.getAttribute("height"));this._wrapNode.setHeight(t),this._node.setHeight(t+a.PADDING_WRAPPER)},s.prototype._redraw=function(){},s.prototype.onGroupSizeChange=function(){var t=this._wrapNode.getWidth();this._svgSetSize(t,t),this._updateHeight(),this._redraw()},s.prototype._createSVGObject=function(t){return document.createElementNS("http://www.w3.org/2000/svg",t)},s.prototype._svgSetSize=function(t,e){var n=this._svg;n.setAttribute("width",t),n.setAttribute("height",e),n.setAttribute("viewbox","0 0 "+t+" "+e)},s.prototype._pathCmdMoveTo=function(t,e){return"M "+t+" "+e+" "},s.prototype._pathCmdLineTo=function(t,e){return"L "+t+" "+e+" "},s.prototype._pathCmdClose=function(){return"Z"},s.prototype._pathCmdLine=function(t,e,n,i){return"M "+t+" "+e+" L "+n+" "+i},s.prototype._pathCmdBezierCubic=function(t,e,n,i,r,o,a,s,u){return"M "+e+" "+n+" C "+i+" "+r+", "+o+" "+a+", "+s+" "+u},s.prototype._pathCmdBezierQuadratic=function(t,e,n,i,r,o,a){return"M "+e+" "+n+" Q "+i+" "+r+", "+o+" "+a},t.exports=s},function(t,e){function n(t,e){Error.apply(this),Error.captureStackTrace(this,n),this.name="ComponentObjectError",this.message="Object of type "+t.constructor.name+" has no member "+e+"."}n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,t.exports=n},function(t,e,n){var i=n(128),r=n(8),o=n(7),a=n(12),s=n(16),u=n(67),l=n(53),h=n(15);function c(t,e){(e=e||{}).label=e.label||null,e.useLabels=void 0===e.useLabels||e.useLabels,i.apply(this,arguments);var n=this._node,a=this._wrapNode,h=this._listNode;n.setStyleClass(o.SubGroup),a.setStyleClass(o.Wrap),a.addChild(h),n.addChild(a),this._useLabels=e.useLabels;var c=e.label;if(c&&0!=c.length&&"none"!=c){var p=this._headNode=new r,d=new r,f=new r(r.SPAN);p.setStyleClass(o.Head),d.setStyleClass(o.Wrap),f.setStyleClass(o.Label),f.setProperty("innerHTML",c),d.addChild(f),p.addChild(d);var m=this._indiNode=new r;m.setStyleClass(o.ArrowBSubMax),p.addChildAt(m,0),n.addChildAt(p,0),this.addEventListener(l.SUBGROUP_TRIGGER,this._parent,"onSubGroupTrigger"),p.addEventListener(s.MOUSE_DOWN,this._onHeadMouseDown.bind(this)),this._updateAppearance()}this.hasMaxHeight()&&this.addScrollWrap(),this._parent.addEventListener(l.SUBGROUP_ENABLE,this,"onEnable"),this._parent.addEventListener(l.SUBGROUP_DISABLE,this,"onDisable"),this._parent.addEventListener(u.PANEL_MOVE_END,this,"onPanelMoveEnd"),this._parent.addEventListener(l.GROUP_SIZE_CHANGE,this,"onGroupSizeChange"),this._parent.addEventListener(u.PANEL_SIZE_CHANGE,this,"onPanelSizeChange"),this._parent.addEventListener(s.WINDOW_RESIZE,this,"onWindowResize"),this.addEventListener(l.GROUP_SIZE_UPDATE,this._parent,"onGroupSizeUpdate")}c.prototype=Object.create(i.prototype),c.prototype.constructor=c,c.prototype._onHeadMouseDown=function(){this._enabled=!this._enabled,this._onTrigger();var t=s.MOUSE_UP,e=this,n=function(){e._onTrigger(),document.removeEventListener(t,n)};document.addEventListener(t,n)},c.prototype._onTrigger=function(){this._updateAppearance(),this.dispatchEvent(new a(this,l.SUBGROUP_TRIGGER,null))},c.prototype._updateAppearance=function(){this.isDisabled()?(this._wrapNode.setHeight(0),this.hasLabel()&&(this._headNode.setStyleClass(o.HeadInactive),this._indiNode.setStyleClass(o.ArrowBSubMin))):(this.hasMaxHeight()?this._wrapNode.setHeight(this.getMaxHeight()):this._wrapNode.deleteStyleProperty("height"),this.hasLabel()&&(this._headNode.setStyleClass(o.Head),this._indiNode.setStyleClass(o.ArrowBSubMax)))},c.prototype.update=function(){this.hasMaxHeight()&&this._scrollBar.update()},c.prototype.onComponentSelectDrag=function(){this.preventSelectDrag()},c.prototype.onEnable=function(){this.isDisabled()||this.dispatchEvent(new a(this,h.ENABLE,null))},c.prototype.onDisable=function(){this.isDisabled()||this.dispatchEvent(new a(this,h.DISABLE,null))},c.prototype.onGroupSizeChange=function(){this.dispatchEvent(new a(this,l.GROUP_SIZE_CHANGE,null))},c.prototype.onGroupSizeUpdate=function(){this.dispatchEvent(new a(this,l.GROUP_SIZE_UPDATE,null))},c.prototype.onPanelMoveEnd=function(){this.dispatchEvent(new a(this,u.PANEL_MOVE_END,null))},c.prototype.onPanelSizeChange=function(){this._updateAppearance()},c.prototype.onWindowResize=function(t){this.dispatchEvent(t)},c.prototype.hasLabel=function(){return null!=this._headNode},c.prototype.addComponentNode=function(t){this._listNode.addChild(t)},c.prototype.usesLabels=function(){return this._useLabels},t.exports=c},function(t,e,n){var i=n(128),r=n(7),o=n(8),a=n(183),s=n(12),u=n(16),l=n(14),h=n(67),c=n(53),p=n(29),d=n(86),f=n(126);function m(t,e){(e=e||{}).label=e.label||null,e.useLabels=e.useLabels||!0,e.enable=void 0===e.enable||e.enable,i.apply(this,arguments),this._components=[],this._subGroups=[];var n=this._node,a=this._wrapNode,s=this._listNode;n.setStyleClass(r.Group),a.setStyleClass(r.Wrap),s.setStyleClass(r.SubGroupList),a.addChild(s);var p=e.label;if(p){var d=new o,f=new o,m=new o(o.SPAN),g=this._indiNode=new o;d.setStyleClass(r.Head),f.setStyleClass(r.Wrap),m.setStyleClass(r.Label),g.setStyleClass(r.ArrowBMax),m.setProperty("innerHTML",p),d.addChild(g),f.addChild(m),d.addChild(f),n.addChild(d),d.addEventListener(l.MOUSE_DOWN,this._onHeadTrigger.bind(this)),this.addEventListener(c.GROUP_LIST_SIZE_CHANGE,t,"onGroupListSizeChange"),this._updateAppearance()}if(this.hasMaxHeight()&&this.addScrollWrap(),n.addChild(a),this.hasMaxHeight()){if(!p){var v=this._scrollBufferTop=new o;v.setStyleClass(r.ScrollBuffer),n.addChildAt(v,0)}var y=this._scrollBufferBottom=new o;y.setStyleClass(r.ScrollBuffer),n.addChild(y)}(t=this._parent).addEventListener(h.PANEL_MOVE_BEGIN,this,"onPanelMoveBegin"),t.addEventListener(h.PANEL_MOVE,this,"onPanelMove"),t.addEventListener(h.PANEL_MOVE_END,this,"onPanelMoveEnd"),t.addEventListener(h.PANEL_HIDE,this,"onPanelHide"),t.addEventListener(h.PANEL_SHOW,this,"onPanelShow"),t.addEventListener(h.PANEL_SCROLL_WRAP_ADDED,this,"onPanelScrollWrapAdded"),t.addEventListener(h.PANEL_SCROLL_WRAP_REMOVED,this,"onPanelScrollWrapRemoved"),t.addEventListener(h.PANEL_SIZE_CHANGE,this,"onPanelSizeChange"),t.addEventListener(u.WINDOW_RESIZE,this,"onWindowResize"),this.addEventListener(c.GROUP_SIZE_CHANGE,t,"onGroupListSizeChange")}function g(t){return t instanceof p&&!(t instanceof d)&&!(t instanceof f)}m.prototype=Object.create(i.prototype),m.prototype.constructor=m,m.prototype.onPanelMoveBegin=function(){this.dispatchEvent(new s(this,h.PANEL_MOVE_BEGIN,null))},m.prototype.onPanelMove=function(){this.dispatchEvent(new s(this,h.PANEL_MOVE,null))},m.prototype.onPanelMoveEnd=function(){this.dispatchEvent(new s(this,h.PANEL_MOVE_END,null))},m.prototype.onPanelScrollWrapAdded=function(){this.dispatchEvent(new s(this,c.GROUP_SIZE_CHANGE,null))},m.prototype.onPanelScrollWrapRemoved=function(){this.dispatchEvent(new s(this,c.GROUP_SIZE_CHANGE,null))},m.prototype.onPanelHide=function(){this.dispatchEvent(new s(this,c.SUBGROUP_DISABLE,null))},m.prototype.onPanelShow=function(){this.dispatchEvent(new s(this,c.SUBGROUP_ENABLE,null))},m.prototype.onPanelSizeChange=function(){this.dispatchEvent(new s(this,c.GROUP_SIZE_CHANGE,null))},m.prototype.onWindowResize=function(t){this.dispatchEvent(t)},m.prototype.onSubGroupTrigger=function(){if(this._updateHeight(),this.hasMaxHeight()){var t=this._scrollBar,e=this._wrapNode,n=this._scrollBufferTop,i=this._scrollBufferBottom;t.update(),t.isValid()?(t.enable(),e.setHeight(this.getMaxHeight()),n&&n.setStyleProperty("display","block"),i&&i.setStyleProperty("display","block")):(t.disable(),e.setHeight(e.getChildAt(1).getHeight()),n&&n.setStyleProperty("display","none"),i&&i.setStyleProperty("display","none")),this.dispatchEvent(new s(this,c.GROUP_SIZE_CHANGE,null))}},m.prototype._onHeadTrigger=function(){this._enabled=!this._enabled,this._updateAppearance(),this.dispatchEvent(new s(this,c.GROUP_LIST_SIZE_CHANGE,null))},m.prototype.addComponent=function(){var t=arguments[0],e=Array.prototype.slice.call(arguments);e.shift(),e.unshift(this._getSubGroup());var n=Object.create(t.prototype);t.apply(n,e),this._components.push(n),this._updateHeight()},m.prototype._updateHeight=function(){this._getSubGroup().update(),this.dispatchEvent(new s(this,c.GROUP_SIZE_CHANGE,null)),this.hasMaxHeight()&&this._scrollBar.update()},m.prototype._updateAppearance=function(){var t=this._wrapNode,e=this._indiNode,n=this._scrollBar,i=this._scrollBufferTop,o=this._scrollBufferBottom;if(this.isDisabled())return t.setHeight(0),e&&e.setStyleClass(r.ArrowBMin),void(n&&(i&&i.setStyleProperty("display","none"),o&&o.setStyleProperty("display","none")));if(this.hasMaxHeight()){var a=this.getMaxHeight(),s=t.getChildAt(1).getHeight();t.setHeight(s<a?s:a),n.isValid()&&(i&&i.setStyleProperty("display","block"),o&&o.setStyleProperty("display","block"))}else t.deleteStyleProperty("height");e&&e.setStyleClass(r.ArrowBMax)},m.prototype.onGroupSizeUpdate=function(){this._updateAppearance(),this.hasMaxHeight()&&this._scrollBar.update()},m.prototype.addSubGroup=function(t){return this._subGroups.push(new a(this,t)),this._updateHeight(),this},m.prototype._getSubGroup=function(){var t=this._subGroups;return 0==t.length&&t.push(new a(this)),t[t.length-1]},m.prototype.getComponents=function(){return this._components},m.prototype.setData=function(t){for(var e,n,i=this._components,r=-1,o=0,a=i.length;++r<a;)g(e=i[r])&&(n=t[o++],e.setValue(n[Object.keys(n)[0]]))},m.prototype.getData=function(){for(var t,e=this._components,n=-1,i=e.length,r=[];++n<i;)g(t=e[n])&&r.push(t.getData());return r},t.exports=m},function(t,e,n){var i=n(8),r=n(184),o=n(88),a=n(7),s=n(177),u=n(60),l=n(36),h=n(12),c=n(16),p=n(14),d=n(67),f=n(125),m=n(42),g=n(124),v=n(176),y=n(122),_=n(175),b=n(174),x=n(172),w=n(171),A=n(120),S=n(126),T=n(169),E=n(86),M=n(119),P=n(117),C=n(116),L=n(115),R=null,O=200,I=null,N=100,D=600,B=40,k="Control Panel",G=s.TOP,U=s.RIGHT,V={align:s.RIGHT,resizable:!0},z=!0,H=1,F=!0,j=!0;function W(t,e){l.apply(this,arguments),this._parent=t,(e=e||{}).valign=e.valign||G,e.align=e.align||U,e.position=e.position||R,e.width=e.width||O,e.height=e.height||I,e.ratio=e.ratio||B,e.label=e.label||k,e.opacity=e.opacity||H,e.fixed=void 0===e.fixed?F:e.fixed,e.enable=void 0===e.enable?z:e.enable,e.vconstrain=void 0===e.vconstrain?j:e.vconstrain,e.dock&&(e.dock.align=e.dock.align||V.align,e.dock.resizable=e.dock.resizable||V.resizable),this._width=Math.max(N,Math.min(e.width,D)),this._height=e.height?Math.max(0,Math.min(e.height,window.innerHeight)):null,this._fixed=e.fixed,this._dock=e.dock,this._position=e.position,this._vConstrain=e.vconstrain,this._label=e.label,this._enabled=e.enable,this._groups=[];var n=this._width,r=this._fixed,o=this._dock,h=this._position,d=this._label,m=e.align,g=e.opacity,v=this._node=(new i).setStyleClass(a.Panel),y=this._headNode=(new i).setStyleClass(a.Head),_=(new i).setStyleClass(a.Menu),b=(new i).setStyleClass(a.Wrap),x=new i(i.SPAN).setStyleClass(a.Label),w=this._wrapNode=new i(i.DIV).setStyleClass(a.Wrap),A=this._listNode=new i(i.LIST).setStyleClass(a.GroupList);if(v.setWidth(n),x.setProperty("innerHTML",d),b.addChild(x),y.addChild(_),y.addChild(b),w.addChild(A),v.addChild(y),v.addChild(w),t.getNode().addChild(v),o){var S=o.align;S!=s.LEFT&&S!=s.RIGHT||(m=S,this._height=window.innerHeight),S==s.TOP||s.BOTTOM,v.setStyleProperty("float",m)}else{var T=this._menuHide=new i(i.INPUT_BUTTON);if(T.setStyleClass(a.ButtonMenuHide),T.addEventListener(p.MOUSE_DOWN,this._onMenuHideMouseDown.bind(this)),_.addChild(T),this._parent.panelsAreClosable()){var E=new i(i.INPUT_BUTTON);E.setStyleClass(a.ButtonMenuClose),E.addEventListener(p.MOUSE_DOWN,this.disable.bind(this)),_.addChild(E)}if(this.hasMaxHeight()&&this._addScrollWrap(),r){if(h){var M=h[0],P=h[1];0!=P&&v.setPositionY(P),0!=M&&(m==s.RIGHT?v.getElement().marginRight=M:v.setPositionX(M))}v.setStyleProperty("float",m)}else h?m==s.LEFT||m==s.TOP||m==s.BOTTOM?v.setPositionGlobal(h[0],h[1]):(v.setPositionGlobal(window.innerWidth-n-h[0],h[1]),this._position=v.getPosition()):this._position=v.getPosition(),this._mouseOffset=[0,0],v.setStyleProperty("position","absolute"),y.addEventListener(p.MOUSE_DOWN,this._onHeadDragStart.bind(this))}var C=this._parent,L=C.historyIsEnabled(),W=C.statesAreEnabled();(L||W)&&_.addChildAt(new i,0).setStyleClass(a.Wrap),L&&(this._menuUndo=_.getChildAt(0).addChild(new i(i.INPUT_BUTTON)).setStyleClass(a.ButtonMenuUndo).setProperty("value",u.get().getNumStates()).addEventListener(p.MOUSE_DOWN,function(){u.get().popState()}),C.addEventListener(f.UPDATE_MENU,this,"onUpdateMenu")),W&&(_.getChildAt(0).addChild(new i(i.INPUT_BUTTON)).setStyleClass(a.ButtonMenuLoad).setProperty("value","Load").addEventListener(p.MOUSE_DOWN,function(){t._loadState()}),_.getChildAt(0).addChild(new i(i.INPUT_BUTTON)).setStyleClass(a.ButtonMenuSave).setProperty("value","Save").addEventListener(p.MOUSE_DOWN,function(){t._saveState()})),(L||W)&&(y.addEventListener(p.MOUSE_OVER,function(){_.setStyleClass(a.MenuActive)}),y.addEventListener(p.MOUSE_OUT,function(){_.setStyleClass(a.Menu)})),1!=g&&0!=g&&v.setStyleProperty("opacity",g),window.addEventListener(c.WINDOW_RESIZE,this._onWindowResize.bind(this)),this._updateAppearance()}W.prototype=Object.create(l.prototype),W.prototype.constructor=W,W.prototype._onMenuHideMouseDown=function(){this._enabled=!this._enabled,this._updateAppearance()},W.prototype.onUpdateMenu=function(){this._menuUndo.setProperty("value",u.get().getNumStates())},W.prototype._onMenuUndoTrigger=function(){u.get().popState()},W.prototype._updateAppearance=function(){var t=this._node,e=this._headNode,n=this._menuHide;this._enabled?(t.setHeight(e.getHeight()+this._wrapNode.getHeight()),t.deleteStyleProperty("height"),n.setStyleClass(a.ButtonMenuHide),e.setStyleClass(a.Head),this.dispatchEvent(new h(this,d.PANEL_SHOW,null))):(e.getStyle().borderBottom="none",t.setHeight(e.getHeight()),n.setStyleClass(a.ButtonMenuShow),this.dispatchEvent(new h(this,d.PANEL_HIDE,null)))},W.prototype._onHeadDragStart=function(){var t=this._parent.getNode(),e=this._node,n=e.getPositionGlobal(),i=m.get().getPosition(),r=this._mouseOffset;r[0]=i[0]-n[0],r[1]=i[1]-n[1];var o=c.MOUSE_MOVE,a=c.MOUSE_UP,s=this,u=function(){s._updatePosition()},l=function(){document.removeEventListener(o,u,!1),document.removeEventListener(a,l,!1),s.dispatchEvent(new h(this,d.PANEL_MOVE_END,null))};t.removeChild(e),t.addChild(e),document.addEventListener(o,u,!1),document.addEventListener(a,l,!1),this.dispatchEvent(new h(this,d.PANEL_MOVE_BEGIN,null))},W.prototype._updatePosition=function(){var t=m.get().getPosition(),e=this._mouseOffset,n=this._position;n[0]=t[0]-e[0],n[1]=t[1]-e[1],this._constrainHeight(),this._constrainPosition(),this.dispatchEvent(new h(this,d.PANEL_MOVE,null))},W.prototype._onWindowResize=function(){if(this.isDocked()){var t=this._dock;if(t.align==s.RIGHT||t.align==s.LEFT){var e=window.innerHeight,n=this._listNode.getHeight(),i=this._headNode.getHeight();this._height=e,e-i>n?this._scrollBar.disable():this._scrollBar.enable(),this.dispatchEvent(new h(this,d.PANEL_SIZE_CHANGE))}}else this.isFixed()||this._constrainPosition();this._constrainHeight(),this.dispatchEvent(new h(this,c.WINDOW_RESIZE))},W.prototype._constrainPosition=function(){var t=this._node,e=window.innerWidth-t.getWidth(),n=window.innerHeight-t.getHeight(),i=this._position;i[0]=Math.max(0,Math.min(i[0],e)),i[1]=Math.max(0,Math.min(i[1],n)),t.setPositionGlobal(i[0],i[1])},W.prototype._constrainHeight=function(){if(this._vConstrain){var t,e=this.hasMaxHeight(),n=this.hasScrollWrap(),i=this._headNode,r=this._wrapNode,o=this._scrollBar,a=this.isDocked()?0:this.isFixed()?0:this._position[1],s=e?this.getMaxHeight():n?o.getTargetNode().getHeight():r.getHeight(),u=a+s,l=i.getHeight(),c=window.innerHeight-u-l;if(c<0){if(t=s+c,!n)return this._addScrollWrap(t),void this.dispatchEvent(new h(this,d.PANEL_SCROLL_WRAP_ADDED,null));o.setWrapHeight(t),r.setHeight(t)}else!e&&n&&(o.removeFromParent(),r.addChild(this._listNode),r.deleteStyleProperty("height"),this._scrollBar.removeMouseListener(),this._scrollBar=null,this.dispatchEvent(new h(this,d.PANEL_SCROLL_WRAP_REMOVED,null)))}},W.prototype.onGroupListSizeChange=function(){this.hasScrollWrap()&&this._updateScrollWrap(),this._constrainHeight()},W.prototype._updateScrollWrap=function(){var t=this._wrapNode,e=this._scrollBar,n=this.hasMaxHeight()?this.getMaxHeight():100,i=this._listNode.getHeight();t.setHeight(i<n?i:n),e.update(),e.isValid()?(e.enable(),t.setHeight(n)):(e.disable(),t.setHeight(t.getChildAt(1).getHeight()))},W.prototype._addScrollWrap=function(){var t=this._wrapNode,e=this._listNode,n=0==arguments.length?this.getMaxHeight():arguments[0];this._scrollBar=new o(t,e,n),this.isEnabled()&&t.setHeight(n)},W.prototype.hasScrollWrap=function(){return null!=this._scrollBar},W.prototype.preventSelectDrag=function(){this.hasScrollWrap()&&(this._wrapNode.getElement().scrollTop=0)},W.prototype.enable=function(){this._node.setStyleProperty("display","block"),this._enabled=!0,this._updateAppearance()},W.prototype.disable=function(){this._node.setStyleProperty("display","none"),this._enabled=!1,this._updateAppearance()},W.prototype.isEnabled=function(){return this._enabled},W.prototype.isDisabled=function(){return!this._enabled},W.prototype.hasMaxHeight=function(){return null!=this._height},W.prototype.getMaxHeight=function(){return this._height},W.prototype.isDocked=function(){return this._dock},W.prototype.isFixed=function(){return this._fixed},W.prototype.getGroups=function(){return this._groups},W.prototype.getNode=function(){return this._node},W.prototype.getList=function(){return this._listNode},W.prototype.getWidth=function(){return this._width},W.prototype.getPosition=function(){return this._position},W.prototype.getParent=function(){return this._parent},W.prototype.addGroup=function(t){var e=new r(this,t);return this._groups.push(e),this.isDocked()&&this.dispatchEvent(new h(this,d.PANEL_SIZE_CHANGE)),this},W.prototype.addSubGroup=function(t){var e=this._groups;return 0==e.length&&this.addGroup(),e[e.length-1].addSubGroup(t),this},W.prototype._addComponent=function(){var t,e=this._groups;return 0==e.length&&e.push(new r(this)),(t=e[e.length-1]).addComponent.apply(t,arguments),this},W.prototype.addStringInput=function(t,e,n){return this._addComponent(g,t,e,n)},W.prototype.addNumberInput=function(t,e,n){return this._addComponent(v,t,e,n)},W.prototype.addRange=function(t,e,n){return this._addComponent(y,t,e,n)},W.prototype.addCheckbox=function(t,e,n){return this._addComponent(_,t,e,n)},W.prototype.addColor=function(t,e,n){return this._addComponent(b,t,e,n)},W.prototype.addButton=function(t,e,n){return this._addComponent(x,t,e,n)},W.prototype.addSelect=function(t,e,n){return this._addComponent(w,t,e,n)},W.prototype.addSlider=function(t,e,n,i){return this._addComponent(A,t,e,n,i)},W.prototype.addFunctionPlotter=function(t,e,n){return this._addComponent(S,t,e,n)},W.prototype.addPad=function(t,e,n){return this._addComponent(T,t,e,n)},W.prototype.addValuePlotter=function(t,e,n){return this._addComponent(E,t,e,n)},W.prototype.addNumberOutput=function(t,e,n){return this._addComponent(M,t,e,n)},W.prototype.addStringOutput=function(t,e,n){return this._addComponent(P,t,e,n)},W.prototype.addCanvas=function(t){return this._addComponent(C,t)},W.prototype.addSVG=function(t){return this._addComponent(L,t)},W.prototype.setData=function(t){for(var e=this._groups,n=-1,i=e.length;++n<i;)e[n].setData(t[n])},W.prototype.getData=function(){for(var t=this._groups,e=-1,n=t.length,i=[];++e<n;)i.push(t[e].getData());return i},t.exports=W},function(t,e,n){var i=n(8),r=n(185),o=n(59),a=n(121),s=n(7),u=n(36),l=n(12),h=n(16),c=(n(14),n(15)),p=n(127),d=n(125),f=n(60),m=n(168),g=n(42),v=n(86),y=n(117),_=n(124),b=n(119),x=n(120),w=!1,A=1,S=!1,T=!0,E=!1,M="h",P=!1;function C(t){if(P)throw new Error("ControlKit is already initialized.");(t=t||{}).history=void 0===t.history?w:t.history,t.loadAndSave=void 0===t.loadAndSave?E:t.loadAndSave,t.opacity=void 0===t.opacity?A:t.opacity,t.panelsClosable=void 0===t.panelsClosable?S:t.panelsClosable,t.useExternalStyle=void 0!==t.useExternalStyle&&t.useExternalStyle,t.enable=void 0===t.enable?T:t.enable,u.apply(this,arguments);var e=null;if(t.parentDomElementId?e=i.getNodeById(t.parentDomElementId):(e=new i,document.body.appendChild(e.getElement())),!t.useExternalStyle){var r=document.createElement("style");r.type="text/css";var l=t.style?t.styleString:n(167).string;r.stylesheet?r.stylesheet.cssText=l:r.appendChild(document.createTextNode(l)),(document.head||document.getElementsByTagName("head")[0]).appendChild(r)}e.setProperty("id",s.ControlKit),this._node=e,this._panels=[],this._enabled=t.enable,this._historyEnabled=t.history,this._statesEnabled=t.loadAndSave,this._panelsClosable=t.panelsClosable;var c=f.setup();this._historyEnabled?(c.addEventListener(p.STATE_PUSH,this,"onHistoryStatePush"),c.addEventListener(p.STATE_POP,this,"onHistoryStatePop")):c.disable(),g.setup(),a.setup(e),o.setup(e);var d=t.opacity;1!=d&&0!=d&&e.setStyleProperty("opacity",d),this._canUpdate=!0;var m,v=this,y=0;window.addEventListener(h.WINDOW_RESIZE,function(){v._canUpdate=!1,clearInterval(m),m=setInterval(function(){y>=10&&(y=0,v._canUpdate=!0,clearInterval(m)),y++},25)}),this._shortcutEnable=M,document.addEventListener("keydown",function(t){t.ctrlKey&&String.fromCharCode(t.which||t.keyCode).toLowerCase()==v._shortcutEnable&&(v._enabled=!v._enabled,v._enabled?v._enable():v._disable())}),this._enabled||this._disable(),P=!0}C.prototype=Object.create(u.prototype),C.prototype.constructor=C,C.prototype.addPanel=function(t){var e=new r(this,t);return this._panels.push(e),e},C.prototype.update=function(){if(this._enabled&&this._canUpdate){var t,e,n,i,r,o,a,s,u,l,h=this._panels;for(t=-1,i=h.length;++t<i;)if(!(a=h[t]).isDisabled())for(e=-1,r=(s=a.getGroups()).length;++e<r;)for(n=-1,o=(u=s[e].getComponents()).length;++n<o;)(l=u[n]).isDisabled()||((l instanceof v||l instanceof y||l instanceof _||l instanceof b)&&l.update(),l instanceof x&&l._onInputChange())}},C.prototype.getComponentBy=function(t){var e,n,i,r,o,a,s,u,l,h=this._panels;for(e=-1,r=h.length;++e<r;)for(n=-1,o=(s=h[e].getGroups()).length;++n<o;)for(i=-1,a=(u=s[n].getComponents()).length;++i<a;)if(l=u[i]){if(l._key===t.key)return l;if(l._lablNode&&l._lablNode._element.innerText===t.label)return l}},C.prototype.historyIsEnabled=function(){return this._historyEnabled},C.prototype.statesAreEnabled=function(){return this._statesEnabled},C.prototype.panelsAreClosable=function(){return this._panelsClosable},C.prototype._enable=function(){for(var t=-1,e=this._panels,n=e.length;++t<n;)e[t].enable();this._node.setStyleProperty("visibility","")},C.prototype._disable=function(){for(var t=-1,e=this._panels,n=e.length;++t<n;)e[t].disable();this._node.setStyleProperty("visibility","hidden")},C.prototype.enable=function(){this._enable(),this._enabled=!0},C.prototype.disable=function(){this._disable(),this._enabled=!1},C.prototype.setShortcutEnable=function(t){this._shortcutEnable=t},C.prototype.onHistoryStatePush=function(){this.dispatchEvent(new l(this,d.UPDATE_MENU,null))},C.prototype.onHistoryStatePop=function(){this.dispatchEvent(new l(this,c.UPDATE_VALUE,{origin:null})),this.dispatchEvent(new l(this,d.UPDATE_MENU,null))},C.prototype.loadSettings=function(t){for(var e=-1,n=t.length,i=this._panels;++e<n;)i[e].setData(t[e])},C.prototype._loadState=function(){m.load(this.loadSettings.bind(this))},C.prototype._saveState=function(){this.update();for(var t=this._panels,e=-1,n=t.length,i=new Array(n);++e<n;)i[e]=t[e].getData();m.save({data:i})},C.prototype.getNode=function(){return this._node},C.destroy=function(){g.get().destroy(),o.get().destroy(),a.get().destroy(),P=!1},t.exports=C},function(t,e,n){var i=n(186);i.Canvas=n(116),i.SVG=n(115),t.exports=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var i=o(n(187)),r=o(n(166));function o(t){return t&&t.__esModule?t:{default:t}}function a(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}var s=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.app=e,this.particlesHitArea=!1,this.particlesRandom=2,this.particlesDepth=4,this.particlesSize=1.5,this.touchRadius=.15,this.range=[0,1],this.rangeRandom=[1,10],this.rangeSize=[0,3],this.rangeDepth=[1,10],this.rangeRadius=[0,.5],this.initControlKit()}return function(t,e,n){e&&a(t.prototype,e),n&&a(t,n)}(t,[{key:"initControlKit",value:function(){this.controlKit=new i.default,this.controlKit.addPanel({width:300,enable:!1}).addGroup({label:"Touch",enable:!0}).addCanvas({label:"trail",height:64}).addSlider(this,"touchRadius","rangeRadius",{label:"radius",onChange:this.onTouchChange.bind(this)}).addGroup({label:"Particles",enable:!0}).addSlider(this,"particlesRandom","rangeRandom",{label:"random",onChange:this.onParticlesChange.bind(this)}).addSlider(this,"particlesDepth","rangeDepth",{label:"depth",onChange:this.onParticlesChange.bind(this)}).addSlider(this,"particlesSize","rangeSize",{label:"size",onChange:this.onParticlesChange.bind(this)});var t=this.controlKit.getComponentBy({label:"trail"});t&&(this.touchCanvas=t._canvas,this.touchCtx=this.touchCanvas.getContext("2d"))}},{key:"initStats",value:function(){this.stats=new r.default,document.body.appendChild(this.stats.dom)}},{key:"update",value:function(){if(this.touchCanvas){if(!this.app.webgl)return;if(!this.app.webgl.particles)return;if(!this.app.webgl.particles.touch)return;var t=this.app.webgl.particles.touch.canvas,e=Math.floor(.5*(this.touchCanvas.width-t.width));this.touchCtx.fillRect(0,0,this.touchCanvas.width,this.touchCanvas.height),this.touchCtx.drawImage(t,e,0)}}},{key:"enable",value:function(){this.controlKit.enable(),this.stats&&(this.stats.dom.style.display="")}},{key:"disable",value:function(){this.controlKit.disable(),this.stats&&(this.stats.dom.style.display="none")}},{key:"toggle",value:function(){this.controlKit._enabled?this.disable():this.enable()}},{key:"onTouchChange",value:function(){this.app.webgl&&this.app.webgl.particles&&(this.app.webgl.particles.touch.radius=this.touchRadius)}},{key:"onParticlesChange",value:function(){this.app.webgl&&this.app.webgl.particles&&(this.app.webgl.particles.object3D.material.uniforms.uRandom.value=this.particlesRandom,this.app.webgl.particles.object3D.material.uniforms.uDepth.value=this.particlesDepth,this.app.webgl.particles.object3D.material.uniforms.uSize.value=this.particlesSize,this.app.webgl.particles.hitArea.material.visible=this.particlesHitArea)}},{key:"onPostProcessingChange",value:function(){this.app.webgl.composer&&(this.app.webgl.composer.enabled=this.postProcessing)}}]),t}();e.default=s},function(t,e){t.exports="// @author brunoimbrizi / http://brunoimbrizi.com\n\nprecision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D uTexture;\n\nvarying vec2 vPUv;\nvarying vec2 vUv;\n\nvoid main() {\n\tvec4 color = vec4(0.0);\n\tvec2 uv = vUv;\n\tvec2 puv = vPUv;\n\n\t// pixel color\n\tvec4 colA = texture2D(uTexture, puv);\n\n\t// greyscale\n\tfloat grey = colA.r * 0.21 + colA.g * 0.71 + colA.b * 0.07;\n\tvec4 colB = vec4(grey, grey, grey, 1.0);\n\n\t// circle\n\tfloat border = 0.3;\n\tfloat radius = 0.5;\n\tfloat dist = radius - distance(uv, vec2(0.5));\n\tfloat t = smoothstep(0.0, border, dist);\n\n\t// final color\n\tcolor = colB;\n\tcolor.a = t;\n\n\tgl_FragColor = color;\n}"},function(t,e){t.exports="// @author brunoimbrizi / http://brunoimbrizi.com\n\nprecision highp float;\n#define GLSLIFY 1\n\nattribute float pindex;\nattribute vec3 position;\nattribute vec3 offset;\nattribute vec2 uv;\nattribute float angle;\n\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\n\nuniform float uTime;\nuniform float uRandom;\nuniform float uDepth;\nuniform float uSize;\nuniform vec2 uTextureSize;\nuniform sampler2D uTexture;\nuniform sampler2D uTouch;\n\nvarying vec2 vPUv;\nvarying vec2 vUv;\n\n//\n// Description : Array and textureless GLSL 2D simplex noise function.\n//      Author : Ian McEwan, Ashima Arts.\n//  Maintainer : ijm\n//     Lastmod : 20110822 (ijm)\n//     License : Copyright (C) 2011 Ashima Arts. All rights reserved.\n//               Distributed under the MIT License. See LICENSE file.\n//               https://github.com/ashima/webgl-noise\n//\n\nvec3 mod289_1_0(vec3 x) {\n  return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\n\nvec2 mod289_1_0(vec2 x) {\n  return x - floor(x * (1.0 / 289.0)) * 289.0;\n}\n\nvec3 permute_1_1(vec3 x) {\n  return mod289_1_0(((x*34.0)+1.0)*x);\n}\n\nfloat snoise_1_2(vec2 v)\n  {\n  const vec4 C = vec4(0.211324865405187,  // (3.0-sqrt(3.0))/6.0\n                      0.366025403784439,  // 0.5*(sqrt(3.0)-1.0)\n                     -0.577350269189626,  // -1.0 + 2.0 * C.x\n                      0.024390243902439); // 1.0 / 41.0\n// First corner\n  vec2 i  = floor(v + dot(v, C.yy) );\n  vec2 x0 = v -   i + dot(i, C.xx);\n\n// Other corners\n  vec2 i1;\n  //i1.x = step( x0.y, x0.x ); // x0.x > x0.y ? 1.0 : 0.0\n  //i1.y = 1.0 - i1.x;\n  i1 = (x0.x > x0.y) ? vec2(1.0, 0.0) : vec2(0.0, 1.0);\n  // x0 = x0 - 0.0 + 0.0 * C.xx ;\n  // x1 = x0 - i1 + 1.0 * C.xx ;\n  // x2 = x0 - 1.0 + 2.0 * C.xx ;\n  vec4 x12 = x0.xyxy + C.xxzz;\n  x12.xy -= i1;\n\n// Permutations\n  i = mod289_1_0(i); // Avoid truncation effects in permutation\n  vec3 p = permute_1_1( permute_1_1( i.y + vec3(0.0, i1.y, 1.0 ))\n    + i.x + vec3(0.0, i1.x, 1.0 ));\n\n  vec3 m = max(0.5 - vec3(dot(x0,x0), dot(x12.xy,x12.xy), dot(x12.zw,x12.zw)), 0.0);\n  m = m*m ;\n  m = m*m ;\n\n// Gradients: 41 points uniformly over a line, mapped onto a diamond.\n// The ring size 17*17 = 289 is close to a multiple of 41 (41*7 = 287)\n\n  vec3 x = 2.0 * fract(p * C.www) - 1.0;\n  vec3 h = abs(x) - 0.5;\n  vec3 ox = floor(x + 0.5);\n  vec3 a0 = x - ox;\n\n// Normalise gradients implicitly by scaling m\n// Approximation of: m *= inversesqrt( a0*a0 + h*h );\n  m *= 1.79284291400159 - 0.85373472095314 * ( a0*a0 + h*h );\n\n// Compute final noise value at P\n  vec3 g;\n  g.x  = a0.x  * x0.x  + h.x  * x0.y;\n  g.yz = a0.yz * x12.xz + h.yz * x12.yw;\n  return 130.0 * dot(m, g);\n}\n\n\n\n\nfloat random(float n) {\n\treturn fract(sin(n) * 43758.5453123);\n}\n\nvoid main() {\n\tvUv = uv;\n\n\t// particle uv\n\tvec2 puv = offset.xy / uTextureSize;\n\tvPUv = puv;\n\n\t// pixel color\n\tvec4 colA = texture2D(uTexture, puv);\n\tfloat grey = colA.r * 0.21 + colA.g * 0.71 + colA.b * 0.07;\n\n\t// displacement\n\tvec3 displaced = offset;\n\t// randomise\n\tdisplaced.xy += vec2(random(pindex) - 0.5, random(offset.x + pindex) - 0.5) * uRandom;\n\tfloat rndz = (random(pindex) + snoise_1_2(vec2(pindex * 0.1, uTime * 0.1)));\n\tdisplaced.z += rndz * (random(pindex) * 2.0 * uDepth);\n\t// center\n\tdisplaced.xy -= uTextureSize * 0.5;\n\n\t// touch\n\tfloat t = texture2D(uTouch, puv).r;\n\tdisplaced.z += t * 20.0 * rndz;\n\tdisplaced.x += cos(angle) * t * 20.0 * rndz;\n\tdisplaced.y += sin(angle) * t * 20.0 * rndz;\n\n\t// particle size\n\tfloat psize = (snoise_1_2(vec2(uTime, pindex) * 0.5) + 2.0);\n\tpsize *= max(grey, 0.2);\n\tpsize *= uSize;\n\n\t// final position\n\tvec4 mvPosition = modelViewMatrix * vec4(displaced, 1.0);\n\tmvPosition.xyz += position * psize;\n\tvec4 finalPosition = projectionMatrix * mvPosition;\n\n\tgl_Position = finalPosition;\n}\n"},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.easeInOutSine=e.easeOutSine=e.easeInSine=e.easeInOutQuart=e.easeInOutQuad=e.easeOutQuad=e.easeInQuad=void 0;e.easeInQuad=function(t,e,n,i){return n*(t/=i)*t+e};e.easeOutQuad=function(t,e,n,i){return-n*(t/=i)*(t-2)+e};e.easeInOutQuad=function(t,e,n,i){return(t/=i/2)<1?n/2*t*t+e:-n/2*(--t*(t-2)-1)+e};e.easeInOutQuart=function(t,e,n,i){return(t/=i/2)<1?n/2*t*t*t*t+e:-n/2*((t-=2)*t*t*t-2)+e};e.easeInSine=function(t,e,n,i){return-n*Math.cos(t/i*(Math.PI/2))+n+e};e.easeOutSine=function(t,e,n,i){return n*Math.sin(t/i*(Math.PI/2))+e};e.easeInOutSine=function(t,e,n,i){return-n/2*(Math.cos(Math.PI*t/i)-1)+e}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var i=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var i=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(t,n):{};i.get||i.set?Object.defineProperty(e,n,i):e[n]=t[n]}return e.default=t,e}(n(54)),r=n(191);function o(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}var a=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.parent=e,this.size=64,this.maxAge=120,this.radius=.15,this.trail=[],this.initTexture()}return function(t,e,n){e&&o(t.prototype,e),n&&o(t,n)}(t,[{key:"initTexture",value:function(){this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=this.size,this.ctx=this.canvas.getContext("2d"),this.ctx.fillStyle="black",this.ctx.fillRect(0,0,this.canvas.width,this.canvas.height),this.texture=new i.Texture(this.canvas),this.canvas.id="touchTexture",this.canvas.style.width=this.canvas.style.height="".concat(this.canvas.width,"px")}},{key:"update",value:function(t){var e=this;this.clear(),this.trail.forEach(function(t,n){t.age++,t.age>e.maxAge&&e.trail.splice(n,1)}),this.trail.forEach(function(t,n){e.drawTouch(t)}),this.texture.needsUpdate=!0}},{key:"clear",value:function(){this.ctx.fillStyle="black",this.ctx.fillRect(0,0,this.canvas.width,this.canvas.height)}},{key:"addTouch",value:function(t){var e=0,n=this.trail[this.trail.length-1];if(n){var i=n.x-t.x,r=n.y-t.y,o=i*i+r*r;e=Math.min(1e4*o,1)}this.trail.push({x:t.x,y:t.y,age:0,force:e})}},{key:"drawTouch",value:function(t){var e={x:t.x*this.size,y:(1-t.y)*this.size},n=1;n=t.age<.3*this.maxAge?(0,r.easeOutSine)(t.age/(.3*this.maxAge),0,1,1):(0,r.easeOutSine)(1-(t.age-.3*this.maxAge)/(.7*this.maxAge),0,1,1),n*=t.force;var i=this.size*this.radius*n,o=this.ctx.createRadialGradient(e.x,e.y,.25*i,e.x,e.y,i);o.addColorStop(0,"rgba(255, 255, 255, 0.2)"),o.addColorStop(1,"rgba(0, 0, 0, 0.0)"),this.ctx.beginPath(),this.ctx.fillStyle=o,this.ctx.arc(e.x,e.y,i,0,2*Math.PI),this.ctx.fill()}}]),t}();e.default=a},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var i=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var i=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(t,n):{};i.get||i.set?Object.defineProperty(e,n,i):e[n]=t[n]}return e.default=t,e}(n(54)),r=function(t){return t&&t.__esModule?t:{default:t}}(n(192));function o(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}var a=n(129),s=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.webgl=e,this.container=new i.Object3D}return function(t,e,n){e&&o(t.prototype,e),n&&o(t,n)}(t,[{key:"init",value:function(t){var e=this;(new i.TextureLoader).load(t,function(t){e.texture=t,e.texture.minFilter=i.LinearFilter,e.texture.magFilter=i.LinearFilter,e.texture.format=i.RGBFormat,e.width=t.image.width,e.height=t.image.height,e.initPoints(!0),e.initHitArea(),e.initTouch(),e.resize(),e.show()})}},{key:"initPoints",value:function(t){this.numPoints=this.width*this.height;var e,r=this.numPoints,o=0;if(t){r=0,o=34;var s=this.texture.image,u=document.createElement("canvas"),l=u.getContext("2d");u.width=this.width,u.height=this.height,l.scale(1,-1),l.drawImage(s,0,0,this.width,-1*this.height);var h=l.getImageData(0,0,u.width,u.height);e=Float32Array.from(h.data);for(var c=0;c<this.numPoints;c++)e[4*c+0]>o&&r++}var p={uTime:{value:0},uRandom:{value:1},uDepth:{value:2},uSize:{value:0},uTextureSize:{value:new i.Vector2(this.width,this.height)},uTexture:{value:this.texture},uTouch:{value:null}},d=new i.RawShaderMaterial({uniforms:p,vertexShader:a(n(190)),fragmentShader:a(n(189)),depthTest:!1,transparent:!0}),f=new i.InstancedBufferGeometry,m=new i.BufferAttribute(new Float32Array(12),3);m.setXYZ(0,-.5,.5,0),m.setXYZ(1,.5,.5,0),m.setXYZ(2,-.5,-.5,0),m.setXYZ(3,.5,-.5,0),f.addAttribute("position",m);var g=new i.BufferAttribute(new Float32Array(8),2);g.setXYZ(0,0,0),g.setXYZ(1,1,0),g.setXYZ(2,0,1),g.setXYZ(3,1,1),f.addAttribute("uv",g),f.setIndex(new i.BufferAttribute(new Uint16Array([0,2,1,2,3,1]),1));for(var v=new Uint16Array(r),y=new Float32Array(3*r),_=new Float32Array(r),b=0,x=0;b<this.numPoints;b++)t&&e[4*b+0]<=o||(y[3*x+0]=b%this.width,y[3*x+1]=Math.floor(b/this.width),v[x]=b,_[x]=Math.random()*Math.PI,x++);f.addAttribute("pindex",new i.InstancedBufferAttribute(v,1,!1)),f.addAttribute("offset",new i.InstancedBufferAttribute(y,3,!1)),f.addAttribute("angle",new i.InstancedBufferAttribute(_,1,!1)),this.object3D=new i.Mesh(f,d),this.container.add(this.object3D)}},{key:"initTouch",value:function(){this.touch||(this.touch=new r.default(this)),this.object3D.material.uniforms.uTouch.value=this.touch.texture}},{key:"initHitArea",value:function(){var t=new i.PlaneGeometry(this.width,this.height,1,1),e=new i.MeshBasicMaterial({color:16777215,wireframe:!0,depthTest:!1});e.visible=!1,this.hitArea=new i.Mesh(t,e),this.container.add(this.hitArea)}},{key:"addListeners",value:function(){this.handlerInteractiveMove=this.onInteractiveMove.bind(this),this.webgl.interactive.addListener("interactive-move",this.handlerInteractiveMove),this.webgl.interactive.objects.push(this.hitArea),this.webgl.interactive.enable()}},{key:"removeListeners",value:function(){var t=this;this.webgl.interactive.removeListener("interactive-move",this.handlerInteractiveMove);var e=this.webgl.interactive.objects.findIndex(function(e){return e===t.hitArea});this.webgl.interactive.objects.splice(e,1),this.webgl.interactive.disable()}},{key:"update",value:function(t){this.object3D&&(this.touch&&this.touch.update(),this.object3D.material.uniforms.uTime.value+=t)}},{key:"show",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;TweenLite.fromTo(this.object3D.material.uniforms.uSize,t,{value:.5},{value:1.5}),TweenLite.to(this.object3D.material.uniforms.uRandom,t,{value:2}),TweenLite.fromTo(this.object3D.material.uniforms.uDepth,1.5*t,{value:40},{value:4}),this.addListeners()}},{key:"hide",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.8;return new Promise(function(i,r){TweenLite.to(e.object3D.material.uniforms.uRandom,n,{value:5,onComplete:function(){t&&e.destroy(),i()}}),TweenLite.to(e.object3D.material.uniforms.uDepth,n,{value:-20,ease:Quad.easeIn}),TweenLite.to(e.object3D.material.uniforms.uSize,.8*n,{value:0}),e.removeListeners()})}},{key:"destroy",value:function(){this.object3D&&(this.object3D.parent.remove(this.object3D),this.object3D.geometry.dispose(),this.object3D.material.dispose(),this.object3D=null,this.hitArea&&(this.hitArea.parent.remove(this.hitArea),this.hitArea.geometry.dispose(),this.hitArea.material.dispose(),this.hitArea=null))}},{key:"resize",value:function(){if(this.object3D){var t=this.webgl.fovHeight/this.height;this.object3D.scale.set(t,t,1),this.hitArea.scale.set(t,t,1)}}},{key:"onInteractiveMove",value:function(t){var e=t.intersectionData.uv;this.touch&&this.touch.addTouch(e)}}]),t}();e.default=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.passiveEvent=void 0;var i=!1,r=!1;e.passiveEvent=function(){return!!function(){if(i)return r;i=!0;try{var t=Object.defineProperty({},"passive",{get:function(){r=!0}});window.addEventListener("test",null,t)}catch(t){return r}return window.removeEventListener("test",null,opts),r}()&&{passive:!0}}},function(t,e){var n,i,r=t.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(t){n=o}try{i="function"==typeof clearTimeout?clearTimeout:a}catch(t){i=a}}();var u,l=[],h=!1,c=-1;function p(){h&&u&&(h=!1,u.length?l=u.concat(l):c=-1,l.length&&d())}function d(){if(!h){var t=s(p);h=!0;for(var e=l.length;e;){for(u=l,l=[];++c<e;)u&&u[c].run();c=-1,e=l.length}u=null,h=!1,function(t){if(i===clearTimeout)return clearTimeout(t);if((i===a||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(t);try{i(t)}catch(e){try{return i.call(null,t)}catch(e){return i.call(this,t)}}}(t)}}function f(t,e){this.fun=t,this.array=e}function m(){}r.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];l.push(new f(t,e)),1!==l.length||h||s(d)},f.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=m,r.addListener=m,r.once=m,r.off=m,r.removeListener=m,r.removeAllListeners=m,r.emit=m,r.prependListener=m,r.prependOnceListener=m,r.listeners=function(t){return[]},r.binding=function(t){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(t){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},function(t,e,n){"use strict";n.r(e),function(t){
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0

THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.

See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */
var n=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},i=[["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)$/],["edge",/Edge\/([0-9\._]+)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+)\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["safari",/Version\/([0-9\._]+).*Safari/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/]],r=["Windows Phone","Android","CentOS",{name:"Chrome OS",pattern:"CrOS"},"Debian","Fedora","FreeBSD","Gentoo","Haiku","Kubuntu","Linux Mint","OpenBSD","Red Hat","SuSE","Ubuntu","Xubuntu","Cygwin","Symbian OS","hpwOS","webOS ","webOS","Tablet OS","Tizen","Linux","Mac OS X","Macintosh","Mac","Windows 98;","Windows "],o={"10.0":"10",6.4:"10 Technical Preview",6.3:"8.1",6.2:"8",6.1:"Server 2008 R2 / 7","6.0":"Server 2008 / Vista",5.2:"Server 2003 / XP 64-bit",5.1:"XP",5.01:"2000 SP1","5.0":"2000","4.0":"NT","4.90":"ME"},a=new RegExp(["(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|","compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|","midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)","\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|","wap|windows ce|xda|xiino"].join(""),"i"),s=new RegExp(["1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|","ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|","avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|","cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|","ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|","g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|","hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|","i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|","kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])","|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|","mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|","n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|","op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|","po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|","raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|","se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|k\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|","so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|","tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|","veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|","w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-"].join(""),"i"),u=function(){function t(t,e,n){this.navigator=e,this.process=n,this.userAgent=t||(this.navigator?e.userAgent||e.vendor:"")}return t.prototype.detect=function(){if(this.process&&!this.userAgent){var t=this.process.version.slice(1).split(".").slice(0,3),e=Array.prototype.slice.call(t,1).join("")||"0";return{name:"node",version:t.join("."),versionNumber:parseFloat(t[0]+"."+e),mobile:!1,os:this.process.platform}}return this.userAgent||this.handleMissingError(),n({},this.checkBrowser(),this.checkMobile(),this.checkOs())},t.prototype.checkBrowser=function(){var t=this;return i.filter(function(e){return e[1].test(t.userAgent)}).map(function(e){var n=e[1].exec(t.userAgent),i=n&&n[1].split(/[._]/).slice(0,3),r=Array.prototype.slice.call(i,1).join("")||"0";return i&&i.length<3&&Array.prototype.push.apply(i,1===i.length?[0,0]:[0]),{name:String(e[0]),version:i.join("."),versionNumber:Number(i[0]+"."+r)}}).shift()},t.prototype.checkMobile=function(){var t=this.userAgent.substr(0,4);return{mobile:a.test(this.userAgent)||s.test(t)}},t.prototype.checkOs=function(){var t=this;return r.map(function(e){var n=e.name||e,i=t.getOsPattern(e);return{name:n,pattern:i,value:RegExp("\\b"+i.replace(/([ -])(?!$)/g,"$1?")+"(?:x?[\\d._]+|[ \\w.]*)","i").exec(t.userAgent)}}).filter(function(t){return t.value}).map(function(t){var e,n=t.value[0]||"";return t.pattern&&t.name&&/^Win/i.test(n)&&!/^Windows Phone /i.test(n)&&(e=o[n.replace(/[^\d.]/g,"")])&&(n="Windows "+e),t.pattern&&t.name&&(n=n.replace(RegExp(t.pattern,"i"),t.name)),n=n.replace(/ ce$/i," CE").replace(/\bhpw/i,"web").replace(/\bMacintosh\b/,"Mac OS").replace(/_PowerPC\b/i," OS").replace(/\b(OS X) [^ \d]+/i,"$1").replace(/\bMac (OS X)\b/,"$1").replace(/\/(\d)/," $1").replace(/_/g,".").replace(/(?: BePC|[ .]*fc[ \d.]+)$/i,"").replace(/\bx86\.64\b/gi,"x86_64").replace(/\b(Windows Phone) OS\b/,"$1").replace(/\b(Chrome OS \w+) [\d.]+\b/,"$1").split(" on ")[0].trim(),{os:n=/^(?:webOS|i(?:OS|P))/.test(n)?n:n.charAt(0).toUpperCase()+n.slice(1)}}).shift()},t.prototype.getOsPattern=function(t){var e=t;return("string"==typeof t?t:void 0)||e.pattern||e.name},t.prototype.handleMissingError=function(){throw new Error("Please give user-agent.\n> browser(navigator.userAgent or res.headers['user-agent']).")},t}();function l(t,e){return t(e={exports:{}},e.exports),e.exports}var h=l(function(t){var e=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=e)}),c=l(function(t){var e=t.exports={version:"2.5.7"};"number"==typeof __e&&(__e=e)}),p=(c.version,function(t){return"object"==typeof t?null!==t:"function"==typeof t}),d=function(t){if(!p(t))throw TypeError(t+" is not an object!");return t},f=function(t){try{return!!t()}catch(t){return!0}},m=!f(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}),g=h.document,v=p(g)&&p(g.createElement),y=!m&&!f(function(){return 7!=Object.defineProperty(function(t){return v?g.createElement(t):{}}("div"),"a",{get:function(){return 7}}).a}),_=Object.defineProperty,b={f:m?Object.defineProperty:function(t,e,n){if(d(t),e=function(t,e){if(!p(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!p(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!p(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!p(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}(e,!0),d(n),y)try{return _(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},x=m?function(t,e,n){return b.f(t,e,function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}(1,n))}:function(t,e,n){return t[e]=n,t},w={}.hasOwnProperty,A=function(t,e){return w.call(t,e)},S=0,T=Math.random(),E=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++S+T).toString(36))},M=l(function(t){var e=E("src"),n=Function.toString,i=(""+n).split("toString");c.inspectSource=function(t){return n.call(t)},(t.exports=function(t,n,r,o){var a="function"==typeof r;a&&(A(r,"name")||x(r,"name",n)),t[n]!==r&&(a&&(A(r,e)||x(r,e,t[n]?""+t[n]:i.join(String(n)))),t===h?t[n]=r:o?t[n]?t[n]=r:x(t,n,r):(delete t[n],x(t,n,r)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[e]||n.call(this)})}),P=function(t,e,n){if(function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!")}(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}},C=function(t,e,n){var i,r,o,a,s=t&C.F,u=t&C.G,l=t&C.S,p=t&C.P,d=t&C.B,f=u?h:l?h[e]||(h[e]={}):(h[e]||{}).prototype,m=u?c:c[e]||(c[e]={}),g=m.prototype||(m.prototype={});for(i in u&&(n=e),n)o=((r=!s&&f&&void 0!==f[i])?f:n)[i],a=d&&r?P(o,h):p&&"function"==typeof o?P(Function.call,o):o,f&&M(f,i,o,t&C.U),m[i]!=o&&x(m,i,a),p&&g[i]!=o&&(g[i]=o)};h.core=c,C.F=1,C.G=2,C.S=4,C.P=8,C.B=16,C.W=32,C.U=64,C.R=128;var L=C,R={}.toString,O=function(t){return R.call(t).slice(8,-1)},I=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==O(t)?t.split(""):Object(t)},N=function(t){if(void 0==t)throw TypeError("Can't call method on  "+t);return t},D=Math.ceil,B=Math.floor,k=Math.min,G=function(t){return t>0?k(function(t){return isNaN(t=+t)?0:(t>0?B:D)(t)}(t),9007199254740991):0},U=Array.isArray||function(t){return"Array"==O(t)},V=l(function(t){var e=h["__core-js_shared__"]||(h["__core-js_shared__"]={});(t.exports=function(t,n){return e[t]||(e[t]=void 0!==n?n:{})})("versions",[]).push({version:c.version,mode:"global",copyright:"© 2018 Denis Pushkarev (zloirock.ru)"})}),z=l(function(t){var e=V("wks"),n=h.Symbol,i="function"==typeof n;(t.exports=function(t){return e[t]||(e[t]=i&&n[t]||(i?n:E)("Symbol."+t))}).store=e})("species"),H=function(t,e){return new(function(t){var e;return U(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!U(e.prototype)||(e=void 0),p(e)&&null===(e=e[z])&&(e=void 0)),void 0===e?Array:e}(t))(e)},F=function(t,e){var n=1==t,i=2==t,r=3==t,o=4==t,a=6==t,s=5==t||a,u=e||H;return function(e,l,h){for(var c,p,d=function(t){return Object(N(t))}(e),f=I(d),m=P(l,h,3),g=G(f.length),v=0,y=n?u(e,g):i?u(e,0):void 0;g>v;v++)if((s||v in f)&&(p=m(c=f[v],v,d),t))if(n)y[v]=p;else if(p)switch(t){case 3:return!0;case 5:return c;case 6:return v;case 2:y.push(c)}else if(o)return!1;return a?-1:r||o?o:y}},j=function(t,e){return!!t&&f(function(){e?t.call(null,function(){},1):t.call(null)})},W=F(2);L(L.P+L.F*!j([].filter,!0),"Array",{filter:function(t){return W(this,t,arguments[1])}});c.Array.filter;var X=F(1);L(L.P+L.F*!j([].map,!0),"Array",{map:function(t){return X(this,t,arguments[1])}});c.Array.map;var Y="\t\n\v\f\r   ᠎             　\u2028\u2029\ufeff",K="["+Y+"]",Z=RegExp("^"+K+K+"*"),q=RegExp(K+K+"*$"),Q=function(t,e,n){var i={},r=f(function(){return!!Y[t]()||"​"!="​"[t]()}),o=i[t]=r?e(J):Y[t];n&&(i[n]=o),L(L.P+L.F*r,"String",i)},J=Q.trim=function(t,e){return t=String(N(t)),1&e&&(t=t.replace(Z,"")),2&e&&(t=t.replace(q,"")),t};Q("trim",function(t){return function(){return t(this,3)}});c.String.trim;var $="undefined"!=typeof window?window.navigator:void 0,tt=void 0!==t?t:void 0;e.default=function(t){return new u(t,$,tt).detect()}}.call(this,n(195))},function(t,e){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(t){return"function"==typeof t}function r(t){return"object"==typeof t&&null!==t}function o(t){return void 0===t}t.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(t){if(!function(t){return"number"==typeof t}(t)||t<0||isNaN(t))throw TypeError("n must be a positive number");return this._maxListeners=t,this},n.prototype.emit=function(t){var e,n,a,s,u,l;if(this._events||(this._events={}),"error"===t&&(!this._events.error||r(this._events.error)&&!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var h=new Error('Uncaught, unspecified "error" event. ('+e+")");throw h.context=e,h}if(o(n=this._events[t]))return!1;if(i(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),n.apply(this,s)}else if(r(n))for(s=Array.prototype.slice.call(arguments,1),a=(l=n.slice()).length,u=0;u<a;u++)l[u].apply(this,s);return!0},n.prototype.addListener=function(t,e){var a;if(!i(e))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",t,i(e.listener)?e.listener:e),this._events[t]?r(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,r(this._events[t])&&!this._events[t].warned&&(a=o(this._maxListeners)?n.defaultMaxListeners:this._maxListeners)&&a>0&&this._events[t].length>a&&(this._events[t].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[t].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(t,e){if(!i(e))throw TypeError("listener must be a function");var n=!1;function r(){this.removeListener(t,r),n||(n=!0,e.apply(this,arguments))}return r.listener=e,this.on(t,r),this},n.prototype.removeListener=function(t,e){var n,o,a,s;if(!i(e))throw TypeError("listener must be a function");if(!this._events||!this._events[t])return this;if(a=(n=this._events[t]).length,o=-1,n===e||i(n.listener)&&n.listener===e)delete this._events[t],this._events.removeListener&&this.emit("removeListener",t,e);else if(r(n)){for(s=a;s-- >0;)if(n[s]===e||n[s].listener&&n[s].listener===e){o=s;break}if(o<0)return this;1===n.length?(n.length=0,delete this._events[t]):n.splice(o,1),this._events.removeListener&&this.emit("removeListener",t,e)}return this},n.prototype.removeAllListeners=function(t){var e,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)"removeListener"!==e&&this.removeAllListeners(e);return this.removeAllListeners("removeListener"),this._events={},this}if(i(n=this._events[t]))this.removeListener(t,n);else if(n)for(;n.length;)this.removeListener(t,n[n.length-1]);return delete this._events[t],this},n.prototype.listeners=function(t){return this._events&&this._events[t]?i(this._events[t])?[this._events[t]]:this._events[t].slice():[]},n.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(i(e))return 1;if(e)return e.length}return 0},n.listenerCount=function(t,e){return t.listenerCount(e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var i=s(n(197)),r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var i=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(t,n):{};i.get||i.set?Object.defineProperty(e,n,i):e[n]=t[n]}return e.default=t,e}(n(54)),o=s(n(196)),a=n(194);function s(t){return t&&t.__esModule?t:{default:t}}function u(t){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function l(t,e){return!e||"object"!==u(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function h(t){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function c(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function p(t,e,n){return e&&c(t.prototype,e),n&&c(t,n),t}function d(t,e){return(d=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var f=function(t){function e(t,n){var i;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),(i=l(this,h(e).call(this))).camera=t,i.el=n||window,i.plane=new r.Plane,i.raycaster=new r.Raycaster,i.mouse=new r.Vector2,i.offset=new r.Vector3,i.intersection=new r.Vector3,i.objects=[],i.hovered=null,i.selected=null,i.isDown=!1,i.browser=(0,o.default)(),i.enable(),i}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&d(t,e)}(e,i.default),p(e,[{key:"enabled",get:function(){return this._enabled}}]),p(e,[{key:"enable",value:function(){this.enabled||(this.addListeners(),this._enabled=!0)}},{key:"disable",value:function(){this.enabled&&(this.removeListeners(),this._enabled=!1)}},{key:"addListeners",value:function(){this.handlerDown=this.onDown.bind(this),this.handlerMove=this.onMove.bind(this),this.handlerUp=this.onUp.bind(this),this.handlerLeave=this.onLeave.bind(this),this.browser.mobile?(this.el.addEventListener("touchstart",this.handlerDown,a.passiveEvent),this.el.addEventListener("touchmove",this.handlerMove,a.passiveEvent),this.el.addEventListener("touchend",this.handlerUp,a.passiveEvent)):(this.el.addEventListener("mousedown",this.handlerDown),this.el.addEventListener("mousemove",this.handlerMove),this.el.addEventListener("mouseup",this.handlerUp),this.el.addEventListener("mouseleave",this.handlerLeave))}},{key:"removeListeners",value:function(){this.browser.mobile?(this.el.removeEventListener("touchstart",this.handlerDown),this.el.removeEventListener("touchmove",this.handlerMove),this.el.removeEventListener("touchend",this.handlerUp)):(this.el.removeEventListener("mousedown",this.handlerDown),this.el.removeEventListener("mousemove",this.handlerMove),this.el.removeEventListener("mouseup",this.handlerUp),this.el.removeEventListener("mouseleave",this.handlerLeave))}},{key:"resize",value:function(t,e,n,i){t||e||n||i?this.rect={x:t,y:e,width:n,height:i}:this.el===window?this.rect={x:0,y:0,width:window.innerWidth,height:window.innerHeight}:this.rect=this.el.getBoundingClientRect()}},{key:"onMove",value:function(t){var e=t.touches?t.touches[0]:t,n=e.clientX,i=e.clientY;this.mouse.x=(n+this.rect.x)/this.rect.width*2-1,this.mouse.y=-(i+this.rect.y)/this.rect.height*2+1,this.raycaster.setFromCamera(this.mouse,this.camera);var r=this.raycaster.intersectObjects(this.objects);if(r.length>0){var o=r[0].object;this.intersectionData=r[0],this.plane.setFromNormalAndCoplanarPoint(this.camera.getWorldDirection(this.plane.normal),o.position),this.hovered!==o?(this.emit("interactive-out",{object:this.hovered}),this.emit("interactive-over",{object:o}),this.hovered=o):this.emit("interactive-move",{object:o,intersectionData:this.intersectionData})}else this.intersectionData=null,null!==this.hovered&&(this.emit("interactive-out",{object:this.hovered}),this.hovered=null)}},{key:"onDown",value:function(t){this.isDown=!0,this.onMove(t),this.emit("interactive-down",{object:this.hovered,previous:this.selected,intersectionData:this.intersectionData}),this.selected=this.hovered,this.selected&&this.raycaster.ray.intersectPlane(this.plane,this.intersection)&&this.offset.copy(this.intersection).sub(this.selected.position)}},{key:"onUp",value:function(t){this.isDown=!1,this.emit("interactive-up",{object:this.hovered})}},{key:"onLeave",value:function(t){this.onUp(t),this.emit("interactive-out",{object:this.hovered}),this.hovered=null}}]),e}();e.default=f},function(t,e){t.exports=function(t){if(!t.webpackPolyfill){var e=Object.create(t);e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),Object.defineProperty(e,"exports",{enumerable:!0}),e.webpackPolyfill=1}return e}},function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,n(54);n(165);var i=o(n(198)),r=o(n(193));function o(t){return t&&t.__esModule?t:{default:t}}function a(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}n(129);var s=function(){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),this.app=t,this.samples=["images/sample-04.png","images/sample-05.png","images/sample-06.png","images/sample-07.png","images/sample-08.png","images/sample-09.png","images/sample-10.png"],this.initThree(),this.initParticles(),this.initControls();var n=~~(Math.random()*this.samples.length);this.goto(n)}return function(t,e,n){e&&a(t.prototype,e),n&&a(t,n)}(e,[{key:"initThree",value:function(){this.scene=new t.Scene,this.camera=new t.PerspectiveCamera(80,window.innerWidth/window.innerHeight,1,12e3),this.camera.position.z=300,this.renderer=new t.WebGLRenderer({antialias:!0,alpha:!0}),this.clock=new t.Clock(!0)}},{key:"initControls",value:function(){this.interactive=new i.default(this.camera,this.renderer.domElement)}},{key:"initParticles",value:function(){this.particles=new r.default(this),this.scene.add(this.particles.container)}},{key:"update",value:function(){var t=this.clock.getDelta();this.particles&&this.particles.update(t)}},{key:"draw",value:function(){this.renderer.render(this.scene,this.camera)}},{key:"goto",value:function(t){var e=this;null==this.currSample?this.particles.init(this.samples[t]):this.particles.hide(!0).then(function(){e.particles.init(e.samples[t])}),this.currSample=t}},{key:"next",value:function(){this.currSample<this.samples.length-1?this.goto(this.currSample+1):this.goto(0)}},{key:"resize",value:function(){this.renderer&&(this.camera.aspect=window.innerWidth/window.innerHeight,this.camera.updateProjectionMatrix(),this.fovHeight=2*Math.tan(this.camera.fov*Math.PI/180/2)*this.camera.position.z,this.renderer.setSize(window.innerWidth,window.innerHeight),this.interactive&&this.interactive.resize(),this.particles&&this.particles.resize())}}]),e}();e.default=s}).call(this,n(54))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var i=o(n(200)),r=o(n(188));function o(t){return t&&t.__esModule?t:{default:t}}function a(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}var s=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}return function(t,e,n){e&&a(t.prototype,e),n&&a(t,n)}(t,[{key:"init",value:function(){this.initWebGL(),this.initGUI(),this.addListeners(),this.animate(),this.resize()}},{key:"initWebGL",value:function(){this.webgl=new i.default(this),document.querySelector(".container").appendChild(this.webgl.renderer.domElement)}},{key:"initGUI",value:function(){this.gui=new r.default(this)}},{key:"addListeners",value:function(){this.handlerAnimate=this.animate.bind(this),window.addEventListener("resize",this.resize.bind(this)),window.addEventListener("keyup",this.keyup.bind(this)),this.webgl.renderer.domElement.addEventListener("click",this.click.bind(this))}},{key:"animate",value:function(){this.update(),this.draw(),this.raf=requestAnimationFrame(this.handlerAnimate)}},{key:"update",value:function(){this.gui.stats&&this.gui.stats.begin(),this.webgl&&this.webgl.update(),this.gui&&this.gui.update()}},{key:"draw",value:function(){this.webgl&&this.webgl.draw(),this.gui.stats&&this.gui.stats.end()}},{key:"resize",value:function(){this.webgl&&this.webgl.resize()}},{key:"keyup",value:function(t){71==t.keyCode&&this.gui&&this.gui.toggle()}},{key:"click",value:function(t){this.webgl.next()}}]),t}();e.default=s},function(t,e,n){
/*!
  * domready (c) Dustin Diaz 2014 - License MIT
  */
t.exports=function(){var t,e=[],n=document,i=(n.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(n.readyState);return i||n.addEventListener("DOMContentLoaded",t=function(){for(n.removeEventListener("DOMContentLoaded",t),i=1;t=e.shift();)t()}),function(t){i?setTimeout(t,0):e.push(t)}}()},function(t,e,n){"use strict";var i=o(n(202)),r=o(n(201));function o(t){return t&&t.__esModule?t:{default:t}}(0,i.default)(function(){window.app=new r.default,window.app.init()})},function(t,e){!function(e){"use strict";var n,i=Object.prototype,r=i.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",u=o.toStringTag||"@@toStringTag",l="object"==typeof t,h=e.regeneratorRuntime;if(h)l&&(t.exports=h);else{(h=e.regeneratorRuntime=l?t.exports:{}).wrap=b;var c="suspendedStart",p="suspendedYield",d="executing",f="completed",m={},g={};g[a]=function(){return this};var v=Object.getPrototypeOf,y=v&&v(v(R([])));y&&y!==i&&r.call(y,a)&&(g=y);var _=S.prototype=w.prototype=Object.create(g);A.prototype=_.constructor=S,S.constructor=A,S[u]=A.displayName="GeneratorFunction",h.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===A||"GeneratorFunction"===(e.displayName||e.name))},h.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,S):(t.__proto__=S,u in t||(t[u]="GeneratorFunction")),t.prototype=Object.create(_),t},h.awrap=function(t){return{__await:t}},T(E.prototype),E.prototype[s]=function(){return this},h.AsyncIterator=E,h.async=function(t,e,n,i){var r=new E(b(t,e,n,i));return h.isGeneratorFunction(e)?r:r.next().then(function(t){return t.done?t.value:r.next()})},T(_),_[u]="Generator",_[a]=function(){return this},_.toString=function(){return"[object Generator]"},h.keys=function(t){var e=[];for(var n in t)e.push(n);return e.reverse(),function n(){for(;e.length;){var i=e.pop();if(i in t)return n.value=i,n.done=!1,n}return n.done=!0,n}},h.values=R,L.prototype={constructor:L,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=n,this.done=!1,this.delegate=null,this.method="next",this.arg=n,this.tryEntries.forEach(C),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=n)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function i(i,r){return s.type="throw",s.arg=t,e.next=i,r&&(e.method="next",e.arg=n),!!r}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var u=r.call(a,"catchLoc"),l=r.call(a,"finallyLoc");if(u&&l){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,m):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),m},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),C(n),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var i=n.completion;if("throw"===i.type){var r=i.arg;C(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,i){return this.delegate={iterator:R(t),resultName:e,nextLoc:i},"next"===this.method&&(this.arg=n),m}}}function b(t,e,n,i){var r=e&&e.prototype instanceof w?e:w,o=Object.create(r.prototype),a=new L(i||[]);return o._invoke=function(t,e,n){var i=c;return function(r,o){if(i===d)throw new Error("Generator is already running");if(i===f){if("throw"===r)throw o;return O()}for(n.method=r,n.arg=o;;){var a=n.delegate;if(a){var s=M(a,n);if(s){if(s===m)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(i===c)throw i=f,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);i=d;var u=x(t,e,n);if("normal"===u.type){if(i=n.done?f:p,u.arg===m)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(i=f,n.method="throw",n.arg=u.arg)}}}(t,n,a),o}function x(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}function w(){}function A(){}function S(){}function T(t){["next","throw","return"].forEach(function(e){t[e]=function(t){return this._invoke(e,t)}})}function E(t){var e;this._invoke=function(n,i){function o(){return new Promise(function(e,o){!function e(n,i,o,a){var s=x(t[n],t,i);if("throw"!==s.type){var u=s.arg,l=u.value;return l&&"object"==typeof l&&r.call(l,"__await")?Promise.resolve(l.__await).then(function(t){e("next",t,o,a)},function(t){e("throw",t,o,a)}):Promise.resolve(l).then(function(t){u.value=t,o(u)},a)}a(s.arg)}(n,i,e,o)})}return e=e?e.then(o,o):o()}}function M(t,e){var i=t.iterator[e.method];if(i===n){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=n,M(t,e),"throw"===e.method))return m;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return m}var r=x(i,t.iterator,e.arg);if("throw"===r.type)return e.method="throw",e.arg=r.arg,e.delegate=null,m;var o=r.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=n),e.delegate=null,m):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,m)}function P(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function C(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(P,this),this.reset(!0)}function R(t){if(t){var e=t[a];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function e(){for(;++i<t.length;)if(r.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=n,e.done=!0,e};return o.next=o}}return{next:O}}function O(){return{value:n,done:!0}}}(function(){return this}()||Function("return this")())},function(t,e,n){for(var i=n(93),r=n(50),o=n(19),a=n(3),s=n(20),u=n(56),l=n(6),h=l("iterator"),c=l("toStringTag"),p=u.Array,d={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},f=r(d),m=0;m<f.length;m++){var g,v=f[m],y=d[v],_=a[v],b=_&&_.prototype;if(b&&(b[h]||s(b,h,p),b[c]||s(b,c,v),u[v]=p,y))for(g in i)b[g]||o(b,g,i[g],!0)}},function(t,e,n){var i=n(1),r=n(92);i(i.G+i.B,{setImmediate:r.set,clearImmediate:r.clear})},function(t,e,n){var i=n(3),r=n(1),o=n(73),a=[].slice,s=/MSIE .\./.test(o),u=function(t){return function(e,n){var i=arguments.length>2,r=!!i&&a.call(arguments,2);return t(i?function(){("function"==typeof e?e:Function(e)).apply(this,r)}:e,n)}};r(r.G+r.B+r.F*s,{setTimeout:u(i.setTimeout),setInterval:u(i.setInterval)})},function(t,e,n){"use strict";var i=n(1),r=n(3),o=n(35),a=n(91)(),s=n(6)("observable"),u=n(17),l=n(2),h=n(45),c=n(43),p=n(20),d=n(44),f=d.RETURN,m=function(t){return null==t?void 0:u(t)},g=function(t){var e=t._c;e&&(t._c=void 0,e())},v=function(t){return void 0===t._o},y=function(t){v(t)||(t._o=void 0,g(t))},_=function(t,e){l(t),this._c=void 0,this._o=t,t=new b(this);try{var n=e(t),i=n;null!=n&&("function"==typeof n.unsubscribe?n=function(){i.unsubscribe()}:u(n),this._c=n)}catch(e){return void t.error(e)}v(this)&&g(this)};_.prototype=c({},{unsubscribe:function(){y(this)}});var b=function(t){this._s=t};b.prototype=c({},{next:function(t){var e=this._s;if(!v(e)){var n=e._o;try{var i=m(n.next);if(i)return i.call(n,t)}catch(t){try{y(e)}finally{throw t}}}},error:function(t){var e=this._s;if(v(e))throw t;var n=e._o;e._o=void 0;try{var i=m(n.error);if(!i)throw t;t=i.call(n,t)}catch(t){try{g(e)}finally{throw t}}return g(e),t},complete:function(t){var e=this._s;if(!v(e)){var n=e._o;e._o=void 0;try{var i=m(n.complete);t=i?i.call(n,t):void 0}catch(t){try{g(e)}finally{throw t}}return g(e),t}}});var x=function(t){h(this,x,"Observable","_f")._f=u(t)};c(x.prototype,{subscribe:function(t){return new _(t,this._f)},forEach:function(t){var e=this;return new(o.Promise||r.Promise)(function(n,i){u(t);var r=e.subscribe({next:function(e){try{return t(e)}catch(t){i(t),r.unsubscribe()}},error:i,complete:n})})}}),c(x,{from:function(t){var e="function"==typeof this?this:x,n=m(l(t)[s]);if(n){var i=l(n.call(t));return i.constructor===e?i:new e(function(t){return i.subscribe(t)})}return new e(function(e){var n=!1;return a(function(){if(!n){try{if(d(t,!1,function(t){if(e.next(t),n)return f})===f)return}catch(t){if(n)throw t;return void e.error(t)}e.complete()}}),function(){n=!0}})},of:function(){for(var t=0,e=arguments.length,n=new Array(e);t<e;)n[t]=arguments[t++];return new("function"==typeof this?this:x)(function(t){var e=!1;return a(function(){if(!e){for(var i=0;i<n.length;++i)if(t.next(n[i]),e)return;t.complete()}}),function(){e=!0}})}}),p(x.prototype,s,function(){return this}),i(i.G,{Observable:x}),n(46)("Observable")},function(t,e,n){var i=n(1),r=n(91)(),o=n(3).process,a="process"==n(27)(o);i(i.G,{asap:function(t){var e=a&&o.domain;r(e?e.bind(t):t)}})},function(t,e,n){var i=n(37),r=n(2),o=n(17),a=i.key,s=i.set;i.exp({metadata:function(t,e){return function(n,i){s(t,e,(void 0!==i?r:o)(n),a(i))}}})},function(t,e,n){var i=n(37),r=n(2),o=i.has,a=i.key;i.exp({hasOwnMetadata:function(t,e){return o(t,r(e),arguments.length<3?void 0:a(arguments[2]))}})},function(t,e,n){var i=n(37),r=n(2),o=n(21),a=i.has,s=i.key,u=function(t,e,n){if(a(t,e,n))return!0;var i=o(e);return null!==i&&u(t,i,n)};i.exp({hasMetadata:function(t,e){return u(t,r(e),arguments.length<3?void 0:s(arguments[2]))}})},function(t,e,n){var i=n(37),r=n(2),o=i.keys,a=i.key;i.exp({getOwnMetadataKeys:function(t){return o(r(t),arguments.length<2?void 0:a(arguments[1]))}})},function(t,e,n){var i=n(37),r=n(2),o=i.get,a=i.key;i.exp({getOwnMetadata:function(t,e){return o(t,r(e),arguments.length<3?void 0:a(arguments[2]))}})},function(t,e,n){var i=n(140),r=n(131),o=n(37),a=n(2),s=n(21),u=o.keys,l=o.key,h=function(t,e){var n=u(t,e),o=s(t);if(null===o)return n;var a=h(o,e);return a.length?n.length?r(new i(n.concat(a))):a:n};o.exp({getMetadataKeys:function(t){return h(a(t),arguments.length<2?void 0:l(arguments[1]))}})},function(t,e,n){var i=n(37),r=n(2),o=n(21),a=i.has,s=i.get,u=i.key,l=function(t,e,n){if(a(t,e,n))return s(t,e,n);var i=o(e);return null!==i?l(t,i,n):void 0};i.exp({getMetadata:function(t,e){return l(t,r(e),arguments.length<3?void 0:u(arguments[2]))}})},function(t,e,n){var i=n(37),r=n(2),o=i.key,a=i.map,s=i.store;i.exp({deleteMetadata:function(t,e){var n=arguments.length<3?void 0:o(arguments[2]),i=a(r(e),n,!1);if(void 0===i||!i.delete(t))return!1;if(i.size)return!0;var u=s.get(e);return u.delete(n),!!u.size||s.delete(e)}})},function(t,e,n){var i=n(37),r=n(2),o=i.key,a=i.set;i.exp({defineMetadata:function(t,e,n,i){a(t,e,r(n),o(i))}})},function(t,e,n){"use strict";var i=n(1),r=n(90),o=n(144);i(i.S,"Promise",{try:function(t){var e=r.f(this),n=o(t);return(n.e?e.reject:e.resolve)(n.v),e.promise}})},function(t,e,n){"use strict";var i=n(1),r=n(35),o=n(3),a=n(74),s=n(143);i(i.P+i.R,"Promise",{finally:function(t){var e=a(this,r.Promise||o.Promise),n="function"==typeof t;return this.then(n?function(n){return s(e,t()).then(function(){return n})}:t,n?function(n){return s(e,t()).then(function(){throw n})}:t)}})},function(t,e,n){var i=n(1);i(i.S,"Math",{signbit:function(t){return(t=+t)!=t?t:0==t?1/t==1/0:t>0}})},function(t,e,n){var i=n(1);i(i.S,"Math",{umulh:function(t,e){var n=+t,i=+e,r=65535&n,o=65535&i,a=n>>>16,s=i>>>16,u=(a*o>>>0)+(r*o>>>16);return a*s+(u>>>16)+((r*s>>>0)+(65535&u)>>>16)}})},function(t,e,n){var i=n(1);i(i.S,"Math",{scale:n(130)})},function(t,e,n){var i=n(1),r=Math.PI/180;i(i.S,"Math",{radians:function(t){return t*r}})},function(t,e,n){var i=n(1);i(i.S,"Math",{RAD_PER_DEG:180/Math.PI})},function(t,e,n){var i=n(1);i(i.S,"Math",{imulh:function(t,e){var n=+t,i=+e,r=65535&n,o=65535&i,a=n>>16,s=i>>16,u=(a*o>>>0)+(r*o>>>16);return a*s+(u>>16)+((r*s>>>0)+(65535&u)>>16)}})},function(t,e,n){var i=n(1);i(i.S,"Math",{isubh:function(t,e,n,i){var r=t>>>0,o=n>>>0;return(e>>>0)-(i>>>0)-((~r&o|~(r^o)&r-o>>>0)>>>31)|0}})},function(t,e,n){var i=n(1);i(i.S,"Math",{iaddh:function(t,e,n,i){var r=t>>>0,o=n>>>0;return(e>>>0)+(i>>>0)+((r&o|(r|o)&~(r+o>>>0))>>>31)|0}})},function(t,e,n){var i=n(1),r=n(130),o=n(150);i(i.S,"Math",{fscale:function(t,e,n,i,a){return o(r(t,e,n,i,a))}})},function(t,e,n){var i=n(1),r=180/Math.PI;i(i.S,"Math",{degrees:function(t){return t*r}})},function(t,e,n){var i=n(1);i(i.S,"Math",{DEG_PER_RAD:Math.PI/180})},function(t,e,n){var i=n(1);i(i.S,"Math",{clamp:function(t,e,n){return Math.min(n,Math.max(e,t))}})},function(t,e,n){var i=n(1),r=n(27);i(i.S,"Error",{isError:function(t){return"Error"===r(t)}})},function(t,e,n){var i=n(1);i(i.S,"System",{global:n(3)})},function(t,e,n){var i=n(1);i(i.G,{global:n(3)})},function(t,e,n){n(68)("WeakSet")},function(t,e,n){n(68)("WeakMap")},function(t,e,n){n(68)("Set")},function(t,e,n){n(68)("Map")},function(t,e,n){n(69)("WeakSet")},function(t,e,n){n(69)("WeakMap")},function(t,e,n){n(69)("Set")},function(t,e,n){n(69)("Map")},function(t,e,n){var i=n(1);i(i.P+i.R,"Set",{toJSON:n(132)("Set")})},function(t,e,n){var i=n(1);i(i.P+i.R,"Map",{toJSON:n(132)("Map")})},function(t,e,n){"use strict";var i=n(1),r=n(13),o=n(34),a=n(21),s=n(22).f;n(11)&&i(i.P+n(70),"Object",{__lookupSetter__:function(t){var e,n=r(this),i=o(t,!0);do{if(e=s(n,i))return e.set}while(n=a(n))}})},function(t,e,n){"use strict";var i=n(1),r=n(13),o=n(34),a=n(21),s=n(22).f;n(11)&&i(i.P+n(70),"Object",{__lookupGetter__:function(t){var e,n=r(this),i=o(t,!0);do{if(e=s(n,i))return e.get}while(n=a(n))}})},function(t,e,n){"use strict";var i=n(1),r=n(13),o=n(17),a=n(10);n(11)&&i(i.P+n(70),"Object",{__defineSetter__:function(t,e){a.f(r(this),t,{set:o(e),enumerable:!0,configurable:!0})}})},function(t,e,n){"use strict";var i=n(1),r=n(13),o=n(17),a=n(10);n(11)&&i(i.P+n(70),"Object",{__defineGetter__:function(t,e){a.f(r(this),t,{get:o(e),enumerable:!0,configurable:!0})}})},function(t,e,n){var i=n(1),r=n(133)(!0);i(i.S,"Object",{entries:function(t){return r(t)}})},function(t,e,n){var i=n(1),r=n(133)(!1);i(i.S,"Object",{values:function(t){return r(t)}})},function(t,e,n){var i=n(1),r=n(136),o=n(23),a=n(22),s=n(97);i(i.S,"Object",{getOwnPropertyDescriptors:function(t){for(var e,n,i=o(t),u=a.f,l=r(i),h={},c=0;l.length>c;)void 0!==(n=u(i,e=l[c++]))&&s(h,e,n);return h}})},function(t,e,n){n(113)("observable")},function(t,e,n){n(113)("asyncIterator")},function(t,e,n){"use strict";var i=n(1),r=n(33),o=n(9),a=n(78),s=n(76),u=RegExp.prototype,l=function(t,e){this._r=t,this._s=e};n(101)(l,"RegExp String",function(){var t=this._r.exec(this._s);return{value:t,done:null===t}}),i(i.P,"String",{matchAll:function(t){if(r(this),!a(t))throw TypeError(t+" is not a regexp!");var e=String(this),n="flags"in u?String(t.flags):s.call(t),i=new RegExp(t.source,~n.indexOf("g")?n:"g"+n);return i.lastIndex=o(t.lastIndex),new l(i,e)}})},function(t,e,n){"use strict";n(57)("trimRight",function(t){return function(){return t(this,2)}},"trimEnd")},function(t,e,n){"use strict";n(57)("trimLeft",function(t){return function(){return t(this,1)}},"trimStart")},function(t,e,n){"use strict";var i=n(1),r=n(134),o=n(73);i(i.P+i.F*/Version\/10\.\d+(\.\d+)? Safari\//.test(o),"String",{padEnd:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0,!1)}})},function(t,e,n){"use strict";var i=n(1),r=n(134),o=n(73);i(i.P+i.F*/Version\/10\.\d+(\.\d+)? Safari\//.test(o),"String",{padStart:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0,!0)}})},function(t,e,n){"use strict";var i=n(1),r=n(103)(!0);i(i.P,"String",{at:function(t){return r(this,t)}})},function(t,e,n){"use strict";var i=n(1),r=n(135),o=n(13),a=n(9),s=n(32),u=n(95);i(i.P,"Array",{flatten:function(){var t=arguments[0],e=o(this),n=a(e.length),i=u(e,0);return r(i,e,e,n,0,void 0===t?1:s(t)),i}}),n(39)("flatten")},function(t,e,n){"use strict";var i=n(1),r=n(135),o=n(13),a=n(9),s=n(17),u=n(95);i(i.P,"Array",{flatMap:function(t){var e,n,i=o(this);return s(t),e=a(i.length),n=u(i,0),r(n,i,i,e,0,1,t,arguments[1]),n}}),n(39)("flatMap")},function(t,e,n){"use strict";var i=n(1),r=n(81)(!0);i(i.P,"Array",{includes:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),n(39)("includes")},function(t,e,n){var i=n(1),r=n(109);r&&i(i.S,"Reflect",{setPrototypeOf:function(t,e){r.check(t,e);try{return r.set(t,e),!0}catch(t){return!1}}})},function(t,e,n){var i=n(10),r=n(22),o=n(21),a=n(24),s=n(1),u=n(52),l=n(2),h=n(5);s(s.S,"Reflect",{set:function t(e,n,s){var c,p,d=arguments.length<4?e:arguments[3],f=r.f(l(e),n);if(!f){if(h(p=o(e)))return t(p,n,s,d);f=u(0)}if(a(f,"value")){if(!1===f.writable||!h(d))return!1;if(c=r.f(d,n)){if(c.get||c.set||!1===c.writable)return!1;c.value=s,i.f(d,n,c)}else i.f(d,n,u(0,s));return!0}return void 0!==f.set&&(f.set.call(d,s),!0)}})},function(t,e,n){var i=n(1),r=n(2),o=Object.preventExtensions;i(i.S,"Reflect",{preventExtensions:function(t){r(t);try{return o&&o(t),!0}catch(t){return!1}}})},function(t,e,n){var i=n(1);i(i.S,"Reflect",{ownKeys:n(136)})},function(t,e,n){var i=n(1),r=n(2),o=Object.isExtensible;i(i.S,"Reflect",{isExtensible:function(t){return r(t),!o||o(t)}})},function(t,e,n){var i=n(1);i(i.S,"Reflect",{has:function(t,e){return e in t}})},function(t,e,n){var i=n(1),r=n(21),o=n(2);i(i.S,"Reflect",{getPrototypeOf:function(t){return r(o(t))}})},function(t,e,n){var i=n(22),r=n(1),o=n(2);r(r.S,"Reflect",{getOwnPropertyDescriptor:function(t,e){return i.f(o(t),e)}})},function(t,e,n){var i=n(22),r=n(21),o=n(24),a=n(1),s=n(5),u=n(2);a(a.S,"Reflect",{get:function t(e,n){var a,l,h=arguments.length<3?e:arguments[2];return u(e)===h?e[n]:(a=i.f(e,n))?o(a,"value")?a.value:void 0!==a.get?a.get.call(h):void 0:s(l=r(e))?t(l,n,h):void 0}})},function(t,e,n){"use strict";var i=n(1),r=n(2),o=function(t){this._t=r(t),this._i=0;var e,n=this._k=[];for(e in t)n.push(e)};n(101)(o,"Object",function(){var t,e=this._k;do{if(this._i>=e.length)return{value:void 0,done:!0}}while(!((t=e[this._i++])in this._t));return{value:t,done:!1}}),i(i.S,"Reflect",{enumerate:function(t){return new o(t)}})},function(t,e,n){var i=n(1),r=n(22).f,o=n(2);i(i.S,"Reflect",{deleteProperty:function(t,e){var n=r(o(t),e);return!(n&&!n.configurable)&&delete t[e]}})},function(t,e,n){var i=n(10),r=n(1),o=n(2),a=n(34);r(r.S+r.F*n(4)(function(){Reflect.defineProperty(i.f({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function(t,e,n){o(t),e=a(e,!0),o(n);try{return i.f(t,e,n),!0}catch(t){return!1}}})},function(t,e,n){var i=n(1),r=n(48),o=n(17),a=n(2),s=n(5),u=n(4),l=n(157),h=(n(3).Reflect||{}).construct,c=u(function(){function t(){}return!(h(function(){},[],t)instanceof t)}),p=!u(function(){h(function(){})});i(i.S+i.F*(c||p),"Reflect",{construct:function(t,e){o(t),a(e);var n=arguments.length<3?t:o(arguments[2]);if(p&&!c)return h(t,e,n);if(t==n){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var i=[null];return i.push.apply(i,e),new(l.apply(t,i))}var u=n.prototype,d=r(s(u)?u:Object.prototype),f=Function.apply.call(t,d,e);return s(f)?f:d}})},function(t,e,n){var i=n(1),r=n(17),o=n(2),a=(n(3).Reflect||{}).apply,s=Function.apply;i(i.S+i.F*!n(4)(function(){a(function(){})}),"Reflect",{apply:function(t,e,n){var i=r(t),u=o(n);return a?a(i,e,u):s.call(i,e,u)}})},function(t,e,n){n(38)("Float64",8,function(t){return function(e,n,i){return t(this,e,n,i)}})},function(t,e,n){n(38)("Float32",4,function(t){return function(e,n,i){return t(this,e,n,i)}})},function(t,e,n){n(38)("Uint32",4,function(t){return function(e,n,i){return t(this,e,n,i)}})},function(t,e,n){n(38)("Int32",4,function(t){return function(e,n,i){return t(this,e,n,i)}})},function(t,e,n){n(38)("Uint16",2,function(t){return function(e,n,i){return t(this,e,n,i)}})},function(t,e,n){n(38)("Int16",2,function(t){return function(e,n,i){return t(this,e,n,i)}})},function(t,e,n){n(38)("Uint8",1,function(t){return function(e,n,i){return t(this,e,n,i)}},!0)},function(t,e,n){n(38)("Uint8",1,function(t){return function(e,n,i){return t(this,e,n,i)}})},function(t,e,n){n(38)("Int8",1,function(t){return function(e,n,i){return t(this,e,n,i)}})},function(t,e,n){var i=n(1);i(i.G+i.W+i.F*!n(71).ABV,{DataView:n(89).DataView})},function(t,e,n){"use strict";var i=n(1),r=n(71),o=n(89),a=n(2),s=n(49),u=n(9),l=n(5),h=n(3).ArrayBuffer,c=n(74),p=o.ArrayBuffer,d=o.DataView,f=r.ABV&&h.isView,m=p.prototype.slice,g=r.VIEW;i(i.G+i.W+i.F*(h!==p),{ArrayBuffer:p}),i(i.S+i.F*!r.CONSTR,"ArrayBuffer",{isView:function(t){return f&&f(t)||l(t)&&g in t}}),i(i.P+i.U+i.F*n(4)(function(){return!new p(2).slice(1,void 0).byteLength}),"ArrayBuffer",{slice:function(t,e){if(void 0!==m&&void 0===e)return m.call(a(this),t);for(var n=a(this).byteLength,i=s(t,n),r=s(void 0===e?n:e,n),o=new(c(this,p))(u(r-i)),l=new d(this),h=new d(o),f=0;i<r;)h.setUint8(f++,l.getUint8(i++));return o}}),n(46)("ArrayBuffer")},function(t,e,n){"use strict";var i=n(138),r=n(55);n(72)("WeakSet",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return i.def(r(this,"WeakSet"),t,!0)}},i,!1,!0)},function(t,e,n){"use strict";var i,r,o,a,s=n(40),u=n(3),l=n(28),h=n(61),c=n(1),p=n(5),d=n(17),f=n(45),m=n(44),g=n(74),v=n(92).set,y=n(91)(),_=n(90),b=n(144),x=n(73),w=n(143),A=u.TypeError,S=u.process,T=S&&S.versions,E=T&&T.v8||"",M=u.Promise,P="process"==h(S),C=function(){},L=r=_.f,R=!!function(){try{var t=M.resolve(1),e=(t.constructor={})[n(6)("species")]=function(t){t(C,C)};return(P||"function"==typeof PromiseRejectionEvent)&&t.then(C)instanceof e&&0!==E.indexOf("6.6")&&-1===x.indexOf("Chrome/66")}catch(t){}}(),O=function(t){var e;return!(!p(t)||"function"!=typeof(e=t.then))&&e},I=function(t,e){if(!t._n){t._n=!0;var n=t._c;y(function(){for(var i=t._v,r=1==t._s,o=0,a=function(e){var n,o,a,s=r?e.ok:e.fail,u=e.resolve,l=e.reject,h=e.domain;try{s?(r||(2==t._h&&B(t),t._h=1),!0===s?n=i:(h&&h.enter(),n=s(i),h&&(h.exit(),a=!0)),n===e.promise?l(A("Promise-chain cycle")):(o=O(n))?o.call(n,u,l):u(n)):l(i)}catch(t){h&&!a&&h.exit(),l(t)}};n.length>o;)a(n[o++]);t._c=[],t._n=!1,e&&!t._h&&N(t)})}},N=function(t){v.call(u,function(){var e,n,i,r=t._v,o=D(t);if(o&&(e=b(function(){P?S.emit("unhandledRejection",r,t):(n=u.onunhandledrejection)?n({promise:t,reason:r}):(i=u.console)&&i.error&&i.error("Unhandled promise rejection",r)}),t._h=P||D(t)?2:1),t._a=void 0,o&&e.e)throw e.v})},D=function(t){return 1!==t._h&&0===(t._a||t._c).length},B=function(t){v.call(u,function(){var e;P?S.emit("rejectionHandled",t):(e=u.onrejectionhandled)&&e({promise:t,reason:t._v})})},k=function(t){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=t,e._s=2,e._a||(e._a=e._c.slice()),I(e,!0))},G=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw A("Promise can't be resolved itself");(e=O(t))?y(function(){var i={_w:n,_d:!1};try{e.call(t,l(G,i,1),l(k,i,1))}catch(t){k.call(i,t)}}):(n._v=t,n._s=1,I(n,!1))}catch(t){k.call({_w:n,_d:!1},t)}}};R||(M=function(t){f(this,M,"Promise","_h"),d(t),i.call(this);try{t(l(G,this,1),l(k,this,1))}catch(t){k.call(this,t)}},(i=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=n(43)(M.prototype,{then:function(t,e){var n=L(g(this,M));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=P?S.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&I(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new i;this.promise=t,this.resolve=l(G,t,1),this.reject=l(k,t,1)},_.f=L=function(t){return t===M||t===a?new o(t):r(t)}),c(c.G+c.W+c.F*!R,{Promise:M}),n(58)(M,"Promise"),n(46)("Promise"),a=n(35).Promise,c(c.S+c.F*!R,"Promise",{reject:function(t){var e=L(this);return(0,e.reject)(t),e.promise}}),c(c.S+c.F*(s||!R),"Promise",{resolve:function(t){return w(s&&this===a?M:this,t)}}),c(c.S+c.F*!(R&&n(77)(function(t){M.all(t).catch(C)})),"Promise",{all:function(t){var e=this,n=L(e),i=n.resolve,r=n.reject,o=b(function(){var n=[],o=0,a=1;m(t,!1,function(t){var s=o++,u=!1;n.push(void 0),a++,e.resolve(t).then(function(t){u||(u=!0,n[s]=t,--a||i(n))},r)}),--a||i(n)});return o.e&&r(o.v),n.promise},race:function(t){var e=this,n=L(e),i=n.reject,r=b(function(){m(t,!1,function(t){e.resolve(t).then(n.resolve,i)})});return r.e&&i(r.v),n.promise}})},function(t,e,n){n(75)("split",2,function(t,e,i){"use strict";var r=n(78),o=i,a=[].push;if("c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length){var s=void 0===/()??/.exec("")[1];i=function(t,e){var n=String(this);if(void 0===t&&0===e)return[];if(!r(t))return o.call(n,t,e);var i,u,l,h,c,p=[],d=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),f=0,m=void 0===e?4294967295:e>>>0,g=new RegExp(t.source,d+"g");for(s||(i=new RegExp("^"+g.source+"$(?!\\s)",d));(u=g.exec(n))&&!((l=u.index+u[0].length)>f&&(p.push(n.slice(f,u.index)),!s&&u.length>1&&u[0].replace(i,function(){for(c=1;c<arguments.length-2;c++)void 0===arguments[c]&&(u[c]=void 0)}),u.length>1&&u.index<n.length&&a.apply(p,u.slice(1)),h=u[0].length,f=l,p.length>=m));)g.lastIndex===u.index&&g.lastIndex++;return f===n.length?!h&&g.test("")||p.push(""):p.push(n.slice(f)),p.length>m?p.slice(0,m):p}}else"0".split(void 0,0).length&&(i=function(t,e){return void 0===t&&0===e?[]:o.call(this,t,e)});return[function(n,r){var o=t(this),a=void 0==n?void 0:n[e];return void 0!==a?a.call(n,o,r):i.call(String(o),n,r)},i]})},function(t,e,n){n(75)("search",1,function(t,e,n){return[function(n){"use strict";var i=t(this),r=void 0==n?void 0:n[e];return void 0!==r?r.call(n,i):new RegExp(n)[e](String(i))},n]})},function(t,e,n){n(75)("replace",2,function(t,e,n){return[function(i,r){"use strict";var o=t(this),a=void 0==i?void 0:i[e];return void 0!==a?a.call(i,o,r):n.call(String(o),i,r)},n]})},function(t,e,n){n(75)("match",1,function(t,e,n){return[function(n){"use strict";var i=t(this),r=void 0==n?void 0:n[e];return void 0!==r?r.call(n,i):new RegExp(n)[e](String(i))},n]})},function(t,e,n){"use strict";n(145);var i=n(2),r=n(76),o=n(11),a=/./.toString,s=function(t){n(19)(RegExp.prototype,"toString",t,!0)};n(4)(function(){return"/a/b"!=a.call({source:"a",flags:"b"})})?s(function(){var t=i(this);return"/".concat(t.source,"/","flags"in t?t.flags:!o&&t instanceof RegExp?r.call(t):void 0)}):"toString"!=a.name&&s(function(){return a.call(this)})},function(t,e,n){var i=n(3),r=n(107),o=n(10).f,a=n(47).f,s=n(78),u=n(76),l=i.RegExp,h=l,c=l.prototype,p=/a/g,d=/a/g,f=new l(p)!==p;if(n(11)&&(!f||n(4)(function(){return d[n(6)("match")]=!1,l(p)!=p||l(d)==d||"/a/i"!=l(p,"i")}))){l=function(t,e){var n=this instanceof l,i=s(t),o=void 0===e;return!n&&i&&t.constructor===l&&o?t:r(f?new h(i&&!o?t.source:t,e):h((i=t instanceof l)?t.source:t,i&&o?u.call(t):e),n?this:c,l)};for(var m=function(t){t in l||o(l,t,{configurable:!0,get:function(){return h[t]},set:function(e){h[t]=e}})},g=a(h),v=0;g.length>v;)m(g[v++]);c.constructor=l,l.prototype=c,n(19)(i,"RegExp",l)}n(46)("RegExp")},function(t,e,n){n(46)("Array")},function(t,e,n){"use strict";var i=n(1),r=n(30)(6),o="findIndex",a=!0;o in[]&&Array(1)[o](function(){a=!1}),i(i.P+i.F*a,"Array",{findIndex:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),n(39)(o)},function(t,e,n){"use strict";var i=n(1),r=n(30)(5),o=!0;"find"in[]&&Array(1).find(function(){o=!1}),i(i.P+i.F*o,"Array",{find:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),n(39)("find")},function(t,e,n){var i=n(1);i(i.P,"Array",{fill:n(94)}),n(39)("fill")},function(t,e,n){var i=n(1);i(i.P,"Array",{copyWithin:n(147)}),n(39)("copyWithin")},function(t,e,n){"use strict";var i=n(1),r=n(23),o=n(32),a=n(9),s=[].lastIndexOf,u=!!s&&1/[1].lastIndexOf(1,-0)<0;i(i.P+i.F*(u||!n(26)(s)),"Array",{lastIndexOf:function(t){if(u)return s.apply(this,arguments)||0;var e=r(this),n=a(e.length),i=n-1;for(arguments.length>1&&(i=Math.min(i,o(arguments[1]))),i<0&&(i=n+i);i>=0;i--)if(i in e&&e[i]===t)return i||0;return-1}})},function(t,e,n){"use strict";var i=n(1),r=n(81)(!1),o=[].indexOf,a=!!o&&1/[1].indexOf(1,-0)<0;i(i.P+i.F*(a||!n(26)(o)),"Array",{indexOf:function(t){return a?o.apply(this,arguments)||0:r(this,t,arguments[1])}})},function(t,e,n){"use strict";var i=n(1),r=n(148);i(i.P+i.F*!n(26)([].reduceRight,!0),"Array",{reduceRight:function(t){return r(this,t,arguments.length,arguments[1],!0)}})},function(t,e,n){"use strict";var i=n(1),r=n(148);i(i.P+i.F*!n(26)([].reduce,!0),"Array",{reduce:function(t){return r(this,t,arguments.length,arguments[1],!1)}})},function(t,e,n){"use strict";var i=n(1),r=n(30)(4);i(i.P+i.F*!n(26)([].every,!0),"Array",{every:function(t){return r(this,t,arguments[1])}})},function(t,e,n){"use strict";var i=n(1),r=n(30)(3);i(i.P+i.F*!n(26)([].some,!0),"Array",{some:function(t){return r(this,t,arguments[1])}})},function(t,e,n){"use strict";var i=n(1),r=n(30)(2);i(i.P+i.F*!n(26)([].filter,!0),"Array",{filter:function(t){return r(this,t,arguments[1])}})},function(t,e,n){"use strict";var i=n(1),r=n(30)(1);i(i.P+i.F*!n(26)([].map,!0),"Array",{map:function(t){return r(this,t,arguments[1])}})},function(t,e,n){var i=n(5),r=n(79),o=n(6)("species");t.exports=function(t){var e;return r(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!r(e.prototype)||(e=void 0),i(e)&&null===(e=e[o])&&(e=void 0)),void 0===e?Array:e}},function(t,e,n){"use strict";var i=n(1),r=n(30)(0),o=n(26)([].forEach,!0);i(i.P+i.F*!o,"Array",{forEach:function(t){return r(this,t,arguments[1])}})},function(t,e,n){"use strict";var i=n(1),r=n(17),o=n(13),a=n(4),s=[].sort,u=[1,2,3];i(i.P+i.F*(a(function(){u.sort(void 0)})||!a(function(){u.sort(null)})||!n(26)(s)),"Array",{sort:function(t){return void 0===t?s.call(o(this)):s.call(o(this),r(t))}})},function(t,e,n){"use strict";var i=n(1),r=n(110),o=n(27),a=n(49),s=n(9),u=[].slice;i(i.P+i.F*n(4)(function(){r&&u.call(r)}),"Array",{slice:function(t,e){var n=s(this.length),i=o(this);if(e=void 0===e?n:e,"Array"==i)return u.call(this,t,e);for(var r=a(t,n),l=a(e,n),h=s(l-r),c=new Array(h),p=0;p<h;p++)c[p]="String"==i?this.charAt(r+p):this[r+p];return c}})},function(t,e,n){"use strict";var i=n(1),r=n(23),o=[].join;i(i.P+i.F*(n(63)!=Object||!n(26)(o)),"Array",{join:function(t){return o.call(r(this),void 0===t?",":t)}})},function(t,e,n){"use strict";var i=n(1),r=n(97);i(i.S+i.F*n(4)(function(){function t(){}return!(Array.of.call(t)instanceof t)}),"Array",{of:function(){for(var t=0,e=arguments.length,n=new("function"==typeof this?this:Array)(e);e>t;)r(n,t,arguments[t++]);return n.length=e,n}})},function(t,e,n){"use strict";var i=n(28),r=n(1),o=n(13),a=n(149),s=n(98),u=n(9),l=n(97),h=n(96);r(r.S+r.F*!n(77)(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,r,c,p=o(t),d="function"==typeof this?this:Array,f=arguments.length,m=f>1?arguments[1]:void 0,g=void 0!==m,v=0,y=h(p);if(g&&(m=i(m,f>2?arguments[2]:void 0,2)),void 0==y||d==Array&&s(y))for(n=new d(e=u(p.length));e>v;v++)l(n,v,g?m(p[v],v):p[v]);else for(c=y.call(p),n=new d;!(r=c.next()).done;v++)l(n,v,g?a(c,m,[r.value,v],!0):r.value);return n.length=v,n}})},function(t,e,n){var i=n(1);i(i.S,"Array",{isArray:n(79)})},function(t,e,n){"use strict";var i=n(2),r=n(34);t.exports=function(t){if("string"!==t&&"number"!==t&&"default"!==t)throw TypeError("Incorrect hint");return r(i(this),"number"!=t)}},function(t,e,n){var i=n(6)("toPrimitive"),r=Date.prototype;i in r||n(20)(r,i,n(318))},function(t,e,n){var i=Date.prototype,r=i.toString,o=i.getTime;new Date(NaN)+""!="Invalid Date"&&n(19)(i,"toString",function(){var t=o.call(this);return t==t?r.call(this):"Invalid Date"})},function(t,e,n){"use strict";var i=n(4),r=Date.prototype.getTime,o=Date.prototype.toISOString,a=function(t){return t>9?t:"0"+t};t.exports=i(function(){return"0385-07-25T07:06:39.999Z"!=o.call(new Date(-5e13-1))})||!i(function(){o.call(new Date(NaN))})?function(){if(!isFinite(r.call(this)))throw RangeError("Invalid time value");var t=this,e=t.getUTCFullYear(),n=t.getUTCMilliseconds(),i=e<0?"-":e>9999?"+":"";return i+("00000"+Math.abs(e)).slice(i?-6:-4)+"-"+a(t.getUTCMonth()+1)+"-"+a(t.getUTCDate())+"T"+a(t.getUTCHours())+":"+a(t.getUTCMinutes())+":"+a(t.getUTCSeconds())+"."+(n>99?n:"0"+a(n))+"Z"}:o},function(t,e,n){var i=n(1),r=n(321);i(i.P+i.F*(Date.prototype.toISOString!==r),"Date",{toISOString:r})},function(t,e,n){"use strict";var i=n(1),r=n(13),o=n(34);i(i.P+i.F*n(4)(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),"Date",{toJSON:function(t){var e=r(this),n=o(e);return"number"!=typeof n||isFinite(n)?e.toISOString():null}})},function(t,e,n){var i=n(1);i(i.S,"Date",{now:function(){return(new Date).getTime()}})},function(t,e,n){"use strict";n(18)("sup",function(t){return function(){return t(this,"sup","","")}})},function(t,e,n){"use strict";n(18)("sub",function(t){return function(){return t(this,"sub","","")}})},function(t,e,n){"use strict";n(18)("strike",function(t){return function(){return t(this,"strike","","")}})},function(t,e,n){"use strict";n(18)("small",function(t){return function(){return t(this,"small","","")}})},function(t,e,n){"use strict";n(18)("link",function(t){return function(e){return t(this,"a","href",e)}})},function(t,e,n){"use strict";n(18)("italics",function(t){return function(){return t(this,"i","","")}})},function(t,e,n){"use strict";n(18)("fontsize",function(t){return function(e){return t(this,"font","size",e)}})},function(t,e,n){"use strict";n(18)("fontcolor",function(t){return function(e){return t(this,"font","color",e)}})},function(t,e,n){"use strict";n(18)("fixed",function(t){return function(){return t(this,"tt","","")}})},function(t,e,n){"use strict";n(18)("bold",function(t){return function(){return t(this,"b","","")}})},function(t,e,n){"use strict";n(18)("blink",function(t){return function(){return t(this,"blink","","")}})},function(t,e,n){"use strict";n(18)("big",function(t){return function(){return t(this,"big","","")}})},function(t,e,n){"use strict";n(18)("anchor",function(t){return function(e){return t(this,"a","name",e)}})},function(t,e,n){"use strict";var i=n(1),r=n(9),o=n(100),a="".startsWith;i(i.P+i.F*n(99)("startsWith"),"String",{startsWith:function(t){var e=o(this,t,"startsWith"),n=r(Math.min(arguments.length>1?arguments[1]:void 0,e.length)),i=String(t);return a?a.call(e,i,n):e.slice(n,n+i.length)===i}})},function(t,e,n){var i=n(1);i(i.P,"String",{repeat:n(106)})},function(t,e,n){"use strict";var i=n(1),r=n(100);i(i.P+i.F*n(99)("includes"),"String",{includes:function(t){return!!~r(this,t,"includes").indexOf(t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){"use strict";var i=n(1),r=n(9),o=n(100),a="".endsWith;i(i.P+i.F*n(99)("endsWith"),"String",{endsWith:function(t){var e=o(this,t,"endsWith"),n=arguments.length>1?arguments[1]:void 0,i=r(e.length),s=void 0===n?i:Math.min(r(n),i),u=String(t);return a?a.call(e,u,s):e.slice(s-u.length,s)===u}})},function(t,e,n){"use strict";var i=n(1),r=n(103)(!1);i(i.P,"String",{codePointAt:function(t){return r(this,t)}})},function(t,e,n){"use strict";var i=n(103)(!0);n(102)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=i(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){"use strict";n(57)("trim",function(t){return function(){return t(this,3)}})},function(t,e,n){var i=n(1),r=n(23),o=n(9);i(i.S,"String",{raw:function(t){for(var e=r(t.raw),n=o(e.length),i=arguments.length,a=[],s=0;n>s;)a.push(String(e[s++])),s<i&&a.push(String(arguments[s]));return a.join("")}})},function(t,e,n){var i=n(1),r=n(49),o=String.fromCharCode,a=String.fromCodePoint;i(i.S+i.F*(!!a&&1!=a.length),"String",{fromCodePoint:function(t){for(var e,n=[],i=arguments.length,a=0;i>a;){if(e=+arguments[a++],r(e,1114111)!==e)throw RangeError(e+" is not a valid code point");n.push(e<65536?o(e):o(55296+((e-=65536)>>10),e%1024+56320))}return n.join("")}})},function(t,e,n){var i=n(1);i(i.S,"Math",{trunc:function(t){return(t>0?Math.floor:Math.ceil)(t)}})},function(t,e,n){var i=n(1),r=n(104),o=Math.exp;i(i.S,"Math",{tanh:function(t){var e=r(t=+t),n=r(-t);return e==1/0?1:n==1/0?-1:(e-n)/(o(t)+o(-t))}})},function(t,e,n){var i=n(1),r=n(104),o=Math.exp;i(i.S+i.F*n(4)(function(){return-2e-17!=!Math.sinh(-2e-17)}),"Math",{sinh:function(t){return Math.abs(t=+t)<1?(r(t)-r(-t))/2:(o(t-1)-o(-t-1))*(Math.E/2)}})},function(t,e,n){var i=n(1);i(i.S,"Math",{sign:n(105)})},function(t,e,n){var i=n(1);i(i.S,"Math",{log2:function(t){return Math.log(t)/Math.LN2}})},function(t,e,n){var i=n(1);i(i.S,"Math",{log1p:n(151)})},function(t,e,n){var i=n(1);i(i.S,"Math",{log10:function(t){return Math.log(t)*Math.LOG10E}})},function(t,e,n){var i=n(1),r=Math.imul;i(i.S+i.F*n(4)(function(){return-5!=r(4294967295,5)||2!=r.length}),"Math",{imul:function(t,e){var n=+t,i=+e,r=65535&n,o=65535&i;return 0|r*o+((65535&n>>>16)*o+r*(65535&i>>>16)<<16>>>0)}})},function(t,e,n){var i=n(1),r=Math.abs;i(i.S,"Math",{hypot:function(t,e){for(var n,i,o=0,a=0,s=arguments.length,u=0;a<s;)u<(n=r(arguments[a++]))?(o=o*(i=u/n)*i+1,u=n):o+=n>0?(i=n/u)*i:n;return u===1/0?1/0:u*Math.sqrt(o)}})},function(t,e,n){var i=n(1);i(i.S,"Math",{fround:n(150)})},function(t,e,n){var i=n(1),r=n(104);i(i.S+i.F*(r!=Math.expm1),"Math",{expm1:r})},function(t,e,n){var i=n(1),r=Math.exp;i(i.S,"Math",{cosh:function(t){return(r(t=+t)+r(-t))/2}})},function(t,e,n){var i=n(1);i(i.S,"Math",{clz32:function(t){return(t>>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},function(t,e,n){var i=n(1),r=n(105);i(i.S,"Math",{cbrt:function(t){return r(t=+t)*Math.pow(Math.abs(t),1/3)}})},function(t,e,n){var i=n(1),r=Math.atanh;i(i.S+i.F*!(r&&1/r(-0)<0),"Math",{atanh:function(t){return 0==(t=+t)?t:Math.log((1+t)/(1-t))/2}})},function(t,e,n){var i=n(1),r=Math.asinh;i(i.S+i.F*!(r&&1/r(0)>0),"Math",{asinh:function t(e){return isFinite(e=+e)&&0!=e?e<0?-t(-e):Math.log(e+Math.sqrt(e*e+1)):e}})},function(t,e,n){var i=n(1),r=n(151),o=Math.sqrt,a=Math.acosh;i(i.S+i.F*!(a&&710==Math.floor(a(Number.MAX_VALUE))&&a(1/0)==1/0),"Math",{acosh:function(t){return(t=+t)<1?NaN:t>94906265.62425156?Math.log(t)+Math.LN2:r(t-1+o(t-1)*o(t+1))}})},function(t,e,n){var i=n(1),r=n(155);i(i.S+i.F*(Number.parseInt!=r),"Number",{parseInt:r})},function(t,e,n){var i=n(1),r=n(154);i(i.S+i.F*(Number.parseFloat!=r),"Number",{parseFloat:r})},function(t,e,n){var i=n(1);i(i.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(t,e,n){var i=n(1);i(i.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(t,e,n){var i=n(1),r=n(152),o=Math.abs;i(i.S,"Number",{isSafeInteger:function(t){return r(t)&&o(t)<=9007199254740991}})},function(t,e,n){var i=n(1);i(i.S,"Number",{isNaN:function(t){return t!=t}})},function(t,e,n){var i=n(1);i(i.S,"Number",{isInteger:n(152)})},function(t,e,n){var i=n(1),r=n(3).isFinite;i(i.S,"Number",{isFinite:function(t){return"number"==typeof t&&r(t)}})},function(t,e,n){var i=n(1);i(i.S,"Number",{EPSILON:Math.pow(2,-52)})},function(t,e,n){"use strict";var i=n(1),r=n(4),o=n(153),a=1..toPrecision;i(i.P+i.F*(r(function(){return"1"!==a.call(1,void 0)})||!r(function(){a.call({})})),"Number",{toPrecision:function(t){var e=o(this,"Number#toPrecision: incorrect invocation!");return void 0===t?a.call(e):a.call(e,t)}})},function(t,e,n){"use strict";var i=n(1),r=n(32),o=n(153),a=n(106),s=1..toFixed,u=Math.floor,l=[0,0,0,0,0,0],h="Number.toFixed: incorrect invocation!",c=function(t,e){for(var n=-1,i=e;++n<6;)i+=t*l[n],l[n]=i%1e7,i=u(i/1e7)},p=function(t){for(var e=6,n=0;--e>=0;)n+=l[e],l[e]=u(n/t),n=n%t*1e7},d=function(){for(var t=6,e="";--t>=0;)if(""!==e||0===t||0!==l[t]){var n=String(l[t]);e=""===e?n:e+a.call("0",7-n.length)+n}return e},f=function(t,e,n){return 0===e?n:e%2==1?f(t,e-1,n*t):f(t*t,e/2,n)};i(i.P+i.F*(!!s&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!n(4)(function(){s.call({})})),"Number",{toFixed:function(t){var e,n,i,s,u=o(this,h),l=r(t),m="",g="0";if(l<0||l>20)throw RangeError(h);if(u!=u)return"NaN";if(u<=-1e21||u>=1e21)return String(u);if(u<0&&(m="-",u=-u),u>1e-21)if(n=(e=function(t){for(var e=0,n=t;n>=4096;)e+=12,n/=4096;for(;n>=2;)e+=1,n/=2;return e}(u*f(2,69,1))-69)<0?u*f(2,-e,1):u/f(2,e,1),n*=4503599627370496,(e=52-e)>0){for(c(0,n),i=l;i>=7;)c(1e7,0),i-=7;for(c(f(10,i,1),0),i=e-1;i>=23;)p(1<<23),i-=23;p(1<<i),c(1,1),p(2),g=d()}else c(0,n),c(1<<-e,0),g=d()+a.call("0",l);return g=l>0?m+((s=g.length)<=l?"0."+a.call("0",l-s)+g:g.slice(0,s-l)+"."+g.slice(s-l)):m+g}})},function(t,e,n){"use strict";var i=n(3),r=n(24),o=n(27),a=n(107),s=n(34),u=n(4),l=n(47).f,h=n(22).f,c=n(10).f,p=n(57).trim,d=i.Number,f=d,m=d.prototype,g="Number"==o(n(48)(m)),v="trim"in String.prototype,y=function(t){var e=s(t,!1);if("string"==typeof e&&e.length>2){var n,i,r,o=(e=v?e.trim():p(e,3)).charCodeAt(0);if(43===o||45===o){if(88===(n=e.charCodeAt(2))||120===n)return NaN}else if(48===o){switch(e.charCodeAt(1)){case 66:case 98:i=2,r=49;break;case 79:case 111:i=8,r=55;break;default:return+e}for(var a,u=e.slice(2),l=0,h=u.length;l<h;l++)if((a=u.charCodeAt(l))<48||a>r)return NaN;return parseInt(u,i)}}return+e};if(!d(" 0o1")||!d("0b1")||d("+0x1")){d=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof d&&(g?u(function(){m.valueOf.call(n)}):"Number"!=o(n))?a(new f(y(e)),n,d):y(e)};for(var _,b=n(11)?l(f):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),x=0;b.length>x;x++)r(f,_=b[x])&&!r(d,_)&&c(d,_,h(f,_));d.prototype=m,m.constructor=d,n(19)(i,"Number",d)}},function(t,e,n){var i=n(1),r=n(154);i(i.G+i.F*(parseFloat!=r),{parseFloat:r})},function(t,e,n){var i=n(1),r=n(155);i(i.G+i.F*(parseInt!=r),{parseInt:r})},function(t,e,n){"use strict";var i=n(5),r=n(21),o=n(6)("hasInstance"),a=Function.prototype;o in a||n(10).f(a,o,{value:function(t){if("function"!=typeof this||!i(t))return!1;if(!i(this.prototype))return t instanceof this;for(;t=r(t);)if(this.prototype===t)return!0;return!1}})},function(t,e,n){var i=n(10).f,r=Function.prototype,o=/^\s*function ([^ (]*)/;"name"in r||n(11)&&i(r,"name",{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(t){return""}}})},function(t,e,n){var i=n(1);i(i.P,"Function",{bind:n(157)})},function(t,e,n){"use strict";var i=n(61),r={};r[n(6)("toStringTag")]="z",r+""!="[object z]"&&n(19)(Object.prototype,"toString",function(){return"[object "+i(this)+"]"},!0)},function(t,e,n){var i=n(1);i(i.S,"Object",{setPrototypeOf:n(109).set})},function(t,e){t.exports=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}},function(t,e,n){var i=n(1);i(i.S,"Object",{is:n(383)})},function(t,e,n){var i=n(1);i(i.S+i.F,"Object",{assign:n(158)})},function(t,e,n){var i=n(5);n(31)("isExtensible",function(t){return function(e){return!!i(e)&&(!t||t(e))}})},function(t,e,n){var i=n(5);n(31)("isSealed",function(t){return function(e){return!i(e)||!!t&&t(e)}})},function(t,e,n){var i=n(5);n(31)("isFrozen",function(t){return function(e){return!i(e)||!!t&&t(e)}})},function(t,e,n){var i=n(5),r=n(41).onFreeze;n(31)("preventExtensions",function(t){return function(e){return t&&i(e)?t(r(e)):e}})},function(t,e,n){var i=n(5),r=n(41).onFreeze;n(31)("seal",function(t){return function(e){return t&&i(e)?t(r(e)):e}})},function(t,e,n){var i=n(5),r=n(41).onFreeze;n(31)("freeze",function(t){return function(e){return t&&i(e)?t(r(e)):e}})},function(t,e,n){n(31)("getOwnPropertyNames",function(){return n(159).f})},function(t,e,n){var i=n(13),r=n(50);n(31)("keys",function(){return function(t){return r(i(t))}})},function(t,e,n){var i=n(13),r=n(21);n(31)("getPrototypeOf",function(){return function(t){return r(i(t))}})},function(t,e,n){var i=n(23),r=n(22).f;n(31)("getOwnPropertyDescriptor",function(){return function(t,e){return r(i(t),e)}})},function(t,e,n){var i=n(1);i(i.S+i.F*!n(11),"Object",{defineProperties:n(160)})},function(t,e,n){var i=n(1);i(i.S+i.F*!n(11),"Object",{defineProperty:n(10).f})},function(t,e,n){var i=n(1);i(i.S,"Object",{create:n(48)})},function(t,e,n){var i=n(50),r=n(80),o=n(62);t.exports=function(t){var e=i(t),n=r.f;if(n)for(var a,s=n(t),u=o.f,l=0;s.length>l;)u.call(t,a=s[l++])&&e.push(a);return e}},function(t,e,n){"use strict";var i=n(3),r=n(24),o=n(11),a=n(1),s=n(19),u=n(41).KEY,l=n(4),h=n(82),c=n(58),p=n(51),d=n(6),f=n(162),m=n(113),g=n(399),v=n(79),y=n(2),_=n(5),b=n(23),x=n(34),w=n(52),A=n(48),S=n(159),T=n(22),E=n(10),M=n(50),P=T.f,C=E.f,L=S.f,R=i.Symbol,O=i.JSON,I=O&&O.stringify,N=d("_hidden"),D=d("toPrimitive"),B={}.propertyIsEnumerable,k=h("symbol-registry"),G=h("symbols"),U=h("op-symbols"),V=Object.prototype,z="function"==typeof R,H=i.QObject,F=!H||!H.prototype||!H.prototype.findChild,j=o&&l(function(){return 7!=A(C({},"a",{get:function(){return C(this,"a",{value:7}).a}})).a})?function(t,e,n){var i=P(V,e);i&&delete V[e],C(t,e,n),i&&t!==V&&C(V,e,i)}:C,W=function(t){var e=G[t]=A(R.prototype);return e._k=t,e},X=z&&"symbol"==typeof R.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof R},Y=function(t,e,n){return t===V&&Y(U,e,n),y(t),e=x(e,!0),y(n),r(G,e)?(n.enumerable?(r(t,N)&&t[N][e]&&(t[N][e]=!1),n=A(n,{enumerable:w(0,!1)})):(r(t,N)||C(t,N,w(1,{})),t[N][e]=!0),j(t,e,n)):C(t,e,n)},K=function(t,e){y(t);for(var n,i=g(e=b(e)),r=0,o=i.length;o>r;)Y(t,n=i[r++],e[n]);return t},Z=function(t){var e=B.call(this,t=x(t,!0));return!(this===V&&r(G,t)&&!r(U,t))&&(!(e||!r(this,t)||!r(G,t)||r(this,N)&&this[N][t])||e)},q=function(t,e){if(t=b(t),e=x(e,!0),t!==V||!r(G,e)||r(U,e)){var n=P(t,e);return!n||!r(G,e)||r(t,N)&&t[N][e]||(n.enumerable=!0),n}},Q=function(t){for(var e,n=L(b(t)),i=[],o=0;n.length>o;)r(G,e=n[o++])||e==N||e==u||i.push(e);return i},J=function(t){for(var e,n=t===V,i=L(n?U:b(t)),o=[],a=0;i.length>a;)!r(G,e=i[a++])||n&&!r(V,e)||o.push(G[e]);return o};z||(s((R=function(){if(this instanceof R)throw TypeError("Symbol is not a constructor!");var t=p(arguments.length>0?arguments[0]:void 0),e=function(n){this===V&&e.call(U,n),r(this,N)&&r(this[N],t)&&(this[N][t]=!1),j(this,t,w(1,n))};return o&&F&&j(V,t,{configurable:!0,set:e}),W(t)}).prototype,"toString",function(){return this._k}),T.f=q,E.f=Y,n(47).f=S.f=Q,n(62).f=Z,n(80).f=J,o&&!n(40)&&s(V,"propertyIsEnumerable",Z,!0),f.f=function(t){return W(d(t))}),a(a.G+a.W+a.F*!z,{Symbol:R});for(var $="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),tt=0;$.length>tt;)d($[tt++]);for(var et=M(d.store),nt=0;et.length>nt;)m(et[nt++]);a(a.S+a.F*!z,"Symbol",{for:function(t){return r(k,t+="")?k[t]:k[t]=R(t)},keyFor:function(t){if(!X(t))throw TypeError(t+" is not a symbol!");for(var e in k)if(k[e]===t)return e},useSetter:function(){F=!0},useSimple:function(){F=!1}}),a(a.S+a.F*!z,"Object",{create:function(t,e){return void 0===e?A(t):K(A(t),e)},defineProperty:Y,defineProperties:K,getOwnPropertyDescriptor:q,getOwnPropertyNames:Q,getOwnPropertySymbols:J}),O&&a(a.S+a.F*(!z||l(function(){var t=R();return"[null]"!=I([t])||"{}"!=I({a:t})||"{}"!=I(Object(t))})),"JSON",{stringify:function(t){for(var e,n,i=[t],r=1;arguments.length>r;)i.push(arguments[r++]);if(n=e=i[1],(_(e)||void 0!==t)&&!X(t))return v(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!X(e))return e}),i[1]=e,I.apply(O,i)}}),R.prototype[D]||n(20)(R.prototype,D,R.prototype.valueOf),c(R,"Symbol"),c(Math,"Math",!0),c(i.JSON,"JSON",!0)},function(t,e,n){n(400),n(398),n(397),n(396),n(395),n(394),n(393),n(392),n(391),n(390),n(389),n(388),n(387),n(386),n(385),n(384),n(382),n(381),n(380),n(379),n(378),n(377),n(376),n(375),n(374),n(373),n(372),n(371),n(370),n(369),n(368),n(367),n(366),n(365),n(364),n(363),n(362),n(361),n(360),n(359),n(358),n(357),n(356),n(355),n(354),n(353),n(352),n(351),n(350),n(349),n(348),n(347),n(346),n(345),n(344),n(343),n(342),n(341),n(340),n(339),n(338),n(337),n(336),n(335),n(334),n(333),n(332),n(331),n(330),n(329),n(328),n(327),n(326),n(325),n(324),n(323),n(322),n(320),n(319),n(317),n(316),n(315),n(314),n(313),n(312),n(311),n(309),n(308),n(307),n(306),n(305),n(304),n(303),n(302),n(301),n(300),n(299),n(298),n(297),n(93),n(296),n(295),n(145),n(294),n(293),n(292),n(291),n(290),n(142),n(140),n(139),n(289),n(288),n(287),n(286),n(285),n(284),n(283),n(282),n(281),n(280),n(279),n(278),n(277),n(276),n(275),n(274),n(273),n(272),n(271),n(270),n(269),n(268),n(267),n(266),n(265),n(264),n(263),n(262),n(261),n(260),n(259),n(258),n(257),n(256),n(255),n(254),n(253),n(252),n(251),n(250),n(249),n(248),n(247),n(246),n(245),n(244),n(243),n(242),n(241),n(240),n(239),n(238),n(237),n(236),n(235),n(234),n(233),n(232),n(231),n(230),n(229),n(228),n(227),n(226),n(225),n(224),n(223),n(222),n(221),n(220),n(219),n(218),n(217),n(216),n(215),n(214),n(213),n(212),n(211),n(210),n(209),n(208),n(207),n(206),n(205),t.exports=n(35)},function(t,e,n){"use strict";(function(t){n(401),n(204),t._babelPolyfill&&"undefined"!=typeof console&&console.warn&&console.warn("@babel/polyfill is loaded more than once on this page. This is probably not desirable/intended and may have consequences if different versions of the polyfills are applied sequentially. If you do need to load the polyfill more than once, use @babel/polyfill/noConflict instead to bypass the warning."),t._babelPolyfill=!0}).call(this,n(164))},function(t,e,n){n(402),t.exports=n(203)}]);