typedef unsigned char UInt8;
typedef unsigned short UInt16;
typedef unsigned long UInt32;
typedef char SInt8;
typedef short SInt16;
typedef long SInt32;
typedef float Float32;
typedef double Float64;