PageSourceSearch

https://cmsil.org/_next/static/chunks/9494.d5ddd75f2dd6fe74.js

js cmsil.org collected 2026-10-04 02:48:03 UTC 8,257 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9494],{9494:(n,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>d});var u=t(95155),o=t(97696),l=t(8724),i=t(78781),a=t(88453),r=t(31972),s=t(56360),f=t(12115);t(49026);let c="#version 300 es\nin vec2 position;\nvoid main() {\n  gl_Position = vec4(position, 0.0, 1.0);\n}\n",v="#version 300 es\nprecision highp float;\n\nuniform float uTime;\nuniform vec2 uResolution;\nuniform vec3 uColors[".concat(8,"];\nuniform int uColorCount;\nuniform int uStrandCount;\nuniform float uSpeed;\nuniform float uAmplitude;\nuniform float uWaviness;\nuniform float uThickness;\nuniform float uGlow;\nuniform float uTaper;\nuniform float uSpread;\nuniform float uHueShift;\nuniform float uIntensity;\nuniform float uOpacity;\nuniform float uScale;\nuniform float uSaturation;\n\nout vec4 fragColor;\n\nconst float PI = 3.14159265;\n\nvec3 spectrum(float t) {\n  return 0.5 + 0.5 * cos(2.0 * PI * (t + vec3(0.00, 0.33, 0.67)));\n}\n\nvec3 samplePalette(float t) {\n  t = fract(t);\n  float scaled = t * float(uColorCount);\n  int idx = int(floor(scaled));\n  float blend = fract(scaled);\n  int nextIdx = idx + 1;\n  if (nextIdx >= uColorCount) nextIdx = 0;\n  return mix(uColors[idx], uColors[nextIdx], blend);\n}\n\nvec3 strandColor(float t) {\n  if (uColorCount > 0) return samplePalette(t);\n  return spectrum(t);\n}\n\nvoid main() {\n  vec2 uv = (gl_FragCoord.xy - 0.5 * uResolution) / uResolution.y;\n  uv /= max(uScale, 0.0001);\n\n  float e = 0.06 + uIntensity * 0.94;\n  float env = pow(max(cos(uv.x * PI * 1.3), 0.0), uTaper);\n\n  vec3 col = vec3(0.0);\n\n  for (int i = 0; i < ").concat(12,";
1 i++) {\n    if (i >= uStrandCount) break;\n\n    float fi = float(i);\n    float ph = fi * 1.7 * uSpread;\n    float freq = (2.0 + fi * 0.35) * uWaviness;\n    float spd = 1.4 + fi * 1.2;\n\n    float tt = uTime * uSpeed;\n    float w = sin(uv.x * freq + tt * spd + ph) * 0.60\n            + sin(uv.x * freq * 1.1 - tt * spd * 0.7 + ph * 1.7) * 0.40;\n\n    float amp = (0.1 + 0.02 * e) * env * uAmplitude;\n    float y = w * amp;\n\n    float d = abs(uv.y - y);\n    float thick = (0.001 + 0.05 * e) * (0.35 + env) * uThickness;\n    float g = thick / (d + thick * 0.45);\n    g = g * g;\n\n    float h = fi / float(uStrandCount) + uv.x * 0.30 + uTime * 0.04 + uHueShift;\n    col += strandColor(h) * g * env;\n  }\n\n  col *= 0.45 + 0.7 * e;\n  col = 1.0 - exp(-col * uGlow);\n\n  float gray = dot(col, vec3(0.2126, 0.7152, 0.0722));\n  col = max(mix(vec3(gray), col, uSaturation), 0.0);\n\n  float lum = max(max(col.r, col.g), col.b);\n  float alpha = clamp(lum, 0.0, 1.0) * uOpacity;\n\n  fragColor = vec4(col * uOpacity, alpha);\n}\n"),m=n=>{let e=n&&n.length?n:["#ffffff"],t=[];for(let n=0;n<8;n++){var u;let l=null!=(u=e[n])?u:e[e.length-1],i=new o.Q(l);t.push([i.r,i.g,i.b])}return t};function d(n){let{colors:e=["#FF4242","#7C3AED","#06B6D4","#EAB308"],count:t=3,speed:o=.5,amplitude:d=1,waviness:p=1,thickness:h=.7,glow:g=2.6,taper:x=3,spread:C=1,hueShift:S=0,intensity:w=.6,saturation:y=1.5,opacity:R=1,scale:b=1.5,glass:A=!1,refraction:k=1,dispersion:E=1,glassSize:I=1,className:T="",style:_}=n,D=(0,f.useRef)({});D.current={colors:e,count:t,speed:o,amplitude:d,waviness:p,thickness:h,glow:g,taper:x,spread:C,hueShift:S,intensity:w,saturation:y,opacity:R,scale:b,glass:A,refraction:k,dispersion:E,glassSize:I};let B=(0,f.useRef)(null);return(0,f.useEffect)(()=>{var n,u,f;let A=B.current;if(!A)return;let T=new l.A({alpha:!0,premultipliedAlpha:!0,antialias:!0}),_=T.gl;_.clearColor(0,0,0,0),_.enable(_.BLEND),_.blendFunc(_.ONE,_.ONE_MINUS_SRC_ALPHA),_.canvas.style.backgroundColor="transparent";let H=new i.l(_);H.attributes.uv&&delete H.attributes.uv;let O="",W=n=>{let e=n.join("|");e!==O&&(O=e,z.uniforms.uColors.value=m(n),z.uniforms.uColorCount.value=Math.min(n.length,8))},z=new a.B(_,{vertex:c,fragment:v,uniforms:{uTime:{value:0},uResolution:{value:[A.offsetWidth,A.offsetHeight]},uColors:{value:m(null!=(n=D.current.colors)?n:e)},uColorCount:{value:Math.min((null!=(u=D.current.colors)?u:e).length,8)},uStrandCount:{value:Math.min(t,12)},uSpeed:{value:o},uAmplitude:{value:d},uWaviness:{value:p},uThickness:{value:h},uGlow:{value:g},uTaper:{value:x},uSpread:{value:C},uHueShift:{value:S},uIntensity:{value:w},uOpacity:{value:R},uScale:{value:b},uSaturation:{value:y}}});O=(null!=(f=D.current.colors)?f:e).join("|");let F=new r.e(_,{geometry:H,program:z}),G=new s.O(_,{width:A.offsetWidth,height:A.offsetHeight}),M=new a.B(_,{vertex:c,fragment:"#version 300 es\nprecision highp float;\n\nuniform sampler2D uScene;\nuniform vec2 uResolution;\nuniform float uRadius;\nuniform float uRefraction;\nuniform float uDispersion;\n\nout vec4 fragColor;\n\nvec2 toUv(vec2 p) {\n  return p * (uResolution.y / uResolution) + 0.5;\n}\n\nvoid main() {\n  vec2 p = (gl_FragCoord.xy - 0.5 * uResolution) / uResolution.y;\n  float d = length(p);\n  float r = uRadius;\n\n  float edge = fwidth(d) * 1.5;\n  float mask = 1.0 - smoothstep(r - edge, r + edge, d);\n  if (mask <= 0.0) {\n    fragColor = vec4(0.0);\n    return;\n  }\n\n  float z = sqrt(max(r * r - d * d, 0.0)) / r;\n  float nd = d / r;\n\n  vec2 dir = d > 0.0 ? p / d : vec2(0.0);\n  float lens = smoothstep(0.85, 1.0, nd) * pow(nd, 6.0);\n  vec2 offset = -dir * lens * uRefraction * 0.15;\n  vec2 disp = -dir * lens * uDispersion * 0.012;\n\n  vec3 light;\n  light.r = texture(uScene, toUv(p + offset - disp)).r;\n  light.g = texture(uScene, toUv(p + offset)).g;\n  light.b = texture(uScene, toUv(p + offset + disp)).b;\n\n  float fres = pow(1.0 - z, 3.0);\n  vec3 rim = vec3(1.0) * fres * 0.18;\n\n  vec2 lightDir = normalize(vec2(-0.55, 0.6));\n  float spec = pow(max(dot(p / max(r, 1e-4), lightDir), 0.0), 6.0);\n  spec *= smoothstep(r, r * 0.55, d);\n\n  vec3 emissive = light + rim + vec3(spec) * 0.4;\n  float emissiveA = clamp(max(max(emissive.r, emissive.g), emissive.b), 0.0, 1.0);\n\n  float bodyA = 0.05 + fres * 0.05;\n\n  float outA = emissiveA + bodyA * (1.0 - emissiveA);\n  vec3 outRGB = emissive;\n\n  outRGB *= mask;\n  outA *= mask;
1\n\n  fragColor = vec4(outRGB, outA);\n}\n",uniforms:{uScene:{value:G.texture},uResolution:{value:[A.offsetWidth,A.offsetHeight]},uRadius:{value:.46*I},uRefraction:{value:k},uDispersion:{value:E}}}),N=new r.e(_,{geometry:H,program:M});function L(){if(!A)return;let n=A.offsetWidth,e=A.offsetHeight;T.setSize(n,e),z.uniforms.uResolution.value=[n,e],G.setSize(n,e),M.uniforms.uResolution.value=[n,e]}A.appendChild(_.canvas),window.addEventListener("resize",L),L();let P=0,q=!0,U=!document.hidden,j=new IntersectionObserver(n=>{let[e]=n;q=e.isIntersecting},{rootMargin:"100px"});j.observe(A);let Q=()=>{U=!document.hidden};document.addEventListener("visibilitychange",Q);let J=n=>{var u,l,i,a,r,s,f,c,v,m,A,_,B,H,O,L,j;if(P=requestAnimationFrame(J),!q||!U)return;let Q=D.current,K=null!=(u=Q.colors)?u:e;z.uniforms.uTime.value=.001*n,W(K),z.uniforms.uStrandCount.value=Math.min(Math.max(Math.round(null!=(l=Q.count)?l:t),1),12),z.uniforms.uSpeed.value=null!=(i=Q.speed)?i:o,z.uniforms.uAmplitude.value=null!=(a=Q.amplitude)?a:d,z.uniforms.uWaviness.value=null!=(r=Q.waviness)?r:p,z.uniforms.uThickness.value=null!=(s=Q.thickness)?s:h,z.uniforms.uGlow.value=null!=(f=Q.glow)?f:g,z.uniforms.uTaper.value=null!=(c=Q.taper)?c:x,z.uniforms.uSpread.value=null!=(v=Q.spread)?v:C,z.uniforms.uHueShift.value=null!=(m=Q.hueShift)?m:S,z.uniforms.uIntensity.value=null!=(A=Q.intensity)?A:w,z.uniforms.uOpacity.value=null!=(_=Q.opacity)?_:R,z.uniforms.uScale.value=null!=(B=Q.scale)?B:b,z.uniforms.uSaturation.value=null!=(H=Q.saturation)?H:y,Q.glass?(T.render({scene:F,target:G}),M.uniforms.uScene.value=G.texture,M.uniforms.uRefraction.value=null!=(O=Q.refraction)?O:k,M.uniforms.uDispersion.value=null!=(L=Q.dispersion)?L:E,M.uniforms.uRadius.value=.46*(null!=(j=Q.glassSize)?j:I),T.render({scene:N})):T.render({scene:F})};return P=requestAnimationFrame(J),()=>{var n;cancelAnimationFrame(P),j.disconnect(),document.removeEventListener("visibilitychange",Q),window.removeEventListener("resize",L),A&&_.canvas.parentNode===A&&A.removeChild(_.canvas),null==(n=_.getExtension("WEBGL_lose_context"))||n.loseContext()}},[]),(0,u.jsx)("div",{ref:B,className:"strands-container ".concat(T),style:_})}},49026:()=>{}}]);

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.