/* tests data packing and unpacking */

struct msg {
	string /* sender */ from_name = 1; /* be verbose */
	string to_name = 2;
	optional struct[kill] attack = 3;
	array struct[run] run = 4;
}

struct kill {
	string weapon = 0x10121;
	string action = 2;
	array int how_often = 3;
}

struct run {
	string how = 1;
	optional bytes some_bytes = 2;

	bytes fixed_bytes[24] = 3;
	array string notes = 4;

	optional int64 large_number = 5;
	array int other_numbers = 6;
}