option optimize_for = SPEED; message Authenticate { optional uint32 session = 1; required sint32 version = 2; required string name = 3; optional string pw = 4; } message SomethingElse { required sint32 thingy = 1; } message Universal { extensions 5 to max; optional Authenticate authenticate = 2; optional SomethingElse somethingelse = 3; } extend Universal { optional Authenticate extauth = 5; optional SomethingElse extelse = 6; } message LongUniversal { optional Authenticate authenticate = 2; optional SomethingElse somethingelse = 3; optional Authenticate a = 4; optional Authenticate b = 5; optional Authenticate c = 6; optional Authenticate d = 7; optional Authenticate e = 8; optional Authenticate f = 9; optional Authenticate g = 10; optional Authenticate h = 11; optional Authenticate i = 12; optional Authenticate j = 13; optional Authenticate k = 14; optional Authenticate l = 15; optional Authenticate m = 16; optional Authenticate n = 17; optional Authenticate o = 18; optional Authenticate p = 19; optional Authenticate q = 20; optional Authenticate r = 21; optional Authenticate s = 22; optional Authenticate t = 23; optional Authenticate u = 24; optional Authenticate v = 25; optional Authenticate w = 26; optional Authenticate x = 27; optional Authenticate y = 28; optional Authenticate z = 29; }