0x76a5e520…f436sent to0x942bc2d3…5c8a·#18,323,091·view on Etherscan
function buildSVGroot(){var t=window.innerWidth,r=window.innerHeight;wW=t,wH=r,size=wH,sizeFrac=8e-4*size;var o=R.num(-.03,.03)*wW,e=R.num(-.03,.03)*wH,i=R.num(-2,2);rW=wW-R.num(.1,.2)*size,rH=wH-R.num(.1,.2)*size,aSVG("body","svg",{id:"svgRoot",xmlns:"http://www.w3.org/2000/svg","fill-rule":"evenodd",width:t,height:r,viewBox:t/-2+" "+r/-2+" "+t+" "+r}),aSVG("svgRoot","defs",{id:"defs"}),aSVG("defs","linearGradient",{id:"textureGradMask",gradientUnits:"objectBoundingBox",x1:"0%",y1:"0%",x2:"0%",y2:"100%"}),aSVG("textureGradMask","stop",{offset:"0%","stop-color":"#000","stop-opacity":"70%"}),aSVG("textureGradMask","stop",{offset:"5%","stop-color":"#000","stop-opacity":"0%"}),aSVG("textureGradMask","stop",{offset:"95%","stop-color":"#000","stop-opacity":"0%"}),aSVG("textureGradMask","stop",{offset:"100%","stop-color":"#000","stop-opacity":"70%"}),aSVG("defs","mask",{id:"textureMask",maskUnits:"userSpaceOnUse",x:wW/-2,y:wH/-2,width:wW,height:wH}),aSVG("textureMask","rect",{x:wW/-2,y:wH/-2,width:wW,height:wH,fill:"#fff"}),aSVG("textureMask","rect",{x:wW/-2,y:wH/-2,width:wW,height:wH,fill:"url(#textureGradMask)"}),aSVG("textureMask","rect",{x:wH/-2,y:wW/-2,width:wH,height:wW,fill:"url(#textureGradMask)",transform:"rotate(90)"}),aSVG("svgRoot","rect",{x:wW/-2,y:wH/-2,width:wW,height:wH,fill:bgColor}),aSVG("svgRoot","g",{id:"border"}),aSVG("svgRoot","g",{id:"dots"}),aSVG("svgRoot","g",{id:"root",transform:"translate("+o+" "+e+") rotate("+i+" 0 0)"}),aSVG("root","g",{id:"filaments"}),aSVG("root","g",{id:"zones",transform:"translate("+rW/-2+" "+rH/-2+")"}),aSVG("zones","g",{id:"pattern"}),aSVG("zones","g",{id:"viga"}),aSVG("zones","g",{id:"connections"}),aSVG("zones","g",{id:"nodes"}),aSVG("root","g",{id:"edgeLines"}),aSVG("svgRoot","g",{id:"textureContainer",mask:"url(#textureMask)"}),aSVG("textureContainer","g",{id:"texture",transform:"rotate("+R.num(-3,3)+")"}),aSVG("svgRoot","g",{id:"topDotShadow"}),aSVG("svgRoot","g",{id:"topDots"})}function buildBorder(t){for(var r=0;r<5;r++)buildFilaments([rW/R.num(2,1.5)*R.pol(),rH/R.num(2,1.5)*R.pol()],null,t,"edgeLines",!1,sizeFrac*R.num(1,5),.05)}function buildLayout(){for(var t,o,e,i,a,n=[],l=[],s=[],d=[],g=[],u=globalData.showSingle?data.length:data.length+1,f=0;f<u;f++)0==f?l={x:0,y:0,w:1,h:1}:(e=IDr.prob(.5)?IDr.num(.31,.37):IDr.num(.62,.7),o=n[t=IDr.int(0,n.length-1)],IDr.prob(.5)?(l={x:o.x+o.w*e,y:o.y,w:o.w*(1-e),h:o.h},n[t].w=o.w*e):(l={x:o.x,y:o.y+o.h*e,w:o.w,h:o.h*(1-e)},n[t].h=o.h*e)),l.zoneColor=globalData.showSingle?data[0].interactions[0].blobs[data[0].interactions[0].blobs.length-1].rgb:getZoneColor(),l.addViga=!!(f<3||IDr.prob(.8)),l.addPattern=!!(f<3||IDr.prob(.8)),n.push(l);for(f=0;f<data.length;f++){var c,h,p,S,C,b,y=data[f].interactions.length,w=n[f].zoneColor;n[f].addPattern&&buildPattern(n[f],R.int(6,12),w),buildBorder(w),triMarks(w,f);for(var m,z=n[f].w*rW,v=n[f].h*rH,x=999999999,k={gridCellsX:null,gridCellsY:null,gridCellSize:0},V=n[f].x*rW,G=n[f].y*rH,M=1;M<=y;M++)c=v/M,(b=(C=(p=Math.floor(z/c))*M)-y)<=x&&b>-1&&(k.gridCellsX=p,k.gridCellsY=M,k.gridCellSize=c,k.gridCapacity=C,k.fitTo="h",x=b);x=999999999;for(M=1;M<=y;M++)h=z/M,(b=(C=(S=Math.floor(v/h))*M)-y)<=x&&b>-1&&h>k.gridCellSize&&(k.gridCellsX=M,k.gridCellsY=S,k.gridCellSize=h,k.gridCapacity=C,k.fitTo="w",x=b);s=[];for(var P=0;P<k.gridCapacity;P++)m=P<y?1:0,s.push(m);shuffle(s),i="w"==k.fitTo?V:V+IDr.dec()*(z-k.gridCellSize*k.gridCellsX),a="h"==k.fitTo?G:G+IDr.dec()*(v-k.gridCellSize*k.gridCellsY);var I,D,H,W,_=0,j=0,B=IDr.prob(.5)?IDr.num(87,93):IDr.num(-3,3);g=[];for(var F=0;F<=k.gridCellsX;F++){g.push([]);for(var O=0;O<k.gridCellsY;O++)cx=i+k.gridCellSize*(F+.5)+IDr.fluc()*(.035*k.gridCellSize),cy=a+k.gridCellSize*(O+.5)+IDr.fluc()*(.035*k.gridCellSize),r=k.gridCellSize/2,0==O&&g[F].push([cx-.5*k.gridCellSize,cy-.7*k.gridCellSize]),O==k.gridCellsY-1?g[F].push([cx-.5*k.gridCellSize,cy+.7*k.gridCellSize]):g[F].push([cx-.5*k.gridCellSize,cy+.5*k.gridCellSize]),F<k.gridCellsX&&(target="node_"+f+"_"+_,aSVG("nodes","g",{id:target,transform:"translate("+cx+" "+cy+")"}),1==s[_]&&(blobArray=data[f].interactions[j].blobs,data[f].interactions[j].cx=cx,data[f].interactions[j].cy=cy,buildFilaments([cx,cy],null,w,target,!0,sizeFrac,.5),I=IDr.prob(0)?IDr.num(1.4,1.25):IDr.num(.9,1.1),H=Math.round(Math.pow(R.num(0,20),2)),buildNode(0,0,r*I,target,w,blobArray,B,data[f].interactions[j].interactionId,H),data[f].interactions[j].cellBBid=target+"_nodeOuter",j++,D=.02*r>.001*size?.02*r:.001*size,W=globalData.showSingle?data[0].interactions[0].blobs[0].rgb:w,IDr.prob(.9)&&buildScribble(r*IDr.num(.1,.7),r*IDr.num(1,1.6),target,W,D,.2)),_++)}d=[];for(O=0;O<=k.gridCellsY;O++){d.push([]);for(F=0;F<k.gridCellsX;F++)cx=i+k.gridCellSize*(F+.5)+IDr.fluc()*(.035*k.gridCellSize),cy=a+k.gridCellSize*(O+.5)+IDr.fluc()*(.035*k.gridCellSize),r=k.gridCellSize/2,0==F&&d[O].push([cx-.7*k.gridCellSize,cy-.5*k.gridCellSize]),F==k.gridCellsX-1?d[O].push([cx+.7*k.gridCellSize,cy-.5*k.gridCellSize]):d[O].push([cx+.5*k.gridCellSize,cy-.5*k.gridCellSize])}n[f].addViga&&(aSVG("viga","g",{id:"viga_"+f}),buildViga(g,"viga_"+f,k.gridCellSize,w,"v"),buildViga(d,"viga_"+f,k.gridCellSize,w,"h"))}}function drawConnections(){for(var t,r=0;r<data.length;r++){var o=getRandomHV(!1);t=hsvToRgb(o.h,R.num(.7,.9),R.num(.6,.8)+o.v,"array");for(var e=0;e<data[r].interactions.length;e++)connectionCenter=getRandomCellLocation(),strokeW=.0015*size,strokeOpac=.5,startNode=[data[r].interactions[e].cx,data[r].interactions[e].cy],buildFilaments(startNode,connectionCenter,t,"connections",R.prob(.6),strokeW,strokeOpac);0}}function buildPattern(t,r,o){var e,i,a,n=t.w*rW/(t.h*rH);n>1?(e=Math.floor(t.w*rW*R.vary(.2)/r),i=r,a=Math.floor(r/n)):(e=Math.floor(t.h*rH*R.vary(.2)/r),a=r,i=Math.floor(r*n));var l,s,d={};R.num(9,12);for(var g=e/15,u=0;u<i;u++){R.prob(.075)&&(u+=R.int(1,i));for(var f=0;f<a;f++){R.prob(.075)&&(f+=R.int(1,a)),numLines=R.int(15,40),lineOrientation=R.pol();for(var c=1;c<=numLines;c++){l=e/R.num(6,12),lineStep=e/(numLines+1),1==lineOrientation?((d={x1:t.x*rW+e*u+l,y1:t.y*rH+e*f+lineStep*c,x3:t.x*rW+e*(u+1)-l,y3:t.y*rH+e*f+lineStep*c}).x2=(d.x1+d.x3)/2,d.y2=d.y1+R.fluc()*g*3):((d={x1:t.x*rW+e*u+lineStep*c,y1:t.y*rH+e*f+l,x3:t.x*rW+e*u+lineStep*c,y3:t.y*rH+e*(f+1)-l}).y2=(d.y1+d.y3)/2,d.x2=d.x1+R.fluc()*g*3);for(var h=0;h<4;h++){s="M"+(d.x1+R.fluc()*g)+" "+(d.y1+R.fluc()*g)+" Q"+(d.x2+R.fluc()*g)+" "+(d.y2+R.fluc()*g)+" "+(d.x3+R.fluc()*g)+" "+(d.y3+R.fluc()*g),s+=" L"+(d.x3+R.fluc()*g)+" "+(d.y3+R.fluc()*g)+" Q"+(d.x2+R.fluc()*g)+" "+(d.y2+R.fluc()*g)+" "+(d.x1+R.fluc()*g)+" "+(d.y1+R.fluc()*g)+"z",getVariationColor(o,.3),fillColor=(darkMode,getVariationColor(o,.1));var p=getRandomColor("str","dark",.2);darkMode?R.num(1,.8):R.num(1,.6);aSVG("pattern","path",{d:s,stroke:p,fill:fillColor,"fill-opacity":.5,"stroke-width":e/R.num(6,15),"stroke-opacity":.2})}}}}}function buildScribble(t,r,o,e,i,a){for(var n,l="",s=R.num(1,3),d=getVariationColor(e,.3),g=2*Math.PI*s/8,u=t/8*R.pol(),f=[0,0],c=Math.PI*R.num(0,2),h=0;h<6;h++){for(var p=1;p<8;p++)r0=u*p+r,r2=u*(p+1)+r,n=rotatePoint(0,0,r0,0,g*p+c,a),pt2=rotatePoint(0,0,r2,0,g*(p+1)+c,a),f[0]=(n[0]+pt2[0])/2,f[1]=(n[1]+pt2[1])/2,1==p?l="M"+f[0]+" "+f[1]:l+=" Q"+n[0]+" "+n[1]+" "+f[0]+" "+f[1];aSVG(o,"path",{d:l,stroke:d,fill:"none","stroke-width":i,"stroke-opacity":R.num(.3,.5)})}}function buildViga(t,r,o,e,i){var a=.005*size;if("v"==i)var n=.1*o,l=.2*o;else n=.2*o,l=.1*o;for(var s,d,g,u,f,c,h,p,S,C=.003*size,b=.05*o,y=0;y<t.length;y++){var w,m;s="";for(var z=0;z<t[y].length-1;z++)u=t[y][z][0]+R.fluc()*b,f=t[y][z][1]+R.fluc()*b,0==z&&(w=u,m=f),0==z&&(s+="M"+u+" "+f),s+=" Q"+(p=(u+(c=t[y][z+1][0]+R.fluc()*b))/2)+" "+(S=(f+(h=t[y][z+1][1]+R.fluc()*b))/2)+" "+c+" "+h;for(z=t[y].length-1;z>0;z--)u=t[y][z][0]+R.fluc()*b,f=t[y][z][1]+R.fluc()*b,p=(u+(c=t[y][z-1][0]+R.fluc()*b))/2,S=(f+(h=t[y][z-1][1]+R.fluc()*b))/2,s+=1==z?" Q"+p+" "+S+" "+w+" "+m:" Q"+p+" "+S+" "+c+" "+h;s+="z",d=getVariationColor(e,.3);for(var v=0;v<10;v++)transStr=R.fluc()*n+" "+R.fluc()*l,g=getVariationColor(e,.2),dashStr=R.int(1,4)*C+" "+R.int(1,4)*C+" "+R.int(1,4)*C+" "+R.int(1,4)*C,aSVG(r,"path",{d:s,stroke:g,fill:d,"fill-opacity":.3,"stroke-width":C*v*10,"stroke-dasharray":dashStr,"stroke-opacity":.3/v,transform:"translate("+transStr+")"},null,!0);aSVG(r,"path",{d:s,stroke:g,fill:d,"fill-opacity":.7,"stroke-width":.2*a,"stroke-opacity":.8}),aSVG(r,"path",{d:s,stroke:g,fill:"none","stroke-width":.6*a,"stroke-opacity":.3})}}function buildNode(t,r,o,e,i,a,n,l,s){function d(o,e,i,a){for(var n,l,s,d=[],g=[],u=[],f=e/(o-1),c=0;c<2;c++){d=[],g=[],s=0==c?t-i:s=t-a;for(var h=0;h<=o;h++)d.push(rotatePoint(t,r,s,0,f*h,p));for(h=0;h<d.length-1;h++)n=(d[h][0]+d[h+1][0])/2,l=(d[h][1]+d[h+1][1])/2,0==h?g.push([n,l]):g.push([d[h][0],d[h][1]],[n,l]),S.push([0,0],[0,0]);u.push(g)}return u}var g=size/4;o>g&&(o=g),globalData.showSingle&&(o=size/1.5);var u,f,c,h,p=.1,S=[];blobInfront=R.prob(.1),globalData.showSingle||(c=d(u=R.int(3,4),f=R.vary(.1)*Math.PI,o*R.num(.7,.9),o*R.num(0,.2)),aSVG(e,"g",{id:e+"_bg_0",transform:"rotate("+(n+90/u)+")"}),paintStokes(c,e+"_bg_0",o,getVariationColor(i,.2,!0),0,.2,30,"innerNode",null),c=d(u,f,o*R.num(.7,.9),o*R.num(0,.2)),aSVG(e,"g",{id:e+"_bg_1",transform:"rotate("+(n+180+90/u)+")"}),paintStokes(c,e+"_bg_1",o,getVariationColor(i,.2,!0),0,.2,30,"innerNode",null)),blobInfront&&aSVG(e,"g",{id:e+"_nodeOuter",transform:"rotate("+R.num(0,360)+")"}),a.length>0&&(1,aSVG(e,"g",{id:e+"_img",transform:"translate(-"+.71*o+" -"+.71*o+")",opacity:1}),buildImgCell(e+"_img",.71*o,a,o/size*300)),globalData.showSingle||(c=d(u=R.int(5,8),f=R.vary(.1)*Math.PI*2,o,o*R.num(.5,1.2)),blobInfront||aSVG(e,"g",{id:e+"_nodeOuter",transform:"rotate("+R.num(0,360)+")"}),paintStokes(c,e+"_nodeOuter",o,h=l==decodedObj.lastInteraction.id?getRandomColor("array","light",.1):R.prob(.1)?"none":getVariationColor(i,.15,!0),1e4,.2,20,"ring",s),l==decodedObj.lastInteraction.id?(aSVG(e,"g",{id:e+"_star"}),drawStar(e+"_star",1.1*o,i,"zigzag",R.int(5,10),1,.02*o+.002*size),drawStar(e+"_star",1.1*o,[255,255,255],"zigzag",R.int(5,10),1,.02*o+.002*size)):R.prob(.6)&&(aSVG(e,"g",{id:e+"_star"}),drawStar(e+"_star",.8*o,h,"zigzag",s,.7,.002*size)))}function drawStar(t,r,o,e,i,a,n){var l,s,d,g=2*Math.PI/i,u="",f=R.num(.2,.6);if("needle"==e)for(var c=0;c<=i;c++)insidePts=rotatePoint(0,0,-r,0,g*c,.2),l=rotatePoint(0,0,-r*(1+f/2),0,g*c,.2),outsidePts=rotatePoint(0,0,-r*(1+f),0,g*c,.2),u+="M"+insidePts[0]+" "+insidePts[1]+" Q"+l[0]+" "+l[1]+" "+outsidePts[0]+" "+outsidePts[1];if("zigzag"==e){var h=[],p=R.num(-.5,.5);for(c=0;c<=i;c++)insidePts=rotatePoint(0,0,-r,0,g*c,.1),l=rotatePoint(0,0,-r*(1+f/2),0,g*(c+.25),.1),outsidePts=rotatePoint(0,0,-r*(1+f),0,g*(c+p),.1),s=rotatePoint(0,0,-r*(1+f/2),0,g*(c-.25),.1),c>0&&(u+="M"+insidePts[0]+" "+insidePts[1]+" Q"+l[0]+" "+l[1]+" "+outsidePts[0]+" "+outsidePts[1],u+="M"+outsidePts[0]+" "+outsidePts[1]+" Q"+s[0]+" "+s[1]+" "+h[0]+" "+h[1]),h=insidePts}transStr=r*R.num(-.3,.3)+" "+r*R.num(-.3,.3),d="needle"==e?getRandomColor("str","light",.1):getVariationColor(o,.2),R.num(.02,.1),R.num(.02,.1),R.num(.02,.1),R.num(.02,.1),aSVG(t,"path",{d:u,stroke:d,fill:"none","stroke-width":n,"stroke-opacity":a,transform:"translate("+transStr+")"})}function buildImgCell(t,r,o,e){for(var i,a,n,l,s=r/4,d=0;d<o.length;d++)i=o[d].x1*s,a=o[d].y1*s,n=(o[d].x2+1)*s,l=(o[d].y2+1)*s,Math.abs(n-i)*s/(Math.abs(l-a)*s)>1?(pts1Array=pointsBetween(4,[i,a],[n,a],.01),pts2Array=pointsBetween(4,[i,l],[n,l],.01)):(pts2Array=pointsBetween(4,[i,a],[i,l],.01),pts1Array=pointsBetween(4,[n,a],[n,l],.01)),color="rgb("+o[d].rgb[0]+", "+o[d].rgb[1]+","+o[d].rgb[2]+")",paintStokes([pts1Array,pts2Array],t,2*r,o[d].rgb,20,.1,e,"blob",null)}function paintStokes(t,r,o,e,i,a,n,l,s){for(var d,g,u,f,c,h,p,S=.025*o,C=!("ring"!=l&&"innerNode"!=l||!R.prob(.1)),b=0;b<n;b++){pathStr="";for(var y=0;y<t[0].length;y++)d=(t[1][y][0]-t[0][y][0])/n,g=(t[1][y][1]-t[0][y][1])/n,u=t[0][y][0]+d*b,f=t[0][y][1]+g*b,v=0==y||y==t[0].length-1?.004*i:.004,0==y&&(pathStr+="M"),y%2==1&&(pathStr+=" Q"),pathStr+=" "+(u+R.fluc()*S)+" "+(f+R.fluc()*S);c=R.prob(.7)?getRandomColor("str","dark",.2):getRandomColor("str","light",.1);for(var w=1;w<4;w++)S=.02*o,0==b||b==n-1?(h="none",strokeColor=c,p=1==w?1:.2,null!==s&&(strokePadding=s*o/3e3,S+=strokePadding)):(h=1==w?"none":R.int(5,20)*S+" "+R.int(5,20)*S+" "+R.int(5,20)*S+" "+R.int(5,20)*S,strokeColor="none"==e?"none":getVariationColor(e,a),p=1==w?1:.3,C&&(strokeColor=b%2==0?getRandomColor("str","dark",.3):getRandomColor("str","light",.1))),aSVG(r,"path",{d:pathStr,stroke:strokeColor,fill:"none","stroke-width":S*w,"stroke-opacity":p,"stroke-dasharray":h})}}function buildFilaments(t,r,o,e,a,n,l){var s,d,g,u,f,c,h,p,S,C=null==r?20:2;for(i=0;i<C-1;i++){for(null==r&&(r=R.prob(.5)?[t[0],R.fluc()*wH/2.1]:[R.fluc()*wW/2.1,t[1]]),g=2*R.int(1,4)+1,s=(h=r[0]-t[0])/g,d=(p=r[1]-t[1])/g,c=Math.sqrt(h*h+p*p),S="",fillColor=getVariationColor(o,.1),j=0;j<=g;j++)0==j||j==g?(u=t[0]+j*s,f=t[1]+j*d):(u=t[0]+j*s+R.fluc()*c*.01,f=t[1]+j*d+R.fluc()*c*.01),0==j&&(S+="M"+u+" "+f),1==j&&(S+=" Q"+u+" "+f+","),2==j&&(S+=u+" "+f),j>2&&(S+=" T"+u+" "+f);dashStr=a?R.int(20,4)*sizeFrac+" "+R.int(20,4)*sizeFrac+" "+R.int(20,4)*sizeFrac+" "+R.int(20,4)*sizeFrac:"none",aSVG(e,"path",{d:S,stroke:fillColor,fill:"none","stroke-width":n,"stroke-dasharray":dashStr,"stroke-opacity":l})}}