public static byte[] Compress(byte[] data)
{
data = AddZlibSignature (data);
MemoryStream ms = new MemoryStream ();
DeflateStream ds = new DeflateStream (ms, CompressionMode.Compress);
ds.Write (data, 0, data.Length);
BinaryWriter bw = new BinaryWriter (ms);
bw.Write ((int) 1);
bw.Write ((int) 2);
bw.Write ((int) 3);
bw.Write ((int) 4);
ds.Flush ();
ds.Close ();
return AddZlibSignature (ms.ToArray ());
}