hilo3d
Version:
Hilo3d, a WebGL 3d engine.
34 lines (29 loc) • 461 kB
JavaScript
/*!
* Hilo3d 1.19.1
* Copyright (c) 2017-present Alibaba Group Holding Ltd.
* @license MIT
*/
window.Hilo3d=function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=111)}([function(t,e,n){
/*!
@fileoverview gl-matrix - High performance matrix and vector operations
@author Brandon Jones
@author Colin MacKenzie IV
@version 2.7.0
Copyright (c) 2015-2018, Brandon Jones, Colin MacKenzie IV.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
"undefined"!=typeof self&&self,t.exports=function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=10)}([function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.setMatrixArrayType=function(t){e.ARRAY_TYPE=t},e.toRadian=function(t){return t*i},e.equals=function(t,e){return Math.abs(t-e)<=r*Math.max(1,Math.abs(t),Math.abs(e))};var r=e.EPSILON=1e-6;e.ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array,e.RANDOM=Math.random;var i=Math.PI/180},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.forEach=e.sqrLen=e.len=e.sqrDist=e.dist=e.div=e.mul=e.sub=void 0,e.create=i,e.clone=function(t){var e=new r.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},e.fromValues=function(t,e,n,i){var a=new r.ARRAY_TYPE(4);return a[0]=t,a[1]=e,a[2]=n,a[3]=i,a},e.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},e.set=function(t,e,n,r,i){return t[0]=e,t[1]=n,t[2]=r,t[3]=i,t},e.add=function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t},e.subtract=a,e.multiply=s,e.divide=o,e.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t[3]=Math.ceil(e[3]),t},e.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t[3]=Math.floor(e[3]),t},e.min=function(t,e,n){return t[0]=Math.min(e[0],n[0]),t[1]=Math.min(e[1],n[1]),t[2]=Math.min(e[2],n[2]),t[3]=Math.min(e[3],n[3]),t},e.max=function(t,e,n){return t[0]=Math.max(e[0],n[0]),t[1]=Math.max(e[1],n[1]),t[2]=Math.max(e[2],n[2]),t[3]=Math.max(e[3],n[3]),t},e.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t[3]=Math.round(e[3]),t},e.scale=function(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t},e.scaleAndAdd=function(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t[3]=e[3]+n[3]*r,t},e.distance=u,e.squaredDistance=c,e.length=f,e.squaredLength=h,e.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t},e.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t},e.normalize=function(t,e){var n=e[0],r=e[1],i=e[2],a=e[3],s=n*n+r*r+i*i+a*a;return s>0&&(s=1/Math.sqrt(s),t[0]=n*s,t[1]=r*s,t[2]=i*s,t[3]=a*s),t},e.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},e.lerp=function(t,e,n,r){var i=e[0],a=e[1],s=e[2],o=e[3];return t[0]=i+r*(n[0]-i),t[1]=a+r*(n[1]-a),t[2]=s+r*(n[2]-s),t[3]=o+r*(n[3]-o),t},e.random=function(t,e){var n,i,a,s,o,u;e=e||1;do{o=(n=2*r.RANDOM()-1)*n+(i=2*r.RANDOM()-1)*i}while(o>=1);do{u=(a=2*r.RANDOM()-1)*a+(s=2*r.RANDOM()-1)*s}while(u>=1);var c=Math.sqrt((1-o)/u);return t[0]=e*n,t[1]=e*i,t[2]=e*a*c,t[3]=e*s*c,t},e.transformMat4=function(t,e,n){var r=e[0],i=e[1],a=e[2],s=e[3];return t[0]=n[0]*r+n[4]*i+n[8]*a+n[12]*s,t[1]=n[1]*r+n[5]*i+n[9]*a+n[13]*s,t[2]=n[2]*r+n[6]*i+n[10]*a+n[14]*s,t[3]=n[3]*r+n[7]*i+n[11]*a+n[15]*s,t},e.transformQuat=function(t,e,n){var r=e[0],i=e[1],a=e[2],s=n[0],o=n[1],u=n[2],c=n[3],f=c*r+o*a-u*i,h=c*i+u*r-s*a,l=c*a+s*i-o*r,d=-s*r-o*i-u*a;return t[0]=f*c+d*-s+h*-u-l*-o,t[1]=h*c+d*-o+l*-s-f*-u,t[2]=l*c+d*-u+f*-o-h*-s,t[3]=e[3],t},e.str=function(t){return"vec4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},e.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]},e.equals=function(t,e){var n=t[0],i=t[1],a=t[2],s=t[3],o=e[0],u=e[1],c=e[2],f=e[3];return Math.abs(n-o)<=r.EPSILON*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-u)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(u))&&Math.abs(a-c)<=r.EPSILON*Math.max(1,Math.abs(a),Math.abs(c))&&Math.abs(s-f)<=r.EPSILON*Math.max(1,Math.abs(s),Math.abs(f))};var r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(0));function i(){var t=new r.ARRAY_TYPE(4);return r.ARRAY_TYPE!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0),t}function a(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t[3]=e[3]-n[3],t}function s(t,e,n){return t[0]=e[0]*n[0],t[1]=e[1]*n[1],t[2]=e[2]*n[2],t[3]=e[3]*n[3],t}function o(t,e,n){return t[0]=e[0]/n[0],t[1]=e[1]/n[1],t[2]=e[2]/n[2],t[3]=e[3]/n[3],t}function u(t,e){var n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(n*n+r*r+i*i+a*a)}function c(t,e){var n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return n*n+r*r+i*i+a*a}function f(t){var e=t[0],n=t[1],r=t[2],i=t[3];return Math.sqrt(e*e+n*n+r*r+i*i)}function h(t){var e=t[0],n=t[1],r=t[2],i=t[3];return e*e+n*n+r*r+i*i}e.sub=a,e.mul=s,e.div=o,e.dist=u,e.sqrDist=c,e.len=f,e.sqrLen=h,e.forEach=function(){var t=i();return function(e,n,r,i,a,s){var o,u=void 0;for(n||(n=4),r||(r=0),o=i?Math.min(i*n+r,e.length):e.length,u=r;u<o;u+=n)t[0]=e[u],t[1]=e[u+1],t[2]=e[u+2],t[3]=e[u+3],a(t,t,s),e[u]=t[0],e[u+1]=t[1],e[u+2]=t[2],e[u+3]=t[3];return e}}()},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.forEach=e.sqrLen=e.len=e.sqrDist=e.dist=e.div=e.mul=e.sub=void 0,e.create=i,e.clone=function(t){var e=new r.ARRAY_TYPE(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},e.length=a,e.fromValues=s,e.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},e.set=function(t,e,n,r){return t[0]=e,t[1]=n,t[2]=r,t},e.add=function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t},e.subtract=o,e.multiply=u,e.divide=c,e.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t},e.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t},e.min=function(t,e,n){return t[0]=Math.min(e[0],n[0]),t[1]=Math.min(e[1],n[1]),t[2]=Math.min(e[2],n[2]),t},e.max=function(t,e,n){return t[0]=Math.max(e[0],n[0]),t[1]=Math.max(e[1],n[1]),t[2]=Math.max(e[2],n[2]),t},e.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t},e.scale=function(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t},e.scaleAndAdd=function(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t},e.distance=f,e.squaredDistance=h,e.squaredLength=l,e.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t},e.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t},e.normalize=d,e.dot=m,e.cross=function(t,e,n){var r=e[0],i=e[1],a=e[2],s=n[0],o=n[1],u=n[2];return t[0]=i*u-a*o,t[1]=a*s-r*u,t[2]=r*o-i*s,t},e.lerp=function(t,e,n,r){var i=e[0],a=e[1],s=e[2];return t[0]=i+r*(n[0]-i),t[1]=a+r*(n[1]-a),t[2]=s+r*(n[2]-s),t},e.hermite=function(t,e,n,r,i,a){var s=a*a,o=s*(2*a-3)+1,u=s*(a-2)+a,c=s*(a-1),f=s*(3-2*a);return t[0]=e[0]*o+n[0]*u+r[0]*c+i[0]*f,t[1]=e[1]*o+n[1]*u+r[1]*c+i[1]*f,t[2]=e[2]*o+n[2]*u+r[2]*c+i[2]*f,t},e.bezier=function(t,e,n,r,i,a){var s=1-a,o=s*s,u=a*a,c=o*s,f=3*a*o,h=3*u*s,l=u*a;return t[0]=e[0]*c+n[0]*f+r[0]*h+i[0]*l,t[1]=e[1]*c+n[1]*f+r[1]*h+i[1]*l,t[2]=e[2]*c+n[2]*f+r[2]*h+i[2]*l,t},e.random=function(t,e){e=e||1;var n=2*r.RANDOM()*Math.PI,i=2*r.RANDOM()-1,a=Math.sqrt(1-i*i)*e;return t[0]=Math.cos(n)*a,t[1]=Math.sin(n)*a,t[2]=i*e,t},e.transformMat4=function(t,e,n){var r=e[0],i=e[1],a=e[2],s=n[3]*r+n[7]*i+n[11]*a+n[15];return s=s||1,t[0]=(n[0]*r+n[4]*i+n[8]*a+n[12])/s,t[1]=(n[1]*r+n[5]*i+n[9]*a+n[13])/s,t[2]=(n[2]*r+n[6]*i+n[10]*a+n[14])/s,t},e.transformMat3=function(t,e,n){var r=e[0],i=e[1],a=e[2];return t[0]=r*n[0]+i*n[3]+a*n[6],t[1]=r*n[1]+i*n[4]+a*n[7],t[2]=r*n[2]+i*n[5]+a*n[8],t},e.transformQuat=function(t,e,n){var r=n[0],i=n[1],a=n[2],s=n[3],o=e[0],u=e[1],c=e[2],f=i*c-a*u,h=a*o-r*c,l=r*u-i*o,d=i*l-a*h,m=a*f-r*l,_=r*h-i*f,p=2*s;return f*=p,h*=p,l*=p,d*=2,m*=2,_*=2,t[0]=o+f+d,t[1]=u+h+m,t[2]=c+l+_,t},e.rotateX=function(t,e,n,r){var i=[],a=[];return i[0]=e[0]-n[0],i[1]=e[1]-n[1],i[2]=e[2]-n[2],a[0]=i[0],a[1]=i[1]*Math.cos(r)-i[2]*Math.sin(r),a[2]=i[1]*Math.sin(r)+i[2]*Math.cos(r),t[0]=a[0]+n[0],t[1]=a[1]+n[1],t[2]=a[2]+n[2],t},e.rotateY=function(t,e,n,r){var i=[],a=[];return i[0]=e[0]-n[0],i[1]=e[1]-n[1],i[2]=e[2]-n[2],a[0]=i[2]*Math.sin(r)+i[0]*Math.cos(r),a[1]=i[1],a[2]=i[2]*Math.cos(r)-i[0]*Math.sin(r),t[0]=a[0]+n[0],t[1]=a[1]+n[1],t[2]=a[2]+n[2],t},e.rotateZ=function(t,e,n,r){var i=[],a=[];return i[0]=e[0]-n[0],i[1]=e[1]-n[1],i[2]=e[2]-n[2],a[0]=i[0]*Math.cos(r)-i[1]*Math.sin(r),a[1]=i[0]*Math.sin(r)+i[1]*Math.cos(r),a[2]=i[2],t[0]=a[0]+n[0],t[1]=a[1]+n[1],t[2]=a[2]+n[2],t},e.angle=function(t,e){var n=s(t[0],t[1],t[2]),r=s(e[0],e[1],e[2]);d(n,n),d(r,r);var i=m(n,r);return i>1?0:i<-1?Math.PI:Math.acos(i)},e.str=function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},e.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]},e.equals=function(t,e){var n=t[0],i=t[1],a=t[2],s=e[0],o=e[1],u=e[2];return Math.abs(n-s)<=r.EPSILON*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(i-o)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(o))&&Math.abs(a-u)<=r.EPSILON*Math.max(1,Math.abs(a),Math.abs(u))};var r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(0));function i(){var t=new r.ARRAY_TYPE(3);return r.ARRAY_TYPE!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function a(t){var e=t[0],n=t[1],r=t[2];return Math.sqrt(e*e+n*n+r*r)}function s(t,e,n){var i=new r.ARRAY_TYPE(3);return i[0]=t,i[1]=e,i[2]=n,i}function o(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t}function u(t,e,n){return t[0]=e[0]*n[0],t[1]=e[1]*n[1],t[2]=e[2]*n[2],t}function c(t,e,n){return t[0]=e[0]/n[0],t[1]=e[1]/n[1],t[2]=e[2]/n[2],t}function f(t,e){var n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(n*n+r*r+i*i)}function h(t,e){var n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2];return n*n+r*r+i*i}function l(t){var e=t[0],n=t[1],r=t[2];return e*e+n*n+r*r}function d(t,e){var n=e[0],r=e[1],i=e[2],a=n*n+r*r+i*i;return a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t}function m(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}e.sub=o,e.mul=u,e.div=c,e.dist=f,e.sqrDist=h,e.len=a,e.sqrLen=l,e.forEach=function(){var t=i();return function(e,n,r,i,a,s){var o,u=void 0;for(n||(n=3),r||(r=0),o=i?Math.min(i*n+r,e.length):e.length,u=r;u<o;u+=n)t[0]=e[u],t[1]=e[u+1],t[2]=e[u+2],a(t,t,s),e[u]=t[0],e[u+1]=t[1],e[u+2]=t[2];return e}}()},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.setAxes=e.sqlerp=e.rotationTo=e.equals=e.exactEquals=e.normalize=e.sqrLen=e.squaredLength=e.len=e.length=e.lerp=e.dot=e.scale=e.mul=e.add=e.set=e.copy=e.fromValues=e.clone=void 0,e.create=u,e.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},e.setAxisAngle=c,e.getAxisAngle=function(t,e){var n=2*Math.acos(e[3]),i=Math.sin(n/2);return i>r.EPSILON?(t[0]=e[0]/i,t[1]=e[1]/i,t[2]=e[2]/i):(t[0]=1,t[1]=0,t[2]=0),n},e.multiply=f,e.rotateX=function(t,e,n){n*=.5;var r=e[0],i=e[1],a=e[2],s=e[3],o=Math.sin(n),u=Math.cos(n);return t[0]=r*u+s*o,t[1]=i*u+a*o,t[2]=a*u-i*o,t[3]=s*u-r*o,t},e.rotateY=function(t,e,n){n*=.5;var r=e[0],i=e[1],a=e[2],s=e[3],o=Math.sin(n),u=Math.cos(n);return t[0]=r*u-a*o,t[1]=i*u+s*o,t[2]=a*u+r*o,t[3]=s*u-i*o,t},e.rotateZ=function(t,e,n){n*=.5;var r=e[0],i=e[1],a=e[2],s=e[3],o=Math.sin(n),u=Math.cos(n);return t[0]=r*u+i*o,t[1]=i*u-r*o,t[2]=a*u+s*o,t[3]=s*u-a*o,t},e.calculateW=function(t,e){var n=e[0],r=e[1],i=e[2];return t[0]=n,t[1]=r,t[2]=i,t[3]=Math.sqrt(Math.abs(1-n*n-r*r-i*i)),t},e.slerp=h,e.random=function(t){var e=r.RANDOM(),n=r.RANDOM(),i=r.RANDOM(),a=Math.sqrt(1-e),s=Math.sqrt(e);return t[0]=a*Math.sin(2*Math.PI*n),t[1]=a*Math.cos(2*Math.PI*n),t[2]=s*Math.sin(2*Math.PI*i),t[3]=s*Math.cos(2*Math.PI*i),t},e.invert=function(t,e){var n=e[0],r=e[1],i=e[2],a=e[3],s=n*n+r*r+i*i+a*a,o=s?1/s:0;return t[0]=-n*o,t[1]=-r*o,t[2]=-i*o,t[3]=a*o,t},e.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},e.fromMat3=l,e.fromEuler=function(t,e,n,r){var i=.5*Math.PI/180;e*=i,n*=i,r*=i;var a=Math.sin(e),s=Math.cos(e),o=Math.sin(n),u=Math.cos(n),c=Math.sin(r),f=Math.cos(r);return t[0]=a*u*f-s*o*c,t[1]=s*o*f+a*u*c,t[2]=s*u*c-a*o*f,t[3]=s*u*f+a*o*c,t},e.str=function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"};var r=o(n(0)),i=o(n(5)),a=o(n(2)),s=o(n(1));function o(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}function u(){var t=new r.ARRAY_TYPE(4);return r.ARRAY_TYPE!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function c(t,e,n){n*=.5;var r=Math.sin(n);return t[0]=r*e[0],t[1]=r*e[1],t[2]=r*e[2],t[3]=Math.cos(n),t}function f(t,e,n){var r=e[0],i=e[1],a=e[2],s=e[3],o=n[0],u=n[1],c=n[2],f=n[3];return t[0]=r*f+s*o+i*c-a*u,t[1]=i*f+s*u+a*o-r*c,t[2]=a*f+s*c+r*u-i*o,t[3]=s*f-r*o-i*u-a*c,t}function h(t,e,n,i){var a=e[0],s=e[1],o=e[2],u=e[3],c=n[0],f=n[1],h=n[2],l=n[3],d=void 0,m=void 0,_=void 0,p=void 0,g=void 0;return(m=a*c+s*f+o*h+u*l)<0&&(m=-m,c=-c,f=-f,h=-h,l=-l),1-m>r.EPSILON?(d=Math.acos(m),_=Math.sin(d),p=Math.sin((1-i)*d)/_,g=Math.sin(i*d)/_):(p=1-i,g=i),t[0]=p*a+g*c,t[1]=p*s+g*f,t[2]=p*o+g*h,t[3]=p*u+g*l,t}function l(t,e){var n=e[0]+e[4]+e[8],r=void 0;if(n>0)r=Math.sqrt(n+1),t[3]=.5*r,r=.5/r,t[0]=(e[5]-e[7])*r,t[1]=(e[6]-e[2])*r,t[2]=(e[1]-e[3])*r;else{var i=0;e[4]>e[0]&&(i=1),e[8]>e[3*i+i]&&(i=2);var a=(i+1)%3,s=(i+2)%3;r=Math.sqrt(e[3*i+i]-e[3*a+a]-e[3*s+s]+1),t[i]=.5*r,r=.5/r,t[3]=(e[3*a+s]-e[3*s+a])*r,t[a]=(e[3*a+i]+e[3*i+a])*r,t[s]=(e[3*s+i]+e[3*i+s])*r}return t}e.clone=s.clone,e.fromValues=s.fromValues,e.copy=s.copy,e.set=s.set,e.add=s.add,e.mul=f,e.scale=s.scale,e.dot=s.dot,e.lerp=s.lerp;var d=e.length=s.length,m=(e.len=d,e.squaredLength=s.squaredLength),_=(e.sqrLen=m,e.normalize=s.normalize);e.exactEquals=s.exactEquals,e.equals=s.equals,e.rotationTo=function(){var t=a.create(),e=a.fromValues(1,0,0),n=a.fromValues(0,1,0);return function(r,i,s){var o=a.dot(i,s);return o<-.999999?(a.cross(t,e,i),a.len(t)<1e-6&&a.cross(t,n,i),a.normalize(t,t),c(r,t,Math.PI),r):o>.999999?(r[0]=0,r[1]=0,r[2]=0,r[3]=1,r):(a.cross(t,i,s),r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=1+o,_(r,r))}}(),e.sqlerp=function(){var t=u(),e=u();return function(n,r,i,a,s,o){return h(t,r,s,o),h(e,i,a,o),h(n,t,e,2*o*(1-o)),n}}(),e.setAxes=function(){var t=i.create();return function(e,n,r,i){return t[0]=r[0],t[3]=r[1],t[6]=r[2],t[1]=i[0],t[4]=i[1],t[7]=i[2],t[2]=-n[0],t[5]=-n[1],t[8]=-n[2],_(e,l(e,t))}}()},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.sub=e.mul=void 0,e.create=function(){var t=new r.ARRAY_TYPE(16);return r.ARRAY_TYPE!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},e.clone=function(t){var e=new r.ARRAY_TYPE(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},e.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},e.fromValues=function(t,e,n,i,a,s,o,u,c,f,h,l,d,m,_,p){var g=new r.ARRAY_TYPE(16);return g[0]=t,g[1]=e,g[2]=n,g[3]=i,g[4]=a,g[5]=s,g[6]=o,g[7]=u,g[8]=c,g[9]=f,g[10]=h,g[11]=l,g[12]=d,g[13]=m,g[14]=_,g[15]=p,g},e.set=function(t,e,n,r,i,a,s,o,u,c,f,h,l,d,m,_,p){return t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=s,t[6]=o,t[7]=u,t[8]=c,t[9]=f,t[10]=h,t[11]=l,t[12]=d,t[13]=m,t[14]=_,t[15]=p,t},e.identity=i,e.transpose=function(t,e){if(t===e){var n=e[1],r=e[2],i=e[3],a=e[6],s=e[7],o=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[6]=e[9],t[7]=e[13],t[8]=r,t[9]=a,t[11]=e[14],t[12]=i,t[13]=s,t[14]=o}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t},e.invert=function(t,e){var n=e[0],r=e[1],i=e[2],a=e[3],s=e[4],o=e[5],u=e[6],c=e[7],f=e[8],h=e[9],l=e[10],d=e[11],m=e[12],_=e[13],p=e[14],g=e[15],E=n*o-r*s,v=n*u-i*s,T=n*c-a*s,A=r*u-i*o,M=r*c-a*o,I=i*c-a*u,R=f*_-h*m,O=f*p-l*m,L=f*g-d*m,S=h*p-l*_,y=h*g-d*_,N=l*g-d*p,x=E*N-v*y+T*S+A*L-M*O+I*R;return x?(x=1/x,t[0]=(o*N-u*y+c*S)*x,t[1]=(i*y-r*N-a*S)*x,t[2]=(_*I-p*M+g*A)*x,t[3]=(l*M-h*I-d*A)*x,t[4]=(u*L-s*N-c*O)*x,t[5]=(n*N-i*L+a*O)*x,t[6]=(p*T-m*I-g*v)*x,t[7]=(f*I-l*T+d*v)*x,t[8]=(s*y-o*L+c*R)*x,t[9]=(r*L-n*y-a*R)*x,t[10]=(m*M-_*T+g*E)*x,t[11]=(h*T-f*M-d*E)*x,t[12]=(o*O-s*S-u*R)*x,t[13]=(n*S-r*O+i*R)*x,t[14]=(_*v-m*A-p*E)*x,t[15]=(f*A-h*v+l*E)*x,t):null},e.adjoint=function(t,e){var n=e[0],r=e[1],i=e[2],a=e[3],s=e[4],o=e[5],u=e[6],c=e[7],f=e[8],h=e[9],l=e[10],d=e[11],m=e[12],_=e[13],p=e[14],g=e[15];return t[0]=o*(l*g-d*p)-h*(u*g-c*p)+_*(u*d-c*l),t[1]=-(r*(l*g-d*p)-h*(i*g-a*p)+_*(i*d-a*l)),t[2]=r*(u*g-c*p)-o*(i*g-a*p)+_*(i*c-a*u),t[3]=-(r*(u*d-c*l)-o*(i*d-a*l)+h*(i*c-a*u)),t[4]=-(s*(l*g-d*p)-f*(u*g-c*p)+m*(u*d-c*l)),t[5]=n*(l*g-d*p)-f*(i*g-a*p)+m*(i*d-a*l),t[6]=-(n*(u*g-c*p)-s*(i*g-a*p)+m*(i*c-a*u)),t[7]=n*(u*d-c*l)-s*(i*d-a*l)+f*(i*c-a*u),t[8]=s*(h*g-d*_)-f*(o*g-c*_)+m*(o*d-c*h),t[9]=-(n*(h*g-d*_)-f*(r*g-a*_)+m*(r*d-a*h)),t[10]=n*(o*g-c*_)-s*(r*g-a*_)+m*(r*c-a*o),t[11]=-(n*(o*d-c*h)-s*(r*d-a*h)+f*(r*c-a*o)),t[12]=-(s*(h*p-l*_)-f*(o*p-u*_)+m*(o*l-u*h)),t[13]=n*(h*p-l*_)-f*(r*p-i*_)+m*(r*l-i*h),t[14]=-(n*(o*p-u*_)-s*(r*p-i*_)+m*(r*u-i*o)),t[15]=n*(o*l-u*h)-s*(r*l-i*h)+f*(r*u-i*o),t},e.determinant=function(t){var e=t[0],n=t[1],r=t[2],i=t[3],a=t[4],s=t[5],o=t[6],u=t[7],c=t[8],f=t[9],h=t[10],l=t[11],d=t[12],m=t[13],_=t[14],p=t[15];return(e*s-n*a)*(h*p-l*_)-(e*o-r*a)*(f*p-l*m)+(e*u-i*a)*(f*_-h*m)+(n*o-r*s)*(c*p-l*d)-(n*u-i*s)*(c*_-h*d)+(r*u-i*o)*(c*m-f*d)},e.multiply=a,e.translate=function(t,e,n){var r=n[0],i=n[1],a=n[2],s=void 0,o=void 0,u=void 0,c=void 0,f=void 0,h=void 0,l=void 0,d=void 0,m=void 0,_=void 0,p=void 0,g=void 0;return e===t?(t[12]=e[0]*r+e[4]*i+e[8]*a+e[12],t[13]=e[1]*r+e[5]*i+e[9]*a+e[13],t[14]=e[2]*r+e[6]*i+e[10]*a+e[14],t[15]=e[3]*r+e[7]*i+e[11]*a+e[15]):(s=e[0],o=e[1],u=e[2],c=e[3],f=e[4],h=e[5],l=e[6],d=e[7],m=e[8],_=e[9],p=e[10],g=e[11],t[0]=s,t[1]=o,t[2]=u,t[3]=c,t[4]=f,t[5]=h,t[6]=l,t[7]=d,t[8]=m,t[9]=_,t[10]=p,t[11]=g,t[12]=s*r+f*i+m*a+e[12],t[13]=o*r+h*i+_*a+e[13],t[14]=u*r+l*i+p*a+e[14],t[15]=c*r+d*i+g*a+e[15]),t},e.scale=function(t,e,n){var r=n[0],i=n[1],a=n[2];return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},e.rotate=function(t,e,n,i){var a,s,o,u,c,f,h,l,d,m,_,p,g,E,v,T,A,M,I,R,O,L,S,y,N=i[0],x=i[1],C=i[2],b=Math.sqrt(N*N+x*x+C*C);return b<r.EPSILON?null:(N*=b=1/b,x*=b,C*=b,a=Math.sin(n),o=1-(s=Math.cos(n)),u=e[0],c=e[1],f=e[2],h=e[3],l=e[4],d=e[5],m=e[6],_=e[7],p=e[8],g=e[9],E=e[10],v=e[11],T=N*N*o+s,A=x*N*o+C*a,M=C*N*o-x*a,I=N*x*o-C*a,R=x*x*o+s,O=C*x*o+N*a,L=N*C*o+x*a,S=x*C*o-N*a,y=C*C*o+s,t[0]=u*T+l*A+p*M,t[1]=c*T+d*A+g*M,t[2]=f*T+m*A+E*M,t[3]=h*T+_*A+v*M,t[4]=u*I+l*R+p*O,t[5]=c*I+d*R+g*O,t[6]=f*I+m*R+E*O,t[7]=h*I+_*R+v*O,t[8]=u*L+l*S+p*y,t[9]=c*L+d*S+g*y,t[10]=f*L+m*S+E*y,t[11]=h*L+_*S+v*y,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)},e.rotateX=function(t,e,n){var r=Math.sin(n),i=Math.cos(n),a=e[4],s=e[5],o=e[6],u=e[7],c=e[8],f=e[9],h=e[10],l=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+c*r,t[5]=s*i+f*r,t[6]=o*i+h*r,t[7]=u*i+l*r,t[8]=c*i-a*r,t[9]=f*i-s*r,t[10]=h*i-o*r,t[11]=l*i-u*r,t},e.rotateY=function(t,e,n){var r=Math.sin(n),i=Math.cos(n),a=e[0],s=e[1],o=e[2],u=e[3],c=e[8],f=e[9],h=e[10],l=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-c*r,t[1]=s*i-f*r,t[2]=o*i-h*r,t[3]=u*i-l*r,t[8]=a*r+c*i,t[9]=s*r+f*i,t[10]=o*r+h*i,t[11]=u*r+l*i,t},e.rotateZ=function(t,e,n){var r=Math.sin(n),i=Math.cos(n),a=e[0],s=e[1],o=e[2],u=e[3],c=e[4],f=e[5],h=e[6],l=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+c*r,t[1]=s*i+f*r,t[2]=o*i+h*r,t[3]=u*i+l*r,t[4]=c*i-a*r,t[5]=f*i-s*r,t[6]=h*i-o*r,t[7]=l*i-u*r,t},e.fromTranslation=function(t,e){return t[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]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t},e.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.fromRotation=function(t,e,n){var i,a,s,o=n[0],u=n[1],c=n[2],f=Math.sqrt(o*o+u*u+c*c);return f<r.EPSILON?null:(o*=f=1/f,u*=f,c*=f,i=Math.sin(e),s=1-(a=Math.cos(e)),t[0]=o*o*s+a,t[1]=u*o*s+c*i,t[2]=c*o*s-u*i,t[3]=0,t[4]=o*u*s-c*i,t[5]=u*u*s+a,t[6]=c*u*s+o*i,t[7]=0,t[8]=o*c*s+u*i,t[9]=u*c*s-o*i,t[10]=c*c*s+a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)},e.fromXRotation=function(t,e){var n=Math.sin(e),r=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=r,t[6]=n,t[7]=0,t[8]=0,t[9]=-n,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.fromYRotation=function(t,e){var n=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=0,t[2]=-n,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=n,t[9]=0,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.fromZRotation=function(t,e){var n=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=n,t[2]=0,t[3]=0,t[4]=-n,t[5]=r,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,t},e.fromRotationTranslation=s,e.fromQuat2=function(t,e){var n=new r.ARRAY_TYPE(3),i=-e[0],a=-e[1],o=-e[2],u=e[3],c=e[4],f=e[5],h=e[6],l=e[7],d=i*i+a*a+o*o+u*u;return d>0?(n[0]=2*(c*u+l*i+f*o-h*a)/d,n[1]=2*(f*u+l*a+h*i-c*o)/d,n[2]=2*(h*u+l*o+c*a-f*i)/d):(n[0]=2*(c*u+l*i+f*o-h*a),n[1]=2*(f*u+l*a+h*i-c*o),n[2]=2*(h*u+l*o+c*a-f*i)),s(t,e,n),t},e.getTranslation=function(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t},e.getScaling=function(t,e){var n=e[0],r=e[1],i=e[2],a=e[4],s=e[5],o=e[6],u=e[8],c=e[9],f=e[10];return t[0]=Math.sqrt(n*n+r*r+i*i),t[1]=Math.sqrt(a*a+s*s+o*o),t[2]=Math.sqrt(u*u+c*c+f*f),t},e.getRotation=function(t,e){var n=e[0]+e[5]+e[10],r=0;return n>0?(r=2*Math.sqrt(n+1),t[3]=.25*r,t[0]=(e[6]-e[9])/r,t[1]=(e[8]-e[2])/r,t[2]=(e[1]-e[4])/r):e[0]>e[5]&&e[0]>e[10]?(r=2*Math.sqrt(1+e[0]-e[5]-e[10]),t[3]=(e[6]-e[9])/r,t[0]=.25*r,t[1]=(e[1]+e[4])/r,t[2]=(e[8]+e[2])/r):e[5]>e[10]?(r=2*Math.sqrt(1+e[5]-e[0]-e[10]),t[3]=(e[8]-e[2])/r,t[0]=(e[1]+e[4])/r,t[1]=.25*r,t[2]=(e[6]+e[9])/r):(r=2*Math.sqrt(1+e[10]-e[0]-e[5]),t[3]=(e[1]-e[4])/r,t[0]=(e[8]+e[2])/r,t[1]=(e[6]+e[9])/r,t[2]=.25*r),t},e.fromRotationTranslationScale=function(t,e,n,r){var i=e[0],a=e[1],s=e[2],o=e[3],u=i+i,c=a+a,f=s+s,h=i*u,l=i*c,d=i*f,m=a*c,_=a*f,p=s*f,g=o*u,E=o*c,v=o*f,T=r[0],A=r[1],M=r[2];return t[0]=(1-(m+p))*T,t[1]=(l+v)*T,t[2]=(d-E)*T,t[3]=0,t[4]=(l-v)*A,t[5]=(1-(h+p))*A,t[6]=(_+g)*A,t[7]=0,t[8]=(d+E)*M,t[9]=(_-g)*M,t[10]=(1-(h+m))*M,t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t},e.fromRotationTranslationScaleOrigin=function(t,e,n,r,i){var a=e[0],s=e[1],o=e[2],u=e[3],c=a+a,f=s+s,h=o+o,l=a*c,d=a*f,m=a*h,_=s*f,p=s*h,g=o*h,E=u*c,v=u*f,T=u*h,A=r[0],M=r[1],I=r[2],R=i[0],O=i[1],L=i[2],S=(1-(_+g))*A,y=(d+T)*A,N=(m-v)*A,x=(d-T)*M,C=(1-(l+g))*M,b=(p+E)*M,P=(m+v)*I,w=(p-E)*I,D=(1-(l+_))*I;return t[0]=S,t[1]=y,t[2]=N,t[3]=0,t[4]=x,t[5]=C,t[6]=b,t[7]=0,t[8]=P,t[9]=w,t[10]=D,t[11]=0,t[12]=n[0]+R-(S*R+x*O+P*L),t[13]=n[1]+O-(y*R+C*O+w*L),t[14]=n[2]+L-(N*R+b*O+D*L),t[15]=1,t},e.fromQuat=function(t,e){var n=e[0],r=e[1],i=e[2],a=e[3],s=n+n,o=r+r,u=i+i,c=n*s,f=r*s,h=r*o,l=i*s,d=i*o,m=i*u,_=a*s,p=a*o,g=a*u;return t[0]=1-h-m,t[1]=f+g,t[2]=l-p,t[3]=0,t[4]=f-g,t[5]=1-c-m,t[6]=d+_,t[7]=0,t[8]=l+p,t[9]=d-_,t[10]=1-c-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.frustum=function(t,e,n,r,i,a,s){var o=1/(n-e),u=1/(i-r),c=1/(a-s);return t[0]=2*a*o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*a*u,t[6]=0,t[7]=0,t[8]=(n+e)*o,t[9]=(i+r)*u,t[10]=(s+a)*c,t[11]=-1,t[12]=0,t[13]=0,t[14]=s*a*2*c,t[15]=0,t},e.perspective=function(t,e,n,r,i){var a=1/Math.tan(e/2),s=void 0;return t[0]=a/n,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=i&&i!==1/0?(s=1/(r-i),t[10]=(i+r)*s,t[14]=2*i*r*s):(t[10]=-1,t[14]=-2*r),t},e.perspectiveFromFieldOfView=function(t,e,n,r){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),s=Math.tan(e.leftDegrees*Math.PI/180),o=Math.tan(e.rightDegrees*Math.PI/180),u=2/(s+o),c=2/(i+a);return t[0]=u,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=c,t[6]=0,t[7]=0,t[8]=-(s-o)*u*.5,t[9]=(i-a)*c*.5,t[10]=r/(n-r),t[11]=-1,t[12]=0,t[13]=0,t[14]=r*n/(n-r),t[15]=0,t},e.ortho=function(t,e,n,r,i,a,s){var o=1/(e-n),u=1/(r-i),c=1/(a-s);return t[0]=-2*o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+n)*o,t[13]=(i+r)*u,t[14]=(s+a)*c,t[15]=1,t},e.lookAt=function(t,e,n,a){var s=void 0,o=void 0,u=void 0,c=void 0,f=void 0,h=void 0,l=void 0,d=void 0,m=void 0,_=void 0,p=e[0],g=e[1],E=e[2],v=a[0],T=a[1],A=a[2],M=n[0],I=n[1],R=n[2];return Math.abs(p-M)<r.EPSILON&&Math.abs(g-I)<r.EPSILON&&Math.abs(E-R)<r.EPSILON?i(t):(l=p-M,d=g-I,m=E-R,s=T*(m*=_=1/Math.sqrt(l*l+d*d+m*m))-A*(d*=_),o=A*(l*=_)-v*m,u=v*d-T*l,(_=Math.sqrt(s*s+o*o+u*u))?(s*=_=1/_,o*=_,u*=_):(s=0,o=0,u=0),c=d*u-m*o,f=m*s-l*u,h=l*o-d*s,(_=Math.sqrt(c*c+f*f+h*h))?(c*=_=1/_,f*=_,h*=_):(c=0,f=0,h=0),t[0]=s,t[1]=c,t[2]=l,t[3]=0,t[4]=o,t[5]=f,t[6]=d,t[7]=0,t[8]=u,t[9]=h,t[10]=m,t[11]=0,t[12]=-(s*p+o*g+u*E),t[13]=-(c*p+f*g+h*E),t[14]=-(l*p+d*g+m*E),t[15]=1,t)},e.targetTo=function(t,e,n,r){var i=e[0],a=e[1],s=e[2],o=r[0],u=r[1],c=r[2],f=i-n[0],h=a-n[1],l=s-n[2],d=f*f+h*h+l*l;d>0&&(f*=d=1/Math.sqrt(d),h*=d,l*=d);var m=u*l-c*h,_=c*f-o*l,p=o*h-u*f;return(d=m*m+_*_+p*p)>0&&(m*=d=1/Math.sqrt(d),_*=d,p*=d),t[0]=m,t[1]=_,t[2]=p,t[3]=0,t[4]=h*p-l*_,t[5]=l*m-f*p,t[6]=f*_-h*m,t[7]=0,t[8]=f,t[9]=h,t[10]=l,t[11]=0,t[12]=i,t[13]=a,t[14]=s,t[15]=1,t},e.str=function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"},e.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2)+Math.pow(t[9],2)+Math.pow(t[10],2)+Math.pow(t[11],2)+Math.pow(t[12],2)+Math.pow(t[13],2)+Math.pow(t[14],2)+Math.pow(t[15],2))},e.add=function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t[4]=e[4]+n[4],t[5]=e[5]+n[5],t[6]=e[6]+n[6],t[7]=e[7]+n[7],t[8]=e[8]+n[8],t[9]=e[9]+n[9],t[10]=e[10]+n[10],t[11]=e[11]+n[11],t[12]=e[12]+n[12],t[13]=e[13]+n[13],t[14]=e[14]+n[14],t[15]=e[15]+n[15],t},e.subtract=o,e.multiplyScalar=function(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*n,t[5]=e[5]*n,t[6]=e[6]*n,t[7]=e[7]*n,t[8]=e[8]*n,t[9]=e[9]*n,t[10]=e[10]*n,t[11]=e[11]*n,t[12]=e[12]*n,t[13]=e[13]*n,t[14]=e[14]*n,t[15]=e[15]*n,t},e.multiplyScalarAndAdd=function(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t[3]=e[3]+n[3]*r,t[4]=e[4]+n[4]*r,t[5]=e[5]+n[5]*r,t[6]=e[6]+n[6]*r,t[7]=e[7]+n[7]*r,t[8]=e[8]+n[8]*r,t[9]=e[9]+n[9]*r,t[10]=e[10]+n[10]*r,t[11]=e[11]+n[11]*r,t[12]=e[12]+n[12]*r,t[13]=e[13]+n[13]*r,t[14]=e[14]+n[14]*r,t[15]=e[15]+n[15]*r,t},e.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]&&t[9]===e[9]&&t[10]===e[10]&&t[11]===e[11]&&t[12]===e[12]&&t[13]===e[13]&&t[14]===e[14]&&t[15]===e[15]},e.equals=function(t,e){var n=t[0],i=t[1],a=t[2],s=t[3],o=t[4],u=t[5],c=t[6],f=t[7],h=t[8],l=t[9],d=t[10],m=t[11],_=t[12],p=t[13],g=t[14],E=t[15],v=e[0],T=e[1],A=e[2],M=e[3],I=e[4],R=e[5],O=e[6],L=e[7],S=e[8],y=e[9],N=e[10],x=e[11],C=e[12],b=e[13],P=e[14],w=e[15];return Math.abs(n-v)<=r.EPSILON*Math.max(1,Math.abs(n),Math.abs(v))&&Math.abs(i-T)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(T))&&Math.abs(a-A)<=r.EPSILON*Math.max(1,Math.abs(a),Math.abs(A))&&Math.abs(s-M)<=r.EPSILON*Math.max(1,Math.abs(s),Math.abs(M))&&Math.abs(o-I)<=r.EPSILON*Math.max(1,Math.abs(o),Math.abs(I))&&Math.abs(u-R)<=r.EPSILON*Math.max(1,Math.abs(u),Math.abs(R))&&Math.abs(c-O)<=r.EPSILON*Math.max(1,Math.abs(c),Math.abs(O))&&Math.abs(f-L)<=r.EPSILON*Math.max(1,Math.abs(f),Math.abs(L))&&Math.abs(h-S)<=r.EPSILON*Math.max(1,Math.abs(h),Math.abs(S))&&Math.abs(l-y)<=r.EPSILON*Math.max(1,Math.abs(l),Math.abs(y))&&Math.abs(d-N)<=r.EPSILON*Math.max(1,Math.abs(d),Math.abs(N))&&Math.abs(m-x)<=r.EPSILON*Math.max(1,Math.abs(m),Math.abs(x))&&Math.abs(_-C)<=r.EPSILON*Math.max(1,Math.abs(_),Math.abs(C))&&Math.abs(p-b)<=r.EPSILON*Math.max(1,Math.abs(p),Math.abs(b))&&Math.abs(g-P)<=r.EPSILON*Math.max(1,Math.abs(g),Math.abs(P))&&Math.abs(E-w)<=r.EPSILON*Math.max(1,Math.abs(E),Math.abs(w))};var r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(0));function i(t){return t[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,t}function a(t,e,n){var r=e[0],i=e[1],a=e[2],s=e[3],o=e[4],u=e[5],c=e[6],f=e[7],h=e[8],l=e[9],d=e[10],m=e[11],_=e[12],p=e[13],g=e[14],E=e[15],v=n[0],T=n[1],A=n[2],M=n[3];return t[0]=v*r+T*o+A*h+M*_,t[1]=v*i+T*u+A*l+M*p,t[2]=v*a+T*c+A*d+M*g,t[3]=v*s+T*f+A*m+M*E,v=n[4],T=n[5],A=n[6],M=n[7],t[4]=v*r+T*o+A*h+M*_,t[5]=v*i+T*u+A*l+M*p,t[6]=v*a+T*c+A*d+M*g,t[7]=v*s+T*f+A*m+M*E,v=n[8],T=n[9],A=n[10],M=n[11],t[8]=v*r+T*o+A*h+M*_,t[9]=v*i+T*u+A*l+M*p,t[10]=v*a+T*c+A*d+M*g,t[11]=v*s+T*f+A*m+M*E,v=n[12],T=n[13],A=n[14],M=n[15],t[12]=v*r+T*o+A*h+M*_,t[13]=v*i+T*u+A*l+M*p,t[14]=v*a+T*c+A*d+M*g,t[15]=v*s+T*f+A*m+M*E,t}function s(t,e,n){var r=e[0],i=e[1],a=e[2],s=e[3],o=r+r,u=i+i,c=a+a,f=r*o,h=r*u,l=r*c,d=i*u,m=i*c,_=a*c,p=s*o,g=s*u,E=s*c;return t[0]=1-(d+_),t[1]=h+E,t[2]=l-g,t[3]=0,t[4]=h-E,t[5]=1-(f+_),t[6]=m+p,t[7]=0,t[8]=l+g,t[9]=m-p,t[10]=1-(f+d),t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t}function o(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t[3]=e[3]-n[3],t[4]=e[4]-n[4],t[5]=e[5]-n[5],t[6]=e[6]-n[6],t[7]=e[7]-n[7],t[8]=e[8]-n[8],t[9]=e[9]-n[9],t[10]=e[10]-n[10],t[11]=e[11]-n[11],t[12]=e[12]-n[12],t[13]=e[13]-n[13],t[14]=e[14]-n[14],t[15]=e[15]-n[15],t}e.mul=a,e.sub=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.sub=e.mul=void 0,e.create=function(){var t=new r.ARRAY_TYPE(9);return r.ARRAY_TYPE!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},e.fromMat4=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t},e.clone=function(t){var e=new r.ARRAY_TYPE(9);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},e.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},e.fromValues=function(t,e,n,i,a,s,o,u,c){var f=new r.ARRAY_TYPE(9);return f[0]=t,f[1]=e,f[2]=n,f[3]=i,f[4]=a,f[5]=s,f[6]=o,f[7]=u,f[8]=c,f},e.set=function(t,e,n,r,i,a,s,o,u,c){return t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=s,t[6]=o,t[7]=u,t[8]=c,t},e.identity=function(t){return t[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,t},e.transpose=function(t,e){if(t===e){var n=e[1],r=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=n,t[5]=e[7],t[6]=r,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},e.invert=function(t,e){var n=e[0],r=e[1],i=e[2],a=e[3],s=e[4],o=e[5],u=e[6],c=e[7],f=e[8],h=f*s-o*c,l=-f*a+o*u,d=c*a-s*u,m=n*h+r*l+i*d;return m?(m=1/m,t[0]=h*m,t[1]=(-f*r+i*c)*m,t[2]=(o*r-i*s)*m,t[3]=l*m,t[4]=(f*n-i*u)*m,t[5]=(-o*n+i*a)*m,t[6]=d*m,t[7]=(-c*n+r*u)*m,t[8]=(s*n-r*a)*m,t):null},e.adjoint=function(t,e){var n=e[0],r=e[1],i=e[2],a=e[3],s=e[4],o=e[5],u=e[6],c=e[7],f=e[8];return t[0]=s*f-o*c,t[1]=i*c-r*f,t[2]=r*o-i*s,t[3]=o*u-a*f,t[4]=n*f-i*u,t[5]=i*a-n*o,t[6]=a*c-s*u,t[7]=r*u-n*c,t[8]=n*s-r*a,t},e.determinant=function(t){var e=t[0],n=t[1],r=t[2],i=t[3],a=t[4],s=t[5],o=t[6],u=t[7],c=t[8];return e*(c*a-s*u)+n*(-c*i+s*o)+r*(u*i-a*o)},e.multiply=i,e.translate=function(t,e,n){var r=e[0],i=e[1],a=e[2],s=e[3],o=e[4],u=e[5],c=e[6],f=e[7],h=e[8],l=n[0],d=n[1];return t[0]=r,t[1]=i,t[2]=a,t[3]=s,t[4]=o,t[5]=u,t[6]=l*r+d*s+c,t[7]=l*i+d*o+f,t[8]=l*a+d*u+h,t},e.rotate=function(t,e,n){var r=e[0],i=e[1],a=e[2],s=e[3],o=e[4],u=e[5],c=e[6],f=e[7],h=e[8],l=Math.sin(n),d=Math.cos(n);return t[0]=d*r+l*s,t[1]=d*i+l*o,t[2]=d*a+l*u,t[3]=d*s-l*r,t[4]=d*o-l*i,t[5]=d*u-l*a,t[6]=c,t[7]=f,t[8]=h,t},e.scale=function(t,e,n){var r=n[0],i=n[1];return t[0]=r*e[0],t[1]=r*e[1],t[2]=r*e[2],t[3]=i*e[3],t[4]=i*e[4],t[5]=i*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},e.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=e[0],t[7]=e[1],t[8]=1,t},e.fromRotation=function(t,e){var n=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=n,t[2]=0,t[3]=-n,t[4]=r,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},e.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=e[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},e.fromMat2d=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=0,t[3]=e[2],t[4]=e[3],t[5]=0,t[6]=e[4],t[7]=e[5],t[8]=1,t},e.fromQuat=function(t,e){var n=e[0],r=e[1],i=e[2],a=e[3],s=n+n,o=r+r,u=i+i,c=n*s,f=r*s,h=r*o,l=i*s,d=i*o,m=i*u,_=a*s,p=a*o,g=a*u;return t[0]=1-h-m,t[3]=f-g,t[6]=l+p,t[1]=f+g,t[4]=1-c-m,t[7]=d-_,t[2]=l-p,t[5]=d+_,t[8]=1-c-h,t},e.normalFromMat4=function(t,e){var n=e[0],r=e[1],i=e[2],a=e[3],s=e[4],o=e[5],u=e[6],c=e[7],f=e[8],h=e[9],l=e[10],d=e[11],m=e[12],_=e[13],p=e[14],g=e[15],E=n*o-r*s,v=n*u-i*s,T=n*c-a*s,A=r*u-i*o,M=r*c-a*o,I=i*c-a*u,R=f*_-h*m,O=f*p-l*m,L=f*g-d*m,S=h*p-l*_,y=h*g-d*_,N=l*g-d*p,x=E*N-v*y+T*S+A*L-M*O+I*R;return x?(x=1/x,t[0]=(o*N-u*y+c*S)*x,t[1]=(u*L-s*N-c*O)*x,t[2]=(s*y-o*L+c*R)*x,t[3]=(i*y-r*N-a*S)*x,t[4]=(n*N-i*L+a*O)*x,t[5]=(r*L-n*y-a*R)*x,t[6]=(_*I-p*M+g*A)*x,t[7]=(p*T-m*I-g*v)*x,t[8]=(m*M-_*T+g*E)*x,t):null},e.projection=function(t,e,n){return t[0]=2/e,t[1]=0,t[2]=0,t[3]=0,t[4]=-2/n,t[5]=0,t[6]=-1,t[7]=1,t[8]=1,t},e.str=function(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"},e.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2))},e.add=function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t[4]=e[4]+n[4],t[5]=e[5]+n[5],t[6]=e[6]+n[6],t[7]=e[7]+n[7],t[8]=e[8]+n[8],t},e.subtract=a,e.multiplyScalar=function(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*n,t[5]=e[5]*n,t[6]=e[6]*n,t[7]=e[7]*n,t[8]=e[8]*n,t},e.multiplyScalarAndAdd=function(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t[3]=e[3]+n[3]*r,t[4]=e[4]+n[4]*r,t[5]=e[5]+n[5]*r,t[6]=e[6]+n[6]*r,t[7]=e[7]+n[7]*r,t[8]=e[8]+n[8]*r,t},e.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]},e.equals=function(t,e){var n=t[0],i=t[1],a=t[2],s=t[3],o=t[4],u=t[5],c=t[6],f=t[7],h=t[8],l=e[0],d=e[1],m=e[2],_=e[3],p=e[4],g=e[5],E=e[6],v=e[7],T=e[8];return Math.abs(n-l)<=r.EPSILON*Math.max(1,Math.abs(n),Math.abs(l))&&Math.abs(i-d)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(d))&&Math.abs(a-m)<=r.EPSILON*Math.max(1,Math.abs(a),Math.abs(m))&&Math.abs(s-_)<=r.EPSILON*Math.max(1,Math.abs(s),Math.abs(_))&&Math.abs(o-p)<=r.EPSILON*Math.max(1,Math.abs(o),Math.abs(p))&&Math.abs(u-g)<=r.EPSILON*Math.max(1,Math.abs(u),Math.abs(g))&&Math.abs(c-E)<=r.EPSILON*Math.max(1,Math.abs(c),Math.abs(E))&&Math.abs(f-v)<=r.EPSILON*Math.max(1,Math.abs(f),Math.abs(v))&&Math.abs(h-T)<=r.EPSILON*Math.max(1,Math.abs(h),Math.abs(T))};var r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(0));function i(t,e,n){var r=e[0],i=e[1],a=e[2],s=e[3],o=e[4],u=e[5],c=e[6],f=e[7],h=e[8],l=n[0],d=n[1],m=n[2],_=n[3],p=n[4],g=n[5],E=n[6],v=n[7],T=n[8];return t[0]=l*r+d*s+m*c,t[1]=l*i+d*o+m*f,t[2]=l*a+d*u+m*h,t[3]=_*r+p*s+g*c,t[4]=_*i+p*o+g*f,t[5]=_*a+p*u+g*h,t[6]=E*r+v*s+T*c,t[7]=E*i+v*o+T*f,t[8]=E*a+v*u+T*h,t}function a(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t[3]=e[3]-n[3],t[4]=e[4]-n[4],t[5]=e[5]-n[5],t[6]=e[6]-n[6],t[7]=e[7]-n[7],t[8]=e[8]-n[8],t}e.mul=i,e.sub=a},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.forEach=e.sqrLen=e.sqrDist=e.dist=e.div=e.mul=e.sub=e.len=void 0,e.create=i,e.clone=function(t){var e=new r.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},e.fromValues=function(t,e){var n=new r.ARRAY_TYPE(2);return n[0]=t,n[1]=e,n},e.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},e.set=function(t,e,n){return t[0]=e,t[1]=n,t},e.add=function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t},e.subtract=a,e.multiply=s,e.divide=o,e.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t},e.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t},e.min=function(t,e,n){return t[0]=Math.min(e[0],n[0]),t[1]=Math.min(e[1],n[1]),t},e.max=function(t,e,n){return t[0]=Math.max(e[0],n[0]),t[1]=Math.max(e[1],n[1]),t},e.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t},e.scale=function(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t},e.scaleAndAdd=function(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t},e.distance=u,e.squaredDistance=c,e.length=f,e.squaredLength=h,e.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},e.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t},e.normalize=function(t,e){var n=e[0],r=e[1],i=n*n+r*r;return i>0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i),t},e.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},e.cross=function(t,e,n){var r=e[0]*n[1]-e[1]*n[0];return t[0]=t[1]=0,t[2]=r,t},e.lerp=function(t,e,n,r){var i=e[0],a=e[1];return t[0]=i+r*(n[0]-i),t[1]=a+r*(n[1]-a),t},e.random=function(t,e){e=e||1;var n=2*r.RANDOM()*Math.PI;return t[0]=Math.cos(n)*e,t[1]=Math.sin(n)*e,t},e.transformMat2=function(t,e,n){var r=e[0],i=e[1];return t[0]=n[0]*r+n[2]*i,t[1]=n[1]*r+n[3]*i,t},e.transformMat2d=function(t,e,n){var r=e[0],i=e[1];return t[0]=n[0]*r+n[2]*i+n[4],t[1]=n[1]*r+n[3]*i+n[5],t},e.transformMat3=function(t,e,n){var r=e[0],i=e[1];return t[0]=n[0]*r+n[3]*i+n[6],t[1]=n[1]*r+n[4]*i+n[7],t},e.transformMat4=function(t,e,n){var r=e[0],i=e[1];return t[0]=n[0]*r+n[4]*i+n[12],t[1]=n[1]*r+n[5]*i+n[13],t},e.rotate=function(t,e,n,r){var i=e[0]-n[0],a=e[1]-n[1],s=Math.sin(r),o=Math.cos(r);return t[0]=i*o-a*s+n[0],t[1]=i*s+a*o+n[1],t},e.angle=function(t,e){var n=t[0],r=t[1],i=e[0],a=e[1],s=n*n+r*r;s>0&&(s=1/Math.sqrt(s));var o=i*i+a*a;o>0&&(o=1/Math.sqrt(o));var u=(n*i+r*a)*s*o;return u>1?0:u<-1?Math.PI:Math.acos(u)},e.str=function(t){return"vec2("+t[0]+", "+t[1]+")"},e.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]},e.equals=function(t,e){var n=t[0],i=t[1],a=e[0],s=e[1];return Math.abs(n-a)<=r.EPSILON*Math.max(1,Math.abs(n),Math.abs(a))&&Math.abs(i-s)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(s))};var r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}(n(0));function i(){var t=new r.ARRAY_TYPE(2);return r.ARRAY_TYPE!=Float32Array&&(t[0]=0,t[1]=0),t}function a(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t}function s(t,e,n){return t[0]=e[0]*n[0],t[1]=e[1]*n[1],t}function o(t,e,n){return t[0]=e[0]/n[0],t[1]=e[1]/n[1],t}function u(t,e){var n=e[0]-t[0],r=e[1]-t[1];return Math.sqrt(n*n+r*r)}function c(t,e){var n=e[0]-t[0],r=e[1]-t[1];return n*n+r*r}function f(t){var e=t[0],n=t[1];return Math.sqrt(e*e+n*n)}function h(t){var e=t[0],n=t[1];return e*e+n*n}e.len=f,e.sub=a,e.mul=s,e.div=o,e.dist=u,e.sqrDist=c,e.sqrLen=h,e.forEach=function(){var t=i();return function(e,n,r,i,a,s){var o,u=void 0;for(n||(n=2),r||(r=0),o=i?Math.min(i*n+r,e.length):e.length,u=r;u<o;u+=n)t[0]=e[u],t[1]=e[u+1],a(t,t,s),e[u]=t[0],e[u+1]=t[1];return e}}()},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.sqrLen=e.squaredLength=e.len=e.length=e.dot=e.mul=e.setReal=e.getReal=void 0,e.create=function(){var t=new r.ARRAY_TYPE(8);return r.ARRAY_TYPE!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[4]=0,t[5]=0,t[6]=0,t[7]=0),t[3]=1,t},e.clone=function(t){var e=new r.ARRAY_TYPE(8);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e},e.fromValues=function(t,e,n,i,a,s,o,u){var c=new r.ARRAY_TYPE(8);return c[0]=t,c[1]=e,c[2]=n,c[3]=i,c[4]=a,c[5]=s,c[6]=o,c[7]=u,c},e.fromRotationTranslationValues=function(t,e,n,i,a,s,o){var u=new r.ARRAY_TYPE(8);u[0]=t,u[1]=e,u[2]=n,u[3]=i;var c=.5*a,f=.5*s,h=.5*o;return u[4]=c*i+f*n-h*e,u[5]=f*i+h*t-c*n,u[6]=h*i+c*e-f*t,u[7]=-c*t-f*e-h*n,u},e.fromRotationTranslation=o,e.fromTranslation=function(t,e){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t[4]=.5*e[0],t[5]=.5*e[1],t[6]=.5*e[2],t[7]=0,t},e.fromRotation=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=0,t[5]=0,t[6]=0,t[7]=0,t},e.fromMat4=function(t,e){var n=i.create();a.getRotation(n,e);var s=new r.ARRAY_TYPE(3);return a.getTranslation(s,e),o(t,n,s),t},e.copy=u,e.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t[6]=0,t[7]=0,t},e.set=function(t,e,n,r,i,a,s,o,u){return t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=s,t[6]=o,t[7]=u,t},e.getDual=function(t,e){return t[0]=e[4],t[1]=e[5],t[2]=e[6],t[3]=e[7],t},e.setDual=function(t,e){return t[4]=e[0],t[5]=e[1],t[6]=e[2],t[7]=e[3],t},e.getTranslation=function(t,e){var n=e[4],r=e[5],i=e[6],a=e[7],s=-e[0],o=-e[1],u=-e[2],c=e[3];return t[0]=2*(n*c+a*s+r*u-i*o),t[1]=2*(r*c+a*o+i*s-n*u),t[2]=2*(i*c+a*u+n*o-r*s),t},e.translate=function(t,e,n){var r=e[0],i=e[1],a=e[2],s=e[3],o=.5*n[0],u=.5*n[1],c=.5*n[2],f=e[4],h=e[5],l=e[6],d=e[7];return t[0]=r,t[1]=i,t[2]=a,t[3]=s,t[4]=s*o+i*c-a*u+f,t[5]=s*u+a*o-r*c+h,t[6]=s*c+r*u-i*o+l,t[7]=-r*o-i*u-a*c+d,t},e.rotateX=function(t,e,n){var r=-e[0],a=-e[1],s=-e[2],o=e[3],u=e[4],c=e[5],f=e[6],h=e[7],l=u*o+h*r+c*s-f*a,d=c*o+h*a+f*r-u*s,m=f*o+h*s+u*a-c*r,_=h*o-u*r-c*a-f*s;return i.rotateX(t,e,n),r=t[0],a=t[1],s=t[2],o=t[3],t[4]=l*o+_*r+d*s-m*a,t[5]=d*o+_*a+m*r-l*s,t[6]=m*o+_*s+l*a-d*r,t[7]=_*o-l*r-d*a-m*s,t},e.rotateY=function(t,e,n){var r=-e[0],a=-e[1],s=-e[2],o=e[3],u=e[4],c=e[5],f=e[6],h=e[7],l=u*o+h*r+c*s-f*a,d=c*o+h*a+f*r-u*s,m=f*o+h*s+u*a-c*r,_=h*o-u*r-c*a-f*s;return i.rotateY(t,e,n),r=t[0],a=t[1],s=t[2],o=t[3],t[4]=l*o+_*r+d*s-m*a,t[5]=d*o+_*a+m*r-l*s,t[6]=m*o+_*s+l*a-d*r,t[7]=_*o-l*r-d*a-m*s,t},e.rotateZ=function(t,e,n){var r=-e[0],a=-e[1],s=-e[2],o=e[3],u=e[4],c=e[5],f=e[6],h=e[7],l=u*o+h*r+c*s-f*a,d=c*o+h*a+f*r-u*s,m=f*o+h*s+u*a-c*r,_=h*o-u*r-c*a-f*s;return i.rotateZ(t,e,n),r=t[0],a=t[1],s=t[2],o=t[3],t[4]=l*o+_*r+d*s-m*a,t[5]=d*o+_*a+m*r-l*s,t[6]=m*o+_*s+l*a-d*r,t[7]=_*o-l*r-d*a-m*s,t},e.rotateByQuatAppend=function(t,e,n){var r=n[0],i=n[1],a=n[2],s=n[3],o=e[0],u=e[1],c=e[2],f=e[3];return t[0]=o*s+f*r+u*a-c*i,t[1]=u*s+f*i+c*r-o*a,t[2]=c*s+f*a+o*i-u*r,t[3]=f*s-o*r-u*i-c*a,o=e[4],u=e[5],c=e[6],f=e[7],t[4]=o*s+f*r+u*a-c*i,t[5]=u*s+f*i+c*r-o*a,t[6]=c*s+f*a+o*i-u*r,t[7]=f*s-o*r-u*i-c*a,t},e.rotateByQuatPrepend=function(t,e,n){var r=e[0],i=e[1],a=e[2],s=e[3],o=n[0],u=n[1],c=n[2],f=n[3];return t[0]=r*f+s*o+i*c-a*u,t[1]=i*f+s*u+a*o-r*c,t[2]=a*f+s*c+r*u-i*o,t[3]=s*f-r*o-i*u-a*c,o=n[4],u=n[5],c=n[6],f=n[7],t[4]=r*f+s*o+i*c-a*u,t[5]=i*f+s*u+a*o-r*c,t[6]=a*f+s*c+r*u-i*o,t[7]=s*f-r*o-i*u-a*c,t},e.rotateAroundAxis=function(t,e,n,i){if(Math.abs(i)<r.EPSILON)return u(t,e);var a=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);i*=.5;var s=Math.sin(i),o=s*n[0]/a,c=s*n[1]/a,f=s*n[2]/a,h=Math.cos(i),l=e[0],d=e[1],m=e[2],_=e[3];t[0]=l*h+_*o+d*f-m*c,t[1]=d*h+_*c+m*o-l*f,t[2]=m*h+_*f+l*c-d*o,t[3]=_*h-l*o-d*c-m*f;var p=e[4],g=e[5],E=e[6],v=e[7];return t[4]=p*h+v*o+g*f-E*c,t[5]=g*h+v*c+E*o-p*f,t[6]=E*h+v*f+p*c-g*o,t[7]=v*h-p*o-g*c-E*f,t},e.add=function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t[4]=e[4]+n[4],t[5]=e[5]+n[5],t[6]=e[6]+n[6],t[7]=e[7]+n[7],t},e.multiply=c,e.scale=function(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*n,t[5]=e[5]*n,t[6]=e[6]*n,t[7]=e[7]*n,t},e.lerp=function(t,e,n,r){var i=1-r;return f(e,n)<0&&(r=-r),t[0]=e[0]*i+n[0]*r,t[1]=e[1]*i+n[1]*r,t[2]=e[2]*i+n[2]*r,t[3]=e[3]*i+n[3]*r,t[4]=e[4]*i+n[4]*r,t[5]=e[5]*i+n[5]*r,t[6]=e[6]*i+n[6]*r,t[7]=e[7]*i+n[7]*r,t},e.invert=function(t,e){var n=l(e);return t[0]=-e[0]/n,t[1]=-e[1]/n,t[2]=-e[2]/n,t[3]=e[3]/n,t[4]=-e[4]/n,t[5]=-e[5]/n,t[6]=-e[6]/n,t[7]=e[7]/n,t},e.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=e[7],t},e.normalize=function(t,e){var n=l(e);if(n>0){n=Math.sqrt(n);var r=e[0]/n,i=e[1]/n,a=e[2]/n,s=e[3]/n,o=e[4],u=e[5],c=e[6],f=e[7],h=r*o+i*u+a*c+s*f;t[0]=r,t[1]=i,t[2]=a,t[3]=s,t[4]=(o-r*h)/n,t[5]=(u-i*h)/n,t[6]=(c-a*h)/n,t[7]=(f-s*h)/n}return t},e.str=function(t){return"quat2("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+")"},e.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]},e.equals=function(t,e){var n=t[0],i=t[1],a=t[2],s=t[3],o=t[4],u=t[5],c=t[6],f=t[7],h=e[0],l=e[1],d=e[2],m=e[3],_=e[4],p=e[5],g=e[6],E=e[7];return Math.abs(n-h)<=r.EPSILON*Math.max(1,Math.abs(n),Math.abs(h))&&Math.abs(i-l)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))&&Math.abs(a-d)<=r.EPSILON*Math.max(1,Math.abs(a),Math.abs(d))&&Math.abs(s-m)<=r.EPSILON*Math.max(1,Math.abs(s),Math.abs(m))&&Math.abs(o-_)<=r.EPSILON*Math.max(1,Math.abs(o),Math.abs(_))&&Math.abs(u-p)<=r.EPSILON*Math.max(1,Math.abs(u),Math.abs(p))&&Math.abs(c-g)<=r.EPSILON*Math.max(1,Math.abs(c),Math.abs(g))&&Math.abs(f-E)<=r.EPSILON*Math.max(1,Math.abs(f),Math.abs(E))};var r=s(n(0)),i=s(n(3)),a=s(n(4));function s(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}function o(t,e,n){var r=.5*n[0],i=.5*n[1],a=.5*n[2],s=e[0],o=e[1],u=e[2],c=e[3];return t[0]=s,t[1]=o,t[2]=u,t[3]=c,t[4]=r*c+i*u-a*o,t[5]=i*c+a*s-r*u,t[6]=a*c+r*o-i*s,t[7]=-r*s-i*o-a*u,t}function u(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t}function c(t,e,n){var r=e[0],i=e[1],a=e[2],s=e[3],o=n[4],u=n[5],c=n[6],f=n[7],h=e[4],l=e[5],d=e[6],m=e[7],_=n[0],p=n[1],g=n[2],E=n[3];return t[0]=r*E+s*_+i*g-a*p,t[1]=i*E+s*p+a*_-r*g,t[2]=a*E+s*g+r*p-i*_,t[3]=s*E-r*_-i*p-a*g,t[4]=r*f+s*o+i*c-a*u+h*E+m*_+l*g-d*p,t[5]=i*f+s*u+a*o-r*c+l*E+m*p+d*_-h*g,t[6]=a*f+s*c+r*u-i*o+d*E+m*g+h*p-l*_,t[7]=s*f-r*o-i*u-a*c+m*E-h*_-l*p-d*g,t}e.getReal=i.copy,e.setReal=i.copy,e.mul=c;var f=e.dot=i.dot,h=e.length=i.length,l=(e.len=h,e.squaredLength=i.squaredLength);e.sqrLen=l},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.sub=e.mul=void 0,e.create=function(){var t=new r.ARRAY_TYPE(6);return r.ARRAY_TYPE!=Float32Array&&(t[1]=0,t[2]=0,t[4]=0,t[5]=0),t[0]=1,t[3]=1,t},e.clone=function(t){var e=new r.ARRAY_TYPE(6);return e[0]=t[0],e[1]=t[1],e[2]=t[