A tribute to perl/Tk -- this runs under both Linux and Windows (Linux needs the Tk module installed, though).
(Note: if it runs too fast or slow, try changing the '100' in the last line to another value).
Update: If the display looks funny (eg. you see red '+' symbols used for line-continuation), try going to User settings and use a value of 80 or higher for "Code Wrap Length".
$p = sub{$_='JA{23z11z\'2z23z42)"2)*++,z:1-.(6>F=>y3EFGEML'.
'LMMNM[ksz7Ez6I{3Qz3Mz)Qz2Kz1Iz2G{2=z2;z38z49z48|37z27z17z'.
'16z25z43z33z51z7\'z71z81&zE2zK\'zU!zO\'zK)z=30(\'55-5<[aq'.
'z5=z5Ez6ErkSS>7/7\'&z91-<<y4C;D;4;<;C[kkrsb[c[cb[[y3SLSLL'.
'TMMLLEDD4=,,.,-,3D;CLL[\\\dS\Sc[[[[[[[[SZRQJIRJJIBz469BCB'.
'LSLy3ULLMNMDE3<%z81-,34#,z81$+;CCD;<CLCCLCcsz7Ez7G{7=skd['.
'd]no`z=9zE7PG@?MFL LMz=7zO7zU7zQ7zE7LY y3C<;;y4CJJz47z39{'.
'49{4:z2;z3<bcRy4S[LUNNOPMDDCD;<4-%-4DD<CSbcjZcbSSZSLTLMy3'.
'LMD=>=C<<;4<Cy3DELDckky3cZZ;,4455DD<DDLLCLCS[y3k[y5Sy4M=='.
'<<=<=4;D<Cbbi[Rc[Zy4STy3LED<<C<D;DCC;y7Cy7Jy3LNENF=ELC<=<'.
'<=<4D<DCSbbqqirj[b[y3S[y6SLTL\y3LTL=-55,5%..5445<;CCDy4CS'.
'[cZijrqjbZbZZ[RSRSSJSS;<555=5==DE<DL[[kccjc[R[y3Ly3NEM=E='.
'D=D5<;;<y6CJIy3JRZQYZQ[R[[[S[S[STSLTMOOM=65/6<DCC<Dy3Cy3LS'
.'TSTy5S[[y3S[S[[SSTTMNzG8zM7{Q7z=7M '
.'DNPzI7zG6zI6zG7PPNLML S[[c[y4ckssrc'
.'bjkbcZbjjby4ZaZaZZRRZSy4RSy3JI2;22+'
.'3+++5-z:)&z:)\'' .'&/(&/6GGHGNNO{=7' .'WOy3'
+ .'Tecd'
.'[ccjYaaYz49IQ|37{27z17z27z)6{36 MMN' .'FDED'
+.'D>D<'
.'DDCD;DC;y3CJJy4Iz47IIJRRSbZcb[ck[[[' .'[T\L' .
+'TLLM'
.'NFE=67>>DD<<D<<<y3C;<CLSTLSLSLSS[y3' .'S[S[' .'
+[k[['
.'y4STLLMNy4M=F87665-<454%4+4443;Dy4C' .'<CCI' .'J
+JQI'
.'RQJQYRZR[bZbcbcjjcb[c[[S[[c\\TTy3UV' .'XOPz' .'G7
+zI'
.'6PMz1: LLN??0>67(/.6-4<;CC;CCA:JBJJ' .'IJJR' .'biz
+6'
.'=z4;qz6=z6Gz6=kjqz6Eiy3bZRSSRC4&\'z' .';1\'' .'z;1.
+'
.'<<<y3Ld[[cSy4cy3S[y3STSLSSLLML<<4-4' .'454=' .'-EDL'
.'DMOHN{47JJIJQRQYZYbaz4;Yby5SLLM>DML' .'LDED' .'ELDC'
.'C<D<;;CCD;D<Sccrcbcy4SUy6LDE;<;<=,5' .'5>==' .'5ELD'
.'DLIQYYZQbYZZb[[S[[LSy3LMMEFE>=-\'..' .'5,+,' .',,34'
.';;;4;y3CD[ckz6=z5Ez6ErrskjbZ[ZSJ;3$' .',4D4' .'5--4'
.'<E<F=E<y3Ly5SZRSJSRJRQJYy3JST[Sc\[c' .'T[\\' .'\LTL'
.'LUNy3ME=E=<D<<;D;<CC;y7Cy6JRJSR[Z[R' .'c[[S' .'[SSU'
.'MUy4LDELD=y3D<D<D=<DC;Ly4CLy5SLLUUL' .'TLy4'.'Sckb'
.'rkck]z=8zO8zY8 S[sz6=z7=z6=z5Gz7=z6' .'=jrj'.'rZSS'
.'R y3JSJZRRSR[SS[Sy3Ty6LM=DL=DDCLC;y' .'4CJA'.'BIBy'
.'7J';while(m*y([1-9]\d\*)([a-z0])*i){ ($m,$n)=("y$1"
."$2",$2x$1);s=$m=$n=}&x( [map{my@ if; while(s /(.)//)
{;if(121>($q=(ord$1)-1)){$b=int($q/8); push@if ,$q-8*$
b-2,$b-9;} else {s-(.)(.)--;push@ if,( ord($1) - 0x37,
ord($2)-55)x($q-120);}}\@if;}split' '] )}; use Tk; $W=
new MainWindow;$V=$W->Canvas(-height=> 300,-bg =>"#ff"
."ffef",-width=>700)->pack;$W->Button( -text=> "Exit",
-command=>sub {exit},-bg=>'#ffef00')-> pack;$W ->after
(99=>$p);MainLoop;sub x{my$p=$_[0];for ($v=0;$ v<@$p;
+$
v++){$z=$p->[$v];$r=sprintf"#%06x",($v <2)?0:( $v<4
+)?
4243520:($v<6)?1671168_0:($v<7)?33023: 8323199 ;$w=
+($v
<7)?5:25;$e=(0x8a,220,387,440,151,165, 321,649 ,62
+7)[$
v];$f=(0x70,66,88,55,168,255,219,13_5, 239)[$v ];
+while
(@$z){($g,$h)=splice(@$z,0,2);($i,$j)= ($e+$g, $
+f+$h);
$V->createLine($e,$f,$i,$j,-width=>$w, -fill=>
+$r);($e
,$f)=($i,$j);map{$V-> update}(0 .. 100 ) ; ; }
+ } } ; #
Edited by Chady -- restored code tags.