Hi all
Just a quickie before i head off for easter vacation.
It isn't nearly as terse as i'd like - i've not really had time to tidy it up, but i figured i should post it...
I'll try and tidy it up and update sometime.

You might want to make your terminal a bit taller to see the output.
It doesn't use any vt escape codes, so it will work everywhere.

$_="7b7065616c716d65242c73747163242c282c70713d74247c6e7d246939722f2969 +6c 2c702f73732f756e746a612220746568657470686f202065726c6b7263616e5c232123 +23 723b232322".23x6;@a=/\S\S/g;$x=6;for(0..4){$_="321332233123";@b=/./g;f +or (4,3,2,2){push@c,$y=$x;push@c,map$y-=pop@b,0..1,$x+=$_}$x=$y+13};while +($ p<$#a){$d=1;$n=0;for(0..6){$n+=$d;$s="%2c";print$"x($d>0?24-7*($n-1):3 ++( $_-3)*2);map{printf"%s$s",$"x7,hex$_}@a[$p..$p+$n-1];print$/;$p+=$n;$d +=$ n-4?$d:-$d}}map{$t.=chr hex$a[$_]}@c;eval$t
Enjoy!
alex

Update: removed \ec - it wasn't working and isn't needed.