var h=function(r,n){return h=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},h(r,n)};function d(r,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");h(r,n);function t(){this.constructor=r}r.prototype=n===null?Object.create(n):(t.prototype=n.prototype,new t)}var v=function(){return v=Object.assign||function(n){for(var t,e=1,i=arguments.length;e0&&a[a.length-1])&&(f[0]===6||f[0]===2)){t=0;continue}if(f[0]===3&&(!a||f[1]>a[0]&&f[1]=r.length&&(r=void 0),{value:r&&r[e++],done:!r}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}function S(r,n){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var e=t.call(r),i,a=[],c;try{for(;(n===void 0||n-- >0)&&!(i=e.next()).done;)a.push(i.value)}catch(u){c={error:u}}finally{try{i&&!i.done&&(t=e.return)&&t.call(e)}finally{if(c)throw c.error}}return a}function A(){for(var r=0,n=0,t=arguments.length;n0&&(a=1/Math.sqrt(a)),r[0]=n[0]*a,r[1]=n[1]*a,r[2]=n[2]*a,r}function x(r,n){return r[0]*n[0]+r[1]*n[1]+r[2]*n[2]}function P(r,n,t){var e=n[0],i=n[1],a=n[2],c=t[0],u=t[1],o=t[2];return r[0]=i*o-a*u,r[1]=a*c-e*o,r[2]=e*u-i*c,r}function F(r,n,t){var e=n[0],i=n[1],a=n[2],c=t[3]*e+t[7]*i+t[11]*a+t[15];return c=c||1,r[0]=(t[0]*e+t[4]*i+t[8]*a+t[12])/c,r[1]=(t[1]*e+t[5]*i+t[9]*a+t[13])/c,r[2]=(t[2]*e+t[6]*i+t[10]*a+t[14])/c,r}function I(r,n,t){var e=n[0],i=n[1],a=n[2];return r[0]=e*t[0]+i*t[3]+a*t[6],r[1]=e*t[1]+i*t[4]+a*t[7],r[2]=e*t[2]+i*t[5]+a*t[8],r}function k(r,n){var t=r[0],e=r[1],i=r[2],a=n[0],c=n[1],u=n[2],o=Math.sqrt(t*t+e*e+i*i),f=Math.sqrt(a*a+c*c+u*u),s=o*f,y=s&&x(r,n)/s;return Math.acos(Math.min(Math.max(y,-1),1))}var T=g;(function(){var r=p();return function(n,t,e,i,a,c){var u,o;for(t||(t=3),e||(e=0),i?o=Math.min(i*t+e,n.length):o=n.length,u=e;u0&&(i=1/Math.sqrt(i)),r[0]=n[0]*i,r[1]=n[1]*i,r}function N(r,n){return r[0]*n[0]+r[1]*n[1]}function Q(r,n,t,e){var i=n[0],a=n[1];return r[0]=i+e*(t[0]-i),r[1]=a+e*(t[1]-a),r}function U(r,n,t){var e=n[0],i=n[1];return r[0]=t[0]*e+t[3]*i+t[6],r[1]=t[1]*e+t[4]*i+t[7],r}function W(r,n){var t=r[0],e=r[1],i=n[0],a=n[1],c=Math.sqrt(t*t+e*e)*Math.sqrt(i*i+a*a),u=c&&(t*i+e*a)/c;return Math.acos(Math.min(Math.max(u,-1),1))}function X(r,n){return r[0]===n[0]&&r[1]===n[1]}var Z=w;(function(){var r=_();return function(n,t,e,i,a,c){var u,o;for(t||(t=2),e||(e=0),i?o=Math.min(i*t+e,n.length):o=n.length,u=e;u