message AllTypes { required double doubleType = 1; required float floatType = 2; required int32 int32Type = 3; required int64 int64Type = 4; required uint32 uint32Type = 5; required uint64 uint64Type = 6; required sint32 sint32Type = 7; required sint64 sint64Type = 8; required fixed32 fixed32Type = 9; required fixed64 fixed64Type = 10; required sfixed32 sfixed32Type = 11; required sfixed64 sfixed64Type = 12; required bool boolType = 13; required string stringType = 14; required bytes bytesType = 15; optional AllTypes allTypes = 16; } message RepeatedTypes { repeated double doubleType = 1; repeated float floatType = 2; repeated int32 int32Type = 3; repeated int64 int64Type = 4; repeated uint32 uint32Type = 5; repeated uint64 uint64Type = 6; repeated sint32 sint32Type = 7; repeated sint64 sint64Type = 8; repeated fixed32 fixed32Type = 9; repeated fixed64 fixed64Type = 10; repeated sfixed32 sfixed32Type = 11; repeated sfixed64 sfixed64Type = 12; repeated bool boolType = 13; repeated string stringType = 14; repeated bytes bytesType = 15; repeated RepeatedTypes repeatedMessage = 16; }