memoscan
← all memos

Memo 0xad3cd262…e71c80 on Ethereum

(()=>{"use strict";{const l=e=>new Float32Array(e),o=Math.PI,f=2*o,c=Math.cos,s=Math.sin,u=Math.pow,v=Math.sqrt,b=Math.floor,h=Math.ceil,x=Math.abs,A=Math.min,g=Math.max,p=1/3,m=1/6,d=new Float32Array([1,1,0,-1,1,0,1,-1,0,-1,-1,0,1,0,1,-1,0,1,1,0,-1,-1,0,-1,0,1,1,0,-1,1,0,1,-1,0,-1,-1]);class y{constructor(e,t,r,a,i,n){this.x=e,this.y=t,this.ox=e,this.oy=t,this.life=200,this.frac=r,this.s=a,this.angle=i,this.range=n,this.frac2=1,this.frac3=1,this.frac4=1,this.variant=0}}const _={init(e){this.r=this.alea(e),this.p=this.bp(this.r),this.perm=new Uint8Array(512),this.p12=new Uint8Array(512);for(var t=0;t<512;t++)this.perm[t]=this.p[255&t],this.p12[t]=this.perm[t]%12},bp(e){var t,r=new Uint8Array(256);for(t=0;t<256;t++)r[t]=t;for(t=0;t<255;t++){var a=t+~~(e()*(256-t)),i=r[t];r[t]=r[a],r[a]=i}return r},masher(){var e=4022871197;return function(t){t=t.toString();for(var r=0;r<t.length;r++){var a=.02519603282416938*(e+=t.charCodeAt(r));a-=e=a>>>0,e=(a*=e)>>>0,e+=4294967296*(a-=e)}return 2.3283064365386963e-10*(e>>>0)}},alea(){var e=0,t=0,r=0,a=1,i=this.masher();e=i(" "),t=i(" "),r=i(" ");for(var n=0;n<arguments.length;n++)(e-=i(arguments[n]))<0&&(e+=1),(t-=i(arguments[n]))<0&&(t+=1),(r-=i(arguments[n]))<0&&(r+=1);return i=null,function(){var i=2091639*e+2.3283064365386963e-10*a;return e=t,t=r,r=i-(a=0|i)}},n3(e,t,r){var a,i,n,l,o,f,c,s,u,v,h=this.p12,x=this.perm,A=(e+t+r)*p,g=b(e+A),y=b(t+A),_=b(r+A),D=(g+y+_)*m,E=e-(g-D),w=t-(y-D),R=r-(_-D);E>=w?w>=R?(o=1,f=0,c=0,s=1,u=1,v=0):E>=R?(o=1,f=0,c=0,s=1,u=0,v=1):(o=0,f=0,c=1,s=1,u=0,v=1):w<R?(o=0,f=0,c=1,s=0,u=1,v=1):E<R?(o=0,f=1,c=0,s=0,u=1,v=1):(o=0,f=1,c=0,s=1,u=1,v=0);var T=E-o+m,P=w-f+m,B=R-c+m,F=E-s+2*m,M=w-u+2*m,I=R-v+2*m,S=E-1+3*m,C=w-1+3*m,L=R-1+3*m,U=255&g,N=255&y,O=255&_,V=.6-E*E-w*w-R*R;if(V<0)a=0;else{var z=3*h[U+x[N+x[O]]];a=(V*=V)*V*(d[z]*E+d[z+1]*w+d[z+2]*R)}var H=.6-T*T-P*P-B*B;if(H<0)i=0;else{var X=3*h[U+o+x[N+f+x[O+c]]];i=(H*=H)*H*(d[X]*T+d[X+1]*P+d[X+2]*B)}var k=.6-F*F-M*M-I*I;if(k<0)n=0;else{var W=3*h[U+s+x[N+u+x[O+v]]];n=(k*=k)*k*(d[W]*F+d[W+1]*M+d[W+2]*I)}var G=.6-S*S-C*C-L*L;if(G<0)l=0;else{var $=3*h[U+1+x[N+1+x[O+1]]];l=(G*=G)*G*(d[$]*S+d[$+1]*C+d[$+2]*L)}return 32*(a+i+n+l)}},D=(i=[[2982,2710,2728,3511,3780,3800,2728,1638,1124,2184,1638,0,105,71,0,1024,1856,2144,1600,2144,1888,2692],[1961,1706,170,153,120,1094,4,4,1895,1639,1542,2663,2564,2822,2696,3398,3654,3703,3753,3734,2676,3530,3238,3748,2982,2746],[3216,1604,2184,3528,3548,2730,3003,3822,1092,0,136,0,103,102,68,0,1856,2400,2672,2944,1088,1638,1911],[2912,3184,3472,3232,2182,2468,1928,73,1030,4,1028,1863,1604,1540,1540,1894,2116,2304,2560,3136,2662,3392,2916,3168],[3546,3490,3456,1364,0],[0,679,120,3324,341,50,34],[3892,3106,2050,1536,768,512],[4095,3985,2541,715,869,18],[3392,1210,135,17,3566],[0,4095,3549,0],[19,1110,2218,2505,3290,3943],[2115,3685,3990,4041,3547,3566],[1589,3977,2749,89,36],[3021,682,120,86,2236,4044,3805,3959,4072,4023,546],[3171,2131,3478,4023,4093,2455,546,308,18],[4042,3447,2425,1111,563,2748],[0,291,4001,3822,4095,869,1465],[785,1552,4090,2624,3459,4090,120],[3994,3976,514,3419,4015,1338,514,787,3766],[3838,3021,1675,1145,600,54,2],[512,1794,3141,3957,3989,3635],[3654,4054,218,395,52],[18,375,1688,4041,3619],[311,2815,3920,4095,0],[3937,3894,750,532,2]],n=[],{geti:function(e){e<0&&(e*=-1),e%=1;let t=n.length,r=b(t*e),a=(r+1)%t,i=t*e-r,l=n[r],o=n[a],f=1-i,c=1/2.2;return[u(u(o[0],c)*i+f*u(l[0],c),2.2),u(u(o[1],c)*i+f*u(l[1],c),2.2),u(u(o[2],c)*i+f*u(l[2],c),2.2)]},init:function(e,t){for(var r=0;r<i[e].length;++r){let a=i[e][r],l=(15&a)/16,o=(a>>4&15)/16,f=(a>>8&15)/16;t&&(l=g(0,A(1,l+.05*Z()-.025)),o=g(0,A(1,o+.05*Z()-.025)),f=g(0,A(1,f+.05*Z()-.025))),n.push([f,o,l])}}}),E=document.createElement("canvas");E.width=0,E.height=0,E.style="z-index:-1; background: rgba(0,0,0,0); position:absolute; top:0; left:0; bottom:0; right:0; margin:auto;",document.body.prepend(E);const w=E.getContext("webgl2",{alpha:!1});w.getExtension("EXT_color_buffer_float"),w.getExtension("OES_texture_float_linear"),w.getExtension("EXT_float_blend");const R=w.TRIANGLES,T=w.FRAMEBUFFER,P=w.FLOAT,B=w.TEXTURE_2D,F=w.COLOR_ATTACHMENT0,M=w.DEPTH_BUFFER_BIT,I=w.ARRAY_BUFFER,S=w.STATIC_DRAW,C=w.DYNAMIC_DRAW,L=w.ONE,U=(w.ZERO,w.ONE_MINUS_SRC_ALPHA),N=w.SRC_ALPHA,O=(e,t,r)=>e.getAttribLocation(t,r),V=(e,t,r)=>e.getUniformLocation(t,r),z=()=>w.createBuffer();let H,X,k,W,G,$,q=[],Y=[];_.init(tokenData.hash);let Z=_.r,j=b(25*Z()),J=2.5+2*v(Z()),K=Z()-.5,Q=Z()-.5;Z()>.5&&(J+=2+5*u(Z(),3)),Z()>.95&&(J+=5);let ee=5+b(10*Z());Z()>.5&&(ee+=b(10+10*Z()));let te=Z(),re=te<.7?0:te<.85?1:2,ae=Z()>.9,ie=Z()>.7,ne=Z()>.8,le=Z()>.9,oe=Z()>.5,fe=Z()>.1,ce=Z()>.5,se=Z()>.95,ue=Z()>.5,ve=Z()>.9,be=Z()>.6,he=Z()>.7,xe=Z()>.7?2:1,Ae=Z()>.8,ge=K,pe=Q;for(;x(ge-K)<.4;)ge=Z()-.5;for(;x(pe-Q)<.4;)pe=Z()-.5;let me=Z(),de=Z(),ye=Z(),_e=he?.2:.1;D.init(j,ue);let De=[];for(var e=0;e<30;++e){let vr=D.geti(me+e/30);De.push(vr[0],vr[1],vr[2],1)}let Ee=window.innerWidth,we=window.innerHeight,Re=16/9,Te=Ee/Re;we>Te?we=Te:Ee=we*Re,E.width=Ee,E.height=we;const Pe=E.clientWidth,Be=E.clientHeight;let Fe=Math.min(Pe,Be),Me=Pe,Ie=Be,Se=[];function Ce(){let e=w.createTexture();w.bindTexture(B,e),w.texImage2D(B,0,w.RGBA32F,G,$,0,w.RGBA,P,null),w.texParameteri(B,w.TEXTURE_MIN_FILTER,w.LINEAR),w.texParameteri(B,w.TEXTURE_MAG_FILTER,w.LINEAR),w.texParameteri(B,w.TEXTURE_WRAP_S,w.MIRRORED_REPEAT),w.texParameteri(B,w.TEXTURE_WRAP_T,w.MIRRORED_REPEAT);let t=w.createFramebuffer();return w.bindFramebuffer(T,t),w.framebufferTexture2D(T,F,B,e,0),fe?w.clearColor(1,1,1,1):(Se=D.geti(me),Se[0]=Se[0]/20,Se[1]=Se[1]/20,Se[2]=Se[2]/20,w.clearColor(Se[0],Se[1],Se[2],1)),w.clear(w.COLOR_BUFFER_BIT),[e,t]}function Le(e,t,r){let a=e.createShader(t);return e.shaderSource(a,r),e.compileShader(a),a}function Ue(e,t,r){let a=e.createProgram();return e.attachShader(a,t),e.attachShader(a,r),e.linkProgram(a),a}function Ne(e){let t=200;w.bindBuffer(I,dt);let r=[];for(var a=0;a<t;++a){let e=a/t,i=D.geti(me+de+e*(ye-de));r.push(i[0]*_t,i[1]*_t,i[2]*_t)}w.bufferData(I,l(r),C),w.bindBuffer(I,yt);let i=[];for(a=0;a<t;++a){let e=(a+1)/t,r=D.geti(me+de+e*(ye-de));i.push(r[0]*_t,r[1]*_t,r[2]*_t)}w.bufferData(I,l(i),C),w.useProgram(je),w.bindBuffer(I,It),w.enableVertexAttribArray(nt),w.vertexAttribPointer(nt,3,P,!1,0,0),w.bindBuffer(I,dt),w.enableVertexAttribArray(lt),w.vertexAttribPointer(lt,3,P,!1,0,0),w.vertexAttribDivisor(lt,1),w.bindBuffer(I,yt),w.enableVertexAttribArray(ot),w.vertexAttribPointer(ot,3,P,!1,0,0),w.vertexAttribDivisor(ot,1),w.uniform1f(ct,e);let n=[];for(a=0;a<t;++a){let e=(a+.5)/t;n.push(2*e-1,.005)}w.bindBuffer(I,pt),w.bufferData(I,l(n),C),w.enableVertexAttribArray(ft),w.vertexAttribPointer(ft,2,P,!1,0,0),w.vertexAttribDivisor(ft,1),w.drawArraysInstanced(R,0,6,t),w.vertexAttribDivisor(nt,0),w.vertexAttribDivisor(lt,0),w.vertexAttribDivisor(ot,0),w.vertexAttribDivisor(ft,0)}function Oe(e=!1){w.useProgram(Ze),w.bindBuffer(I,At),e?w.bufferData(I,Bt,C):w.bufferData(I,Pt,C),w.enableVertexAttribArray(Qe),w.vertexAttribPointer(Qe,4,P,!1,0,0),w.bindBuffer(I,gt),w.bufferData(I,zt,C),w.enableVertexAttribArray(et),w.vertexAttribPointer(et,4,P,!1,0,0),w.vertexAttribDivisor(et,1),w.bindBuffer(I,pt),w.bufferData(I,Ot,C),w.enableVertexAttribArray(tt),w.vertexAttribPointer(tt,4,P,!1,0,0),w.vertexAttribDivisor(tt,1),w.bindBuffer(I,mt),w.bufferData(I,Vt,C),w.enableVertexAttribArray(rt),w.vertexAttribPointer(rt,1,P,!1,0,0),w.vertexAttribDivisor(rt,1),w.uniform4fv(it,De),w.uniform2f(at,Me/Fe,Ie/Fe),e?w.drawArraysInstanced(R,0,Tt,Lt):w.drawArraysInstanced(R,0,Rt,Lt),w.vertexAttribDivisor(et,0),w.vertexAttribDivisor(tt,0),w.vertexAttribDivisor(rt,0)}let Ve="30.0";ae&&(Ve="60.0");var t=`#version 300 es\n in vec4 ap;in vec4 ac;in vec4 as;in float al;out vec4 vc;uniform vec2 d;uniform vec4 cols[30];vec3 so(vec3 c) {float l = 0.4122214708*c.r+0.5363325363*c.g+0.0514459929*c.b;float m=0.2119034982*c.r+0.6806995451*c.g+0.1073969566*c.b;float s=0.0883024619*c.r+0.2817188376*c.g+0.6299787005*c.b;float l_=pow(l,1.0/3.0);float m_=pow(m,1.0/3.0);float s_=pow(s,1.0/3.0);return vec3(0.2104542553*l_+0.7936177850*m_-0.0040720468*s_,1.9779984951*l_-2.4285922050*m_+0.4505937099*s_,0.0259040371*l_+0.7827717662*m_-0.8086757660*s_);}vec3 os(vec3 c){float l_=c.x+0.3963377774*c.y+0.2158037573*c.z;float m_=c.x-0.1055613458*c.y-0.0638541728*c.z;float s_=c.x-0.0894841775*c.y-1.2914855480*c.z;float l=l_*l_*l_;float m=m_*m_*m_;float s =s_*s_*s_;return vec3(4.0767416621*l-3.3077115913*m+0.2309699292*s,-1.2684380046*l+2.6097574011*m-0.3413193965*s,-0.0041960863*l-0.7034186147*m+1.7076147010*s);}\n vec4 get(float l){l=${Ve}*l;int i0=int(l)%30;int i1=(i0+1)%30;float f=fract(l);vec4 col0=cols[i0];vec4 col1=cols[i1];return mix(col0,col1,f);}\n void main(){vc=get(fract(ac.x+ap.z*ac.z));vec3 lab=so(vc.xyz);vc.xyz=os(vec3(min(1.0,lab.r*al),lab.g,lab.b));if(as.w > 0.5){vc=mix(vec4(1.0,1.0,1.0,ac.w),vc,2.0*(as.w-0.5));}else{vc=mix(vec4(0.0,0.0,0.0,ac.w),vc,as.w*2.0);}vc.a=ac.w;mat2 rot=mat2(cos(ac.y),sin(ac.y),-sin(ac.y),cos(ac.y));vec2 pos=rot*ap.xy;gl_Position=vec4((as.z*pos.x+as.x)/d.x,(as.z*pos.y+as.y)/d.y,1.0,1.0);}`;