1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6707],{30166:function(t,e,r){"use strict";r.d(e,{default:function(){return s.a}});var i=r(55775),s=r.n(i)},27648:function(t,e,r){"use strict";r.d(e,{default:function(){return s.a}});var i=r(72972),s=r.n(i)},55775:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return n}});let i=r(47043);r(57437),r(2265);let s=i._(r(15602));function n(t,e){var r;let i={loading:t=>{let{error:e,isLoading:r,pastDelay:i}=t;return null}};"function"==typeof t&&(i.loader=t);let n={...i,...e};return(0,s.default)({...n,modules:null==(r=n.loadableGenerated)?void 0:r.modules})}("function"==typeof e.default||"object"==typeof e.default&&null!==e.default)&&void 0===e.default.__esModule&&(Object.defineProperty(e.default,"__esModule",{value:!0}),Object.assign(e.default,e),t.exports=e.default)},81523:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"BailoutToCSR",{enumerable:!0,get:function(){return s}});let i=r(18993);function s(t){let{reason:e,children:r}=t;if("undefined"==typeof window)throw new i.BailoutToCSRError(e);return r}},15602:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return l}});let i=r(57437),s=r(2265),n=r(81523),o=r(70049);function a(t){return{default:t&&"default"in t?t.default:t}}let u={loader:()=>Promise.resolve(a(()=>null)),loading:null,ssr:!0},l=function(t){let e={...u,...t},r=(0,s.lazy)(()=>e.loader().then(a)),l=e.loading;function c(t){let a=l?(0,i.jsx)(l,{isLoading:!0,pastDelay:!0,error:null}):null,u=e.ssr?(0,i.jsxs)(i.Fragment,{children:["undefined"==typeof window?(0,i.jsx)(o.PreloadCss,{moduleIds:e.modules}):null,(0,i.jsx)(r,{...t})]}):(0,i.jsx)(n.BailoutToCSR,{reason:"next/dynamic",children:(0,i.jsx)(r,{...t})});return(0,i.jsx)(s.Suspense,{fallback:a,children:u})}return c.displayName="LoadableComponent",c}},70049:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"PreloadCss",{enumerable:!0,get:function(){return n}});let i=r(57437),s=r(20544);function n(t){let{moduleIds:e}=t;if("undefined"!=typeof window)return null;let r=(0,s.getExpectedRequestStore)("next/dynamic css"),n=[];if(r.reactLoadableManifest&&e){let t=r.reactLoadableManifest;for(let r of e){if(!t[r])continue;let e=t[r].files.filter(t=>t.endsWith(".css"));n.push(...e)}}return 0===n.length?null:(0,i.jsx)(i.Fragment,{children:n.map(t=>(0,i.jsx)("link",{precedence:"dynamic",rel:"stylesheet",href:r.assetPrefix+"/_next/"+encodeURI(t),as:"style"},t))})}},75189:function(t,e,r){"use strict";let i,s,n;var o=Object.create,a=Object.defineProperty,u=Object.defineProperties,l=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyDescriptors,h=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable,v=(t,e,r)=>e in t?a(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,y=(t,e)=>{for(var r in e||(e={}))m.call(e,r)&&v(t,r,e[r]);if(d)for(var r of d(e))p.call(e,r)&&v(t,r,e[r]);return t},b=(t,e)=>u(t,c(e)),g=(t,e,r,i)=>{if(e&&"object"==typeof e||"function"==typeof e)for(let s of h(e))m.call(t,s)||s===r||a(t,s,{get:()=>e[s],enumerable:!(i=l(e,s))||i.enumerable});return t},w={};((t,e)=>{for(var r in e)a(t,r,{get:e[r],enumerable:!0})})(w,{useRouter:()=>C}),t.exports=g(a({},"__esModule",{value:!0}),w);var x=r(99376),S=r(2265),_=(n=null!=(i=r(71318))?o(f(i)):{},g(!s&&i&&i.__esModule?n:a(n,"default",{value:i,enumerable:!0}),i)),C=a(()=>{let t=(0,x.useRouter)(),e=(0,x.usePathname)();(0,S.useEffect)(()=>{_.done()},[e]);let r=(0,S.useCallback)((r,i)=>{r!==e&&_.start(),t.replace(r,i)},[t,e]),i=(0,S.useCallback)((r,i)=>{r!==e&&_.start(),t.push(r,i)},[t,e]);return b(y({},t),{replace:r,push:i})},"name",{value:"useRouter",configurable:!0})},71318:function(t,e,r){var i,s;void 0!==(s="function"==typeof(i=function(){var t,e,r,i={};i.version="0.2.0";var s=i.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function n(t,e,r){return t<e?e:t>
1r?r:t}i.configure=function(t){var e,r;for(e in t)void 0!==(r=t[e])&&t.hasOwnProperty(e)&&(s[e]=r);return this},i.status=null,i.set=function(t){var e=i.isStarted();t=n(t,s.minimum,1),i.status=1===t?null:t;var r=i.render(!e),u=r.querySelector(s.barSelector),l=s.speed,c=s.easing;return r.offsetWidth,o(function(e){var n,o;""===s.positionUsing&&(s.positionUsing=i.getPositioningCSS()),a(u,(n=t,(o="translate3d"===s.positionUsing?{transform:"translate3d("+(-1+n)*100+"%,0,0)"}:"translate"===s.positionUsing?{transform:"translate("+(-1+n)*100+"%,0)"}:{"margin-left":(-1+n)*100+"%"}).transition="all "+l+"ms "+c,o)),1===t?(a(r,{transition:"none",opacity:1}),r.offsetWidth,setTimeout(function(){a(r,{transition:"all "+l+"ms linear",opacity:0}),setTimeout(function(){i.remove(),e()},l)},l)):setTimeout(e,l)}),this},i.isStarted=function(){return"number"==typeof i.status},i.start=function(){i.status||i.set(0);var t=function(){setTimeout(function(){i.status&&(i.trickle(),t())},s.trickleSpeed)};return s.trickle&&t(),this},i.done=function(t){return t||i.status?i.inc(.3+.5*Math.random()).set(1):this},i.inc=function(t){var e=i.status;return e?("number"!=typeof t&&(t=(1-e)*n(Math.random()*e,.1,.95)),e=n(e+t,0,.994),i.set(e)):i.start()},i.trickle=function(){return i.inc(Math.random()*s.trickleRate)},t=0,e=0,i.promise=function(r){return r&&"resolved"!==r.state()&&(0===e&&i.start(),t++,e++,r.always(function(){0==--e?(t=0,i.done()):i.set((t-e)/t)})),this},i.render=function(t){if(i.isRendered())return document.getElementById("nprogress");l(document.documentElement,"nprogress-busy");var e=document.createElement("div");e.id="nprogress",e.innerHTML=s.template;var r,n=e.querySelector(s.barSelector),o=t?"-100":(-1+(i.status||0))*100,u=document.querySelector(s.parent);return a(n,{transition:"all 0 linear",transform:"translate3d("+o+"%,0,0)"}),!s.showSpinner&&(r=e.querySelector(s.spinnerSelector))&&d(r),u!=document.body&&l(u,"nprogress-custom-parent"),u.appendChild(e),e},i.remove=function(){c(document.documentElement,"nprogress-busy"),c(document.querySelector(s.parent),"nprogress-custom-parent");var t=document.getElementById("nprogress");t&&d(t)},i.isRendered=function(){return!!document.getElementById("nprogress")},i.getPositioningCSS=function(){var t=document.body.style,e="WebkitTransform"in t?"Webkit":"MozTransform"in t?"Moz":"msTransform"in t?"ms":"OTransform"in t?"O":"";return e+"Perspective" in t?"translate3d":e+"Transform" in t?"translate":"margin"};var o=(r=[],function(t){r.push(t),1==r.length&&function t(){var e=r.shift();e&&e(t)}()}),a=function(){var t=["Webkit","O","Moz","ms"],e={};function r(r,i,s){var n;i=e[n=(n=i).replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(t,e){return e.toUpperCase()})]||(e[n]=function(e){var r=document.body.style;if(e in r)return e;for(var i,s=t.length,n=e.charAt(0).toUpperCase()+e.slice(1);s--;)if((i=t[s]+n)in r)return i;return e}(n)),r.style[i]=s}return function(t,e){var i,s,n=arguments;if(2==n.length)for(i in e)void 0!==(s=e[i])&&e.hasOwnProperty(i)&&r(t,i,s);else r(t,n[1],n[2])}}();function u(t,e){return("string"==typeof t?t:h(t)).indexOf(" "+e+" ")>=0}function l(t,e){var r=h(t),i=r+e;u(r,e)||(t.className=i.substring(1))}function c(t,e){var r,i=h(t);u(t,e)&&(r=i.replace(" "+e+" "," "),t.className=r.substring(1,r.length-1))}function h(t){return(" "+(t.className||"")+" ").replace(/\s+/gi," ")}function d(t){t&&t.parentNode&&t.parentNode.removeChild(t)}return i})?i.call(e,r,e,t):i)&&(t.exports=s)},2894:function(t,e,r){"use strict";r.d(e,{R:function(){return a},m:function(){return o}});var i=r(18238),s=r(11255),n=r(7989),o=class extends n.F{#t;#e;#r;#i;constructor(t){super(),this.#t=t.client,this.mutationId=t.mutationId,this.#r=t.mutationCache,this.#e=[],this.state=t.state||a(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){this.#e.includes(t)||(this.#e.push(t),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){this.#e=this.#e.filter(e=>e!==t),this.scheduleGc(),this.#r.notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){this.#e.length||("pending"===this.state.status?this.scheduleGc():this.#r.remove(this))}continue(){return this.#i?.continue()??("pending"===this.state.status?this.execute(this.state.variables):Promise.resolve())}async execute(t){let e=()=>{this.#s({type:"continue"})},r={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey},i=this.#i=(0,s.Mz)({fn:()=>this.options.mutationFn?this.options.mutationFn(t,r):Promise.reject(Error("No mutationFn found")),onFail:(t,e)=>{this.#s({type:"failed",failureCount:t,error:e})},onPause:()=>{this.#s({type:"pause"})},onContinue:e,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#r.canRun(this)}),n="pending"===this.state.status,o=!i.canStart();try{if(n)e();else{this.#s({type:"pending",variables:t,isPaused:o}),this.#r.config.onMutate&&await this.#r.config.onMutate(t,this,r);let e=await this.options.onMutate?.(t,r);e!==this.state.context&&this.#s({type:"pending",context:e,variables:t,isPaused:o})}let s=await i.start();return await this.#r.config.onSuccess?.(s,t,this.state.context,this,r),await this.options.onSuccess?.(s,t,this.state.context,r),await this.#r.config.onSettled?.(s,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(s,null,t,this.state.context,r),this.#s({type:"success",data:s}),s}catch(e){try{await this.#r.config.onError?.(e,t,this.state.context,this,r)}catch(t){Promise.reject(t)}try{await this.options.onError?.(e,t,this.state.context,r)}catch(t){Promise.reject(t)}try{await this.#r.config.onSettled?.(void 0,e,this.state.variables,this.state.context,this,r)}catch(t){Promise.reject(t)}try{await this.options.onSettled?.(void 0,e,t,this.state.context,r)}catch(t){Promise.reject(t)}throw this.#s({type:"error",error:e}),e}finally{this.#i===i&&(this.#i=void 0),this.#r.runNext(this)}}#s(t){this.state=(e=>{switch(t.type){case"failed":return{...e,failureCount:t.failureCount,failureReason:t.error};
1case"pause":return{...e,isPaused:!0};case"continue":return{...e,isPaused:!1};case"pending":return{...e,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...e,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...e,data:void 0,error:t.error,failureCount:e.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}})(this.state),i.Vr.batch(()=>{this.#e.forEach(e=>{e.onMutationUpdate(t)}),this.#r.notify({mutation:this,type:"updated",action:t})})}};function a(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}},21770:function(t,e,r){"use strict";r.d(e,{D:function(){return c}});var i=r(29827),s=r(2265),n=r(45345),o=r(24112),a=r(18238),u=r(2894),l=class extends o.l{#t;#n=void 0;#o;#a;constructor(t,e){super(),this.#t=t,this.setOptions(e),this.bindMethods(),this.#u()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){let e=this.options;this.options=this.#t.defaultMutationOptions(t),(0,n.VS)(this.options,e)||this.#t.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#o,observer:this}),e?.mutationKey&&this.options.mutationKey&&(0,n.Ym)(e.mutationKey)!==(0,n.Ym)(this.options.mutationKey)?this.reset():this.#o?.state.status==="pending"&&this.#o.setOptions(this.options)}onSubscribe(){1===this.listeners.size&&this.#o&&(this.#o.addObserver(this),this.#u())}onUnsubscribe(){this.hasListeners()||this.#o?.removeObserver(this)}onMutationUpdate(t){this.#u(),this.#l(t)}getCurrentResult(){return this.#n}reset(){this.#o?.removeObserver(this),this.#o=void 0,this.#u(),this.#l()}mutate(t,e){return this.#a=e,this.#o?.removeObserver(this),this.#o=this.#t.getMutationCache().build(this.#t,this.options),this.#o.addObserver(this),this.#o.execute(t)}#u(){let t=this.#o?.state??(0,u.R)();this.#n={...t,isPending:"pending"===t.status,isSuccess:"success"===t.status,isError:"error"===t.status,isIdle:"idle"===t.status,mutate:this.mutate,reset:this.reset}}#l(t){a.Vr.batch(()=>{if(this.#a&&this.hasListeners()){let e=this.#n.variables,r=this.#n.context,i={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};if(t?.type==="success"){try{this.#a.onSuccess?.(t.data,e,r,i)}catch(t){Promise.reject(t)}try{this.#a.onSettled?.(t.data,null,e,r,i)}catch(t){Promise.reject(t)}}else if(t?.type==="error"){try{this.#a.onError?.(t.error,e,r,i)}catch(t){Promise.reject(t)}try{this.#a.onSettled?.(void 0,t.error,e,r,i)}catch(t){Promise.reject(t)}}}this.listeners.forEach(t=>{t(this.#n)})})}};function c(t,e){let r=(0,i.NL)(e),[o]=s.useState(()=>new l(r,t));s.useEffect(()=>{o.setOptions(t)},[o,t]);let u=s.useSyncExternalStore(s.useCallback(t=>o.subscribe(a.Vr.batchCalls(t)),[o]),()=>o.getCurrentResult(),()=>o.getCurrentResult()),c=s.useCallback(function(){for(var t=arguments.length,e=Array(t),r=0;r<t;r++)e[r]=arguments[r];o.mutate(e[0],e[1]).catch(n.ZT)},[o]);if(u.error&&(0,n.L3)(o.options.throwOnError,[u.error]))throw u.error;return{...u,mutate:c,mutateAsync:u.mutate}}},31303:function(t,e,r){"use strict";r.d(e,{j:function(){return n}});var i=r(53970),s=r(99649);function n(t,e){let r=(0,s.Q)(t),n=(0,s.Q)(e),a=o(r,n),u=Math.abs((0,i.w)(r,n));r.setDate(r.getDate()-a*u);let l=Number(o(r,n)===-a),c=a*(u-l);return 0===c?0:c}function o(t,e){let r=t.getFullYear()-e.getFullYear()||t.getMonth()-e.getMonth()||t.getDate()-e.getDate()||t.getHours()-e.getHours()||t.getMinutes()-e.getMinutes()||t.getSeconds()-e.getSeconds()||t.getMilliseconds()-e.getMilliseconds();return r<0?-1:r>0?1:r}},81796:function(t,e,r){"use strict";r.d(e,{e:function(){return a}});var i=`#version 300 es 2vec3 o(vec3 i,vec3 c,float r){return c*r+i*(1.-r);}vec3 o(vec3 n){return n-floor(n*(1./289.))*289.;}vec4 o(vec4 n){return n-floor(n*(1./289.))*289.;}vec4 e(vec4 n){return o((n*34.+1.)*n);}vec4 v(vec4 y){return 1.79284291400159-.85373472095314*y;}float t(vec3 l){const vec2 s=vec2(1./6.,1./3.);const vec4 u=vec4(0.,.5,1.,2.);
2vec3 a=floor(l+dot(l,s.yyy)),x=l-a+dot(a,s.xxx),d=step(x.yzx,x.xyz),f=1.-d,z=min(d.xyz,f.zxy),w=max(d.xyz,f.zxy),m=x-z+s.xxx,C=x-w+s.yyy,p=x-u.yyy;a=o(a);vec4 P=e(e(e(a.z+vec4(0.,z.z,w.z,1.))+a.y+vec4(0.,z.y,w.y,1.))+a.x+vec4(0.,z.x,w.x,1.));vec3 S=.142857142857*u.wyz-u.xzx;vec4 L=P-49.*floor(P*S.z*S.z),F=floor(L*S.z),R=floor(L-7.*F),n=F*S.x+S.yyyy,W=R*S.x+S.yyyy,b=1.-abs(n)-abs(W),G=vec4(n.xy,W.xy),q=vec4(n.zw,W.zw),h=floor(G)*2.+1.,g=floor(q)*2.+1.,O=-step(b,vec4(0.)),B=G.xzyw+h.xzyw*O.xxyy,A=q.xzyw+g.xzyw*O.zzww;vec3 E=vec3(B.xy,b.x),Z=vec3(B.zw,b.y),Y=vec3(A.xy,b.z),X=vec3(A.zw,b.w);vec4 V=v(vec4(dot(E,E),dot(Z,Z),dot(Y,Y),dot(X,X)));E*=V.x;Z*=V.y;Y*=V.z;X*=V.w;vec4 U=max(.6-vec4(dot(x,x),dot(m,m),dot(C,C),dot(p,p)),0.);U=U*U;return 42.*dot(U*U,vec4(dot(E,x),dot(Z,m),dot(Y,C),dot(X,p)));}uniform mediump vec2 u_Resolution;uniform float u_Amplitude,u_Realtime,u_Seed;uniform vec3 u_BaseColor;uniform int u_LayerCount;uniform struct WaveLayers{float noiseCeil;float noiseFloor;float noiseFlow;float noiseSeed;float noiseSpeed;vec2 noiseFreq;vec3 color;} u_WaveLayers[9];in vec3 a_Position;out vec3 v_Color;void main(){float T=u_Realtime*5e-6;vec2 Q=vec2(.00014,.00029),N=u_Resolution*a_Position.xy*Q;float M=u_Amplitude*(2./u_Resolution.y),K=t(vec3(N.x*3.+T*3.,N.y*4.,T*10.+u_Seed));K*=1.-pow(abs(a_Position.y),2.);K=max(0.,K);gl_Position=vec4(a_Position.x,a_Position.y+K*M,a_Position.z,1.);v_Color=u_BaseColor;for(int a=0;a<u_LayerCount;a++){WaveLayers J=u_WaveLayers[a];float K=t(vec3(N.x*J.noiseFreq.x+T*J.noiseFlow,N.y*J.noiseFreq.y,T*J.noiseSpeed+J.noiseSeed));K=K/2.+.5;K=smoothstep(J.noiseFloor,J.noiseCeil,K);v_Color=o(v_Color,J.color,pow(K,4.));}} 3`,s=`#version 300 es 4precision mediump float;uniform vec2 u_Resolution;uniform float u_ShadowPower;in vec3 v_Color;out vec4 color;void main(){vec2 I=gl_FragCoord.xy/u_Resolution.xy;color=vec4(v_Color,1.);color.y-=pow(I.y+sin(-12.)*I.x,u_ShadowPower)*.4;} 5`;function n(t){let e=t.match(/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i)||t.match(/^#?([a-f\d])([a-f\d])([a-f\d])$/i);return e?e.slice(1,4).map(t=>parseInt(t.length<2?t+t:t,16)/255):null}var o=class{static prefixName(t,e){return`${e}${t[0].toUpperCase()}${t.slice(1)}`}constructor(t){this.gl=t.gl,this.program=this.createProgram(t.shaders),this._attributes={},this.setupAttributes(t.attributes),this._elementBuffer,this.setElements(t.elements),this._uniforms={},this.setupUniforms(t.uniforms)}compileShader(t,e){let{gl:r}=this,i=r.createShader(t);if(!i)throw Error("can't create shader");return r.shaderSource(i,e),r.compileShader(i),i}debugPorgram(t){var e;let{gl:r}=this,[i,s]=null!=(e=r.getAttachedShaders(t))?e:[];if(!r.getProgramParameter(t,r.LINK_STATUS))throw Error(`can't link WebGL program. 6 ${r.getProgramInfoLog(t)} 7 ${r.getShaderInfoLog(i)} 8 ${r.getShaderInfoLog(s)}`)}createProgram(t){let{gl:e}=this,[r,i]=[this.compileShader(e.VERTEX_SHADER,t[0]),this.compileShader(e.FRAGMENT_SHADER,t[1])],s=e.createProgram();if(!s)throw Error("can't create WebGL program");e.attachShader(s,r),e.attachShader(s,i);try{e.linkProgram(s),this.debugPorgram(s)}catch(t){throw e.deleteProgram(s),t}finally{e.deleteShader(r),e.deleteShader(i)}return e.useProgram(s),s}createBuffer(){let{gl:t}=this,e=t.createBuffer();if(!e)throw Error("can't create buffer");return e}setupAttributes(t){let{gl:e,program:r}=this;for(let[i,s]of Object.entries(t)){let t=o.prefixName(i,"a_"),n=this.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,n),e.bufferData(e.ARRAY_BUFFER,s,e.STATIC_DRAW);let a=e.getAttribLocation(r,t);e.enableVertexAttribArray(a),e.vertexAttribPointer(a,3,e.FLOAT,!1,0,0),this._attributes[i]={buffer:n,location:a}}}setAttribute(t,e){let{gl:r}=this;r.bufferData(r.ARRAY_BUFFER,e,r.STATIC_DRAW)}setElements(t){let{gl:e}=this;if(!this._elementBuffer){let t=this.createBuffer();e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this._elementBuffer=t}e.bufferData(e.ELEMENT_ARRAY_BUFFER,t,e.STATIC_DRAW)}createUniformSetter(t,e,r){let{gl:i,program:s}=this,n=`uniform${e}`,o=i.getUniformLocation(s,t),a=t=>{Array.isArray(t)?i[n](o,...t):i[n](o,t)};return r&&a(r),a}
8setupUniforms(t){for(let[e,r]of Object.entries(t)){let t=o.prefixName(e,"u_");void 0===r.type?Array.isArray(r.value)&&r.value.forEach((r,i)=>{for(let[s,n]of Object.entries(r)){let r=`${e}[${i}].${s}`,o=`${t}[${i}].${s}`;this._uniforms[r]=this.createUniformSetter(o,n.type,n.value)}}):this._uniforms[e]=this.createUniformSetter(t,r.type,r.value)}}setUniform(t,e){this._uniforms[t](e)}delete(){let{gl:t}=this;for(let[,e]of(t.deleteProgram(this.program),Object.entries(this._attributes)))this.gl.deleteBuffer(e.buffer)}},a=class{static createGeometry(t,e){let r=Math.ceil(t),i=Math.ceil(e),s=6*r*i,n=new ArrayBuffer(3*(r+1)*(i+1)*4),o=new ArrayBuffer(4*s);for(let t=i,e=0,s=new DataView(n);t>=0;t--){let n=t/i,o=2*n-1;for(let t=r;t>=0;t--,e+=3){let i=t/r*2-1;s.setFloat32((e+0)*4,i,!0),s.setFloat32((e+1)*4,o,!0),s.setFloat32((e+2)*4,n,!0)}}let a=r+1;for(let t=0,e=0,s=new DataView(o);t<i;t++)for(let i=0;i<r;i++,e+=6)s.setUint32((e+0)*4,(t+0)*a+i,!0),s.setUint32((e+1)*4,(t+0)*a+i+1,!0),s.setUint32((e+2)*4,(t+1)*a+i,!0),s.setUint32((e+3)*4,(t+0)*a+i+1,!0),s.setUint32((e+4)*4,(t+1)*a+i+1,!0),s.setUint32((e+5)*4,(t+1)*a+i,!0);return{positions:n,indices:o,count:s}}constructor(t,e){let r=t.getContext("webgl2",{antialias:!0,depth:!1,powerPreference:"low-power"});if(!r)throw Error("can't get WebGL2 context");let{amplitude:u=320,colors:l=["#ef008f","#6ec3f4","#7038ff","#ffba27"],density:c=[.06,.16],fps:h=24,seed:d=0,speed:f=1.25,time:m=0,wireframe:p=!1}=null!=e?e:{},{clientWidth:v,clientHeight:y}=t;t.width=v,t.height=y,r.viewport(0,0,v,y),r.enable(r.CULL_FACE),r.disable(r.DITHER),r.disable(r.DEPTH_TEST);let b=a.createGeometry(v*c[0],y*c[1]),g=new o({gl:r,shaders:[i,s],attributes:{position:b.positions},elements:b.indices,uniforms:{amplitude:{value:u,type:"1f"},baseColor:{value:n(l[0]),type:"3f"},realtime:{value:m,type:"1f"},resolution:{value:[v,y],type:"2f"},seed:{value:d,type:"1f"},shadowPower:{value:6,type:"1f"},layerCount:{value:l.length-1,type:"1i"},waveLayers:{value:l.slice(1).map((t,e,r)=>{let i=(e+1)/r.length+1;return{noiseCeil:{value:.63+.07*(e+1),type:"1f"},noiseFloor:{value:.1,type:"1f"},noiseFlow:{value:6.5+.3*(e+1),type:"1f"},noiseSeed:{value:d+10*(e+1),type:"1f"},noiseSpeed:{value:11+.3*(e+1),type:"1f"},noiseFreq:{value:[2+i,3+i],type:"2f"},color:{value:n(t),type:"3f"}}})}}});this.gl=r,this.clipSpace=g,this.density=c,this.speed=f,this.frameInterval=1e3/h,this.lastFrameTime=0,this.shouldRender=!0,this.drawMode=p?this.gl.LINES:this.gl.TRIANGLES,this.drawCount=b.count,this.time=m,requestAnimationFrame(t=>{this.render(t)})}resize(){let{gl:t,gl:{canvas:e},clipSpace:r}=this,{width:i,clientWidth:s,height:n,clientHeight:o}=e;if(i!==s||n!==o){e.width=s,e.height=o,t.viewport(0,0,s,o),this.clipSpace.setUniform("resolution",[s,o]);let i=a.createGeometry(s*this.density[0],o*this.density[1]);r.setAttribute("position",i.positions),r.setElements(i.indices),this.drawCount=i.count}}render(t){if(!this.shouldRender)return;requestAnimationFrame(t=>{this.render(t)});let e=t-this.lastFrameTime;if(e<this.frameInterval){Math.random()>.75==!0&&this.resize();return}this.lastFrameTime=t-e%this.frameInterval,this.time+=Math.min(e,this.frameInterval)*this.speed,this.clipSpace.setUniform("realtime",this.time),this.gl.drawElements(this.drawMode,this.drawCount,this.gl.UNSIGNED_INT,0)}destroy(){this.clipSpace.delete(),delete this.gl,this.shouldRender=!1}}}}]);
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.