PageSourceSearch

https://www.yulanto.com/_next/static/chunks/15v0qjskd9-mm.js

js yulanto.com collected 2026-10-04 05:27:00 UTC 102,338 bytes, 77 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,146632,657622,198560,206582,t=>{"use strict";let e,i,r;var s=t.i(843476);function n(t){let e=t[0],i=t[1],r=t[2];return Math.sqrt(e*e+i*i+r*r)}function a(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function h(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t[2]=e[2]+i[2],t}function o(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t[2]=e[2]-i[2],t}function l(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t}function u(t){let e=t[0],i=t[1],r=t[2];return e*e+i*i+r*r}function c(t,e){let i=e[0],r=e[1],s=e[2],n=i*i+r*r+s*s;return n>0&&(n=1/Math.sqrt(n)),t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t}function d(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function g(t,e,i){let r=e[0],s=e[1],n=e[2],a=i[0],h=i[1],o=i[2];return t[0]=s*o-n*h,t[1]=n*a-r*o,t[2]=r*h-s*a,t}let f=(e=[0,0,0],i=[0,0,0],function(t,r){a(e,t),a(i,r),c(e,e),c(i,i);let s=d(e,i);return s>1?0:s<-1?Math.PI:Math.acos(s)});class p extends Array{constructor(t=0,e=t,i=t){return super(t,e,i),this}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}set x(t){this[0]=t}set y(t){this[1]=t}set z(t){this[2]=t}set(t,e=t,i=t){return t.length?this.copy(t):(this[0]=t,this[1]=e,this[2]=i,this)}copy(t){return a(this,t),this}add(t,e){return e?h(this,t,e):h(this,this,t),this}sub(t,e){return e?o(this,t,e):o(this,this,t),this}multiply(t){if(t.length)this[0]=this[0]*t[0],this[1]=this[1]*t[1],this[2]=this[2]*t[2];else l(this,this,t);return this}divide(t){if(t.length)this[0]=this[0]/t[0],this[1]=this[1]/t[1],this[2]=this[2]/t[2];else l(this,this,1/t);return this}inverse(t=this){return this[0]=1/t[0],this[1]=1/t[1],this[2]=1/t[2],this}len(){return n(this)}distance(t){let e,i,r;if(!t)return n(this);return e=t[0]-this[0],Math.sqrt(e*e+(i=t[1]-this[1])*i+(r=t[2]-this[2])*r)}squaredLen(){return u(this)}squaredDistance(t){let e,i,r;if(!t)return u(this);return e=t[0]-this[0],e*e+(i=t[1]-this[1])*i+(r=t[2]-this[2])*r}negate(t=this){return this[0]=-t[0],this[1]=-t[1],this[2]=-t[2],this}cross(t,e){return e?g(this,t,e):g(this,this,t),this}scale(t){return l(this,this,t),this}normalize(){return c(this,this),this}dot(t){return d(this,t)}equals(t){return this[0]===t[0]&&this[1]===t[1]&&this[2]===t[2]}applyMatrix3(t){let e,i,r;return e=this[0],i=this[1],r=this[2],this[0]=e*t[0]+i*t[3]+r*t[6],this[1]=e*t[1]+i*t[4]+r*t[7],this[2]=e*t[2]+i*t[5]+r*t[8],this}applyMatrix4(t){let e,i,r,s;return e=this[0],i=this[1],r=this[2],s=(s=t[3]*e+t[7]*i+t[11]*r+t[15])||1,this[0]=(t[0]*e+t[4]*i+t[8]*r+t[12])/s,this[1]=(t[1]*e+t[5]*i+t[9]*r+t[13])/s,this[2]=(t[2]*e+t[6]*i+t[10]*r+t[14])/s,this}scaleRotateMatrix4(t){let e,i,r,s;return e=this[0],i=this[1],r=this[2],s=(s=t[3]*e+t[7]*i+t[11]*r+t[15])||1,this[0]=(t[0]*e+t[4]*i+t[8]*r)/s,this[1]=(t[1]*e+t[5]*i+t[9]*r)/s,this[2]=(t[2]*e+t[6]*i+t[10]*r)/s,this}applyQuaternion(t){let e,i,r,s,n,a,h,o,l,u,c,d,g,f;return e=this[0],i=this[1],r=this[2],s=t[0],n=t[1],a=t[2],h=t[3],o=n*r-a*i,l=a*e-s*r,u=s*i-n*e,c=n*u-a*l,d=a*o-s*u,g=s*l-n*o,o*=f=2*h,l*=f,u*=f,c*=2,d*=2,g*=2,this[0]=e+o+c,this[1]=i+l+d,this[2]=r+u+g,this}angle(t){return f(this,t)}lerp(t,e){let i,r,s;return i=this[0],r=this[1],s=this[2],this[0]=i+e*(t[0]-i),this[1]=r+e*(t[1]-r),this[2]=s+e*(t[2]-s),this}smoothLerp(t,e,i){let r,s,n,a;return r=Math.exp(-e*i),s=this[0],n=this[1],a=this[2],this[0]=t[0]+(s-t[0])*r,this[1]=t[1]+(n-t[1])*r,this[2]=t[2]+(a-t[2])*r,this}clone(){return new p(this[0],this[1],this[2])}fromArray(t,e=0){return this[0]=t[e],this[1]=t[e+1],this[2]=t[e+2],this}toArray(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t}transformDirection(t){let e=this[0],i=this[1],r=this[2];return this[0]=t[0]*e+t[4]*i+t[8]*r,this[1]=t[1]*e+t[5]*i+t[9]*r,this[2]=t[2]*e+t[6]*i+t[10]*r,this.normalize()}}let m=new p,v=1;class E{constructor({canvas:t=document.createElement("canvas"),width:e=300,height:i=150,dpr:r=1,alpha:s=!1,depth:n=!0,stencil:a=!1,antialias:h=!1,premultipliedAlpha:o=!1,preserveDrawingBuffer:l=!1,powerPreference:u="default",autoClear:c=!0,webgl:d=2}={}){const g={alpha:s,depth:n,stencil:a,antialias:h,premultipliedAlpha:o,preserveDrawingBuffer:l,powerPreference:u};this.dpr=r,this.alpha=s,this.color=!0,this.depth=n,this.stencil=a,this.premultipliedAlpha=o,this.autoClear=c,this.id=v++,2===d&&(this.gl=t.getContext("webgl2",g)),this.isWebgl2=!!this.gl,this.gl||(this.gl=t.getContext("webgl",g)),this.gl||console.error("unable to create webgl context"),this.gl.renderer=this,this.setSize(e,i),this.state={},this.state.blendFunc={src:this.gl.ONE,dst:this.gl.ZERO},this.state.blendEquation={modeRGB:this.gl.FUNC_ADD},this.state.cullFace=!1,this.state.frontFace=this.gl.CCW,this.state.depthMask=!0,this.state.depthFunc=this.gl.LEQUAL,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}setSize(t,e){this.width=t,this.height=e,this.gl.canvas.width=t*this.dpr,this.gl.canvas.height=e*this.dpr,this.gl.canvas.style&&Object.assign(this.gl.canvas.style,{width:t+"px",height:e+"px"})}setViewport(t,e,i=0,r=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=r,this.gl.viewport(i,r,t,e))}setScissor(t,e,i=0,r=0){this.gl.scissor(i,r,t,e)}enable(t){!0!==this.state[t]&&(this.gl.enable(t),this.state[t]=!0)}disable(t){!1!==this.state[t]&&(this.gl.disable(t),this.state[t]=!1)}setBlendFunc(t,e,i,r){(this.state.blendFunc.src!==t||this.state.blendFunc.dst!==e||this.state.blendFunc.srcAlpha!==i||this.state.blendFunc.dstAlpha!==r)&&(this.state.blendFunc.src=t,this.state.blendFunc.dst=e,this.state.blendFunc.srcAlpha=i,this.state.blendFunc.dstAlpha=r,void 0!==i?this.gl.blendFuncSeparate(t,e,i,r):this.gl.blendFunc(t,e))}setBlendEquation(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))}setCullFace(t){this.state.cullFace!==t&&(this.state.cullFace=t,this.gl.cullFace(t))}setFrontFace(t){this.state.frontFace!==t&&(this.state.frontFace=t,this.gl.frontFace(t))}setDepthMask(t){this.state.depthMask!==t&&(this.state.depthMask=t,this.gl.depthMask(t))}setDepthFunc(t){this.state.depthFunc!==t&&(this.state.depthFunc=t,this.gl.depthFunc(t))}setStencilMask(t){this.state.stencilMask!==t&&(this.state.stencilMask=t,this.gl.stencilMask(t))}setStencilFunc(t,e,i){(this.state.stencilFunc!==t||this.state.stencilRef!==e||this.state.stencilFuncMask!==i)&&(this.state.stencilFunc=t||this.gl.ALWAYS,this.state.stencilRef=e||0,this.state.stencilFuncMask=i||0,this.gl.stencilFunc(t||this.gl.ALWAYS,e||0,i||0))}setStencilOp(t,e,i){(this.state.stencilFail!==t||this.state.stencilDepthFail!==e||this.state.stencilDepthPass!==i)&&(this.state.stencilFail=t,this.state.stencilDepthFail=e,this.state.stencilDepthPass=i,this.gl.stencilOp(t,e,i))}activeTexture(t){this.state.activeTextureUnit!==t&&(this.state.activeTextureUnit=t,this.gl.activeTexture(this.gl.TEXTURE0+t))}bindFramebuffer({target:t=this.gl.FRAMEBUFFER,buffer:e=null}={}){this.state.framebuffer!==e&&(this.state.framebuffer=e,this.gl.bindFramebuffer(t,e))}getExtension(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]}sortOpaque(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}
1sortTransparent(t,e){return t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.zDepth!==e.zDepth?e.zDepth-t.zDepth:e.id-t.id}sortUI(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}getRenderList({scene:t,camera:e,frustumCull:i,sort:r}){let s=[];if(e&&i&&e.updateFrustum(),t.traverse(t=>!t.visible||(t.draw?void((!i||!t.frustumCulled||!e||e.frustumIntersectsMesh(t))&&s.push(t)):void 0)),r){let t=[],i=[],r=[];s.forEach(s=>{s.program.transparent?s.program.depthTest?i.push(s):r.push(s):t.push(s),s.zDepth=0,0===s.renderOrder&&s.program.depthTest&&e&&(s.worldMatrix.getTranslation(m),m.applyMatrix4(e.projectionViewMatrix),s.zDepth=m.z)}),t.sort(this.sortOpaque),i.sort(this.sortTransparent),r.sort(this.sortUI),s=t.concat(i,r)}return s}render({scene:t,camera:e,target:i=null,update:r=!0,sort:s=!0,frustumCull:n=!0,clear:a}){null===i?(this.bindFramebuffer(),this.setViewport(this.width*this.dpr,this.height*this.dpr)):(this.bindFramebuffer(i),this.setViewport(i.width,i.height)),(a||this.autoClear&&!1!==a)&&(this.depth&&(!i||i.depth)&&(this.enable(this.gl.DEPTH_TEST),this.setDepthMask(!0)),(this.stencil||!i||i.stencil)&&(this.enable(this.gl.STENCIL_TEST),this.setStencilMask(255)),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))),r&&t.updateMatrixWorld(),e&&e.updateMatrixWorld(),this.getRenderList({scene:t,camera:e,frustumCull:n,sort:s}).forEach(t=>{t.draw({camera:e})})}}let b=1,y={};class x{constructor(t,{vertex:e,fragment:i,uniforms:r={},transparent:s=!1,cullFace:n=t.BACK,frontFace:a=t.CCW,depthTest:h=!0,depthWrite:o=!0,depthFunc:l=t.LEQUAL}={}){t.canvas||console.error("gl not passed as first argument to Program"),this.gl=t,this.uniforms=r,this.id=b++,e||console.warn("vertex shader not supplied"),i||console.warn("fragment shader not supplied"),this.transparent=s,this.cullFace=n,this.frontFace=a,this.depthTest=h,this.depthWrite=o,this.depthFunc=l,this.blendFunc={},this.blendEquation={},this.stencilFunc={},this.stencilOp={},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)),this.vertexShader=t.createShader(t.VERTEX_SHADER),this.fragmentShader=t.createShader(t.FRAGMENT_SHADER),this.program=t.createProgram(),t.attachShader(this.program,this.vertexShader),t.attachShader(this.program,this.fragmentShader),this.setShaders({vertex:e,fragment:i})}setShaders({vertex:t,fragment:e}){if(t&&(this.gl.shaderSource(this.vertexShader,t),this.gl.compileShader(this.vertexShader),""!==this.gl.getShaderInfoLog(this.vertexShader)&&console.warn(`${this.gl.getShaderInfoLog(this.vertexShader)}
2Vertex Shader
3${_(t)}`)),e&&(this.gl.shaderSource(this.fragmentShader,e),this.gl.compileShader(this.fragmentShader),""!==this.gl.getShaderInfoLog(this.fragmentShader)&&console.warn(`${this.gl.getShaderInfoLog(this.fragmentShader)}
4Fragment Shader
5${_(e)}`)),this.gl.linkProgram(this.program),!this.gl.getProgramParameter(this.program,this.gl.LINK_STATUS))return console.warn(this.gl.getProgramInfoLog(this.program));this.uniformLocations=new Map;let i=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_UNIFORMS);for(let t=0;t<i;t++){let e=this.gl.getActiveUniform(this.program,t);this.uniformLocations.set(e,this.gl.getUniformLocation(this.program,e.name));let i=e.name.match(/(\w+)/g);e.uniformName=i[0],e.nameComponents=i.slice(1)}this.attributeLocations=new Map;let r=[],s=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES);for(let t=0;t<s;t++){let e=this.gl.getActiveAttrib(this.program,t),i=this.gl.getAttribLocation(this.program,e.name);-1!==i&&(r[i]=e.name,this.attributeLocations.set(e,i))}this.attributeOrder=r.join("")}setBlendFunc(t,e,i,r){this.blendFunc.src=t,this.blendFunc.dst=e,this.blendFunc.srcAlpha=i,this.blendFunc.dstAlpha=r,t&&(this.transparent=!0)}setBlendEquation(t,e){this.blendEquation.modeRGB=t,this.blendEquation.modeAlpha=e}setStencilFunc(t,e,i){this.stencilRef=e,this.stencilFunc.func=t,this.stencilFunc.ref=e,this.stencilFunc.mask=i}setStencilOp(t,e,i){this.stencilOp.stencilFail=t,this.stencilOp.depthFail=e,this.stencilOp.depthPass=i}applyState(){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),this.stencilFunc.func||this.stencilOp.stencilFail?this.gl.renderer.enable(this.gl.STENCIL_TEST):this.gl.renderer.disable(this.gl.STENCIL_TEST),this.gl.renderer.setStencilFunc(this.stencilFunc.func,this.stencilFunc.ref,this.stencilFunc.mask),this.gl.renderer.setStencilOp(this.stencilOp.stencilFail,this.stencilOp.depthFail,this.stencilOp.depthPass)}use({flipFaces:t=!1}={}){let e=-1;this.gl.renderer.state.currentProgram!==this.id&&(this.gl.useProgram(this.program),this.gl.renderer.state.currentProgram=this.id
5),this.uniformLocations.forEach((t,i)=>{let r=this.uniforms[i.uniformName];for(let t of i.nameComponents){if(!r)break;if(t in r)r=r[t];else if(Array.isArray(r.value))break;else{r=void 0;break}}if(!r)return T(`Active uniform ${i.name} has not been supplied`);if(r&&void 0===r.value)return T(`${i.name} uniform is missing a value parameter`);if(r.value.texture)return e+=1,r.value.update(e),w(this.gl,i.type,t,e);if(r.value.length&&r.value[0].texture){let s=[];return r.value.forEach(t=>{e+=1,t.update(e),s.push(e)}),w(this.gl,i.type,t,s)}w(this.gl,i.type,t,r.value)}),this.applyState(),t&&this.gl.renderer.setFrontFace(this.frontFace===this.gl.CCW?this.gl.CW:this.gl.CCW)}remove(){this.gl.deleteProgram(this.program)}}function w(t,e,i,r){r=r.length?function(t){let e=t.length,i=t[0].length;if(void 0===i)return t;let r=e*i,s=y[r];s||(y[r]=s=new Float32Array(r));for(let r=0;r<e;r++)s.set(t[r],r*i);return s}(r):r;let s=t.renderer.state.uniformLocations.get(i);if(r.length)if(void 0===s||s.length!==r.length)t.renderer.state.uniformLocations.set(i,r.slice(0));else{if(function(t,e){if(t.length!==e.length)return!1;for(let i=0,r=t.length;i<r;i++)if(t[i]!==e[i])return!1;return!0}(s,r))return;s.set?s.set(r):function(t,e){for(let i=0,r=t.length;i<r;i++)t[i]=e[i]}(s,r),t.renderer.state.uniformLocations.set(i,s)}else{if(s===r)return;t.renderer.state.uniformLocations.set(i,r)}switch(e){case 5126:return r.length?t.uniform1fv(i,r):t.uniform1f(i,r);case 35664:return t.uniform2fv(i,r);case 35665:return t.uniform3fv(i,r);case 35666:return t.uniform4fv(i,r);case 35670:case 5124:case 35678:case 36306:case 35680:case 36289:return r.length?t.uniform1iv(i,r):t.uniform1i(i,r);case 35671:case 35667:return t.uniform2iv(i,r);case 35672:case 35668:return t.uniform3iv(i,r);case 35673:case 35669:return t.uniform4iv(i,r);case 35674:return t.uniformMatrix2fv(i,!1,r);case 35675:return t.uniformMatrix3fv(i,!1,r);case 35676:return t.uniformMatrix4fv(i,!1,r)}}function _(t){let e=t.split("\n");for(let t=0;t<e.length;t++)e[t]=t+1+": "+e[t];return e.join("\n")}let A=0;function T(t){!(A>100)&&(console.warn(t),++A>100&&console.warn("More than 100 program warnings - stopping logs."))}function M(t,e,i){let r=e[0],s=e[1],n=e[2],a=e[3],h=i[0],o=i[1],l=i[2],u=i[3];return t[0]=r*u+a*h+s*l-n*o,t[1]=s*u+a*o+n*h-r*l,t[2]=n*u+a*l+r*o-s*h,t[3]=a*u-r*h-s*o-n*l,t}let S=function(t,e){let i=e[0],r=e[1],s=e[2],n=e[3],a=i*i+r*r+s*s+n*n;return a>0&&(a=1/Math.sqrt(a)),t[0]=i*a,t[1]=r*a,t[2]=s*a,t[3]=n*a,t};class R extends Array{constructor(t=0,e=0,i=0,r=1){super(t,e,i,r),this.onChange=()=>{},this._target=this;const s=["0","1","2","3"];return new Proxy(this,{set(t,e){let i=Reflect.set(...arguments);return i&&s.includes(e)&&t.onChange(),i}})}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}get w(){return this[3]}set x(t){this._target[0]=t,this.onChange()}set y(t){this._target[1]=t,this.onChange()}set z(t){this._target[2]=t,this.onChange()}set w(t){this._target[3]=t,this.onChange()}identity(){var t;return(t=this._target)[0]=0,t[1]=0,t[2]=0,t[3]=1,this.onChange(),this}set(t,e,i,r){var s;return t.length?this.copy(t):(s=this._target,s[0]=t,s[1]=e,s[2]=i,s[3]=r,this.onChange(),this)}rotateX(t){var e,i,r;let s,n,a,h,o,l;return e=this._target,i=this._target,r=.5*t,s=i[0],n=i[1],a=i[2],h=i[3],o=Math.sin(r),l=Math.cos(r),e[0]=s*l+h*o,e[1]=n*l+a*o,e[2]=a*l-n*o,e[3]=h*l-s*o,this.onChange(),this}rotateY(t){var e,i,r;let s,n,a,h,o,l;return e=this._target,i=this._target,r=.5*t,s=i[0],n=i[1],a=i[2],h=i[3],o=Math.sin(r),l=Math.cos(r),e[0]=s*l-a*o,e[1]=n*l+h*o,e[2]=a*l+s*o,e[3]=h*l-n*o,this.onChange(),this}rotateZ(t){var e,i,r;let s,n,a,h,o,l;return e=this._target,i=this._target,r=.5*t,s=i[0],n=i[1],a=i[2],h=i[3],o=Math.sin(r),l=Math.cos(r),e[0]=s*l+n*o,e[1]=n*l-s*o,e[2]=a*l+h*o,e[3]=h*l-a*o,this.onChange(),this}inverse(t=this._target){var e;let i,r,s,n,a,h;return e=this._target,i=t[0],r=t[1],h=(a=i*i+r*r+(s=t[2])*s+(n=t[3])*n)?1/a:0,e[0]=-i*h,e[1]=-r*h,e[2]=-s*h,e[3]=n*h,this.onChange(),this}conjugate(t=this._target){var e;return e=this._target,e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],this.onChange(),this}copy(t){var e;return e=this._target,e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],this.onChange(),this}normalize(t=this._target){return S(this._target,t),this.onChange(),this}multiply(t,e){return e?M(this._target,t,e):M(this._target,this._target,t),this.onChange(),this}dot(t){var e;return e=this._target,e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}fromMatrix3(t){return!function(t,e){let i,r=e[0]+e[4]+e[8];if(r>0)i=Math.sqrt(r+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{let r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);let s=(r+1)%3,n=(r+2)%3;i=Math.sqrt(e[3*r+r]-e[3*s+s]-e[3*n+n]+1),t[r]=.5*i,i=.5/i,t[3]=(e[3*s+n]-e[3*n+s])*i,t[s]=(e[3*s+r]+e[3*r+s])*i,t[n]=(e[3*n+r]+e[3*r+n])*i}}(this._target,t),this.onChange(),this}
5fromEuler(t,e){return!function(t,e,i="YXZ"){let r=Math.sin(.5*e[0]),s=Math.cos(.5*e[0]),n=Math.sin(.5*e[1]),a=Math.cos(.5*e[1]),h=Math.sin(.5*e[2]),o=Math.cos(.5*e[2]);"XYZ"===i?(t[0]=r*a*o+s*n*h,t[1]=s*n*o-r*a*h,t[2]=s*a*h+r*n*o,t[3]=s*a*o-r*n*h):"YXZ"===i?(t[0]=r*a*o+s*n*h,t[1]=s*n*o-r*a*h,t[2]=s*a*h-r*n*o,t[3]=s*a*o+r*n*h):"ZXY"===i?(t[0]=r*a*o-s*n*h,t[1]=s*n*o+r*a*h,t[2]=s*a*h+r*n*o,t[3]=s*a*o-r*n*h):"ZYX"===i?(t[0]=r*a*o-s*n*h,t[1]=s*n*o+r*a*h,t[2]=s*a*h-r*n*o,t[3]=s*a*o+r*n*h):"YZX"===i?(t[0]=r*a*o+s*n*h,t[1]=s*n*o+r*a*h,t[2]=s*a*h-r*n*o,t[3]=s*a*o-r*n*h):"XZY"===i&&(t[0]=r*a*o-s*n*h,t[1]=s*n*o-r*a*h,t[2]=s*a*h+r*n*o,t[3]=s*a*o+r*n*h)}(this._target,t,t.order),e||this.onChange(),this}fromAxisAngle(t,e){var i,r;let s;return i=this._target,s=Math.sin(r=.5*e),i[0]=s*t[0],i[1]=s*t[1],i[2]=s*t[2],i[3]=Math.cos(r),this.onChange(),this}slerp(t,e){var i,r;let s,n,a,h,o,l,u,c,d,g,f,p,m;return i=this._target,r=this._target,l=r[0],u=r[1],c=r[2],d=r[3],g=t[0],f=t[1],(n=l*g+u*f+c*(p=t[2])+d*(m=t[3]))<0&&(n=-n,g=-g,f=-f,p=-p,m=-m),1-n>1e-6?(a=Math.sin(s=Math.acos(n)),h=Math.sin((1-e)*s)/a,o=Math.sin(e*s)/a):(h=1-e,o=e),i[0]=h*l+o*g,i[1]=h*u+o*f,i[2]=h*c+o*p,i[3]=h*d+o*m,this.onChange(),this}fromArray(t,e=0){return this._target[0]=t[e],this._target[1]=t[e+1],this._target[2]=t[e+2],this._target[3]=t[e+3],this.onChange(),this}toArray(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t[e+3]=this[3],t}}function C(t){let e=t[0],i=t[1],r=t[2],s=t[3],n=t[4],a=t[5],h=t[6],o=t[7],l=t[8],u=t[9],c=t[10],d=t[11],g=t[12],f=t[13],p=t[14],m=t[15];return(e*a-i*n)*(c*m-d*p)-(e*h-r*n)*(u*m-d*f)+(e*o-s*n)*(u*p-c*f)+(i*h-r*a)*(l*m-d*g)-(i*o-s*a)*(l*p-c*g)+(r*o-s*h)*(l*f-u*g)}function F(t,e,i){let r=e[0],s=e[1],n=e[2],a=e[3],h=e[4],o=e[5],l=e[6],u=e[7],c=e[8],d=e[9],g=e[10],f=e[11],p=e[12],m=e[13],v=e[14],E=e[15],b=i[0],y=i[1],x=i[2],w=i[3];return t[0]=b*r+y*h+x*c+w*p,t[1]=b*s+y*o+x*d+w*m,t[2]=b*n+y*l+x*g+w*v,t[3]=b*a+y*u+x*f+w*E,b=i[4],y=i[5],x=i[6],w=i[7],t[4]=b*r+y*h+x*c+w*p,t[5]=b*s+y*o+x*d+w*m,t[6]=b*n+y*l+x*g+w*v,t[7]=b*a+y*u+x*f+w*E,b=i[8],y=i[9],x=i[10],w=i[11],t[8]=b*r+y*h+x*c+w*p,t[9]=b*s+y*o+x*d+w*m,t[10]=b*n+y*l+x*g+w*v,t[11]=b*a+y*u+x*f+w*E,b=i[12],y=i[13],x=i[14],w=i[15],t[12]=b*r+y*h+x*c+w*p,t[13]=b*s+y*o+x*d+w*m,t[14]=b*n+y*l+x*g+w*v,t[15]=b*a+y*u+x*f+w*E,t}function O(t,e){let i=e[0],r=e[1],s=e[2],n=e[4],a=e[5],h=e[6],o=e[8],l=e[9],u=e[10];return t[0]=Math.hypot(i,r,s),t[1]=Math.hypot(n,a,h),t[2]=Math.hypot(o,l,u),t}let N=(r=[1,1,1],function(t,e){O(r,e);let i=1/r[0],s=1/r[1],n=1/r[2],a=e[0]*i,h=e[1]*s,o=e[2]*n,l=e[4]*i,u=e[5]*s,c=e[6]*n,d=e[8]*i,g=e[9]*s,f=e[10]*n,p=a+u+f,m=0;return p>0?(m=2*Math.sqrt(p+1),t[3]=.25*m,t[0]=(c-g)/m,t[1]=(d-o)/m,t[2]=(h-l)/m):a>u&&a>f?(m=2*Math.sqrt(1+a-u-f),t[3]=(c-g)/m,t[0]=.25*m,t[1]=(h+l)/m,t[2]=(d+o)/m):u>f?(m=2*Math.sqrt(1+u-a-f),t[3]=(d-o)/m,t[0]=(h+l)/m,t[1]=.25*m,t[2]=(c+g)/m):(m=2*Math.sqrt(1+f-a-u),t[3]=(h-l)/m,t[0]=(d+o)/m,t[1]=(c+g)/m,t[2]=.25*m),t});function P(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t[2]=e[2]+i[2],t[3]=e[3]+i[3],t[4]=e[4]+i[4],t[5]=e[5]+i[5],t[6]=e[6]+i[6],t[7]=e[7]+i[7],t[8]=e[8]+i[8],t[9]=e[9]+i[9],t[10]=e[10]+i[10],t[11]=e[11]+i[11],t[12]=e[12]+i[12],t[13]=e[13]+i[13],t[14]=e[14]+i[14],t[15]=e[15]+i[15],t}function L(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t[2]=e[2]-i[2],t[3]=e[3]-i[3],t[4]=e[4]-i[4],t[5]=e[5]-i[5],t[6]=e[6]-i[6],t[7]=e[7]-i[7],t[8]=e[8]-i[8],t[9]=e[9]-i[9],t[10]=e[10]-i[10],t[11]=e[11]-i[11],t[12]=e[12]-i[12],t[13]=e[13]-i[13],t[14]=e[14]-i[14],t[15]=e[15]-i[15],t}class D extends Array{constructor(t=1,e=0,i=0,r=0,s=0,n=1,a=0,h=0,o=0,l=0,u=1,c=0,d=0,g=0,f=0,p=1){return super(t,e,i,r,s,n,a,h,o,l,u,c,d,g,f,p),this}get x(){return this[12]}get y(){return this[13]}get z(){return this[14]}get w(){return this[15]}set x(t){this[12]=t}set y(t){this[13]=t}set z(t){this[14]=t}set w(t){this[15]=t}set(t,e,i,r,s,n,a,h,o,l,u,c,d,g,f,p){return t.length?this.copy(t):(this[0]=t,this[1]=e,this[2]=i,this[3]=r,this[4]=s,this[5
5]=n,this[6]=a,this[7]=h,this[8]=o,this[9]=l,this[10]=u,this[11]=c,this[12]=d,this[13]=g,this[14]=f,this[15]=p,this)}translate(t,e=this){let i,r,s,n,a,h,o,l,u,c,d,g,f,p,m;return f=t[0],p=t[1],m=t[2],e===this?(this[12]=e[0]*f+e[4]*p+e[8]*m+e[12],this[13]=e[1]*f+e[5]*p+e[9]*m+e[13],this[14]=e[2]*f+e[6]*p+e[10]*m+e[14],this[15]=e[3]*f+e[7]*p+e[11]*m+e[15]):(i=e[0],r=e[1],s=e[2],n=e[3],a=e[4],h=e[5],o=e[6],l=e[7],u=e[8],c=e[9],d=e[10],g=e[11],this[0]=i,this[1]=r,this[2]=s,this[3]=n,this[4]=a,this[5]=h,this[6]=o,this[7]=l,this[8]=u,this[9]=c,this[10]=d,this[11]=g,this[12]=i*f+a*p+u*m+e[12],this[13]=r*f+h*p+c*m+e[13],this[14]=s*f+o*p+d*m+e[14],this[15]=n*f+l*p+g*m+e[15]),this}rotate(t,e,i=this){let r,s,n,a,h,o,l,u,c,d,g,f,p,m,v,E,b,y,x,w,_,A,T,M,S,R,C,F;return S=e[0],1e-6>Math.abs(F=Math.hypot(S,R=e[1],C=e[2]))||(S*=F=1/F,R*=F,C*=F,r=Math.sin(t),n=1-(s=Math.cos(t)),a=i[0],h=i[1],o=i[2],l=i[3],u=i[4],c=i[5],d=i[6],g=i[7],f=i[8],p=i[9],m=i[10],v=i[11],E=S*S*n+s,b=R*S*n+C*r,y=C*S*n-R*r,x=S*R*n-C*r,w=R*R*n+s,_=C*R*n+S*r,A=S*C*n+R*r,T=R*C*n-S*r,M=C*C*n+s,this[0]=a*E+u*b+f*y,this[1]=h*E+c*b+p*y,this[2]=o*E+d*b+m*y,this[3]=l*E+g*b+v*y,this[4]=a*x+u*w+f*_,this[5]=h*x+c*w+p*_,this[6]=o*x+d*w+m*_,this[7]=l*x+g*w+v*_,this[8]=a*A+u*T+f*M,this[9]=h*A+c*T+p*M,this[10]=o*A+d*T+m*M,this[11]=l*A+g*T+v*M,i!==this&&(this[12]=i[12],this[13]=i[13],this[14]=i[14],this[15]=i[15])),this}scale(t,e=this){var i;let r,s,n;return r=(i="number"==typeof t?[t,t,t]:t)[0],s=i[1],n=i[2],this[0]=e[0]*r,this[1]=e[1]*r,this[2]=e[2]*r,this[3]=e[3]*r,this[4]=e[4]*s,this[5]=e[5]*s,this[6]=e[6]*s,this[7]=e[7]*s,this[8]=e[8]*n,this[9]=e[9]*n,this[10]=e[10]*n,this[11]=e[11]*n,this[12]=e[12],this[13]=e[13],this[14]=e[14],this[15]=e[15],this}add(t,e){return e?P(this,t,e):P(this,this,t),this}sub(t,e){return e?L(this,t,e):L(this,this,t),this}multiply(t,e){if(t.length)e?F(this,t,e):F(this,this,t);else this[0]=this[0]*t,this[1]=this[1]*t,this[2]=this[2]*t,this[3]=this[3]*t,this[4]=this[4]*t,this[5]=this[5]*t,this[6]=this[6]*t,this[7]=this[7]*t,this[8]=this[8]*t,this[9]=this[9]*t,this[10]=this[10]*t,this[11]=this[11]*t,this[12]=this[12]*t,this[13]=this[13]*t,this[14]=this[14]*t,this[15]=this[15]*t;return this}identity(){return this[0]=1,this[1]=0,this[2]=0,this[3]=0,this[4]=0,this[5]=1,this[6]=0,this[7]=0,this[8]=0,this[9]=0,this[10]=1,this[11]=0,this[12]=0,this[13]=0,this[14]=0,this[15]=1,this}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this[9]=t[9],this[10]=t[10],this[11]=t[11],this[12]=t[12],this[13]=t[13],this[14]=t[14],this[15]=t[15],this}fromPerspective({fov:t,aspect:e,near:i,far:r}={}){let s,n;return s=1/Math.tan(t/2),n=1/(i-r),this[0]=s/e,this[1]=0,this[2]=0,this[3]=0,this[4]=0,this[5]=s,this[6]=0,this[7]=0,this[8]=0,this[9]=0,this[10]=(r+i)*n,this[11]=-1,this[12]=0,this[13]=0,this[14]=2*r*i*n,this[15]=0,this}fromOrthogonal({left:t,right:e,bottom:i,top:r,near:s,far:n}){let a,h,o;return a=1/(t-e),h=1/(i-r),o=1/(s-n),this[0]=-2*a,this[1]=0,this[2]=0,this[3]=0,this[4]=0,this[5]=-2*h,this[6]=0,this[7]=0,this[8]=0,this[9]=0,this[10]=2*o,this[11]=0,this[12]=(t+e)*a,this[13]=(r+i)*h,this[14]=(n+s)*o,this[15]=1,this}fromQuaternion(t){let e,i,r,s,n,a,h,o,l,u,c,d,g,f,p,m;return e=t[0],i=t[1],r=t[2],s=t[3],n=e+e,a=i+i,h=r+r,o=e*n,l=i*n,u=i*a,c=r*n,d=r*a,g=r*h,f=s*n,p=s*a,m=s*h,this[0]=1-u-g,this[1]=l+m,this[2]=c-p,this[3]=0,this[4]=l-m,this[5]=1-o-g,this[6]=d+f,this[7]=0,this[8]=c+p,this[9]=d-f,this[10]=1-o-u,this[11]=0,this[12]=0,this[13]=0,this[14]=0,this[15]=1,this}setPosition(t){return this.x=t[0],this.y=t[1],this.z=t[2],this}inverse(t=this){let e,i,r,s,n,a,h,o,l,u,c,d,g,f,p,m,v,E,b,y,x,w,_,A,T,M,S,R,C;return e=t[0],i=t[1],r=t[2],s=t[3],n=t[4],a=t[5],h=t[6],o=t[7],l=t[8],u=t[9],c=t[10],d=t[11],g=t[12],f=t[13],p=t[14],m=t[15],v=e*a-i*n,E=e*h-r*n,b=e*o-s*n,y=i*h-r*a,x=i*o-s*a,w=r*o-s*h,_=l*f-u*g,A=l*p-c*g,T=l*m-d*g,M=u*p-c*f,S=u*m-d*f,(C=v*(R=c*m-d*p)-E*S+b*M+y*T-x*A+w*_)&&(C=1/C,this[0]=(a*R-h*S+o*M)*C,this[1]=(r*S-i*R-s*M)*C,this[2]=(f*w-p*x+m*y)*C,this[3]=(c*x-u*w-d*y)*C,this[4]=(h*T-n*R-o*A)*C,this[5
5]=(e*R-r*T+s*A)*C,this[6]=(p*b-g*w-m*E)*C,this[7]=(l*w-c*b+d*E)*C,this[8]=(n*S-a*T+o*_)*C,this[9]=(i*T-e*S-s*_)*C,this[10]=(g*x-f*b+m*v)*C,this[11]=(u*b-l*x-d*v)*C,this[12]=(a*A-n*M-h*_)*C,this[13]=(e*M-i*A+r*_)*C,this[14]=(f*E-g*y-p*v)*C,this[15]=(l*y-u*E+c*v)*C),this}compose(t,e,i){let r,s,n,a,h,o,l,u,c,d,g,f,p,m,v,E,b,y,x;return r=t[0],s=t[1],n=t[2],a=t[3],h=r+r,o=s+s,l=n+n,u=r*h,c=r*o,d=r*l,g=s*o,f=s*l,p=n*l,m=a*h,v=a*o,E=a*l,b=i[0],y=i[1],x=i[2],this[0]=(1-(g+p))*b,this[1]=(c+E)*b,this[2]=(d-v)*b,this[3]=0,this[4]=(c-E)*y,this[5]=(1-(u+p))*y,this[6]=(f+m)*y,this[7]=0,this[8]=(d+v)*x,this[9]=(f-m)*x,this[10]=(1-(u+g))*x,this[11]=0,this[12]=e[0],this[13]=e[1],this[14]=e[2],this[15]=1,this}decompose(t,e,i){let r,s,a,h,o,l,u;return r=n([this[0],this[1],this[2]]),s=n([this[4],this[5],this[6]]),a=n([this[8],this[9],this[10]]),0>C(this)&&(r=-r),e[0]=this[12],e[1]=this[13],e[2]=this[14],h=this.slice(),o=1/r,l=1/s,u=1/a,h[0]*=o,h[1]*=o,h[2]*=o,h[4]*=l,h[5]*=l,h[6]*=l,h[8]*=u,h[9]*=u,h[10]*=u,N(t,h),i[0]=r,i[1]=s,i[2]=a,this}getRotation(t){return N(t,this),this}getTranslation(t){return t[0]=this[12],t[1]=this[13],t[2]=this[14],this}getScaling(t){return O(t,this),this}getMaxScaleOnAxis(){let t,e,i,r,s,n,a,h,o;return t=this[0],e=this[1],i=this[2],r=this[4],s=this[5],n=this[6],a=this[8],Math.sqrt(Math.max(t*t+e*e+i*i,r*r+s*s+n*n,a*a+(h=this[9])*h+(o=this[10])*o))}lookAt(t,e,i){let r,s,n,a,h,o,l,u,c,d,g,f,p;return r=t[0],s=t[1],n=t[2],a=i[0],h=i[1],o=i[2],l=r-e[0],0==(d=l*l+(u=s-e[1])*u+(c=n-e[2])*c)?c=1:(l*=d=1/Math.sqrt(d),u*=d,c*=d),0==(d=(g=h*c-o*u)*g+(f=o*l-a*c)*f+(p=a*u-h*l)*p)&&(o?a+=1e-6:h?o+=1e-6:h+=1e-6,d=(g=h*c-o*u)*g+(f=o*l-a*c)*f+(p=a*u-h*l)*p),g*=d=1/Math.sqrt(d),f*=d,p*=d,this[0]=g,this[1]=f,this[2]=p,this[3]=0,this[4]=u*p-c*f,this[5]=c*g-l*p,this[6]=l*f-u*g,this[7]=0,this[8]=l,this[9]=u,this[10]=c,this[11]=0,this[12]=r,this[13]=s,this[14]=n,this[15]=1,this}determinant(){return C(this)}fromArray(t,e=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
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}toArray(t=[],e=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}}let B=new D;class k extends Array{constructor(t=0,e=t,i=t,r="YXZ"){super(t,e,i),this.order=r,this.onChange=()=>{},this._target=this;const s=["0","1","2"];return new Proxy(this,{set(t,e){let i=Reflect.set(...arguments);return i&&s.includes(e)&&t.onChange(),i}})}get x(){return this[0]}get y(){return this[1]}get z(){return this[2]}set x(t){this._target[0]=t,this.onChange()}set y(t){this._target[1]=t,this.onChange()}set z(t){this._target[2]=t,this.onChange()}set(t,e=t,i=t){return t.length?this.copy(t):(this._target[0]=t,this._target[1]=e,this._target[2]=i,this.onChange(),this)}copy(t){return this._target[0]=t[0],this._target[1]=t[1],this._target[2]=t[2],this.onChange(),this}reorder(t){return this._target.order=t,this.onChange(),this}fromRotationMatrix(t,e=this.order){return!function(t,e,i="YXZ"){"XYZ"===i?(t[1]=Math.asin(Math.min(Math.max(e[8],-1),1)),.99999>Math.abs(e[8])?(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)),.99999>Math.abs(e[9])?(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)),.99999>Math.abs(e[6])?(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)),.99999>Math.abs(e[2])?(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)),.99999>Math.abs(e[1])?(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)),.99999>Math.abs(e[4])?(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._target,t,e),this.onChange(),this}fromQuaternion(t,e=this.order,i){return B.fromQuaternion(t),this._target.fromRotationMatrix(B,e),i||this.onChange(),this}fromArray(t,e=0){return this._target[0]=t[e],this._target[1]=t[e+1],this._target[2]=t[e+2],this}toArray(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t[e+2]=this[2],t}}class I{constructor(){this.parent=null,this.children=[],this.visible=!0,this.matrix=new D,this.worldMatrix=new D,this.matrixAutoUpdate=!0,this.worldMatrixNeedsUpdate=!1,this.position=new p,this.quaternion=new R,this.scale=new p(1),this.rotation=new k,this.up=new p(0,1,0),this.rotation._target.onChange=()=>this.quaternion.fromEuler(this.rotation,!0),this.quaternion._target.onChange=()=>this.rotation.fromQuaternion(this.quaternion,void 0,!0)}setParent(t,e=!0){this.parent&&t!==this.parent&&this.parent.removeChild(this,!1),this.parent=t,e&&t&&t.addChild(this,!1)}addChild(t,e=!0){~this.children.indexOf(t)||this.children.push(t),e&&t.setParent(this,!1)}removeChild(t,e=!0){~this.children.indexOf(t)&&this.children.splice(this.children.indexOf(t),1),e&&t.setParent(null,!1)}updateMatrixWorld(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(let e=0,i=this.children.length;e<i;e++)this.children[e].updateMatrixWorld(t)}updateMatrix(){this.matrix.compose(this.quaternion,this.position,this.scale),this.worldMatrixNeedsUpdate=!0}traverse(t){if(!t(this))for(let e=0,i=this.children.length;e<i;e++)this.children[e].traverse(t)}decompose(){this.matrix.decompose(this.quaternion._target,this.position,this.scale),this.rotation.fromQuaternion(this.quaternion)}lookAt(t,e=!1){e?this.matrix.lookAt(this.position,t,this.up):this.matrix.lookAt(t,this.position,this.up),this.matrix.getRotation(this.quaternion._target),this.rotation.fromQuaternion(this.quaternion)}}function U(t,e,i){let r=e[0],s=e[1],n=e[2],a=e[3],h=e[4],o=e[5],l=e[6],u=e[7],c=e[8],d=i[0],g=i[1],f=i[2],p=i[3],m=i[4],v=i[5],E=i[6],b=i[7],y=i[8];return t[0]=d*r+g*a+f*l,t[1]=d*s+g*h+f*u,t[2]=d*n+g*o+f*c,t[3]=p*r+m*a+v*l,t[4]=p*s+m*h+v*u,t[5]=p*n+m*o+v*c,t[6]=E*r+b*a+y*l,t[7]=E*s+b*h+y*u,t[8]=E*n+b*o+y*c,t}class X extends Array{constructor(t=1,e=0,i=0,r=0,s=1,n=0,a=0,h=0,o=1){return super(t,e,i,r,s,n,a,h,o),this}set(t,e,i,r,s,n,a,h,o){return t.length?this.copy(t):(this[0]=t,this[1]=e,this[2]=i,this[3]=r,this[4]=s,this[5
5]=n,this[6]=a,this[7]=h,this[8]=o,this)}translate(t,e=this){let i,r,s,n,a,h,o,l,u,c,d;return i=e[0],r=e[1],s=e[2],n=e[3],a=e[4],h=e[5],o=e[6],l=e[7],u=e[8],c=t[0],d=t[1],this[0]=i,this[1]=r,this[2]=s,this[3]=n,this[4]=a,this[5]=h,this[6]=c*i+d*n+o,this[7]=c*r+d*a+l,this[8]=c*s+d*h+u,this}rotate(t,e=this){let i,r,s,n,a,h,o,l,u,c,d;return i=e[0],r=e[1],s=e[2],n=e[3],a=e[4],h=e[5],o=e[6],l=e[7],u=e[8],c=Math.sin(t),d=Math.cos(t),this[0]=d*i+c*n,this[1]=d*r+c*a,this[2]=d*s+c*h,this[3]=d*n-c*i,this[4]=d*a-c*r,this[5]=d*h-c*s,this[6]=o,this[7]=l,this[8]=u,this}scale(t,e=this){let i,r;return i=t[0],r=t[1],this[0]=i*e[0],this[1]=i*e[1],this[2]=i*e[2],this[3]=r*e[3],this[4]=r*e[4],this[5]=r*e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this}multiply(t,e){return e?U(this,t,e):U(this,this,t),this}identity(){return this[0]=1,this[1]=0,this[2]=0,this[3]=0,this[4]=1,this[5]=0,this[6]=0,this[7]=0,this[8]=1,this}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this}fromMatrix4(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[4],this[4]=t[5],this[5]=t[6],this[6]=t[8],this[7]=t[9],this[8]=t[10],this}fromQuaternion(t){let e,i,r,s,n,a,h,o,l,u,c,d,g,f,p,m;return e=t[0],i=t[1],r=t[2],s=t[3],n=e+e,a=i+i,h=r+r,o=e*n,l=i*n,u=i*a,c=r*n,d=r*a,g=r*h,f=s*n,p=s*a,m=s*h,this[0]=1-u-g,this[3]=l-m,this[6]=c+p,this[1]=l+m,this[4]=1-o-g,this[7]=d-f,this[2]=c-p,this[5]=d+f,this[8]=1-o-u,this}fromBasis(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}inverse(t=this){let e,i,r,s,n,a,h,o,l,u,c,d,g;return e=t[0],i=t[1],r=t[2],s=t[3],n=t[4],a=t[5],h=t[6],o=t[7],(g=e*(u=(l=t[8])*n-a*o)+i*(c=-l*s+a*h)+r*(d=o*s-n*h))&&(g=1/g,this[0]=u*g,this[1]=(-l*i+r*o)*g,this[2]=(a*i-r*n)*g,this[3]=c*g,this[4]=(l*e-r*h)*g,this[5]=(-a*e+r*s)*g,this[6]=d*g,this[7]=(-o*e+i*h)*g,this[8]=(n*e-i*s)*g),this}getNormalMatrix(t){let e,i,r,s,n,a,h,o,l,u,c,d,g,f,p,m,v,E,b,y,x,w,_,A,T,M,S,R,C;return e=t[0],i=t[1],r=t[2],s=t[3],n=t[4],a=t[5],h=t[6],o=t[7],l=t[8],u=t[9],c=t[10],d=t[11],g=t[12],f=t[13],p=t[14],m=t[15],v=e*a-i*n,E=e*h-r*n,b=e*o-s*n,y=i*h-r*a,x=i*o-s*a,w=r*o-s*h,_=l*f-u*g,A=l*p-c*g,T=l*m-d*g,M=u*p-c*f,S=u*m-d*f,(C=v*(R=c*m-d*p)-E*S+b*M+y*T-x*A+w*_)&&(C=1/C,this[0]=(a*R-h*S+o*M)*C,this[1]=(h*T-n*R-o*A)*C,this[2]=(n*S-a*T+o*_)*C,this[3]=(r*S-i*R-s*M)*C,this[4]=(e*R-r*T+s*A)*C,this[5]=(i*T-e*S-s*_)*C,this[6]=(f*w-p*x+m*y)*C,this[7]=(p*b-g*w-m*E)*C,this[8]=(g*x-f*b+m*v)*C),this}}let q=0;class W extends I{constructor(t,{geometry:e,program:i,mode:r=t.TRIANGLES,frustumCulled:s=!0,renderOrder:n=0}={}){super(),t.canvas||console.error("gl not passed as first argument to Mesh"),this.gl=t,this.id=q++,this.geometry=e,this.program=i,this.mode=r,this.frustumCulled=s,this.renderOrder=n,this.modelViewMatrix=new D,this.normalMatrix=new X,this.beforeRenderCallbacks=[],this.afterRenderCallbacks=[]}onBeforeRender(t){return this.beforeRenderCallbacks.push(t),this}onAfterRender(t){return this.afterRenderCallbacks.push(t),this}draw({camera:t}={}){t&&(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=t.projectionMatrix,this.program.uniforms.cameraPosition.value=t.worldPosition,this.program.uniforms.viewMatrix.value=t.viewMatrix,this.modelViewMatrix.multiply(t.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),this.beforeRenderCallbacks.forEach(e=>e&&e({mesh:this,camera:t}));let e=this.program.cullFace&&0>this.worldMatrix.determinant();this.program.use({flipFaces:e}),this.geometry.draw({mode:this.mode,program:this.program}),this.afterRenderCallbacks.forEach(e=>e&&e({mesh:this,camera:t}))}}function Y(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t}function V(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t}function j(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t}function z(t){var e=t[0],i=t[1];return Math.sqrt(e*e+i*i)}function G(t,e){return t[0]*e[1]-t[1]*e[0]}class H extends Array{constructor(t=0,e=t){return super(t,e),this}get x(){return this[0]}get y(){return this[1]}set x(t){this[0]=t}set y(t){this[1]=t}set(t,e=t){return t.length?this.copy(t):(this[0]=t,this[1]=e,this)}copy(t){return this[0]=t[0],this[1]=t[1],this}add(t,e){return e?Y(this,t,e):Y(this,this,t),this}sub(t,e){return e?V(this,t,e):V(this,this,t),this}multiply(t){if(t.length)this[0]=this[0]*t[0],this[1]=this[1]*t[1];else j(this,this,t);return this}divide(t){if(t.length)this[0]=this[0]/t[0],this[1]=this[1]/t[1];else j(this,this,1/t);return this}inverse(t=this){return this[0]=1/t[0],this[1]=1/t[1],this}len(){return z(this)}distance(t){var e,i;return t?Math.sqrt((e=t[0]-this[0])*e+(i=t[1]-this[1])*i):z(this)}squaredLen(){return this.squaredDistance()}squaredDistance(t){var e,i,r,s;return t?(e=t[0]-this[0])*e+(i=t[1]-this[1])*i:(r=this[0])*r+(s=this[1])*s}negate(t=this){return this[0]=-t[0],this[1]=-t[1],this}cross(t,e){return e?G(t,e):G(this,t)}scale(t){return j(this,this,t),this}normalize(){var t,e,i;return(i=(t=this[0])*t+(e=this[1])*e)>0&&(i=1/Math.sqrt(i)),this[0]=this[0]*i,this[1]=this[1]*i,this}dot(t){return this[0]*t[0]+this[1]*t[1]}equals(t){return this[0]===t[0]&&this[1]===t[1]}applyMatrix3(t){var e,i;return e=this[0],i=this[1],this[0]=t[0]*e+t[3]*i+t[6],this[1]=t[1]*e+t[4]*i+t[7],this}applyMatrix4(t){let e,i;return e=this[0],i=this[1],this[0]=t[0]*e+t[4]*i+t[12],this[1]=t[1]*e+t[5]*i+t[13],this}lerp(t,e){var i,r;return i=this[0],r=this[1],this[0]=i+e*(t[0]-i),this[1]=r+e*(t[1]-r),this}smoothLerp(t,e,i){let r,s,n;return r=Math.exp(-e*i),s=this[0],n=this[1],this[0]=t[0]+(s-t[0])*r,this[1]=t[1]+(n-t[1])*r,this}clone(){return new H(this[0],this[1])}fromArray(t,e=0){return this[0]=t[e],this[1]=t[e+1],this}toArray(t=[],e=0){return t[e]=this[0],t[e+1]=this[1],t}}let $=new Uint8Array(4),Z=1;class K{constructor(t,{image:e,target:i=t.TEXTURE_2D,type:r=t.UNSIGNED_BYTE,format:s=t.RGBA,internalFormat:n=s,wrapS:a=t.CLAMP_TO_EDGE,wrapT:h=t.CLAMP_TO_EDGE,wrapR:o=t.CLAMP_TO_EDGE,generateMipmaps:l=i===(t.TEXTURE_2D||t.TEXTURE_CUBE_MAP),minFilter:u=l?t.NEAREST_MIPMAP_LINEAR:t.LINEAR,magFilter:c=t.LINEAR,premultiplyAlpha:d=!1,unpackAlignment:g=4,flipY:f=i==(t.TEXTURE_2D||t.TEXTURE_3D),anisotropy:p=0,level:m=0,width:v,height:E=v,length:b=1}={}){this.gl=t,this.id=Z++,this.image=e,this.target=i,this.type=r,this.format=s,this.internalFormat=n,this.minFilter=u,this.magFilter=c,this.wrapS=a,this.wrapT=h,this.wrapR=o,this.generateMipmaps=l,this.premultiplyAlpha=d,this.unpackAlignment=g,this.flipY=f,this.anisotropy=Math.min(p,this.gl.renderer.parameters.maxAnisotropy),this.level=m,this.width=v,this.height=E,this.length=b,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}bind(){this.glState.textureUnits[this.glState.activeTextureUnit]!==this.id&&(this.gl.bindTexture(this.target,this.texture),this.glState.textureUnits[this.glState.activeTextureUnit]=this.id)}update(t=0){let 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.wrapR!==this.state.wrapR&&(this.gl.texParameteri(this.target,this.gl.TEXTURE_WRAP_R,this.wrapR),this.state.wrapR=this.wrapR),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(let t=0;t<6;t++)this.gl.texImage2D(this.gl.TEXTURE_CUBE_MAP_POSITIVE_X+t,this.level,this.internalFormat,this.format,this.type,this.image[t]);else if(ArrayBuffer.isView(this.image))this.target===this.gl.TEXTURE_2D?this.gl.texImage2D(this.target,this.level,this.internalFormat,this.width,this.height,0,this.format,this.type,this.image):(this.target===this.gl.TEXTURE_2D_ARRAY||this.target===this.gl.TEXTURE_3D)&&this.gl.texImage3D(this.target,this.level,this.internalFormat,this.width,this.height,this.length,0,this.format,this.type,this.image);else if(this.image.isCompressedTexture)for(let t=0;t<this.image.length;t++)this.gl.compressedTexImage2D(this.target,t,this.internalFormat,this.image[t].width,this.image[t].height,0,this.image[t].data);else this.target===this.gl.TEXTURE_2D?this.gl.texImage2D(this.target,this.level,this.internalFormat,this.format,this.type,this.image):this.gl.texImage3D(this.target,this.level,this.internalFormat,this.width,this.height,this.length,0,this.format,this.type,this.image);if(this.generateMipmaps){var i,r;this.gl.renderer.isWebgl2||((i=this.image.width)&i-1)==0&&((r=this.image.height)&r-1)==0?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(let t=0;t<6;t++)this.gl.texImage2D(this.gl.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,this.gl.RGBA,1,1,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,$);else this.width?this.target===this.gl.TEXTURE_2D?this.gl.texImage2D(this.target,this.level,this.internalFormat,this.width,this.height,0,this.format,this.type,null):this.gl.texImage3D(this.target,this.level,this.internalFormat,this.width,this.height,this.length,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,$);this.store.image=this.image}}}class Q{constructor(t,{width:e=t.canvas.width,height:i=t.canvas.height,target:r=t.FRAMEBUFFER,color:s=1,depth:n=!0,stencil:a=!1,depthTexture:h=!1,wrapS:o=t.CLAMP_TO_EDGE,wrapT:l=t.CLAMP_TO_EDGE,wrapR:u=t.CLAMP_TO_EDGE,minFilter:c=t.LINEAR,magFilter:d=c,type:g=t.UNSIGNED_BYTE,format:f=t.RGBA,internalFormat:p=f,unpackAlignment:m,premultiplyAlpha:v}={}){this.gl=t,this.width=e,this.height=i,this.depth=n,this.stencil=a,this.buffer=this.gl.createFramebuffer(),this.target=r,this.gl.renderer.bindFramebuffer(this),this.textures=[];const E=[];for(let r=0;r<s;r++)this.textures.push(new K(t,{width:e,height:i,wrapS:o,wrapT:l,wrapR:u,minFilter:c,magFilter:d,type:g,format:f,internalFormat:p,unpackAlignment:m,premultiplyAlpha:v,flipY:!1,generateMipmaps:!1})),this.textures[r].update(),this.gl.framebufferTexture2D(this.target,this.gl.COLOR_ATTACHMENT0+r,this.gl.TEXTURE_2D,this.textures[r].texture,0),E.push(this.gl.COLOR_ATTACHMENT0+r);E.length>1&&this.gl.renderer.drawBuffers(E),this.texture=this.textures[0],h&&(this.gl.renderer.isWebgl2||this.gl.renderer.getExtension("WEBGL_depth_texture"))?(this.depthTexture=new K(t,{width:e,height:i,minFilter:this.gl.NEAREST,magFilter:this.gl.NEAREST,format:this.stencil?this.gl.DEPTH_STENCIL:this.gl.DEPTH_COMPONENT,internalFormat:t.renderer.isWebgl2?this.stencil?this.gl.DEPTH24_STENCIL8:this.gl.DEPTH_COMPONENT16:this.gl.DEPTH_COMPONENT,type:this.stencil?this.gl.UNSIGNED_INT_24_8:this.gl.UNSIGNED_INT}
5),this.depthTexture.update(),this.gl.framebufferTexture2D(this.target,this.stencil?this.gl.DEPTH_STENCIL_ATTACHMENT:this.gl.DEPTH_ATTACHMENT,this.gl.TEXTURE_2D,this.depthTexture.texture,0)):(n&&!a&&(this.depthBuffer=this.gl.createRenderbuffer(),this.gl.bindRenderbuffer(this.gl.RENDERBUFFER,this.depthBuffer),this.gl.renderbufferStorage(this.gl.RENDERBUFFER,this.gl.DEPTH_COMPONENT16,e,i),this.gl.framebufferRenderbuffer(this.target,this.gl.DEPTH_ATTACHMENT,this.gl.RENDERBUFFER,this.depthBuffer)),a&&!n&&(this.stencilBuffer=this.gl.createRenderbuffer(),this.gl.bindRenderbuffer(this.gl.RENDERBUFFER,this.stencilBuffer),this.gl.renderbufferStorage(this.gl.RENDERBUFFER,this.gl.STENCIL_INDEX8,e,i),this.gl.framebufferRenderbuffer(this.target,this.gl.STENCIL_ATTACHMENT,this.gl.RENDERBUFFER,this.stencilBuffer)),n&&a&&(this.depthStencilBuffer=this.gl.createRenderbuffer(),this.gl.bindRenderbuffer(this.gl.RENDERBUFFER,this.depthStencilBuffer),this.gl.renderbufferStorage(this.gl.RENDERBUFFER,this.gl.DEPTH_STENCIL,e,i),this.gl.framebufferRenderbuffer(this.target,this.gl.DEPTH_STENCIL_ATTACHMENT,this.gl.RENDERBUFFER,this.depthStencilBuffer))),this.gl.renderer.bindFramebuffer({target:this.target})}setSize(t,e){if(this.width!==t||this.height!==e){this.width=t,this.height=e,this.gl.renderer.bindFramebuffer(this);for(let i=0;i<this.textures.length;i++)this.textures[i].width=t,this.textures[i].height=e,this.textures[i].needsUpdate=!0,this.textures[i].update(),this.gl.framebufferTexture2D(this.target,this.gl.COLOR_ATTACHMENT0+i,this.gl.TEXTURE_2D,this.textures[i].texture,0);this.depthTexture?(this.depthTexture.width=t,this.depthTexture.height=e,this.depthTexture.needsUpdate=!0,this.depthTexture.update(),this.gl.framebufferTexture2D(this.target,this.gl.DEPTH_ATTACHMENT,this.gl.TEXTURE_2D,this.depthTexture.texture,0)):(this.depthBuffer&&(this.gl.bindRenderbuffer(this.gl.RENDERBUFFER,this.depthBuffer),this.gl.renderbufferStorage(this.gl.RENDERBUFFER,this.gl.DEPTH_COMPONENT16,t,e)),this.stencilBuffer&&(this.gl.bindRenderbuffer(this.gl.RENDERBUFFER,this.stencilBuffer),this.gl.renderbufferStorage(this.gl.RENDERBUFFER,this.gl.STENCIL_INDEX8,t,e)),this.depthStencilBuffer&&(this.gl.bindRenderbuffer(this.gl.RENDERBUFFER,this.depthStencilBuffer),this.gl.renderbufferStorage(this.gl.RENDERBUFFER,this.gl.DEPTH_STENCIL,t,e))),this.gl.renderer.bindFramebuffer({target:this.target})}}}let J=new p,tt=1,te=1,ti=!1;class tr{constructor(t,e={}){for(let i in t.canvas||console.error("gl not passed as first argument to Geometry"),this.gl=t,this.attributes=e,this.id=tt++,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,e)this.addAttribute(i,e[i])}addAttribute(t,e){if(this.attributes[t]=e,e.id=te++,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))}updateAttribute(t){let 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}setIndex(t){this.addAttribute("index",t)}setDrawRange(t,e){this.drawRange.start=t,this.drawRange.count=e}setInstancedCount(t){this.instancedCount=t}createVAO(t){this.VAOs[t.attributeOrder]=this.gl.renderer.createVertexArray(),this.gl.renderer.bindVertexArray(this.VAOs[t.attributeOrder]),this.bindAttributes(t)}bindAttributes(t){t.attributeLocations.forEach((t,{name:e,type:i})=>{if(!this.attributes[e])return void console.warn(`active attribute ${e} not being supplied`);let r=this.attributes[e];this.gl.bindBuffer(r.target,r.buffer),this.glState.boundBuffer=r.buffer;let s=1;35674===i&&(s=2),35675===i&&(s=3),35676===i&&(s=4);let n=r.size/s,a=1===s?0:s*s*4,h=1===s?0:4*s;for(let e=0;e<s;e++)this.gl.vertexAttribPointer(t+e,n,r.type,r.normalized,r.stride+a,r.offset+e*h),this.gl.enableVertexAttribArray(t
5+e),this.gl.renderer.vertexAttribDivisor(t+e,r.divisor)}),this.attributes.index&&this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,this.attributes.index.buffer)}draw({program:t,mode:e=this.gl.TRIANGLES}){this.gl.renderer.currentGeometry!==`${this.id}_${t.attributeOrder}`&&(this.VAOs[t.attributeOrder]||this.createVAO(t),this.gl.renderer.bindVertexArray(this.VAOs[t.attributeOrder]),this.gl.renderer.currentGeometry=`${this.id}_${t.attributeOrder}`),t.attributeLocations.forEach((t,{name:e})=>{let i=this.attributes[e];i.needsUpdate&&this.updateAttribute(i)});let i=2;this.attributes.index?.type===this.gl.UNSIGNED_INT&&(i=4),this.isInstanced?this.attributes.index?this.gl.renderer.drawElementsInstanced(e,this.drawRange.count,this.attributes.index.type,this.attributes.index.offset+this.drawRange.start*i,this.instancedCount):this.gl.renderer.drawArraysInstanced(e,this.drawRange.start,this.drawRange.count,this.instancedCount):this.attributes.index?this.gl.drawElements(e,this.drawRange.count,this.attributes.index.type,this.attributes.index.offset+this.drawRange.start*i):this.gl.drawArrays(e,this.drawRange.start,this.drawRange.count)}getPosition(){let t=this.attributes.position;return t.data?t:ti?void 0:(console.warn("No position buffer data found to compute bounds"),ti=!0)}computeBoundingBox(t){t||(t=this.getPosition());let e=t.data,i=t.size;this.bounds||(this.bounds={min:new p,max:new p,center:new p,scale:new p,radius:1/0});let r=this.bounds.min,s=this.bounds.max,n=this.bounds.center,a=this.bounds.scale;r.set(Infinity),s.set(-1/0);for(let t=0,n=e.length;t<n;t+=i){let i=e[t],n=e[t+1],a=e[t+2];r.x=Math.min(i,r.x),r.y=Math.min(n,r.y),r.z=Math.min(a,r.z),s.x=Math.max(i,s.x),s.y=Math.max(n,s.y),s.z=Math.max(a,s.z)}a.sub(s,r),n.add(r,s).divide(2)}computeBoundingSphere(t){t||(t=this.getPosition());let e=t.data,i=t.size;this.bounds||this.computeBoundingBox(t);let r=0;for(let t=0,s=e.length;t<s;t+=i)J.fromArray(e,t),r=Math.max(r,this.bounds.center.squaredDistance(J));this.bounds.radius=Math.sqrt(r)}remove(){for(let t in this.VAOs)this.gl.renderer.deleteVertexArray(this.VAOs[t]),delete this.VAOs[t];for(let t in this.attributes)this.gl.deleteBuffer(this.attributes[t].buffer),delete this.attributes[t]}}class ts extends tr{constructor(t,{attributes:e={}}={}){Object.assign(e,{position:{size:2,data:new Float32Array([-1,-1,3,-1,-1,3])},uv:{size:2,data:new Float32Array([0,0,2,0,0,2])}}),super(t,e)}}class tn{constructor(t,{size:e=128,falloff:i=.3,alpha:r=1,dissipation:s=.98,type:n}={}){const a=this;this.gl=t,this.uniform={value:null},this.mask={read:null,write:null,swap:()=>{let t=a.mask.read;a.mask.read=a.mask.write,a.mask.write=t,a.uniform.value=a.mask.read.texture}},function(){n||(n=t.HALF_FLOAT||t.renderer.extensions.OES_texture_half_float.HALF_FLOAT_OES);let i=t.renderer.isWebgl2||t.renderer.extensions[`OES_texture_${n===t.FLOAT?"":"half_"}float_linear`]?t.LINEAR:t.NEAREST,r={width:e,height:e,type:n,format:t.RGBA,internalFormat:t.renderer.isWebgl2?n===t.FLOAT?t.RGBA32F:t.RGBA16F:t.RGBA,minFilter:i,depth:!1};a.mask.read=new Q(t,r),a.mask.write=new Q(t,r),a.mask.swap()}(),this.aspect=1,this.mouse=new H,this.velocity=new H,this.mesh=new W(t,{geometry:new ts(t),program:new x(t,{vertex:ta,fragment:th,uniforms:{tMap:a.uniform,uFalloff:{value:.5*i},uAlpha:{value:r},uDissipation:{value:s},uAspect:{value:1},uMouse:{value:a.mouse},uVelocity:{value:a.velocity}},depthTest:!1})})}update(){this.mesh.program.uniforms.uAspect.value=this.aspect,this.gl.renderer.render({scene:this.mesh,target:this.mask.write,clear:!1}),this.mask.swap()}}let ta=`
6    attribute vec2 uv;
7    attribute vec2 position;
8
9    varying vec2 vUv;
10
11    void main() {
12        vUv = uv;
13        gl_Position = vec4(position, 0, 1);
14    }
15`,th=`
16    precision highp float;
17
18    uniform sampler2D tMap;
19
20    uniform float uFalloff;
21    uniform float uAlpha;
22    uniform float uDissipation;
23    
24    uniform float uAspect;
25    uniform vec2 uMouse;
26    uniform vec2 uVelocity;
27
28    varying vec2 vUv;
29
30    void main() {
31        vec4 color = texture2D(tMap, vUv) * uDissipation;
32
33        vec2 cursor = vUv - uMouse;
34        cursor.x *= uAspect;
35
36        vec3 stamp = vec3(uVelocity * vec2(1, -1), 1.0 - pow(1.0 - min(1.0, length(uVelocity)), 3.0));
37        float falloff = smoothstep(uFalloff, 0.0, length(cursor)) * uAlpha;
38
39        color.rgb = mix(color.rgb, stamp, vec3(falloff));
40
41        gl_FragColor = color;
42    }
43`;class to extends tr{constructor(t,{width:e=1,height:i=1,widthSegments:r=1,heightSegments:s=1,attributes:n={}}={}){const a=(r+1)*(s+1),h=r*s*6,o=new Float32Array(3*a),l=new Float32Array(3*a),u=new Float32Array(2*a),c=h>65536?new Uint32Array(h):new Uint16Array(h);to.buildPlane(o,l,u,c,e,i,0,r,s),Object.assign(n,{position:{size:3,data:o},normal:{size:3,data:l},uv:{size:2,data:u},index:{data:c}}),super(t,n)}static buildPlane(t,e,i,r,s,n,a,h,o,l=0,u=1,c=2,d=1,g=-1,f=0,p=0){let m=f,v=s/h,E=n/o;for(let b=0;b<=o;b++){let y=b*E-n/2;for(let n=0;n<=h;n++,f++){let E=n*v-s/2;if(t[3*f+l]=E*d,t[3*f+u]=y*g,t[3*f+c]=a/2,e[3*f+l]=0,e[3*f+u]=0,e[3*f+c]=a>=0?1:-1,i[2*f]=n/h,i[2*f+1]=1-b/o,b===o||n===h)continue;let x=m+n+b*(h+1),w=m+n+(b+1)*(h+1),_=m+n+(b+1)*(h+1)+1,A=m+n+b*(h+1)+1;r[6*p]=x,r[6*p+1]=w,r[6*p+2]=A,r[6*p+3]=w,r[6*p+4]=_,r[6*p+5]=A,p++}}}}var tl=t.i(883495);function tu(){for(var t=arguments.length,e=0;e<t;e++){var i=e<0||arguments.length<=e?void 0:arguments[e];1===i.nodeType||11===i.nodeType?this.appendChild(i):this.appendChild(document.createTextNode(String(i)))}}function tc(){for(;this.lastChild;)this.removeChild(this.lastChild);arguments.length&&this.append.apply(this,arguments)}function td(){for(var t=this.parentNode,e=arguments.length,i=Array(e),r=0;r<e;r++)i[r]=arguments[r];var s=i.length;if(t)for(s||t.removeChild(this);s--;){var n=i[s];"object"!=typeof n?n=this.ownerDocument.createTextNode(n):n.parentNode&&n.parentNode.removeChild(n),s?t.insertBefore(this.previousSibling,n):t.replaceChild(n,this)}}function tg(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function tf(t,e,i){return e&&tg(t.prototype,e),i&&tg(t,i),t}function tp(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),i.push.apply(i,r)}return i}function tm(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};
43e%2?tp(Object(i),!0).forEach(function(e){var r;r=i[e],e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):tp(Object(i)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))})}return t}function tv(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("u">typeof Symbol&&Symbol.iterator in Object(t)){var i=[],r=!0,s=!1,n=void 0;try{for(var a,h=t[Symbol.iterator]();!(r=(a=h.next()).done)&&(i.push(a.value),!e||i.length!==e);r=!0);}catch(t){s=!0,n=t}finally{try{r||null==h.return||h.return()}finally{if(s)throw n}}return i}}(t,e)||tb(t,e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function tE(t){return function(t){if(Array.isArray(t))return ty(t)}(t)||function(t){if("u">typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||tb(t)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function tb(t,e){if(t){if("string"==typeof t)return ty(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);if("Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i)return Array.from(t);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return ty(t,e)}}function ty(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,r=Array(e);i<e;i++)r[i]=t[i];return r}function tx(t,e){return Object.getOwnPropertyNames(Object(t)).reduce(function(i,r){var s=Object.getOwnPropertyDescriptor(Object(t),r),n=Object.getOwnPropertyDescriptor(Object(e),r);return Object.defineProperty(i,r,n||s)},{})}function tw(t){return"string"==typeof t}function t_(t){return Array.isArray(t)}function tA(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=tx(e);return void 0!==i.types?t=i.types:void 0!==i.split&&(t=i.split),void 0!==t&&(i.types=(tw(t)||t_(t)?String(t):"").split(",").map(function(t){return String(t).trim()}).filter(function(t){return/((line)|(word)|(char))/i.test(t)})),(i.absolute||i.position)&&(i.absolute=i.absolute||/absolute/.test(e.position)),i}function tT(t){var e=tw(t)||t_(t)?String(t):"";return{none:!e,lines:/line/i.test(e),words:/word/i.test(e),chars:/char/i.test(e)}}function tM(t){return null!==t&&"object"==typeof t}function tS(t){return tM(t)&&/^(1|3|11)$/.test(t.nodeType)}function tR(t){var e;return t_(t)?t:null==t?[]:tM(t)&&"number"==typeof(e=t.length)&&e>-1&&e%1==0?Array.prototype.slice.call(t):[t]}function tC(t){var e=t;return tw(t)&&(e=/^(#[a-z]\w+)$/.test(t.trim())?document.getElementById(t.trim().slice(1)):document.querySelectorAll(t)),tR(e).reduce(function(t,e){return[].concat(tE(t),tE(tR(e).filter(tS)))},[])}"u">typeof Element&&(Element.prototype.append||(Element.prototype.append=tu,DocumentFragment.prototype.append=tu),Element.prototype.replaceChildren||(Element.prototype.replaceChildren=tc,DocumentFragment.prototype.replaceChildren=tc),Element.prototype.replaceWith||(Element.prototype.replaceWith=td,DocumentFragment.prototype.replaceWith=td));
43var tF=Object.entries,tO="_splittype",tN={},tP=0;function tL(t,e,i){if(!tM(t))return console.warn("[data.set] owner is not an object"),null;var r=t[tO]||(t[tO]=++tP),s=tN[r]||(tN[r]={});return void 0===i?e&&Object.getPrototypeOf(e)===Object.prototype&&(tN[r]=tm(tm({},s),e)):void 0!==e&&(s[e]=i),i}function tD(t,e){var i=tM(t)?t[tO]:null,r=i&&tN[i]||{};return void 0===e?r:r[e]}function tB(t){var e=t&&t[tO];e&&(delete t[e],delete tN[e])}var tk="\\ud800-\\udfff",tI="\\u0300-\\u036f\\ufe20-\\ufe23",tU="\\u20d0-\\u20f0",tX="\\ufe0e\\ufe0f",tq="[".concat(tI).concat(tU,"]"),tW="\\ud83c[\\udffb-\\udfff]",tY="(?:".concat(tq,"|").concat(tW,")"),tV="[^".concat(tk,"]"),tj="(?:\\ud83c[\\udde6-\\uddff]){2}",tz="[\\ud800-\\udbff][\\udc00-\\udfff]",tG="\\u200d",tH="".concat(tY,"?"),t$="[".concat(tX,"]?"),tZ="(?:"+tG+"(?:"+[tV,tj,tz].join("|")+")"+t$+tH+")*",tK="(?:".concat(["".concat(tV).concat(tq,"?"),tq,tj,tz,"[".concat(tk,"]")].join("|"),"\n)"),tQ=RegExp("".concat(tW,"(?=").concat(tW,")|").concat(tK).concat(t$+tH+tZ),"g"),tJ=[tG,tk,tI,tU,tX],t0=RegExp("[".concat(tJ.join(""),"]"));function t1(t,e){var i=document.createElement(t);return e&&Object.keys(e).forEach(function(t){var r=e[t],s=tw(r)?r.trim():r;null!==s&&""!==s&&("children"===t?i.append.apply(i,tE(tR(s))):i.setAttribute(t,s))}),i}var t2={splitClass:"",lineClass:"line",wordClass:"word",charClass:"char",types:["lines","words","chars"],absolute:!1,tagName:"div"},t3=tx(t2,{}),t5=function(){function t(e,i){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.isSplit=!1,this.settings=tx(t3,tA(i)),this.elements=tC(e),this.split()}return tf(t,null,[{key:"clearData",value:function(){Object.keys(tN).forEach(function(t){delete tN[t]})}},{key:"setDefaults",value:function(t){return t3=tx(t3,tA(t)),t2}},{key:"revert",value:function(t){tC(t).forEach(function(t){var e=tD(t),i=e.isSplit,r=e.html,s=e.cssWidth,n=e.cssHeight;i&&(t.innerHTML=r,t.style.width=s||"",t.style.height=n||"",tB(t))})}},{key:"create",value:function(e,i){return new t(e,i)}},{key:"data",get:function(){return tN}},{key:"defaults",get:function(){return t3},set:function(t){t3=tx(t3,tA(t))}}]),tf(t,[{key:"split",value:function(t){var e=this;this.revert(),this.elements.forEach(function(t){tL(t,"html",t.innerHTML)}),this.lines=[],this.words=[],this.chars=[];var i=[window.pageXOffset,window.pageYOffset];void 0!==t&&(this.settings=tx(this.settings,tA(t)));var r=tT(this.settings.types);r.none||(this.elements.forEach(function(t){tL(t,"isRoot",!0);var i=function t(e,i){var r,s,n,a,h,o,l,u=e.nodeType,c={words:[],chars:[]};if(!/(1|3|11)/.test(u))return c;if(3===u&&/\S/.test(e.nodeValue))return s=tT((r=tx(t2,r=i)).types),n=r.tagName,a=e.nodeValue,h=document.createDocumentFragment(),o=[],l=[],/^\s/.test(a)&&h.append(" "),o=(function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:" ";return(t?String(t):"").trim().replace(/\s+/g," ").split(e)})(a).reduce(function(t,e,i,a){var o,u;return s.chars&&(u=(function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if((t=null==(i=t)?"":String(i))&&tw(t)&&!e&&(r=t,t0.test(r))){var i,r,s=t;return t0.test(s)?s.match(tQ)||[]:s.split("")}return t.split(e)})(e).map(function(t){var e=t1(n,{class:"".concat(r.splitClass," ").concat(r.charClass),style:"display: inline-block;",children:t});return tL(e,"isChar",!0),l=[].concat(tE(l),[e]),e})),s.words||s.lines?(tL(o=t1(n,{class:"".concat(r.wordClass," ").concat(r.splitClass),style:"display: inline-block; ".concat(s.words&&r.absolute?"position: relative;":""),children:s.chars?u:e}),{isWord:!0,isWordStart:!0,isWordEnd:!0}),h.appendChild(o)):u.forEach(function(t){h.appendChild(t)}),i<a.length-1&&h.append(" "),s.words?t.concat(o):t},[]),/\s$/.test(a)&&h.append(" "),e.replaceWith(h),{words:o,chars:l};var d=tR(e.childNodes);if(d.length&&(tL(e,"isSplit",!0),!tD(e).isRoot)){e.style.display="inline-block",e.style.position="relative";var g=e.nextSibling,f=e.previousSibling,p=e.textContent||"",m=g?g.textContent:" ",v=f?f.textContent:" ";tL(e,{isWordEnd:/\s$/.test(p)||/^\s/.test(m),isWordStart:/^\s/.test(p)||/\s$/.test(v)})}return d.reduce(function(e,r){var s=t(r,i),n=s.words,a=s.chars;return{words:[].concat(tE(e.words),tE(n)),chars:[].concat(tE(e.chars),tE(a))}},c)}(t,e.settings),r=i.words,s=i.chars;e.words=[].concat(tE(e.words),tE(r)),e.chars=[].concat(tE(e.chars),tE(s))}
43),this.elements.forEach(function(t){if(r.lines||e.settings.absolute){var s,n,a,h,o,l,u,c,d,g,f,p,m,v,E,b,y,x=(s=e.settings,o=tT(s.types),l=s.tagName,u=t.getElementsByTagName("*"),c=[],d=[],g=null,f=[],p=t.parentElement,m=t.nextElementSibling,v=document.createDocumentFragment(),b=(E=window.getComputedStyle(t)).textAlign,y=.2*parseFloat(E.fontSize),s.absolute&&(h={left:t.offsetLeft,top:t.offsetTop,width:t.offsetWidth},a=t.offsetWidth,n=t.offsetHeight,tL(t,{cssWidth:t.style.width,cssHeight:t.style.height})),tR(u).forEach(function(e){var r=e.parentElement===t,n=function(t,e,i,r){if(!i.absolute)return{top:e?t.offsetTop:null};var s=t.offsetParent,n=tv(r,2),a=n[0],h=n[1],o=0,l=0;if(s&&s!==document.body){var u=s.getBoundingClientRect();o=u.x+a,l=u.y+h}var c=t.getBoundingClientRect(),d=c.width,g=c.height,f=c.x;return{width:d,height:g,top:c.y+h-l,left:f+a-o}}(e,r,s,i),a=n.width,h=n.height,l=n.top,u=n.left;!/^br$/i.test(e.nodeName)&&(o.lines&&r&&((null===g||l-g>=y)&&(g=l,c.push(d=[])),d.push(e)),s.absolute&&tL(e,{top:l,left:u,width:a,height:h}))}),p&&p.removeChild(t),o.lines&&(f=c.map(function(t){var e=t1(l,{class:"".concat(s.splitClass," ").concat(s.lineClass),style:"display: block; text-align: ".concat(b,"; width: 100%;")});tL(e,"isLine",!0);var i={height:0,top:1e4};return v.appendChild(e),t.forEach(function(t,r,s){var n=tD(t),a=n.isWordEnd,h=n.top,o=n.height,l=s[r+1];i.height=Math.max(i.height,o),i.top=Math.min(i.top,h),e.appendChild(t),a&&tD(l).isWordStart&&e.append(" ")}),s.absolute&&tL(e,{height:i.height,top:i.top}),e}),o.words||function t(e){tD(e).isWord?(tB(e),e.replaceWith.apply(e,tE(e.childNodes))):tR(e.children).forEach(function(e){return t(e)})}(v),t.replaceChildren(v)),s.absolute&&(t.style.width="".concat(t.style.width||a,"px"),t.style.height="".concat(n,"px"),tR(u).forEach(function(t){var e=tD(t),i=e.isLine,r=e.top,s=e.left,n=e.width,a=e.height,o=tD(t.parentElement),l=!i&&o.isLine;t.style.top="".concat(l?r-o.top:r,"px"),t.style.left=i?"".concat(h.left,"px"):"".concat(s-(l?h.left:0),"px"),t.style.height="".concat(a,"px"),t.style.width=i?"".concat(h.width,"px"):"".concat(n,"px"),t.style.position="absolute"})),p&&(m?p.insertBefore(t,m):p.appendChild(t)),f);e.lines=[].concat(tE(e.lines),tE(x))}}),this.isSplit=!0,window.scrollTo(i[0],i[1]),tF(tN).forEach(function(t){var e=tv(t,2),i=e[0],r=e[1],s=r.isRoot,n=r.isSplit;s&&n||(tN[i]=null,delete tN[i])}))}},{key:"revert",value:function(){this.isSplit&&(this.lines=null,this.words=null,this.chars=null,this.isSplit=!1),t.revert(this.elements)}}]),t}(),t4=t.i(989970);t4.default.registerPlugin(tl.ScrollTrigger);let t6=(t,e)=>{t4.default.utils.toArray(t).forEach(t=>{t4.default.set(t,{willChange:"transform",y:-180,scale:.95,opacity:0}),t4.default.to(t,{y:0,scale:1,opacity:1,transformOrigin:"center top",ease:"none",scrollTrigger:{trigger:t,start:"top center",end:"bottom 100%",scrub:e}})})},t8=()=>{t4.default.matchMedia().add("(min-width: 1199px)",()=>{t6(".about-skew-anim",1.2)})},t9=()=>{t4.default.matchMedia().add("(min-width: 1199px)",()=>{t6(".brand-skew-anim",3)})},t7=()=>{t4.default.matchMedia().add("(min-width: 1199px)",()=>{let t=document.querySelectorAll(".px-portfolio-panel"),e=t4.default.timeline();t.forEach((i,r)=>{t4.default.set(t,{scale:1}),e.to(i,{scale:.8,scrollTrigger:{trigger:i,pin:!0,scrub:1,start:"top 30px",end:"bottom 100%",endTrigger:".px-portfolio-wrap",pinSpacing:!1,markers:!1}})})})};class et{elements;constructor(t=".text-effect"){this.elements=document.querySelectorAll(t),this.init()}getScrollTrigger(t,e){return{trigger:t,start:t.dataset.start||e.start,end:t.dataset.end||e.end,scrub:"true"===t.dataset.scrub||e.scrub,pin:"true"===t.dataset.pin||e.pin}}async applyEffect28(e){let i=(0,(await t.A(880954)).default)({target:e,by:"chars"})[0];if(!i?.chars)return;let r=i.chars,s=Math.ceil(r.length/2),n=parseFloat(e.dataset.onScroll||"1");r.forEach((t,i)=>{let a=i<s?i:s-Math.abs(Math.floor(r.length/2)-i)-1;t4.default.fromTo(t,{transformOrigin:"50% 100%",scale:.5,y:t4.default.utils.mapRange(0,s,0,60,a)*n,rotation:(i<s?t4.default.utils.mapRange(0,s,-4,0,a):t4.default.utils.mapRange(0,s,0,4,a))*n,filter:"blur(12px) opacity(0)"},{ease:"power2.inOut",y:0,rotation:0,scale:1,filter:"blur(0px) opacity(1)",scrollTrigger:this.getScrollTrigger(e,{start:"top bottom+=40%",end:"top top+=15%",scrub:!0,pin:!1}),stagger:{amount:.15,from:"center"}})})}
43init(){this.elements.forEach(t=>this.applyEffect28(t))}}let ee=(t=".text-effect")=>{new et(t)},ei=()=>{let t=document.querySelectorAll(".header-fixed");t&&0!==t.length&&t.forEach(t=>{let e=t.querySelector(".px-header-logo-anim");e&&t4.default.timeline({scrollTrigger:{trigger:t,start:"top top",end:"bottom top",scrub:1,onUpdate:e=>{100-89*e.progress<=11.5?t.classList.add("sticky-bg"):t.classList.remove("sticky-bg")}}}).fromTo(e,{width:"100%"},{width:"95px",ease:"power2.out"})})},er=()=>{t4.default.matchMedia().add("(min-width: 1199px)",()=>{let t={scrub:1,start:"top 0%",end:"bottom 80%",endTrigger:".px-step-area",pinSpacing:!1,markers:!1};document.querySelectorAll(".px-step-item").forEach((e,i)=>{t4.default.to(e,{scrollTrigger:{trigger:e,pin:e,...t}})}),document.querySelectorAll(".px-step-card").forEach((e,i)=>{t4.default.to(e,{rotate:i%2==0?-5:5,scrollTrigger:{trigger:e,pin:e,...t,start:"top 20%",end:"bottom 80%"}})})})},es=()=>{let t=document.querySelector(".px-project-6-img-wrap"),e=document.querySelector(".px-project-6-img-slider"),i=t4.default.utils.toArray(".px-project-6-item");if(t&&e&&i.length){let r=100/e.children.length;i.forEach(i=>{i.addEventListener("mouseenter",()=>{t4.default.to(t,{opacity:1,duration:.5,ease:"power2.out"})}),i.addEventListener("mouseleave",()=>{t4.default.to(t,{opacity:0,duration:.5,ease:"power2.in"})}),i.addEventListener("mousemove",()=>{let t=Number(i.dataset.indexNumber);t4.default.to(e,{y:-(r*t)+"%",duration:.6,ease:"power2.out"})})});let s=document.querySelector(".px-project-6-wrap");s&&s.addEventListener("mousemove",e=>{let i=s.getBoundingClientRect(),r=e.clientX-i.left,n=e.clientY-i.top,a=t.cloneNode(!0);a.style.position="absolute",a.style.pointerEvents="none",a.style.opacity="0.4",a.style.top="0",a.style.left="0",a.style.transform="translate(-50%, -50%)",s.appendChild(a),t4.default.set(a,{x:r,y:n,scale:.9}),t4.default.to(a,{opacity:0,scale:1.2,duration:.6,ease:"power2.out",onComplete:()=>a.remove()}),t4.default.to(t,{x:r,y:n,duration:.3,ease:"power3.out"})})}},en=()=>{document.querySelectorAll(".reveal-text").forEach(t=>{let e=new t5(t,{types:"words,chars"});t4.default.fromTo(e.chars,{className:"char"},{className:"char revealed",scrollTrigger:{trigger:t,start:"top 80%",end:"top 20%",scrub:!0,markers:!1},stagger:.1})})},ea=()=>{let t=document.querySelectorAll(".project-item.project-style-3.hover-play");if(!t.length)return;t.forEach(t=>{t.style.perspective="1500px",t.style.transformStyle="preserve-3d",t.style.overflow="visible",t.style.willChange="transform"});let e=!1,i=()=>{let e=window.innerWidth<1024,i=window.innerHeight;t.forEach(t=>{let r=t.querySelector(".project-item-inner");if(!r)return;let s=r.querySelector(".bf-portfolio-post-thumbnail img");if(e){r.style.transform="translateZ(0)",s&&(s.style.transform="translateZ(0)");return}let n=t.getBoundingClientRect(),a=(n.top+n.height/2-i/2)/(i/2),h=-(25*(a=Math.min(1,Math.max(-1,a)))),o=1-.08*Math.abs(a);if(r.style.transform=`
44        translateZ(0)
45        rotateX(${h.toFixed(2)}deg)
46        scale(${o.toFixed(3)})
47      `,r.style.transition="transform 0.5s cubic-bezier(0.22, 1, 0.36, 1)",s){let t=10*a;s.style.transform=`translateY(${t.toFixed(2)}px)`,s.style.transition="transform 0.5s cubic-bezier(0.22, 1, 0.36, 1)"}})},r=()=>{e||(e=!0,requestAnimationFrame(()=>{i(),e=!1}))};return requestAnimationFrame(i),window.addEventListener("scroll",r,{passive:!0}),window.addEventListener("resize",r),()=>{window.removeEventListener("scroll",r),window.removeEventListener("resize",r)}},eh=()=>{if(window.innerWidth>767){let t=document.querySelector(".bf-portfolio-sticky-area"),e=document.querySelector(".bf-portfolio-text-sticky");if(t&&e){let i=t4.default.timeline({scrollTrigger:{trigger:t,start:"top center-=200",pin:e,end:"bottom bottom+=10",markers:!1,pinSpacing:!1,scrub:1}});i.to(e,{scale:.6,duration:1}),i.to(e,{scale:.6,duration:1}),i.to(e,{scale:.6,duration:1},"+=2"),t4.default.to(e,{scrollTrigger:{trigger:t,start:"top center-=100",end:"bottom bottom+=10",scrub:1}})}}},eo=()=>{document.querySelectorAll(".hover-reveal-item").forEach(t=>{t.addEventListener("mousemove",e=>{let i,r,s,n;i=t.getBoundingClientRect(),r=e.clientX-i.x,s=e.clientY-i.y,(n=t.children[1])&&(n.style.transform=`translate(${r}px, ${s}px)`)})})},el=()=>{t4.default.matchMedia().add("(min-width: 991px)",()=>{document.querySelectorAll(".design-award-item").forEach(function(t){t.addEventListener("mouseenter",function(){t4.default.to(t,{width:"100%",duration:2,ease:"expo.out"})}),t.addEventListener("mouseleave",function(){t4.default.to(t,{width:"70%",duration:2,ease:"expo.out"})})})})},eu=()=>{let t=t4.default.matchMedia();document.querySelectorAll(".bf-item-anime").length>0&&t.add("(min-width: 1200px)",()=>{t4.default.set(".bf-item-anime.marque",{x:"-23%"}),t4.default.timeline({scrollTrigger:{trigger:".bf-hero-anime-area",start:"-100 10%",end:"bottom 20%",scrub:!0,invalidateOnRefresh:!0}}).to(".bf-item-anime.marque",{x:"100%"})}),document.querySelectorAll(".bf-item-anime-md").length>0&&t.add("(min-width: 1200px)",()=>{t4.default.set(".bf-item-anime-md.marque",{x:"40%"}),t4.default.timeline({scrollTrigger:{trigger:".bf-hero-anime-area",start:"-100 20%",end:"bottom 20%",scrub:!0,invalidateOnRefresh:!0}}).to(".bf-item-anime-md.marque",{x:"-100%"})})},ec=()=>{t4.default.matchMedia().add("(min-width: 991px)",()=>{document.querySelectorAll(".title-box").forEach(t=>{let e=t.querySelectorAll(".tp-text-right-scroll"),i=t4.default.timeline({scrollTrigger:{trigger:t,start:"top 100%",end:"bottom top",scrub:!0,markers:!1}});e.length&&i.fromTo(e,{xPercent:50},{xPercent:-20,ease:"power1.out"},0)})})},ed=()=>{document.querySelector(".bf-portfolio-3-item")&&t4.default.matchMedia().add("(min-width: 991px)",()=>{t4.default.set(".bf-portfolio-3-thumb.item-1",{x:400,rotate:10}),t4.default.set(".bf-portfolio-3-thumb.item-2",{x:-400,rotate:-10}),document.querySelectorAll(".bf-portfolio-3-item").forEach(t=>{t4.default.timeline({scrollTrigger:{trigger:t,start:"top 100%",end:"bottom center",scrub:1}}).to(t.querySelector(".bf-portfolio-3-thumb.item-1"),{x:0,rotate:0}).to(t.querySelector(".bf-portfolio-3-thumb.item-2"),{x:0,rotate:0},0)})})},eg=()=>{let t=document.querySelector(".bf-instagram-area");t&&t4.default.matchMedia().add("(min-width: 1200px)",()=>{t4.default.timeline({scrollTrigger:{trigger:t,start:"top 30%",pin:!0,markers:!1,scrub:1,pinSpacing:!1,end:"bottom 100%"}}).to(".bf-instagram-thumb img",{width:"580px",height:"580px",borderRadius:"10px"})})},ef=()=>{document.querySelectorAll(".bf-btn-rounded").forEach(t=>{t.addEventListener("mouseenter",t=>{let e=t.currentTarget,i=e.getBoundingClientRect(),r=t.clientX-i.left,s=t.clientY-i.top,n=e.querySelector(".bf-btn-circle-dot");n&&(n.style.top=`${s}px`,n.style.left=`${r}px`)})});let t=t4.default.utils.toArray(".btn_wrapper, #btn_wrapper"),e=t4.default.utils.toArray(".btn-item");t.length&&e.length&&t.forEach((t,i)=>{let r=e[i];r&&(t.addEventListener("mousemove",e=>{let i=t.getBoundingClientRect(),s=e.clientX-i.left,n=e.clientY-i.top;t4.default.to(r,{duration:.5,x:(s-i.width/2)/i.width*80,y:(n-i.height/2)/i.height*80,ease:"power2.out"})}),t.addEventListener("mouseleave",()=>{t4.default.to(r,{duration:.5,x:0,y:0,ease:"power2.out"})}))})},ep=()=>{t4.default.matchMedia().add("(min-width: 992px)",()=>{let t=t4.default.timeline();
47document.querySelectorAll(".tp-inner-service-area").forEach(e=>{t.to(e,{scrollTrigger:{trigger:".tp-inner-service-area",pin:".inner-service-1-left",scrub:1,start:"top 80px",end:"bottom 100%",endTrigger:".tp-inner-service-area",pinSpacing:!1,markers:!1}})})})},em=()=>{t4.default.matchMedia().add("(min-width: 1199px)",()=>{t4.default.utils.toArray([".hero-skew-anim",".service-skew-anim"]).forEach(t=>{t4.default.set(t,{willChange:"transform",opacity:1,transform:"none"}),t4.default.to(t,{y:180,scale:.95,rotateX:-50,transformOrigin:"center top",ease:"none",scrollTrigger:{trigger:t,start:"top top",end:"bottom top",scrub:!0}})})})},ev={"/startup-agency":[t8,t9,em,ee],"/home":[t7,ee],"/":[t7,ee],"/modern-agency":[ee],"/creative-agency":[ei,ee,er],"/personal-portfolio":[es],"/minimal-portfolio":[en,ea,eh,eo,el,function(t=".tp-image-distortion"){let e=document.querySelector(t);if(!e||e.querySelector("canvas"))return;let i=e.getAttribute("data-background")??"",r=`
48    attribute vec2 uv;
49    attribute vec2 position;
50    varying vec2 vUv;
51
52    void main() {
53      vUv = uv;
54      gl_Position = vec4(position, 0.0, .45);
55    }
56  `,s=`
57    precision highp float;
58
59    uniform sampler2D tImage;
60    uniform sampler2D tFlow;
61
62    varying vec2 vUv;
63
64    void main() {
65
66      vec3 flow = texture2D(tFlow, vUv).rgb;
67
68      vec2 uv = vUv;
69
70      uv += (flow.rg * flow.b * 50.0);
71
72      vec3 tex = texture2D(tImage, uv).rgb;
73
74      gl_FragColor.rgb = tex;
75      gl_FragColor.a = 1.0;
76    }
77  `,n=new E({dpr:Math.min(window.devicePixelRatio,2),alpha:!0}),a=n.gl;e.appendChild(a.canvas),a.canvas.style.position="absolute",a.canvas.style.top="0",a.canvas.style.left="0",a.canvas.style.width="100%",a.canvas.style.height="100%",a.canvas.style.pointerEvents="none";let h=new H(.5,.5),o=new H(.5,.5),l=new H,u=1;function c(){let t=e.getBoundingClientRect();u=t.width/t.height,n.setSize(t.width,t.height),a.canvas.width=t.width,a.canvas.height=t.height}window.addEventListener("resize",c),c();let d=new tn(a,{falloff:.3,dissipation:.95,size:1024}),g=new to(a),f=new K(a),p=new Image;p.crossOrigin="anonymous",p.onload=()=>{f.image=p,f.minFilter=a.LINEAR,f.magFilter=a.LINEAR,f.wrapS=a.CLAMP_TO_EDGE,f.wrapT=a.CLAMP_TO_EDGE},p.src=i;let m=new x(a,{vertex:r,fragment:s,uniforms:{tImage:{value:f},tFlow:d.uniform}}),v=new W(a,{geometry:g,program:m});function b(t){let i=e.getBoundingClientRect(),r="touches"in t?t.touches[0].clientX:t.clientX,s="touches"in t?t.touches[0].clientY:t.clientY;h.set((r-i.left)/i.width,1-(s-i.top)/i.height)}function y(t){t.touches.length>0&&b(t)}e.addEventListener("mousemove",b),e.addEventListener("touchmove",y);let w=0;return!function t(){let e=new H;e.copy(h).sub(o).multiply(.04),l.add(e).multiply(.8),o.add(l),d.mouse.copy(o),d.velocity.copy(l),d.aspect=u,d.update(),n.render({scene:v}),w=requestAnimationFrame(t)}(),()=>{cancelAnimationFrame(w),window.removeEventListener("resize",c),e.removeEventListener("mousemove",b),e.removeEventListener("touchmove",y),a.canvas.remove()}}],"/digital-studio":[en,eu,ec,ed,el,eo,eg,ef],"/service-1":[er],"/service-2":[ep],"/portfolio-1":[ei],"/portfolio-3":[es],"/portfolio-6":[t7],"/portfolio-details-2":[eo],"/dark/startup-agency":[t8,t9,em],"/dark/design-studio":[t7,ee],"/dark/modern-agency":[ee],"/dark/creative-agency":[ei,ee,er],"/dark/personal-portfolio":[es],"/dark/minimal-portfolio":[en,ea,eh,eo,el],"/dark/digital-studio":[en,eu,ec,ed,el,eo,eg,ef],"/dark/service-1":[er],"/dark/service-2":[ep],"/dark/portfolio-1":[ei],"/dark/portfolio-3":[es],"/dark/portfolio-6":[t7],"/dark/portfolio-details-2":[eo]};var eE=t.i(618566),eb=t.i(271645);t4.default.registerPlugin(tl.ScrollTrigger),t.s(["default",0,({children:t})=>{let e=(0,eE.usePathname)();return(0,eb.useEffect)(()=>{if(!e)return;let t=[],i=requestAnimationFrame(()=>{t4.default.utils.toArray(".px-fade-anim").forEach(t=>{let e=parseFloat(t.dataset.fadeOffset||"40"),i=parseFloat(t.dataset.duration||"0.75"),r=t.dataset.fadeFrom||"bottom",s="0"!==t.dataset.onScroll,n=parseFloat(t.dataset.delay||"0.15"),a={opacity:0,ease:t.dataset.ease||"power2.out",duration:i,delay:n,x:"left"===r?-e:"right"===r?e:0,y:"top"===r?-e:"bottom"===r?e:0};s&&(a.scrollTrigger={trigger:t,start:"top 85%",toggleActions:"play none none none"}),t4.default.from(t,a)}),Object.entries(ev).forEach(([i,r])=>{("/"===i?"/"===e:e===i||e.startsWith(`${i}
77/`))&&r.forEach(e=>{let i=e();"function"==typeof i&&t.push(i)})}),tl.ScrollTrigger.refresh()});return()=>{cancelAnimationFrame(i),t.forEach(t=>t()),tl.ScrollTrigger.getAll().forEach(t=>t.kill())}},[e]),(0,s.jsx)(s.Fragment,{children:t})}],657622);var ey=t.i(174080);function ex(){return(ex=Object.assign.bind()).apply(null,arguments)}function ew(t,e){if(null==t)return{};var i={};for(var r in t)if(({}).hasOwnProperty.call(t,r)){if(e.includes(r))continue;i[r]=t[r]}return i}function e_(t){var e=(0,eb.useRef)({fn:t,curr:void 0}).current;if(e.fn=t,!e.curr){var i=Object.create(null);Object.keys(t).forEach(function(t){i[t]=function(){var i;return(i=e.fn[t]).call.apply(i,[e.fn].concat([].slice.call(arguments)))}}),e.curr=i}return e.curr}function eA(t){return(0,eb.useReducer)(function(t,e){return ex({},t,"function"==typeof e?e(t):e)},t)}var eT=(0,eb.createContext)(void 0),eM="cubic-bezier(0.25, 0.8, 0.25, 1)",eS="u">typeof window&&"ontouchstart"in window,eR=function(t,e,i){return Math.max(Math.min(t,i),e)},eC=function(t,e,i){return void 0===e&&(e=0),void 0===i&&(i=0),eR(t,+(1-i),Math.max(6,e)*(1+i))},eF="u"<typeof window||/ServerSideRendering/.test(navigator&&navigator.userAgent)?eb.useEffect:eb.useLayoutEffect;function eO(t,e,i){var r=(0,eb.useRef)(e);r.current=e,(0,eb.useEffect)(function(){function e(t){r.current(t)}return t&&window.addEventListener(t,e,i),function(){t&&window.removeEventListener(t,e)}},[t])}var eN=["container"];function eP(t){var e=t.container,i=void 0===e?document.body:e,r=ew(t,eN);return(0,ey.createPortal)(eb.default.createElement("div",ex({},r)),i)}function eL(t){return eb.default.createElement("svg",ex({width:"44",height:"44",viewBox:"0 0 768 768"},t),eb.default.createElement("path",{d:"M607.5 205.5l-178.5 178.5 178.5 178.5-45 45-178.5-178.5-178.5 178.5-45-45 178.5-178.5-178.5-178.5 45-45 178.5 178.5 178.5-178.5z"}))}function eD(t){return eb.default.createElement("svg",ex({width:"44",height:"44",viewBox:"0 0 768 768"},t),eb.default.createElement("path",{d:"M640.5 352.5v63h-390l178.5 180-45 45-256.5-256.5 256.5-256.5 45 45-178.5 180h390z"}))}function eB(t){return eb.default.createElement("svg",ex({width:"44",height:"44",viewBox:"0 0 768 768"},t),eb.default.createElement("path",{d:"M384 127.5l256.5 256.5-256.5 256.5-45-45 178.5-180h-390v-63h390l-178.5-180z"}))}function ek(){return(0,eb.useEffect)(function(){var t=document.body.style,e=t.overflow;return t.overflow="hidden",function(){t.overflow=e}},[]),null}function eI(t){var e=t.touches[0],i=e.clientX,r=e.clientY;if(t.touches.length>=2){var s=t.touches[1],n=s.clientX,a=s.clientY;return[(i+n)/2,(r+a)/2,Math.sqrt(Math.pow(n-i,2)+Math.pow(a-r,2))]}return[i,r,0]}var eU=function(t,e,i,r){var s,n=i*e,a=(n-r)/2,h=t;return n<=r?(s=1,h=0):t>0&&a-t<=0?(s=2,h=a):t<0&&a+t<=0&&(s=3,h=-a),[s,h]};function eX(t,e,i,r,s,n,a,h,o,l){void 0===a&&(a=innerWidth/2),void 0===h&&(h=innerHeight/2),void 0===o&&(o=0),void 0===l&&(l=0);var u=eU(t,n,i,innerWidth)[0],c=eU(e,n,r,innerHeight),d=innerWidth/2,g=innerHeight/2;return{x:a-n/s*(a-(d+t))-d+(r/i>=3&&i*n===innerWidth?0:u?o/2:o),y:h-n/s*(h-(g+e))-g+(c[0]?l/2:l),lastCX:a,lastCY:h}}function eq(t,e,i){var r=t%180!=0;return r?[i,e,r]:[e,i,r]}function eW(t,e,i){var r=eq(i,innerWidth,innerHeight),s=r[0],n=r[1],a=0,h=s,o=n,l=t/e*n,u=e/t*s;return t<s&&e<n?(h=t,o=e):t<s&&e>=n?h=l:t>=s&&e<n||t/e>s/n?o=u:e/t>=3&&!r[2]?a=((o=u)-n)/2:h=l,{width:h,height:o,x:0,y:a,pause:!0}}function eY(t,e){var i=e.leading,r=void 0!==i&&i,s=e.maxWait,n=e.wait,a=void 0===n?s||0:n,h=(0,eb.useRef)(t);h.current=t;var o=(0,eb.useRef)(0),l=(0,eb.useRef)(),u=function(){return l.current&&clearTimeout(l.current)},c=(0,eb.useCallback)(function(){var t=[].slice.call(arguments),e=Date.now();function i(){o.current=e,u(),h.current.apply(null,t)}var n=o.current,c=e-n;if(0===n&&(r&&i(),o.current=e),void 0!==s){if(c>s)return void i()}else c<a&&(o.current=e);u(),l.current=setTimeout(function(){i(),o.current=0},a)},[a,s,r]);return c.cancel=u,c}var eV=function(t,e,i){return ez(t,e,i,100,function(t){return t},function(){return ez(e,t,i)})},ej=function(t){return 1-Math.pow(1-t,4)};function ez(t,e,i,r,s,n){void 0===r&&(r=400),void 0===s&&(s=ej);var a=e-t;if(0!==a){var h=Date.now(),o=0,l=function(){var e=Math.min(1,(Date.now()-h)/r);i(t+s(e)*a)&&e<1?u():(cancelAnimationFrame(o),e>=1&&n&&n())};u()}function u(){o=requestAnimationFrame(l)}}var eG={T:0,L:0,W:0,H:0,FIT:void 0},eH=function(){var t=(0,eb.useRef)(!1);return(0,eb.useEffect)(function(){return t.current=!0,function(){t.current=!1}},[]),t},e$=["className"];function eZ(t){var e=t.className,i=ew(t,e$);return eb.default.createElement("div",ex({className:"PhotoView__Spinner "+(void 0===e?"":e)},i),eb.default.createElement("svg",{viewBox:"0 0 32 32",width:"36",height:"36",fill:"white"},eb.default.createElement("path",{opacity:".25",d:"M16 0 A16 16 0 0 0 16 32 A16 16 0 0 0 16 0 M16 4 A12 12 0 0 1 16 28 A12 12 0 0 1 16 4"}),eb.default.createElement("path",{d:"M16 0 A16 16 0 0 1 32 16 L28 16 A12 12 0 0 0 16 4z"})))}var eK=["src","loaded","broken","className","onPhotoLoad","loadingElement","brokenElement"];function eQ(t){var e=t.src,i=t.loaded,r=t.broken,s=t.className,n=t.onPhotoLoad,a=t.loadingElement,h=t.brokenElement,o=ew(t,eK),l=eH();return e&&!r?eb.default.createElement(eb.default.Fragment,null,eb.default.createElement("img",ex({className:"PhotoView__Photo"+(s?" "+s:""),src:e,onLoad:function(t){var e=t.target;
77l.current&&n({loaded:!0,naturalWidth:e.naturalWidth,naturalHeight:e.naturalHeight})},onError:function(){l.current&&n({broken:!0})},draggable:!1,alt:""},o)),!i&&(a?eb.default.createElement("span",{className:"PhotoView__icon"},a):eb.default.createElement(eZ,{className:"PhotoView__icon"}))):h?eb.default.createElement("span",{className:"PhotoView__icon"},"function"==typeof h?h({src:e}):h):null}var eJ={naturalWidth:void 0,naturalHeight:void 0,width:void 0,height:void 0,loaded:void 0,broken:!1,x:0,y:0,touched:!1,maskTouched:!1,rotate:0,scale:1,CX:0,CY:0,lastX:0,lastY:0,lastCX:0,lastCY:0,lastScale:1,touchTime:0,touchLength:0,pause:!0,stopRaf:!0,reach:void 0};function e0(t){var e,i,r,s,n,a,h,o,l,u,c,d,g,f,p,m,v,E,b,y,x,w,_,A,T,M,S,R,C,F,O,N,P,L=t.item,D=L.src,B=L.render,k=L.width,I=void 0===k?0:k,U=L.height,X=void 0===U?0:U,q=L.originRef,W=t.visible,Y=t.speed,V=t.easing,j=t.wrapClassName,z=t.className,G=t.style,H=t.loadingElement,$=t.brokenElement,Z=t.onPhotoTap,K=t.onMaskTap,Q=t.onReachMove,J=t.onReachUp,tt=t.onPhotoResize,te=t.isActive,ti=t.expose,tr=eA(eJ),ts=tr[0],tn=tr[1],ta=(0,eb.useRef)(0),th=eH(),to=ts.naturalWidth,tl=void 0===to?I:to,tu=ts.naturalHeight,tc=void 0===tu?X:tu,td=ts.width,tg=void 0===td?I:td,tf=ts.height,tp=void 0===tf?X:tf,tm=ts.loaded,tv=void 0===tm?!D:tm,tE=ts.broken,tb=ts.x,ty=ts.y,tx=ts.touched,tw=ts.stopRaf,t_=ts.maskTouched,tA=ts.rotate,tT=ts.scale,tM=ts.CX,tS=ts.CY,tR=ts.lastX,tC=ts.lastY,tF=ts.lastCX,tO=ts.lastCY,tN=ts.lastScale,tP=ts.touchTime,tL=ts.touchLength,tD=ts.pause,tB=ts.reach,tk=e_({onScale:function(t){return tI(eC(t))},onRotate:function(t){tA!==t&&(ti({rotate:t}),tn(ex({rotate:t},eW(tl,tc,t))))}});function tI(t,e,i){tT!==t&&(ti({scale:t}),tn(ex({scale:t},eX(tb,ty,tg,tp,tT,t,e,i),t<=1&&{x:0,y:0})))}var tU=eY(function(t,e,i){if(void 0===i&&(i=0),(tx||t_)&&te){var r=eq(tA,tg,tp),s=r[0],n=r[1];if(0===i&&0===ta.current){var a=20>=Math.abs(t-tM),h=20>=Math.abs(e-tS);if(a&&h)return void tn({lastCX:t,lastCY:e});ta.current=a?e>tS?3:2:1}var o,l=t-tF,u=e-tO;if(0===i){var c,d,g=eU(l+tR,tT,s,innerWidth)[0],f=eU(u+tC,tT,n,innerHeight);c=ta.current,d=f[0],void 0!==(o=g&&1===c||"x"===tB?"x":d&&c>1||"y"===tB?"y":void 0)&&Q(o,t,e,tT)}if("x"===o||t_)return void tn({reach:"x"});var p=eC(tT+(i-tL)/100/2*tT,tl/tg,.2);ti({scale:p}),tn(ex({touchLength:i,reach:o,scale:p},eX(tb,ty,tg,tp,tT,p,t,e,l,u)))}},{maxWait:8});function tX(t){return!tw&&!tx&&(th.current&&tn(ex({},t,{pause:W})),th.current)}var tq,tW,tY,tV,tj,tz,tG,tH=(tV=function(t){return tX({x:t})},tj=function(t){return tX({y:t})},tz=function(t){return th.current&&(ti({scale:t}),tn({scale:t})),!tx&&th.current},tG=e_({X:function(t){return tV(t)},Y:function(t){return tj(t)},S:function(t){return tz(t)}}),function(t,e,i,r,s,n,a,h,o,l,u){var c=eq(l,s,n),d=c[0],g=c[1],f=eU(t,h,d,innerWidth),p=f[0],m=f[1],v=eU(e,h,g,innerHeight),E=v[0],b=v[1],y=Date.now()-u;if(y>=200||h!==a||Math.abs(o-a)>1){var x=eX(t,e,s,n,a,h),w=x.x,_=x.y,A=p?m:w!==t?w:null,T=E?b:_!==e?_:null;return null!==A&&ez(t,A,tG.X),null!==T&&ez(e,T,tG.Y),void(h!==a&&ez(a,h,tG.S))}var M=(t-i)/y,S=(e-r)/y,R=Math.sqrt(Math.pow(M,2)+Math.pow(S,2)),C=!1,F=!1;!function(t,e){var i,r=t,s=0,n=0,a=function(n){i||(i=n);var a=n-i,l=Math.sign(t),u=-.001*l,c=Math.sign(-r)*Math.pow(r,2)*2e-4;s+=r*a+(u+c)*Math.pow(a,2)/2,i=n,l*(r+=(u+c)*a)<=0?o():e(s)?h():o()};function h(){n=requestAnimationFrame(a)}function o(){cancelAnimationFrame(n)}h()}(R,function(i){var r=t+M/R*i,s=e+S/R*i,n=eU(r,a,d,innerWidth),h=n[0],o=n[1],l=eU(s,a,g,innerHeight),u=l[0],c=l[1];if(h&&!C&&(C=!0,p?ez(r,o,tG.X):eV(o,r+(r-o),tG.X)),u&&!F&&(F=!0,E?ez(s,c,tG.Y):eV(c,s+(s-c),tG.Y)),C&&F)return!1;var f=C||tG.X(o),m=F||tG.Y(c);return f&&m})}),t$=(tq=function(t,e){tB||tI(1!==tT?1:Math.max(2,tl/tg),t,e)},tW=(0,eb.useRef)(0),tY=eY(function(){tW.current=0,Z.apply(void 0,[].slice.call(arguments))},{wait:300}),function(){var t=[].slice.call(arguments);tW.current+=1,tY.apply(void 0,t),tW.current>=2&&(tY.cancel(),tW.current=0,tq.apply(void 0,t))});function tZ(t,e){if(ta.current=0,(tx||t_)&&te){tn({touched:!1,maskTouched:!1,pause:!1,stopRaf:!1,reach:void 0});var i=eC(tT,tl/tg);if(tH(tb,ty,tR,tC,tg,tp,tT,i,tN,tA,tP),J(t,e),tM===t&&tS===e){if(tx)return void t$(t,e);t_&&K(t,e)}}}function tK(t,e,i){void 0===i&&(i=0),tn({touched:!0,CX:t,CY:e,last
77CX:t,lastCY:e,lastX:tb,lastY:ty,lastScale:tT,touchLength:i,touchTime:Date.now()})}function tQ(t){tn({maskTouched:!0,CX:t.clientX,CY:t.clientY,lastX:tb,lastY:ty})}eO(eS?void 0:"mousemove",function(t){t.preventDefault(),tU(t.clientX,t.clientY)}),eO(eS?void 0:"mouseup",function(t){tZ(t.clientX,t.clientY)}),eO(eS?"touchmove":void 0,function(t){t.preventDefault();var e=eI(t);tU.apply(void 0,e)},{passive:!1}),eO(eS?"touchend":void 0,function(t){var e=t.changedTouches[0];tZ(e.clientX,e.clientY)},{passive:!1}),eO("resize",eY(function(){tv&&!tx&&(tn(eW(tl,tc,tA)),tt())},{maxWait:8})),eF(function(){te&&ti(ex({scale:tT,rotate:tA},tk))},[te]);var tJ=(_=(f=function(t){return tn({pause:t})},p=(0,eb.useRef)(!1),E=(v=(m=eA({lead:!0,scale:tT}))[0]).lead,b=v.scale,y=m[1],x=eY(function(t){try{return f(!0),y({lead:!1,scale:t}),Promise.resolve()}catch(t){return Promise.reject(t)}},{wait:Y}),eF(function(){p.current?(f(!1),y({lead:!0}),x(tT)):p.current=!0},[tT]),w=E?[tg*b,tp*b,tT/b]:[tg*tT,tp*tT,1])[0],A=w[1],T=w[2],S=(e=W,i=q,r=tv,s=Y,n=f,h=(a=(0,eb.useState)(eG))[0],o=a[1],u=(l=(0,eb.useState)(0))[0],c=l[1],d=(0,eb.useRef)(),g=e_({OK:function(){return e&&c(4)}}),(0,eb.useEffect)(function(){if(d.current||(d.current=Date.now()),r){if(function(t,e){var i=t&&t.current;if(i&&1===i.nodeType){var r=i.getBoundingClientRect();e({T:r.top,L:r.left,W:r.width,H:r.height,FIT:"IMG"===i.tagName?getComputedStyle(i).objectFit:void 0})}}(i,o),e)return Date.now()-d.current<250?(c(1),requestAnimationFrame(function(){c(2),requestAnimationFrame(function(){n(!1),c(3)})}),void setTimeout(g.OK,s)):void c(4);n(!1),c(5)}},[e,r]),M=[u,h])[0],C=(R=M[1]).W,F=R.FIT,O=innerWidth/2,N=innerHeight/2,[(P=S<3||S>4)?C?R.L:O:tb+(O-tg*tT/2),P?C?R.T:N:ty+(N-tp*tT/2),_,P&&F?_*(R.H/C):A,0===S?T:P?C/(tg*tT)||.01:T,P?+!!F:1,S,F]),t0=tJ[4],t1=tJ[6],t2="transform "+Y+"ms "+V,t3={className:z,onMouseDown:eS?void 0:function(t){t.stopPropagation(),0===t.button&&tK(t.clientX,t.clientY,0)},onTouchStart:eS?function(t){t.stopPropagation(),tK.apply(void 0,eI(t))}:void 0,onWheel:function(t){if(!tB){var e=eC(tT-t.deltaY/100/2,tl/tg);tn({stopRaf:!0}),tI(e,t.clientX,t.clientY)}},style:{width:tJ[2]+"px",height:tJ[3]+"px",opacity:tJ[5],objectFit:4===t1?void 0:tJ[7],transform:tA?"rotate("+tA+"deg)":void 0,transition:t1>2?t2+", opacity "+Y+"ms ease, height "+(t1<4?Y/2:t1>4?Y:0)+"ms "+V:void 0}};return eb.default.createElement("div",{className:"PhotoView__PhotoWrap"+(j?" "+j:""),style:G,onMouseDown:!eS&&te?tQ:void 0,onTouchStart:eS&&te?function(t){return tQ(t.touches[0])}:void 0},eb.default.createElement("div",{className:"PhotoView__PhotoBox",style:{transform:"matrix("+t0+", 0, 0, "+t0+", "+tJ[0]+", "+tJ[1]+")",transition:tx||tD?void 0:t2,willChange:te?"transform":void 0}},D?eb.default.createElement(eQ,ex({src:D,loaded:tv,broken:tE},t3,{onPhotoLoad:function(t){tn(ex({},t,t.loaded&&eW(t.naturalWidth||0,t.naturalHeight||0,tA)))},loadingElement:H,brokenElement:$})):B&&B({attrs:t3,scale:t0,rotate:tA})))}var e1={x:0,touched:!1,pause:!1,lastCX:void 0,lastCY:void 0,bg:void 0,lastBg:void 0,overlay:!0,minimal:!0,scale:1,rotate:0};function e2(t){var e,i,r,s,n=t.loop,a=void 0===n?3:n,h=t.speed,o=t.easing,l=t.photoClosable,u=t.maskClosable,c=void 0===u||u,d=t.maskOpacity,g=void 0===d?1:d,f=t.pullClosable,p=void 0===f||f,m=t.bannerVisible,v=void 0===m||m,E=t.overlayRender,b=t.toolbarRender,y=t.className,x=t.maskClassName,w=t.photoClassName,_=t.photoWrapClassName,A=t.loadingElement,T=t.brokenElement,M=t.images,S=t.index,R=t.onIndexChange,C=t.visible,F=t.onClose,O=t.afterClose,N=t.portalContainer,P=eA(e1),L=P[0],D=P[1],B=(0,eb.useState)(0),k=B[0],I=B[1],U=L.x,X=L.touched,q=L.pause,W=L.lastCX,Y=L.lastCY,V=L.bg,j=void 0===V?g:V,z=L.lastBg,G=L.overlay,H=L.minimal,$=L.scale,Z=L.rotate,K=L.onScale,Q=L.onRotate,J=t.hasOwnProperty("index"),tt=J?void 0===S?0:S:k,te=J?R:I,ti=(0,eb.useRef)(tt),tr=M.length,ts=M[tt],tn="boolean"==typeof a?a:tr>a,ta=(e=(0,eb.useReducer)(function(t){return!t},!1)[1],i=(0,eb.useRef)(0),s=(r=function(t){var e=(0,eb.useRef)(t);function r(t){e.current=t}
77return(0,eb.useMemo)(function(){C?(r(C),i.current=1):i.current=2},[t]),[e.current,r]}(C))[1],[r[0],i.current,function(){e(),2===i.current&&(s(!1),O&&O()),i.current=0}]),th=ta[0],to=ta[1],tl=ta[2];eF(function(){th?(D({pause:!0,x:-(tt*(innerWidth+20))}),ti.current=tt):D(e1)},[th]);var tu=e_({close:function(t){Q&&Q(0),D({overlay:!0,lastBg:j}),F(t)},changeIndex:function(t,e){void 0===e&&(e=!1);var i=tn?ti.current+(t-tt):t,r=tr-1,s=eR(i,0,r),n=tn?i:s;D({touched:!1,lastCX:void 0,lastCY:void 0,x:-(innerWidth+20)*n,pause:e}),ti.current=n,te&&te(tn?t<0?r:t>r?0:t:s)}}),tc=tu.close,td=tu.changeIndex;function tg(t){return t?tc():D({overlay:!G})}function tf(){D({x:-(innerWidth+20)*tt,lastCX:void 0,lastCY:void 0,pause:!0}),ti.current=tt}function tp(t,e,i,r){"x"===t?function(t){if(void 0!==W){var e=t-W,i=e;!tn&&(0===tt&&e>0||tt===tr-1&&e<0)&&(i=e/2),D({touched:!0,lastCX:W,x:-(innerWidth+20)*ti.current+i,pause:!1})}else D({touched:!0,lastCX:t,x:U,pause:!1})}(e):"y"===t&&function(t,e){if(void 0!==Y){var i=null===g?null:eR(g,.01,g-Math.abs(t-Y)/100/4);D({touched:!0,lastCY:Y,bg:1===e?i:g,minimal:1===e})}else D({touched:!0,lastCY:t,bg:j,minimal:!0})}(i,r)}function tm(t,e){var i=t-(null!=W?W:t),r=e-(null!=Y?Y:e),s=!1;if(i<-40)td(tt+1);else if(i>40)td(tt-1);else{var n=-(innerWidth+20)*ti.current;Math.abs(r)>100&&H&&p&&(s=!0,tc()),D({touched:!1,x:n,lastCX:void 0,lastCY:void 0,bg:g,overlay:!!s||G})}}eO("keydown",function(t){if(C)switch(t.key){case"ArrowLeft":td(tt-1,!0);break;case"ArrowRight":td(tt+1,!0);break;case"Escape":tc()}});var tv=(0,eb.useMemo)(function(){var t=M.length;return tn?M.concat(M).concat(M).slice(t+tt-1,t+tt+2):M.slice(Math.max(tt-1,0),Math.min(tt+2,t+1))},[M,tt,tn]);if(!th)return null;var tE=G&&!to,tb=C?j:z,ty=K&&Q&&{images:M,index:tt,visible:C,onClose:tc,onIndexChange:td,overlayVisible:tE,overlay:ts&&ts.overlay,scale:$,rotate:Z,onScale:K,onRotate:Q},tx=h?h(to):400,tw=o?o(to):eM,t_=h?h(3):600,tA=o?o(3):eM;return eb.default.createElement(eP,{className:"PhotoView-Portal"+(tE?"":" PhotoView-Slider__clean")+(C?"":" PhotoView-Slider__willClose")+(y?" "+y:""),role:"dialog",onClick:function(t){return t.stopPropagation()},container:N},C&&eb.default.createElement(ek,null),eb.default.createElement("div",{className:"PhotoView-Slider__Backdrop"+(x?" "+x:"")+(1===to?" PhotoView-Slider__fadeIn":2===to?" PhotoView-Slider__fadeOut":""),style:{background:tb?"rgba(0, 0, 0, "+tb+")":void 0,transitionTimingFunction:tw,transitionDuration:(X?0:tx)+"ms",animationDuration:tx+"ms"},onAnimationEnd:tl}),v&&eb.default.createElement("div",{className:"PhotoView-Slider__BannerWrap"},eb.default.createElement("div",{className:"PhotoView-Slider__Counter"},tt+1," / ",tr),eb.default.createElement("div",{className:"PhotoView-Slider__BannerRight"},b&&ty&&b(ty),eb.default.createElement(eL,{className:"PhotoView-Slider__toolbarIcon",onClick:tc}))),tv.map(function(t,e){var i=tn||0!==tt?ti.current-1+e:tt+e;return eb.default.createElement(e0,{key:tn?t.key+"/"+t.src+"/"+i:t.key,item:t,speed:tx,easing:tw,visible:C,onReachMove:tp,onReachUp:tm,onPhotoTap:function(){return tg(l)},onMaskTap:function(){return tg(c)},wrapClassName:_,className:w,style:{left:(innerWidth+20)*i+"px",transform:"translate3d("+U+"px, 0px, 0)",transition:X||q?void 0:"transform "+t_+"ms "+tA},loadingElement:A,brokenElement:T,onPhotoResize:tf,isActive:ti.current===i,expose:D})}),!eS&&v&&eb.default.createElement(eb.default.Fragment,null,(tn||0!==tt)&&eb.default.createElement("div",{className:"PhotoView-Slider__ArrowLeft",onClick:function(){return td(tt-1,!0)}},eb.default.createElement(eD,null)),(tn||tt+1<tr)&&eb.default.createElement("div",{className:"PhotoView-Slider__ArrowRight",onClick:function(){return td(tt+1,!0)}},eb.default.createElement(eB,null))),E&&ty&&eb.default.createElement("div",{className:"PhotoView-Slider__Overlay"},E(ty)))}var e3=["children","onIndexChange","onVisibleChange"],e5={images:[],visible:!1,index:0};function e4(t){var e=t.children,i=t.onIndexChange,r=t.onVisibleChange,s=ew(t,e3),n=eA(e5),a=n[0],h=n[1],o=(0,eb.useRef)(0),l=a.images,u=a.visible,c=a.index,d=e_({nextId:function(){return o.current+=1},update:function(t){var e=l.findIndex(function(e){return e.key===t.key});if(e>-1){var i=l.slice();return i.splice(e,1,t),void h({images:i})}h(function(e){return{images:e.images.concat(t)}})},remove:function(t){h(function(e){var i=e.images.filter(function(e){return e.key!==t});return{images:i,index:Math.min(i.length-1,c)}})},show:function(t){var e=l.findIndex(function(e){return e.key===t});h({visible:!0,index:e}),r&&r(!0,e,a)}}),g=e_({close:function(){h({visible:!1}),r&&r(!1,c,a)},changeIndex:function(t){h({index:t}),i&&i(t,a)}}),f=(0,eb.useMemo)(function(){return ex({},a,d)},[a,d]);return eb.default.createElement(eT.Provider,{value:f},e,eb.default.createElement(e2,ex({images:l,visible:u,index:c,onIndexChange:g.changeIndex,onClose:g.close},s)))}t.s(["PhotoProvider",0,e4,"PhotoView",0,function(t){var e,i,r=t.src,s=t.render,n=t.overlay,a=t.width,h=t.height,o=t.triggers,l=void 0===o?["onClick"]:o,u=t.children,c=(0,eb.useContext)(eT),d=(e=function(){return c.nextId()},(i=(0,eb.useRef)({sign:!1,fn:void 0}).current).sign||(i.sign=!0,i.fn=e()),i.fn),g=(0,eb.useRef)(null);(0,eb.useImperativeHandle)(null==u?void 0:u.ref,function(){return g.current}),(0,eb.useEffect)(function(){return function(){c.remove(d)}},[]);var f=e_({render:function(t){return s&&s(t)},show:function(t,e){c.show(d),function(t,e){if(u){var i=u.props[t];i&&i(e)}}(t,e)}}),p=(0,eb.useMemo)(function(){var t={};return l.forEach(function(e){t[e]=f.show.bind(null,e)}),t},[]);return(0,eb.useEffect)(function(){c.update({key:d,src:r,originRef:g,render:f.render,overlay:n,width:a,height:h})},[r]),u?eb.Children.only((0,eb.cloneElement)(u,ex({},p,{ref:g}))):null}],198560),t.s(["default",0,({children:t})=>(0,s.jsx)(e4,{speed:()=>800,easing:t=>"cubic-bezier(0.1, 0.1, 0.25, 1)",maskOpacity:.7,photoClosable:!0,overlayRender:()=>(0,s.jsx)("div",{style:{backgroundColor:"rgba(0,0,0,0.7)"}}),children:t})],206582),t.s([],146632)}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.