var a=document,b=self,c=a.getElementById("c"),d=c.getContext("2d"),e=b.innerWidth,f=b.innerHeight;c.width=e;c.height=f;var g=e/2,h=f/2,i=Math,j=i.min(g,h),k=i.cos,l=i.sin,m=i.random,n=0,o=0,p,q,r=0,s=1,t,u,v=1;a.onclick=function(){w()};a.onkeydown=function(B){switch(B.keyCode){case 67:r=!r;d.strokeStyle="white";break;case 32:w();d.fillRect(0,0,e,f);break;case 70:s=!s;d.lineWidth=s?0.1:0.5;break;case 80:x();break;case 83:window.open(c.toDataURL())}};var y=m(),z=m(),A=m();d.strokeStyle="white";d.lineWidth=0.1;d.fillRect(0,0,e,f);w();x();function w(){x();d.closePath();d.beginPath();o=n=0;z=m();A=m();y=m();x()}d.beginPath();function C(){p=g+j*y*((1-z)*l(n)+A*z*l((1-z)/z*n));q=h+j*y*((1-z)*k(n)+A*z*k((1-z)/z*n));d.lineTo(p,q);n+=0.05}function D(){d.stroke();o++;if(s?o%20==0:1)with(d){closePath();beginPath();moveTo(p,q);if(r)strokeStyle="rgb("+i.floor(m()*256)+","+i.floor(m()*256)+","+i.floor(m()*256)+")"}}function x(){if(v){t=setInterval(D,20);u=setInterval(C,10);v=0}else{clearInterval(t);clearInterval(u);v=1}};
dmFyIGE9ZG9jdW1lbnQsYj1zZWxmLGM9YS5nZXRFbGVtZW50QnlJZCgiYyIpLGQ9Yy5nZXRDb250ZXh0KCIyZCIpLGU9Yi5pbm5lcldpZHRoLGY9Yi5pbm5lckhlaWdodDtjLndpZHRoPWU7Yy5oZWlnaHQ9Zjt2YXIgZz1lLzIsaD1mLzIsaT1NYXRoLGo9aS5taW4oZyxoKSxrPWkuY29zLGw9aS5zaW4sbT1pLnJhbmRvbSxuPTAsbz0wLHAscSxyPTAscz0xLHQsdSx2PTE7YS5vbmNsaWNrPWZ1bmN0aW9uKCl7dygpfTthLm9ua2V5ZG93bj1mdW5jdGlvbihCKXtzd2l0Y2goQi5rZXlDb2RlKXtjYXNlIDY3OnI9IXI7ZC5zdHJva2VTdHlsZT0id2hpdGUiO2JyZWFrO2Nhc2UgMzI6dygpO2QuZmlsbFJlY3QoMCwwLGUsZik7YnJlYWs7Y2FzZSA3MDpzPSFzO2QubGluZVdpZHRoPXM/MC4xOjAuNTticmVhaztjYXNlIDgwOngoKTticmVhaztjYXNlIDgzOndpbmRvdy5vcGVuKGMudG9EYXRhVVJMKCkpfX07dmFyIHk9bSgpLHo9bSgpLEE9bSgpO2Quc3Ryb2tlU3R5bGU9IndoaXRlIjtkLmxpbmVXaWR0aD0wLjE7ZC5maWxsUmVjdCgwLDAsZSxmKTt3KCk7eCgpO2Z1bmN0aW9uIHcoKXt4KCk7ZC5jbG9zZVBhdGgoKTtkLmJlZ2luUGF0aCgpO289bj0wO3o9bSgpO0E9bSgpO3k9bSgpO3goKX1kLmJlZ2luUGF0aCgpO2Z1bmN0aW9uIEMoKXtwPWcraip5KigoMS16KSpsKG4pK0EqeipsKCgxLXopL3oqbikpO3E9aCtqKnkqKCgxLXopKmsobikrQSp6KmsoKDEteikveipuKSk7ZC5saW5lVG8ocCxxKTtuKz0wLjA1fWZ1bmN0aW9uIEQoKXtkLnN0cm9rZSgpO28rKztpZihzP28lMjA9PTA6MSl3aXRoKGQpe2Nsb3NlUGF0aCgpO2JlZ2luUGF0aCgpO21vdmVUbyhwLHEpO2lmKHIpc3Ryb2tlU3R5bGU9InJnYigiK2kuZmxvb3IobSgpKjI1NikrIiwiK2kuZmxvb3IobSgpKjI1NikrIiwiK2kuZmxvb3IobSgpKjI1NikrIikifX1mdW5jdGlvbiB4KCl7aWYodil7dD1zZXRJbnRlcnZhbChELDIwKTt1PXNldEludGVydmFsKEMsMTApO3Y9MH1lbHNle2NsZWFySW50ZXJ2YWwodCk7Y2xlYXJJbnRlcnZhbCh1KTt2PTF9fTs=
Original source not submitted