0x35ed1634…9501sent to0xa7d8d9ef…d270·#14,789,045·view on Etherscan
=$[n],C=S.c,g=oe(C),F=ne(g.h,g.s,g.l);let X=S.i||.2;R.push({c:F,i:X})}let T,E,x,p,I,te,J,q=null;const A=()=>{const n=e.width,S=e.height/2,C=e.artdens;for(let g=0;g<ae;g++){let F=r.random()<.7?.1:.08;F+=r.random()*.1;let X=e.width*F,V=.01425313569*e.height,ue=.01425313569*e.height,H=n*(Math.floor(r.random()*C)/C),B=S;{H+=r.random()>.7?r.random()*n*.05:0;const L=e.artdens==10?0:.6;B+=r.random()>L?r.range(-1,1)*V*.125:0}g>20&&(e.strongStrokes||(V*=.1),H=r.random()*n,(e.strongStrokes||e.density>6)&&(B=r.random()*S));const M=g%$.length,h=R[M],z=h.c;let re=h.i;const ve=r.random()*Math.PI*2;t[M]||(t[M]=[]),t[M].push(H/e.width,B/e.height,X/e.width,V/e.height),c.push(H/e.width,B/e.height,X/e.width,V/e.height),a.push(H/e.width,B/e.height,X/e.width,ue/e.height),s.push(z.r/255,z.g/255,z.b/255,re),o.push(z.r/255,z.g/255,z.b/255,re),i.push(ve)}},tt=()=>{const n=e.nbLinesX,S=512,C=document.createElement("canvas");C.width=S,C.height=S;const g=C.getContext("2d"),F=S/n,X=r.tk.tokenId.substr(r.tk.tokenId.length-3,r.tk.tokenId.length),V=Mt[X]||[],ue=[];for(let h=0;h<V.length;h+=2)ue.push([V[h],V[h+1]]);let H=1,B=1,M=0;V[0]%1<1&&(H=V[0],B=V[1]||1,M=V[2]||0);for(let h=0;h<n;h++)for(let z=0;z<n;z++){const re=[h,z];let ve="white",L=ue.find(Ce=>Ce[0]==re[0]&&Ce[1]==re[1]);n==30&&(M==0&&(L=Math.sin(h*z+e.rnd)*B>H),M==1&&(L=Math.sin(h*z*z+e.rnd)*B>H),M==2&&(L=Math.sin(h*z+e.rnd*h*3)*B>H)),n==100&&(M==0&&(L=Math.cos(h*z+e.rnd)*Math.sin(h+e.rnd)*3>H),M==1&&(L=Math.cos(h*z+e.rnd)*Math.sin(h+e.rnd)*4>H)),L&&(ve="black");const kt=h*F,Et=z*F;g.save(),g.translate(kt,Et),g.fillStyle=ve,g.beginPath(),g.rect(0,0,F,F),g.fill(),g.closePath(),g.restore()}f=new THREE.Texture(C,THREE.UVMapping,THREE.ClampToEdgeWrapping,THREE.ClampToEdgeWrapping,THREE.NearestFilter,THREE.NearestFilter),f.minFilter=THREE.NearestFilter,f.maxFilter=THREE.NearestFilter,f.needsUpdate=!0},rt=()=>{for(let n=0;n<6;n++){const S=ze();l.push(S)}l[5].setSize(64,64),l[4].setSize(64,64),u=ze()},lt=()=>{let n=$.filter(S=>S.sh!==void 0);n.length?n=n[0].sh:n=0,p=new THREE.ShaderMaterial({defines:{nbshp:ae,nbshpROT:Ke},uniforms:{ures:{value:new THREE.Vector2(e.width,e.height)},ucntr:{value:new THREE.Vector2(0,e.contourWidth)},uskptsh:{value:e.skipThreshold},uhgtml:{value:2},ushp:{value:c},ushpcl:{value:s},uRotations:{value:i},uStep:{value:e.step},ugrdlmt:{value:new THREE.Vector2(e.artgrdlmt.x,e.artgrdlmt.y)},uRenderRot:{value:0},uShift:{value:n}},vertexShader:j,fragmentShader:ee})},ct=()=>{J=new THREE.ShaderMaterial({uniforms:{ures:{value:new THREE.Vector2(e.width,e.height)},tInput:{value:l[0].texture},tContourInput:{value:l[1].texture},uptuvtrlt:{value:new THREE.Vector2(e.pertubUVTranslateX,e.pertubUVTranslateY)},unblns:{value:new THREE.Vector2(e.nbLinesX,e.nbLinesY)},ucrl:{value:new THREE.Vector4(e.curl.pos.x,e.curl.pos.y,e.curl.scl.x,e.curl.scl.y)},ucrlscl:{value:e.form.crlsck2},uswl:{value:new THREE.Vector3(e.swl[0],e.swl[1],e.swl[2])},ucrlwrp:{value:new THREE.Vector2(e.curl.wrap.x,e.curl.wrap.y)},ucllff:{value:new THREE.Vector2(e.ucllff.x,e.ucllff.y)},ucntr:{value:0},ufm:{value:new THREE.Vector3(12.9898,78.233,43758.5453)}},vertexShader:j,fragmentShader:m})},st=()=>{te=new THREE.ShaderMaterial({defines:{nbshp:ae,nbshpROT:Ke},uniforms:{ures:{value:new THREE.Vector2(e.width,e.height)},uskptsh:{value:e.skipThreshold},uhgtml:{value:2},ushp:{value:a},ushpcl:{value:o},ucntr:{value:new THREE.Vector2(0,0)},ugrdlmt:{value:new THREE.Vector2(e.artgrdlmt.x,e.artgrdlmt.y)}},vertexShader:j,fragmentShader:ee})},nt=()=>{let n=$.filter(g=>g.d!==void 0);n=n.length?n[0]:{c:"#ffffff",i:0,d:0};const S=oe(n.c),C=ne(S.h,S.s,S.l);I=new THREE.ShaderMaterial({defines:{nbshp:ae},uniforms:{ures:{value:new THREE.Vector2(e.width,e.height)},uskptsh:{value:e.skipThreshold},ushp:{value:c},ushpcl:{value:s},udkncl:{value:new THREE.Vector4(C.r/255,C.g/255,C.b/255,n.i)}},vertexShader:j,fragmentShader:Ie}),e.darken=n.d,e.darkenColor=n.dc||"#555555"},ot=()=>{T=new THREE.Scene,E=new THREE.PerspectiveCamera(45,e.width/e.height,.01,100),nt(),st(),ct(),lt(),x=new THREE.PlaneBufferGeometry(2,2),q=new THREE.Mesh(x,p),T.add(q)},at=n=>{I.uniforms.uskptsh.value=e.skipThreshold,n.setRenderTarget(u),q.material=I,n.render(T,E)},it=n=>{p.uniforms.ugrdlmt.value.x=e.artgrdlmt.x,p.uniforms.ugrdlmt.value.y=e.artgrdlmt.y,p.uniforms.ucntr.value.x=0,p.uniforms.uRenderRot.value=0,p.uniforms.uskptsh.value=e.skipThreshold,p.uniforms.uStep.value=e.step,n.setRenderTarget(l[0]),q.material=p,n.render(T,E),p.uniforms.ugrdlmt.value.x=1,p.uniforms.ugrdlmt.value.y=1,n.setRenderTarget(l[5]),n.render(T,E),p.uniforms.uRenderRot.value=1,n.setRenderTarget(l[4]),n.render(T,E)},ut=n=>{n.setRenderTarget(l[2]),q.material=te,n.render(T,E),n.setRenderTarget(null)},vt=n=>{p.uniforms.uRenderRot.value=0,p.uniforms.ucntr.value.x=1,n.setRenderTarget(l[1]),q.material=p,n.render(T,E)},ft=n=>{J.uniforms.ucntr.value=0,q.material=J,n.setRenderTarget(l[3]),n.render(T,E)},dt=n=>{f.needsUpdate=!0,it(n),ut(n),at(n),vt(n),ft(n),n.setRenderTarget(null)},pt=()=>l[0].texture,mt=()=>l[5].texture,xt=()=>l[1].texture,ht=()=>u.texture,gt=()=>l[2].texture,bt=()=>l[3].texture,yt=()=>l[4].texture,wt=()=>f;return tt(),rt(),A(),ot(),{getContourTexture:xt,getColorTexture:pt,getColorTextureNoG:mt,getColorSelectionTexture:ht,gtdtColorTexture:gt,getWrapTexture:bt,getRotationTexture:yt,getEmptiesTexture:wt,render:dt}};var Ft=`#define PI 3.14159
uniform sampler2D tInput;uniform vec3 uffst;varying vec2 vUv;
vec2 rotate(vec2 uv, float rotation){float mid = 0.5;return vec2(cos(rotation) * (uv.x - mid) + sin(rotation) * (uv.y - mid) + mid,cos(rotation) * (uv.y - mid) - sin(rotation) * (uv.x - mid) + mid);}vec2 rotate(vec2 uv, float rotation, vec2 mid){return vec2(cos(rotation) * (uv.x - mid.x) + sin(rotation) * (uv.y - mid.y) + mid.x,cos(rotation) * (uv.y - mid.y) - sin(rotation) * (uv.x - mid.x) + mid.y);}vec2 rotate(vec2 uv, float rotation, float mid){return vec2(cos(rotation) * (uv.x - mid) + sin(rotation) * (uv.y - mid) + mid,cos(rotation) * (uv.y - mid) - sin(rotation) * (uv.x - mid) + mid);}vec2 scale(vec2 uv, float scale, vec2 origin) {return (uv - origin) * scale + origin;}vec2 scale(vec2 uv, vec2 scale, vec2 origin) {return (uv - origin) * scale + origin;}
\${noisecommon}
\${snoise}
vec3 gtpclstk2(vec2 res, float offset) {vec2 pencilstkuv = scale(vUv, res, vec2(1.5, .0));float pclstkPertub = sn3d(vec3(pencilstkuv, offset));vec2 pencilStrokeUv = vUv + vec2(pclstkPertub) * .2;vec3 c = texture2D(tInput, pencilStrokeUv).rgb * 10.;return c;}void main() {vec3 c = gtpclstk2(vec2(.1, 10.), 0.);c += gtpclstk2(vec2(.1, 50.), 0.) * .3;c = clamp(c, 0., 1.);gl_FragColor = vec4(c, 1.);}`;let ie=Ft;ie=ie.replace("${noisecommon}",Te);ie=ie.replace("${snoise}",Ue);const Wt=l=>{let c=l,s=null,a,o,t,i,u=null;const f=()=>{const E=4096;s=new THREE.WebGLRenderTarget(E,E,{minFilter:THREE.LinearFilter,magFilter:THREE.NearestFilter}),s.texture.wrapS=THREE.MirroredRepeatWrapping,s.texture.wrapT=THREE.MirroredRepeatWrapping},R=()=>{a=new THREE.Scene,o=new THREE.PerspectiveCamera(45,e.width/e.height,.01,100),i=new THREE.ShaderMaterial({uniforms:{tInput:{value:c},uffst:{value:new THREE.Vector4(e.curl.pos.x,e.curl.pos.y,e.curl.scl.x,e.curl.scl.y)}},vertexShader:j,fragmentShader:ie}),t=new THREE.PlaneBufferGeometry(2,2),u=new THREE.Mesh(t,i),a.add(u)},$=()=>s.texture,T=E=>{E.setRenderTarget(s),E.render(a,o),E.setRenderTarget(null)};return f(),R(),{getColorTexture:$,render:T}};var At="#define PI 3.14159\nuniform vec2 ures;uniform sampler2D tInput;uniform sampler2D tWrapInput;uniform sampler2D tDirtInput;uniform sampler2D tContourInput;uniform sampler2D tStrokesInput;uniform sampler2D tDarkInput;uniform sampler2D tRotationInput;uniform sampler2D tEmpties;uniform vec4 ubg;uniform vec4 ucbse;uniform vec4 uartcbse;uniform float uarthsft;uniform float urnd;uniform float uptscl;uniform float uptuvscl;uniform vec2 uptuvtrlt;uniform float uclattscl;uniform vec2 uclddgrtrlt;uniform float ugrnscl;uniform vec2 unblns;uniform vec4 ucrl;uniform vec2 ucrlwrp;uniform float ucrlscl;uniform vec2 ucllff;uniform vec2 upprtp;uniform vec2 uscrch;uniform vec4 uwrsz;uniform float uglrt;uniform vec2 ufllcll;uniform vec4 uframeprm;uniform vec2 ungt;uniform float udtbld;uniform vec4 uDirts[nbdrts];uniform vec2 udtintfq[nbdrts];uniform float ucllbrdsz;uniform float upclskint;uniform float unseclint;uniform float uogclint;uniform float uhstkint;uniform float ufzzstkint;uniform float udkint;uniform vec3 uswl;uniform vec2 uppruvfsst;uniform float uDebug;uniform float udkn;uniform vec3 udkncl;uniform vec2 usqss;uniform float urt;uniform float urtfq;uniform vec3 ucntr;uniform float uedgwdh;uniform float upidx;uniform float uStep;uniform vec2 uflp;varying vec2 vUv;\nfloat map(float value, float min1, float max1, float min2, float max2) {return min2 + (value - min1) * (max2 - min2) / (max1 - min1);}\nvec2 rotate(vec2 uv, float rotation){float mid = 0.5;return vec2(cos(rotation) * (uv.x - mid) + sin(rotation) * (uv.y - mid) + mid,cos(rotation) * (uv.y - mid) - sin(rotation) * (uv.x - mid) + mid);}vec2 rotate(vec2 uv, float rotation, vec2 mid){return vec2(cos(rotation) * (uv.x - mid.x) + sin(rotation) * (uv.y - mid.y) + mid.x,cos(rotation) * (uv.y - mid.y) - sin(rotation) * (uv.x - mid