1// <auto-generated>
2//     Generated by the protocol buffer compiler.  DO NOT EDIT!
3//     source: google/protobuf/test_messages_proto2.proto
4// </auto-generated>
5#pragma warning disable 1591, 0612, 3021
6#region Designer generated code
7
8using pb = global::Google.Protobuf;
9using pbc = global::Google.Protobuf.Collections;
10using pbr = global::Google.Protobuf.Reflection;
11using scg = global::System.Collections.Generic;
12namespace ProtobufTestMessages.Proto2 {
13
14  /// <summary>Holder for reflection information generated from google/protobuf/test_messages_proto2.proto</summary>
15  public static partial class TestMessagesProto2Reflection {
16
17    #region Descriptor
18    /// <summary>File descriptor for google/protobuf/test_messages_proto2.proto</summary>
19    public static pbr::FileDescriptor Descriptor {
20      get { return descriptor; }
21    }
22    private static pbr::FileDescriptor descriptor;
23
24    static TestMessagesProto2Reflection() {
25      byte[] descriptorData = global::System.Convert.FromBase64String(
26          string.Concat(
27            "Cipnb29nbGUvcHJvdG9idWYvdGVzdF9tZXNzYWdlc19wcm90bzIucHJvdG8S",
28            "HXByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yIv45ChJUZXN0QWxsVHlw",
29            "ZXNQcm90bzISFgoOb3B0aW9uYWxfaW50MzIYASABKAUSFgoOb3B0aW9uYWxf",
30            "aW50NjQYAiABKAMSFwoPb3B0aW9uYWxfdWludDMyGAMgASgNEhcKD29wdGlv",
31            "bmFsX3VpbnQ2NBgEIAEoBBIXCg9vcHRpb25hbF9zaW50MzIYBSABKBESFwoP",
32            "b3B0aW9uYWxfc2ludDY0GAYgASgSEhgKEG9wdGlvbmFsX2ZpeGVkMzIYByAB",
33            "KAcSGAoQb3B0aW9uYWxfZml4ZWQ2NBgIIAEoBhIZChFvcHRpb25hbF9zZml4",
34            "ZWQzMhgJIAEoDxIZChFvcHRpb25hbF9zZml4ZWQ2NBgKIAEoEBIWCg5vcHRp",
35            "b25hbF9mbG9hdBgLIAEoAhIXCg9vcHRpb25hbF9kb3VibGUYDCABKAESFQoN",
36            "b3B0aW9uYWxfYm9vbBgNIAEoCBIXCg9vcHRpb25hbF9zdHJpbmcYDiABKAkS",
37            "FgoOb3B0aW9uYWxfYnl0ZXMYDyABKAwSYAoXb3B0aW9uYWxfbmVzdGVkX21l",
38            "c3NhZ2UYEiABKAsyPy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5U",
39            "ZXN0QWxsVHlwZXNQcm90bzIuTmVzdGVkTWVzc2FnZRJVChhvcHRpb25hbF9m",
40            "b3JlaWduX21lc3NhZ2UYEyABKAsyMy5wcm90b2J1Zl90ZXN0X21lc3NhZ2Vz",
41            "LnByb3RvMi5Gb3JlaWduTWVzc2FnZVByb3RvMhJaChRvcHRpb25hbF9uZXN0",
42            "ZWRfZW51bRgVIAEoDjI8LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8y",
43            "LlRlc3RBbGxUeXBlc1Byb3RvMi5OZXN0ZWRFbnVtEk8KFW9wdGlvbmFsX2Zv",
44            "cmVpZ25fZW51bRgWIAEoDjIwLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJv",
45            "dG8yLkZvcmVpZ25FbnVtUHJvdG8yEiEKFW9wdGlvbmFsX3N0cmluZ19waWVj",
46            "ZRgYIAEoCUICCAISGQoNb3B0aW9uYWxfY29yZBgZIAEoCUICCAESTAoRcmVj",
47            "dXJzaXZlX21lc3NhZ2UYGyABKAsyMS5wcm90b2J1Zl90ZXN0X21lc3NhZ2Vz",
48            "LnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzISFgoOcmVwZWF0ZWRfaW50MzIY",
49            "HyADKAUSFgoOcmVwZWF0ZWRfaW50NjQYICADKAMSFwoPcmVwZWF0ZWRfdWlu",
50            "dDMyGCEgAygNEhcKD3JlcGVhdGVkX3VpbnQ2NBgiIAMoBBIXCg9yZXBlYXRl",
51            "ZF9zaW50MzIYIyADKBESFwoPcmVwZWF0ZWRfc2ludDY0GCQgAygSEhgKEHJl",
52            "cGVhdGVkX2ZpeGVkMzIYJSADKAcSGAoQcmVwZWF0ZWRfZml4ZWQ2NBgmIAMo",
53            "BhIZChFyZXBlYXRlZF9zZml4ZWQzMhgnIAMoDxIZChFyZXBlYXRlZF9zZml4",
54            "ZWQ2NBgoIAMoEBIWCg5yZXBlYXRlZF9mbG9hdBgpIAMoAhIXCg9yZXBlYXRl",
55            "ZF9kb3VibGUYKiADKAESFQoNcmVwZWF0ZWRfYm9vbBgrIAMoCBIXCg9yZXBl",
56            "YXRlZF9zdHJpbmcYLCADKAkSFgoOcmVwZWF0ZWRfYnl0ZXMYLSADKAwSYAoX",
57            "cmVwZWF0ZWRfbmVzdGVkX21lc3NhZ2UYMCADKAsyPy5wcm90b2J1Zl90ZXN0",
58            "X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTmVzdGVkTWVz",
59            "c2FnZRJVChhyZXBlYXRlZF9mb3JlaWduX21lc3NhZ2UYMSADKAsyMy5wcm90",
60            "b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5Gb3JlaWduTWVzc2FnZVByb3Rv",
61            "MhJaChRyZXBlYXRlZF9uZXN0ZWRfZW51bRgzIAMoDjI8LnByb3RvYnVmX3Rl",
62            "c3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5OZXN0ZWRF",
63            "bnVtEk8KFXJlcGVhdGVkX2ZvcmVpZ25fZW51bRg0IAMoDjIwLnByb3RvYnVm",
64            "X3Rlc3RfbWVzc2FnZXMucHJvdG8yLkZvcmVpZ25FbnVtUHJvdG8yEiEKFXJl",
65            "cGVhdGVkX3N0cmluZ19waWVjZRg2IAMoCUICCAISGQoNcmVwZWF0ZWRfY29y",
66            "ZBg3IAMoCUICCAESGAoMcGFja2VkX2ludDMyGEsgAygFQgIQARIYCgxwYWNr",
67            "ZWRfaW50NjQYTCADKANCAhABEhkKDXBhY2tlZF91aW50MzIYTSADKA1CAhAB",
68            "EhkKDXBhY2tlZF91aW50NjQYTiADKARCAhABEhkKDXBhY2tlZF9zaW50MzIY",
69            "TyADKBFCAhABEhkKDXBhY2tlZF9zaW50NjQYUCADKBJCAhABEhoKDnBhY2tl",
70            "ZF9maXhlZDMyGFEgAygHQgIQARIaCg5wYWNrZWRfZml4ZWQ2NBhSIAMoBkIC",
71            "EAESGwoPcGFja2VkX3NmaXhlZDMyGFMgAygPQgIQARIbCg9wYWNrZWRfc2Zp",
72            "eGVkNjQYVCADKBBCAhABEhgKDHBhY2tlZF9mbG9hdBhVIAMoAkICEAESGQoN",
73            "cGFja2VkX2RvdWJsZRhWIAMoAUICEAESFwoLcGFja2VkX2Jvb2wYVyADKAhC",
74            "AhABElwKEnBhY2tlZF9uZXN0ZWRfZW51bRhYIAMoDjI8LnByb3RvYnVmX3Rl",
75            "c3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5OZXN0ZWRF",
76            "bnVtQgIQARIaCg51bnBhY2tlZF9pbnQzMhhZIAMoBUICEAASGgoOdW5wYWNr",
77            "ZWRfaW50NjQYWiADKANCAhAAEhsKD3VucGFja2VkX3VpbnQzMhhbIAMoDUIC",
78            "EAASGwoPdW5wYWNrZWRfdWludDY0GFwgAygEQgIQABIbCg91bnBhY2tlZF9z",
79            "aW50MzIYXSADKBFCAhAAEhsKD3VucGFja2VkX3NpbnQ2NBheIAMoEkICEAAS",
80            "HAoQdW5wYWNrZWRfZml4ZWQzMhhfIAMoB0ICEAASHAoQdW5wYWNrZWRfZml4",
81            "ZWQ2NBhgIAMoBkICEAASHQoRdW5wYWNrZWRfc2ZpeGVkMzIYYSADKA9CAhAA",
82            "Eh0KEXVucGFja2VkX3NmaXhlZDY0GGIgAygQQgIQABIaCg51bnBhY2tlZF9m",
83            "bG9hdBhjIAMoAkICEAASGwoPdW5wYWNrZWRfZG91YmxlGGQgAygBQgIQABIZ",
84            "Cg11bnBhY2tlZF9ib29sGGUgAygIQgIQABJeChR1bnBhY2tlZF9uZXN0ZWRf",
85            "ZW51bRhmIAMoDjI8LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRl",
86            "c3RBbGxUeXBlc1Byb3RvMi5OZXN0ZWRFbnVtQgIQABJdCg9tYXBfaW50MzJf",
87            "aW50MzIYOCADKAsyRC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5U",
88            "ZXN0QWxsVHlwZXNQcm90bzIuTWFwSW50MzJJbnQzMkVudHJ5El0KD21hcF9p",
89            "bnQ2NF9pbnQ2NBg5IAMoCzJELnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJv",
90            "dG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBJbnQ2NEludDY0RW50cnkSYQoR",
91            "bWFwX3VpbnQzMl91aW50MzIYOiADKAsyRi5wcm90b2J1Zl90ZXN0X21lc3Nh",
92            "Z2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwVWludDMyVWludDMy",
93            "RW50cnkSYQoRbWFwX3VpbnQ2NF91aW50NjQYOyADKAsyRi5wcm90b2J1Zl90",
94            "ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwVWlu",
95            "dDY0VWludDY0RW50cnkSYQoRbWFwX3NpbnQzMl9zaW50MzIYPCADKAsyRi5w",
96            "cm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90",
97            "bzIuTWFwU2ludDMyU2ludDMyRW50cnkSYQoRbWFwX3NpbnQ2NF9zaW50NjQY",
98            "PSADKAsyRi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxs",
99            "VHlwZXNQcm90bzIuTWFwU2ludDY0U2ludDY0RW50cnkSZQoTbWFwX2ZpeGVk",
100            "MzJfZml4ZWQzMhg+IAMoCzJILnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJv",
101            "dG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBGaXhlZDMyRml4ZWQzMkVudHJ5",
102            "EmUKE21hcF9maXhlZDY0X2ZpeGVkNjQYPyADKAsySC5wcm90b2J1Zl90ZXN0",
103            "X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwRml4ZWQ2",
104            "NEZpeGVkNjRFbnRyeRJpChVtYXBfc2ZpeGVkMzJfc2ZpeGVkMzIYQCADKAsy",
105            "Si5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQ",
106            "cm90bzIuTWFwU2ZpeGVkMzJTZml4ZWQzMkVudHJ5EmkKFW1hcF9zZml4ZWQ2",
107            "NF9zZml4ZWQ2NBhBIAMoCzJKLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJv",
108            "dG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBTZml4ZWQ2NFNmaXhlZDY0RW50",
109            "cnkSXQoPbWFwX2ludDMyX2Zsb2F0GEIgAygLMkQucHJvdG9idWZfdGVzdF9t",
110            "ZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcEludDMyRmxv",
111            "YXRFbnRyeRJfChBtYXBfaW50MzJfZG91YmxlGEMgAygLMkUucHJvdG9idWZf",
112            "dGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcElu",
113            "dDMyRG91YmxlRW50cnkSWQoNbWFwX2Jvb2xfYm9vbBhEIAMoCzJCLnByb3Rv",
114            "YnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5N",
115            "YXBCb29sQm9vbEVudHJ5EmEKEW1hcF9zdHJpbmdfc3RyaW5nGEUgAygLMkYu",
116            "cHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJv",
117            "dG8yLk1hcFN0cmluZ1N0cmluZ0VudHJ5El8KEG1hcF9zdHJpbmdfYnl0ZXMY",
118            "RiADKAsyRS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxs",
119            "VHlwZXNQcm90bzIuTWFwU3RyaW5nQnl0ZXNFbnRyeRJwChltYXBfc3RyaW5n",
120            "X25lc3RlZF9tZXNzYWdlGEcgAygLMk0ucHJvdG9idWZfdGVzdF9tZXNzYWdl",
121            "cy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcFN0cmluZ05lc3RlZE1l",
122            "c3NhZ2VFbnRyeRJyChptYXBfc3RyaW5nX2ZvcmVpZ25fbWVzc2FnZRhIIAMo",
123            "CzJOLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBl",
124            "c1Byb3RvMi5NYXBTdHJpbmdGb3JlaWduTWVzc2FnZUVudHJ5EmoKFm1hcF9z",
125            "dHJpbmdfbmVzdGVkX2VudW0YSSADKAsySi5wcm90b2J1Zl90ZXN0X21lc3Nh",
126            "Z2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwU3RyaW5nTmVzdGVk",
127            "RW51bUVudHJ5EmwKF21hcF9zdHJpbmdfZm9yZWlnbl9lbnVtGEogAygLMksu",
128            "cHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJv",
129            "dG8yLk1hcFN0cmluZ0ZvcmVpZ25FbnVtRW50cnkSFgoMb25lb2ZfdWludDMy",
130            "GG8gASgNSAASXwoUb25lb2ZfbmVzdGVkX21lc3NhZ2UYcCABKAsyPy5wcm90",
131            "b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIu",
132            "TmVzdGVkTWVzc2FnZUgAEhYKDG9uZW9mX3N0cmluZxhxIAEoCUgAEhUKC29u",
133            "ZW9mX2J5dGVzGHIgASgMSAASFAoKb25lb2ZfYm9vbBhzIAEoCEgAEhYKDG9u",
134            "ZW9mX3VpbnQ2NBh0IAEoBEgAEhUKC29uZW9mX2Zsb2F0GHUgASgCSAASFgoM",
135            "b25lb2ZfZG91YmxlGHYgASgBSAASUgoKb25lb2ZfZW51bRh3IAEoDjI8LnBy",
136            "b3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3Rv",
137            "Mi5OZXN0ZWRFbnVtSAASRQoEZGF0YRjJASABKAoyNi5wcm90b2J1Zl90ZXN0",
138            "X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuRGF0YRITCgpm",
139            "aWVsZG5hbWUxGJEDIAEoBRIUCgtmaWVsZF9uYW1lMhiSAyABKAUSFQoMX2Zp",
140            "ZWxkX25hbWUzGJMDIAEoBRIWCg1maWVsZF9fbmFtZTRfGJQDIAEoBRIUCgtm",
141            "aWVsZDBuYW1lNRiVAyABKAUSFgoNZmllbGRfMF9uYW1lNhiWAyABKAUSEwoK",
142            "ZmllbGROYW1lNxiXAyABKAUSEwoKRmllbGROYW1lOBiYAyABKAUSFAoLZmll",
143            "bGRfTmFtZTkYmQMgASgFEhUKDEZpZWxkX05hbWUxMBiaAyABKAUSFQoMRklF",
144            "TERfTkFNRTExGJsDIAEoBRIVCgxGSUVMRF9uYW1lMTIYnAMgASgFEhcKDl9f",
145            "ZmllbGRfbmFtZTEzGJ0DIAEoBRIXCg5fX0ZpZWxkX25hbWUxNBieAyABKAUS",
146            "FgoNZmllbGRfX25hbWUxNRifAyABKAUSFgoNZmllbGRfX05hbWUxNhigAyAB",
147            "KAUSFwoOZmllbGRfbmFtZTE3X18YoQMgASgFEhcKDkZpZWxkX25hbWUxOF9f",
148            "GKIDIAEoBRpiCg1OZXN0ZWRNZXNzYWdlEgkKAWEYASABKAUSRgoLY29yZWN1",
149            "cnNpdmUYAiABKAsyMS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5U",
150            "ZXN0QWxsVHlwZXNQcm90bzIaNAoSTWFwSW50MzJJbnQzMkVudHJ5EgsKA2tl",
151            "eRgBIAEoBRINCgV2YWx1ZRgCIAEoBToCOAEaNAoSTWFwSW50NjRJbnQ2NEVu",
152            "dHJ5EgsKA2tleRgBIAEoAxINCgV2YWx1ZRgCIAEoAzoCOAEaNgoUTWFwVWlu",
153            "dDMyVWludDMyRW50cnkSCwoDa2V5GAEgASgNEg0KBXZhbHVlGAIgASgNOgI4",
154            "ARo2ChRNYXBVaW50NjRVaW50NjRFbnRyeRILCgNrZXkYASABKAQSDQoFdmFs",
155            "dWUYAiABKAQ6AjgBGjYKFE1hcFNpbnQzMlNpbnQzMkVudHJ5EgsKA2tleRgB",
156            "IAEoERINCgV2YWx1ZRgCIAEoEToCOAEaNgoUTWFwU2ludDY0U2ludDY0RW50",
157            "cnkSCwoDa2V5GAEgASgSEg0KBXZhbHVlGAIgASgSOgI4ARo4ChZNYXBGaXhl",
158            "ZDMyRml4ZWQzMkVudHJ5EgsKA2tleRgBIAEoBxINCgV2YWx1ZRgCIAEoBzoC",
159            "OAEaOAoWTWFwRml4ZWQ2NEZpeGVkNjRFbnRyeRILCgNrZXkYASABKAYSDQoF",
160            "dmFsdWUYAiABKAY6AjgBGjoKGE1hcFNmaXhlZDMyU2ZpeGVkMzJFbnRyeRIL",
161            "CgNrZXkYASABKA8SDQoFdmFsdWUYAiABKA86AjgBGjoKGE1hcFNmaXhlZDY0",
162            "U2ZpeGVkNjRFbnRyeRILCgNrZXkYASABKBASDQoFdmFsdWUYAiABKBA6AjgB",
163            "GjQKEk1hcEludDMyRmxvYXRFbnRyeRILCgNrZXkYASABKAUSDQoFdmFsdWUY",
164            "AiABKAI6AjgBGjUKE01hcEludDMyRG91YmxlRW50cnkSCwoDa2V5GAEgASgF",
165            "Eg0KBXZhbHVlGAIgASgBOgI4ARoyChBNYXBCb29sQm9vbEVudHJ5EgsKA2tl",
166            "eRgBIAEoCBINCgV2YWx1ZRgCIAEoCDoCOAEaNgoUTWFwU3RyaW5nU3RyaW5n",
167            "RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARo1ChNNYXBT",
168            "dHJpbmdCeXRlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoDDoC",
169            "OAEafgobTWFwU3RyaW5nTmVzdGVkTWVzc2FnZUVudHJ5EgsKA2tleRgBIAEo",
170            "CRJOCgV2YWx1ZRgCIAEoCzI/LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJv",
171            "dG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5OZXN0ZWRNZXNzYWdlOgI4ARpzChxN",
172            "YXBTdHJpbmdGb3JlaWduTWVzc2FnZUVudHJ5EgsKA2tleRgBIAEoCRJCCgV2",
173            "YWx1ZRgCIAEoCzIzLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLkZv",
174            "cmVpZ25NZXNzYWdlUHJvdG8yOgI4ARp4ChhNYXBTdHJpbmdOZXN0ZWRFbnVt",
175            "RW50cnkSCwoDa2V5GAEgASgJEksKBXZhbHVlGAIgASgOMjwucHJvdG9idWZf",
176            "dGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk5lc3Rl",
177            "ZEVudW06AjgBGm0KGU1hcFN0cmluZ0ZvcmVpZ25FbnVtRW50cnkSCwoDa2V5",
178            "GAEgASgJEj8KBXZhbHVlGAIgASgOMjAucHJvdG9idWZfdGVzdF9tZXNzYWdl",
179            "cy5wcm90bzIuRm9yZWlnbkVudW1Qcm90bzI6AjgBGjMKBERhdGESFAoLZ3Jv",
180            "dXBfaW50MzIYygEgASgFEhUKDGdyb3VwX3VpbnQzMhjLASABKA0aIQoRTWVz",
181            "c2FnZVNldENvcnJlY3QqCAgEEP////8HOgIIARrgAQobTWVzc2FnZVNldENv",
182            "cnJlY3RFeHRlbnNpb24xEgsKA3N0chgZIAEoCTKzAQoVbWVzc2FnZV9zZXRf",
183            "ZXh0ZW5zaW9uEkMucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVz",
184            "dEFsbFR5cGVzUHJvdG8yLk1lc3NhZ2VTZXRDb3JyZWN0GPm7XiABKAsyTS5w",
185            "cm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90",
186            "bzIuTWVzc2FnZVNldENvcnJlY3RFeHRlbnNpb24xGt8BChtNZXNzYWdlU2V0",
187            "Q29ycmVjdEV4dGVuc2lvbjISCQoBaRgJIAEoBTK0AQoVbWVzc2FnZV9zZXRf",
188            "ZXh0ZW5zaW9uEkMucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVz",
189            "dEFsbFR5cGVzUHJvdG8yLk1lc3NhZ2VTZXRDb3JyZWN0GJCz/AEgASgLMk0u",
190            "cHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJv",
191            "dG8yLk1lc3NhZ2VTZXRDb3JyZWN0RXh0ZW5zaW9uMiI5CgpOZXN0ZWRFbnVt",
192            "EgcKA0ZPTxAAEgcKA0JBUhABEgcKA0JBWhACEhAKA05FRxD///////////8B",
193            "KgUIeBDJAUINCgtvbmVvZl9maWVsZEoGCOgHEJBOIiEKFEZvcmVpZ25NZXNz",
194            "YWdlUHJvdG8yEgkKAWMYASABKAUiwQIKFVVua25vd25Ub1Rlc3RBbGxUeXBl",
195            "cxIXCg5vcHRpb25hbF9pbnQzMhjpByABKAUSGAoPb3B0aW9uYWxfc3RyaW5n",
196            "GOoHIAEoCRJMCg5uZXN0ZWRfbWVzc2FnZRjrByABKAsyMy5wcm90b2J1Zl90",
197            "ZXN0X21lc3NhZ2VzLnByb3RvMi5Gb3JlaWduTWVzc2FnZVByb3RvMhJaCg1v",
198            "cHRpb25hbGdyb3VwGOwHIAEoCjJCLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMu",
199            "cHJvdG8yLlVua25vd25Ub1Rlc3RBbGxUeXBlcy5PcHRpb25hbEdyb3VwEhYK",
200            "DW9wdGlvbmFsX2Jvb2wY7gcgASgIEhcKDnJlcGVhdGVkX2ludDMyGPMHIAMo",
201            "BRoaCg1PcHRpb25hbEdyb3VwEgkKAWEYASABKAUqRgoRRm9yZWlnbkVudW1Q",
202            "cm90bzISDwoLRk9SRUlHTl9GT08QABIPCgtGT1JFSUdOX0JBUhABEg8KC0ZP",
203            "UkVJR05fQkFaEAI6SgoPZXh0ZW5zaW9uX2ludDMyEjEucHJvdG9idWZfdGVz",
204            "dF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yGHggASgFQi8K",
205            "KGNvbS5nb29nbGUucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzJIAfgB",
206            "AQ=="));
207      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
208          new pbr::FileDescriptor[] { },
209          new pbr::GeneratedClrTypeInfo(new[] {typeof(global::ProtobufTestMessages.Proto2.ForeignEnumProto2), }, new pb::Extension[] { TestMessagesProto2Extensions.ExtensionInt32 }, new pbr::GeneratedClrTypeInfo[] {
210            new pbr::GeneratedClrTypeInfo(typeof(global::ProtobufTestMessages.Proto2.TestAllTypesProto2), global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Parser, new[]{ "OptionalInt32", "OptionalInt64", "OptionalUint32", "OptionalUint64", "OptionalSint32", "OptionalSint64", "OptionalFixed32", "OptionalFixed64", "OptionalSfixed32", "OptionalSfixed64", "OptionalFloat", "OptionalDouble", "OptionalBool", "OptionalString", "OptionalBytes", "OptionalNestedMessage", "OptionalForeignMessage", "OptionalNestedEnum", "OptionalForeignEnum", "OptionalStringPiece", "OptionalCord", "RecursiveMessage", "RepeatedInt32", "RepeatedInt64", "RepeatedUint32", "RepeatedUint64", "RepeatedSint32", "RepeatedSint64", "RepeatedFixed32", "RepeatedFixed64", "RepeatedSfixed32", "RepeatedSfixed64", "RepeatedFloat", "RepeatedDouble", "RepeatedBool", "RepeatedString", "RepeatedBytes", "RepeatedNestedMessage", "RepeatedForeignMessage", "RepeatedNestedEnum", "RepeatedForeignEnum", "RepeatedStringPiece", "RepeatedCord", "PackedInt32", "PackedInt64", "PackedUint32", "PackedUint64", "PackedSint32", "PackedSint64", "PackedFixed32", "PackedFixed64", "PackedSfixed32", "PackedSfixed64", "PackedFloat", "PackedDouble", "PackedBool", "PackedNestedEnum", "UnpackedInt32", "UnpackedInt64", "UnpackedUint32", "UnpackedUint64", "UnpackedSint32", "UnpackedSint64", "UnpackedFixed32", "UnpackedFixed64", "UnpackedSfixed32", "UnpackedSfixed64", "UnpackedFloat", "UnpackedDouble", "UnpackedBool", "UnpackedNestedEnum", "MapInt32Int32", "MapInt64Int64", "MapUint32Uint32", "MapUint64Uint64", "MapSint32Sint32", "MapSint64Sint64", "MapFixed32Fixed32", "MapFixed64Fixed64", "MapSfixed32Sfixed32", "MapSfixed64Sfixed64", "MapInt32Float", "MapInt32Double", "MapBoolBool", "MapStringString", "MapStringBytes", "MapStringNestedMessage", "MapStringForeignMessage", "MapStringNestedEnum", "MapStringForeignEnum", "OneofUint32", "OneofNestedMessage", "OneofString", "OneofBytes", "OneofBool", "OneofUint64", "OneofFloat", "OneofDouble", "OneofEnum", "Data", "Fieldname1", "FieldName2", "FieldName3", "FieldName4", "Field0Name5", "Field0Name6", "FieldName7", "FieldName8", "FieldName9", "FieldName10", "FIELDNAME11", "FIELDName12", "FieldName13", "FieldName14", "FieldName15", "FieldName16", "FieldName17", "FieldName18" }, new[]{ "OneofField" }, new[]{ typeof(global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum) }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage), global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage.Parser, new[]{ "A", "Corecursive" }, null, null, null, null),
211            null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, new pbr::GeneratedClrTypeInfo(typeof(global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.Data), global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.Data.Parser, new[]{ "GroupInt32", "GroupUint32" }, null, null, null, null),
212            new pbr::GeneratedClrTypeInfo(typeof(global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.MessageSetCorrect), global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.MessageSetCorrect.Parser, null, null, null, null, null),
213            new pbr::GeneratedClrTypeInfo(typeof(global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.MessageSetCorrectExtension1), global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.MessageSetCorrectExtension1.Parser, new[]{ "Str" }, null, null, new pb::Extension[] { global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.MessageSetCorrectExtension1.Extensions.MessageSetExtension }, null),
214            new pbr::GeneratedClrTypeInfo(typeof(global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.MessageSetCorrectExtension2), global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.MessageSetCorrectExtension2.Parser, new[]{ "I" }, null, null, new pb::Extension[] { global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.MessageSetCorrectExtension2.Extensions.MessageSetExtension }, null)}),
215            new pbr::GeneratedClrTypeInfo(typeof(global::ProtobufTestMessages.Proto2.ForeignMessageProto2), global::ProtobufTestMessages.Proto2.ForeignMessageProto2.Parser, new[]{ "C" }, null, null, null, null),
216            new pbr::GeneratedClrTypeInfo(typeof(global::ProtobufTestMessages.Proto2.UnknownToTestAllTypes), global::ProtobufTestMessages.Proto2.UnknownToTestAllTypes.Parser, new[]{ "OptionalInt32", "OptionalString", "NestedMessage", "OptionalGroup", "OptionalBool", "RepeatedInt32" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::ProtobufTestMessages.Proto2.UnknownToTestAllTypes.Types.OptionalGroup), global::ProtobufTestMessages.Proto2.UnknownToTestAllTypes.Types.OptionalGroup.Parser, new[]{ "A" }, null, null, null, null)})
217          }));
218    }
219    #endregion
220
221  }
222  /// <summary>Holder for extension identifiers generated from the top level of google/protobuf/test_messages_proto2.proto</summary>
223  public static partial class TestMessagesProto2Extensions {
224    public static readonly pb::Extension<global::ProtobufTestMessages.Proto2.TestAllTypesProto2, int> ExtensionInt32 =
225      new pb::Extension<global::ProtobufTestMessages.Proto2.TestAllTypesProto2, int>(120, pb::FieldCodec.ForInt32(960, 0));
226  }
227
228  #region Enums
229  public enum ForeignEnumProto2 {
230    [pbr::OriginalName("FOREIGN_FOO")] ForeignFoo = 0,
231    [pbr::OriginalName("FOREIGN_BAR")] ForeignBar = 1,
232    [pbr::OriginalName("FOREIGN_BAZ")] ForeignBaz = 2,
233  }
234
235  #endregion
236
237  #region Messages
238  /// <summary>
239  /// This proto includes every type of field in both singular and repeated
240  /// forms.
241  ///
242  /// Also, crucially, all messages and enums in this file are eventually
243  /// submessages of this message.  So for example, a fuzz test of TestAllTypes
244  /// could trigger bugs that occur in any message type in this file.  We verify
245  /// this stays true in a unit test.
246  /// </summary>
247  public sealed partial class TestAllTypesProto2 : pb::IExtendableMessage<TestAllTypesProto2>
248  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
249      , pb::IBufferMessage
250  #endif
251  {
252    private static readonly pb::MessageParser<TestAllTypesProto2> _parser = new pb::MessageParser<TestAllTypesProto2>(() => new TestAllTypesProto2());
253    private pb::UnknownFieldSet _unknownFields;
254    private pb::ExtensionSet<TestAllTypesProto2> _extensions;
255    private pb::ExtensionSet<TestAllTypesProto2> _Extensions { get { return _extensions; } }
256    private int _hasBits0;
257    private int _hasBits1;
258    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
259    public static pb::MessageParser<TestAllTypesProto2> Parser { get { return _parser; } }
260
261    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
262    public static pbr::MessageDescriptor Descriptor {
263      get { return global::ProtobufTestMessages.Proto2.TestMessagesProto2Reflection.Descriptor.MessageTypes[0]; }
264    }
265
266    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
267    pbr::MessageDescriptor pb::IMessage.Descriptor {
268      get { return Descriptor; }
269    }
270
271    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
272    public TestAllTypesProto2() {
273      OnConstruction();
274    }
275
276    partial void OnConstruction();
277
278    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
279    public TestAllTypesProto2(TestAllTypesProto2 other) : this() {
280      _hasBits0 = other._hasBits0;
281      _hasBits1 = other._hasBits1;
282      optionalInt32_ = other.optionalInt32_;
283      optionalInt64_ = other.optionalInt64_;
284      optionalUint32_ = other.optionalUint32_;
285      optionalUint64_ = other.optionalUint64_;
286      optionalSint32_ = other.optionalSint32_;
287      optionalSint64_ = other.optionalSint64_;
288      optionalFixed32_ = other.optionalFixed32_;
289      optionalFixed64_ = other.optionalFixed64_;
290      optionalSfixed32_ = other.optionalSfixed32_;
291      optionalSfixed64_ = other.optionalSfixed64_;
292      optionalFloat_ = other.optionalFloat_;
293      optionalDouble_ = other.optionalDouble_;
294      optionalBool_ = other.optionalBool_;
295      optionalString_ = other.optionalString_;
296      optionalBytes_ = other.optionalBytes_;
297      optionalNestedMessage_ = other.optionalNestedMessage_ != null ? other.optionalNestedMessage_.Clone() : null;
298      optionalForeignMessage_ = other.optionalForeignMessage_ != null ? other.optionalForeignMessage_.Clone() : null;
299      optionalNestedEnum_ = other.optionalNestedEnum_;
300      optionalForeignEnum_ = other.optionalForeignEnum_;
301      optionalStringPiece_ = other.optionalStringPiece_;
302      optionalCord_ = other.optionalCord_;
303      recursiveMessage_ = other.recursiveMessage_ != null ? other.recursiveMessage_.Clone() : null;
304      repeatedInt32_ = other.repeatedInt32_.Clone();
305      repeatedInt64_ = other.repeatedInt64_.Clone();
306      repeatedUint32_ = other.repeatedUint32_.Clone();
307      repeatedUint64_ = other.repeatedUint64_.Clone();
308      repeatedSint32_ = other.repeatedSint32_.Clone();
309      repeatedSint64_ = other.repeatedSint64_.Clone();
310      repeatedFixed32_ = other.repeatedFixed32_.Clone();
311      repeatedFixed64_ = other.repeatedFixed64_.Clone();
312      repeatedSfixed32_ = other.repeatedSfixed32_.Clone();
313      repeatedSfixed64_ = other.repeatedSfixed64_.Clone();
314      repeatedFloat_ = other.repeatedFloat_.Clone();
315      repeatedDouble_ = other.repeatedDouble_.Clone();
316      repeatedBool_ = other.repeatedBool_.Clone();
317      repeatedString_ = other.repeatedString_.Clone();
318      repeatedBytes_ = other.repeatedBytes_.Clone();
319      repeatedNestedMessage_ = other.repeatedNestedMessage_.Clone();
320      repeatedForeignMessage_ = other.repeatedForeignMessage_.Clone();
321      repeatedNestedEnum_ = other.repeatedNestedEnum_.Clone();
322      repeatedForeignEnum_ = other.repeatedForeignEnum_.Clone();
323      repeatedStringPiece_ = other.repeatedStringPiece_.Clone();
324      repeatedCord_ = other.repeatedCord_.Clone();
325      packedInt32_ = other.packedInt32_.Clone();
326      packedInt64_ = other.packedInt64_.Clone();
327      packedUint32_ = other.packedUint32_.Clone();
328      packedUint64_ = other.packedUint64_.Clone();
329      packedSint32_ = other.packedSint32_.Clone();
330      packedSint64_ = other.packedSint64_.Clone();
331      packedFixed32_ = other.packedFixed32_.Clone();
332      packedFixed64_ = other.packedFixed64_.Clone();
333      packedSfixed32_ = other.packedSfixed32_.Clone();
334      packedSfixed64_ = other.packedSfixed64_.Clone();
335      packedFloat_ = other.packedFloat_.Clone();
336      packedDouble_ = other.packedDouble_.Clone();
337      packedBool_ = other.packedBool_.Clone();
338      packedNestedEnum_ = other.packedNestedEnum_.Clone();
339      unpackedInt32_ = other.unpackedInt32_.Clone();
340      unpackedInt64_ = other.unpackedInt64_.Clone();
341      unpackedUint32_ = other.unpackedUint32_.Clone();
342      unpackedUint64_ = other.unpackedUint64_.Clone();
343      unpackedSint32_ = other.unpackedSint32_.Clone();
344      unpackedSint64_ = other.unpackedSint64_.Clone();
345      unpackedFixed32_ = other.unpackedFixed32_.Clone();
346      unpackedFixed64_ = other.unpackedFixed64_.Clone();
347      unpackedSfixed32_ = other.unpackedSfixed32_.Clone();
348      unpackedSfixed64_ = other.unpackedSfixed64_.Clone();
349      unpackedFloat_ = other.unpackedFloat_.Clone();
350      unpackedDouble_ = other.unpackedDouble_.Clone();
351      unpackedBool_ = other.unpackedBool_.Clone();
352      unpackedNestedEnum_ = other.unpackedNestedEnum_.Clone();
353      mapInt32Int32_ = other.mapInt32Int32_.Clone();
354      mapInt64Int64_ = other.mapInt64Int64_.Clone();
355      mapUint32Uint32_ = other.mapUint32Uint32_.Clone();
356      mapUint64Uint64_ = other.mapUint64Uint64_.Clone();
357      mapSint32Sint32_ = other.mapSint32Sint32_.Clone();
358      mapSint64Sint64_ = other.mapSint64Sint64_.Clone();
359      mapFixed32Fixed32_ = other.mapFixed32Fixed32_.Clone();
360      mapFixed64Fixed64_ = other.mapFixed64Fixed64_.Clone();
361      mapSfixed32Sfixed32_ = other.mapSfixed32Sfixed32_.Clone();
362      mapSfixed64Sfixed64_ = other.mapSfixed64Sfixed64_.Clone();
363      mapInt32Float_ = other.mapInt32Float_.Clone();
364      mapInt32Double_ = other.mapInt32Double_.Clone();
365      mapBoolBool_ = other.mapBoolBool_.Clone();
366      mapStringString_ = other.mapStringString_.Clone();
367      mapStringBytes_ = other.mapStringBytes_.Clone();
368      mapStringNestedMessage_ = other.mapStringNestedMessage_.Clone();
369      mapStringForeignMessage_ = other.mapStringForeignMessage_.Clone();
370      mapStringNestedEnum_ = other.mapStringNestedEnum_.Clone();
371      mapStringForeignEnum_ = other.mapStringForeignEnum_.Clone();
372      data_ = other.HasData ? other.data_.Clone() : null;
373      fieldname1_ = other.fieldname1_;
374      fieldName2_ = other.fieldName2_;
375      FieldName3_ = other.FieldName3_;
376      fieldName4_ = other.fieldName4_;
377      field0Name5_ = other.field0Name5_;
378      field0Name6_ = other.field0Name6_;
379      fieldName7_ = other.fieldName7_;
380      fieldName8_ = other.fieldName8_;
381      fieldName9_ = other.fieldName9_;
382      fieldName10_ = other.fieldName10_;
383      fIELDNAME11_ = other.fIELDNAME11_;
384      fIELDName12_ = other.fIELDName12_;
385      FieldName13_ = other.FieldName13_;
386      FieldName14_ = other.FieldName14_;
387      fieldName15_ = other.fieldName15_;
388      fieldName16_ = other.fieldName16_;
389      fieldName17_ = other.fieldName17_;
390      fieldName18_ = other.fieldName18_;
391      switch (other.OneofFieldCase) {
392        case OneofFieldOneofCase.OneofUint32:
393          OneofUint32 = other.OneofUint32;
394          break;
395        case OneofFieldOneofCase.OneofNestedMessage:
396          OneofNestedMessage = other.OneofNestedMessage.Clone();
397          break;
398        case OneofFieldOneofCase.OneofString:
399          OneofString = other.OneofString;
400          break;
401        case OneofFieldOneofCase.OneofBytes:
402          OneofBytes = other.OneofBytes;
403          break;
404        case OneofFieldOneofCase.OneofBool:
405          OneofBool = other.OneofBool;
406          break;
407        case OneofFieldOneofCase.OneofUint64:
408          OneofUint64 = other.OneofUint64;
409          break;
410        case OneofFieldOneofCase.OneofFloat:
411          OneofFloat = other.OneofFloat;
412          break;
413        case OneofFieldOneofCase.OneofDouble:
414          OneofDouble = other.OneofDouble;
415          break;
416        case OneofFieldOneofCase.OneofEnum:
417          OneofEnum = other.OneofEnum;
418          break;
419      }
420
421      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
422      _extensions = pb::ExtensionSet.Clone(other._extensions);
423    }
424
425    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
426    public TestAllTypesProto2 Clone() {
427      return new TestAllTypesProto2(this);
428    }
429
430    /// <summary>Field number for the "optional_int32" field.</summary>
431    public const int OptionalInt32FieldNumber = 1;
432    private readonly static int OptionalInt32DefaultValue = 0;
433
434    private int optionalInt32_;
435    /// <summary>
436    /// Singular
437    /// </summary>
438    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
439    public int OptionalInt32 {
440      get { if ((_hasBits0 & 1) != 0) { return optionalInt32_; } else { return OptionalInt32DefaultValue; } }
441      set {
442        _hasBits0 |= 1;
443        optionalInt32_ = value;
444      }
445    }
446    /// <summary>Gets whether the "optional_int32" field is set</summary>
447    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
448    public bool HasOptionalInt32 {
449      get { return (_hasBits0 & 1) != 0; }
450    }
451    /// <summary>Clears the value of the "optional_int32" field</summary>
452    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
453    public void ClearOptionalInt32() {
454      _hasBits0 &= ~1;
455    }
456
457    /// <summary>Field number for the "optional_int64" field.</summary>
458    public const int OptionalInt64FieldNumber = 2;
459    private readonly static long OptionalInt64DefaultValue = 0L;
460
461    private long optionalInt64_;
462    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
463    public long OptionalInt64 {
464      get { if ((_hasBits0 & 2) != 0) { return optionalInt64_; } else { return OptionalInt64DefaultValue; } }
465      set {
466        _hasBits0 |= 2;
467        optionalInt64_ = value;
468      }
469    }
470    /// <summary>Gets whether the "optional_int64" field is set</summary>
471    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
472    public bool HasOptionalInt64 {
473      get { return (_hasBits0 & 2) != 0; }
474    }
475    /// <summary>Clears the value of the "optional_int64" field</summary>
476    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
477    public void ClearOptionalInt64() {
478      _hasBits0 &= ~2;
479    }
480
481    /// <summary>Field number for the "optional_uint32" field.</summary>
482    public const int OptionalUint32FieldNumber = 3;
483    private readonly static uint OptionalUint32DefaultValue = 0;
484
485    private uint optionalUint32_;
486    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
487    public uint OptionalUint32 {
488      get { if ((_hasBits0 & 4) != 0) { return optionalUint32_; } else { return OptionalUint32DefaultValue; } }
489      set {
490        _hasBits0 |= 4;
491        optionalUint32_ = value;
492      }
493    }
494    /// <summary>Gets whether the "optional_uint32" field is set</summary>
495    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
496    public bool HasOptionalUint32 {
497      get { return (_hasBits0 & 4) != 0; }
498    }
499    /// <summary>Clears the value of the "optional_uint32" field</summary>
500    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
501    public void ClearOptionalUint32() {
502      _hasBits0 &= ~4;
503    }
504
505    /// <summary>Field number for the "optional_uint64" field.</summary>
506    public const int OptionalUint64FieldNumber = 4;
507    private readonly static ulong OptionalUint64DefaultValue = 0UL;
508
509    private ulong optionalUint64_;
510    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
511    public ulong OptionalUint64 {
512      get { if ((_hasBits0 & 8) != 0) { return optionalUint64_; } else { return OptionalUint64DefaultValue; } }
513      set {
514        _hasBits0 |= 8;
515        optionalUint64_ = value;
516      }
517    }
518    /// <summary>Gets whether the "optional_uint64" field is set</summary>
519    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
520    public bool HasOptionalUint64 {
521      get { return (_hasBits0 & 8) != 0; }
522    }
523    /// <summary>Clears the value of the "optional_uint64" field</summary>
524    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
525    public void ClearOptionalUint64() {
526      _hasBits0 &= ~8;
527    }
528
529    /// <summary>Field number for the "optional_sint32" field.</summary>
530    public const int OptionalSint32FieldNumber = 5;
531    private readonly static int OptionalSint32DefaultValue = 0;
532
533    private int optionalSint32_;
534    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
535    public int OptionalSint32 {
536      get { if ((_hasBits0 & 16) != 0) { return optionalSint32_; } else { return OptionalSint32DefaultValue; } }
537      set {
538        _hasBits0 |= 16;
539        optionalSint32_ = value;
540      }
541    }
542    /// <summary>Gets whether the "optional_sint32" field is set</summary>
543    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
544    public bool HasOptionalSint32 {
545      get { return (_hasBits0 & 16) != 0; }
546    }
547    /// <summary>Clears the value of the "optional_sint32" field</summary>
548    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
549    public void ClearOptionalSint32() {
550      _hasBits0 &= ~16;
551    }
552
553    /// <summary>Field number for the "optional_sint64" field.</summary>
554    public const int OptionalSint64FieldNumber = 6;
555    private readonly static long OptionalSint64DefaultValue = 0L;
556
557    private long optionalSint64_;
558    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
559    public long OptionalSint64 {
560      get { if ((_hasBits0 & 32) != 0) { return optionalSint64_; } else { return OptionalSint64DefaultValue; } }
561      set {
562        _hasBits0 |= 32;
563        optionalSint64_ = value;
564      }
565    }
566    /// <summary>Gets whether the "optional_sint64" field is set</summary>
567    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
568    public bool HasOptionalSint64 {
569      get { return (_hasBits0 & 32) != 0; }
570    }
571    /// <summary>Clears the value of the "optional_sint64" field</summary>
572    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
573    public void ClearOptionalSint64() {
574      _hasBits0 &= ~32;
575    }
576
577    /// <summary>Field number for the "optional_fixed32" field.</summary>
578    public const int OptionalFixed32FieldNumber = 7;
579    private readonly static uint OptionalFixed32DefaultValue = 0;
580
581    private uint optionalFixed32_;
582    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
583    public uint OptionalFixed32 {
584      get { if ((_hasBits0 & 64) != 0) { return optionalFixed32_; } else { return OptionalFixed32DefaultValue; } }
585      set {
586        _hasBits0 |= 64;
587        optionalFixed32_ = value;
588      }
589    }
590    /// <summary>Gets whether the "optional_fixed32" field is set</summary>
591    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
592    public bool HasOptionalFixed32 {
593      get { return (_hasBits0 & 64) != 0; }
594    }
595    /// <summary>Clears the value of the "optional_fixed32" field</summary>
596    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
597    public void ClearOptionalFixed32() {
598      _hasBits0 &= ~64;
599    }
600
601    /// <summary>Field number for the "optional_fixed64" field.</summary>
602    public const int OptionalFixed64FieldNumber = 8;
603    private readonly static ulong OptionalFixed64DefaultValue = 0UL;
604
605    private ulong optionalFixed64_;
606    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
607    public ulong OptionalFixed64 {
608      get { if ((_hasBits0 & 128) != 0) { return optionalFixed64_; } else { return OptionalFixed64DefaultValue; } }
609      set {
610        _hasBits0 |= 128;
611        optionalFixed64_ = value;
612      }
613    }
614    /// <summary>Gets whether the "optional_fixed64" field is set</summary>
615    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
616    public bool HasOptionalFixed64 {
617      get { return (_hasBits0 & 128) != 0; }
618    }
619    /// <summary>Clears the value of the "optional_fixed64" field</summary>
620    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
621    public void ClearOptionalFixed64() {
622      _hasBits0 &= ~128;
623    }
624
625    /// <summary>Field number for the "optional_sfixed32" field.</summary>
626    public const int OptionalSfixed32FieldNumber = 9;
627    private readonly static int OptionalSfixed32DefaultValue = 0;
628
629    private int optionalSfixed32_;
630    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
631    public int OptionalSfixed32 {
632      get { if ((_hasBits0 & 256) != 0) { return optionalSfixed32_; } else { return OptionalSfixed32DefaultValue; } }
633      set {
634        _hasBits0 |= 256;
635        optionalSfixed32_ = value;
636      }
637    }
638    /// <summary>Gets whether the "optional_sfixed32" field is set</summary>
639    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
640    public bool HasOptionalSfixed32 {
641      get { return (_hasBits0 & 256) != 0; }
642    }
643    /// <summary>Clears the value of the "optional_sfixed32" field</summary>
644    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
645    public void ClearOptionalSfixed32() {
646      _hasBits0 &= ~256;
647    }
648
649    /// <summary>Field number for the "optional_sfixed64" field.</summary>
650    public const int OptionalSfixed64FieldNumber = 10;
651    private readonly static long OptionalSfixed64DefaultValue = 0L;
652
653    private long optionalSfixed64_;
654    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
655    public long OptionalSfixed64 {
656      get { if ((_hasBits0 & 512) != 0) { return optionalSfixed64_; } else { return OptionalSfixed64DefaultValue; } }
657      set {
658        _hasBits0 |= 512;
659        optionalSfixed64_ = value;
660      }
661    }
662    /// <summary>Gets whether the "optional_sfixed64" field is set</summary>
663    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
664    public bool HasOptionalSfixed64 {
665      get { return (_hasBits0 & 512) != 0; }
666    }
667    /// <summary>Clears the value of the "optional_sfixed64" field</summary>
668    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
669    public void ClearOptionalSfixed64() {
670      _hasBits0 &= ~512;
671    }
672
673    /// <summary>Field number for the "optional_float" field.</summary>
674    public const int OptionalFloatFieldNumber = 11;
675    private readonly static float OptionalFloatDefaultValue = 0F;
676
677    private float optionalFloat_;
678    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
679    public float OptionalFloat {
680      get { if ((_hasBits0 & 1024) != 0) { return optionalFloat_; } else { return OptionalFloatDefaultValue; } }
681      set {
682        _hasBits0 |= 1024;
683        optionalFloat_ = value;
684      }
685    }
686    /// <summary>Gets whether the "optional_float" field is set</summary>
687    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
688    public bool HasOptionalFloat {
689      get { return (_hasBits0 & 1024) != 0; }
690    }
691    /// <summary>Clears the value of the "optional_float" field</summary>
692    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
693    public void ClearOptionalFloat() {
694      _hasBits0 &= ~1024;
695    }
696
697    /// <summary>Field number for the "optional_double" field.</summary>
698    public const int OptionalDoubleFieldNumber = 12;
699    private readonly static double OptionalDoubleDefaultValue = 0D;
700
701    private double optionalDouble_;
702    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
703    public double OptionalDouble {
704      get { if ((_hasBits0 & 2048) != 0) { return optionalDouble_; } else { return OptionalDoubleDefaultValue; } }
705      set {
706        _hasBits0 |= 2048;
707        optionalDouble_ = value;
708      }
709    }
710    /// <summary>Gets whether the "optional_double" field is set</summary>
711    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
712    public bool HasOptionalDouble {
713      get { return (_hasBits0 & 2048) != 0; }
714    }
715    /// <summary>Clears the value of the "optional_double" field</summary>
716    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
717    public void ClearOptionalDouble() {
718      _hasBits0 &= ~2048;
719    }
720
721    /// <summary>Field number for the "optional_bool" field.</summary>
722    public const int OptionalBoolFieldNumber = 13;
723    private readonly static bool OptionalBoolDefaultValue = false;
724
725    private bool optionalBool_;
726    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
727    public bool OptionalBool {
728      get { if ((_hasBits0 & 4096) != 0) { return optionalBool_; } else { return OptionalBoolDefaultValue; } }
729      set {
730        _hasBits0 |= 4096;
731        optionalBool_ = value;
732      }
733    }
734    /// <summary>Gets whether the "optional_bool" field is set</summary>
735    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
736    public bool HasOptionalBool {
737      get { return (_hasBits0 & 4096) != 0; }
738    }
739    /// <summary>Clears the value of the "optional_bool" field</summary>
740    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
741    public void ClearOptionalBool() {
742      _hasBits0 &= ~4096;
743    }
744
745    /// <summary>Field number for the "optional_string" field.</summary>
746    public const int OptionalStringFieldNumber = 14;
747    private readonly static string OptionalStringDefaultValue = "";
748
749    private string optionalString_;
750    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
751    public string OptionalString {
752      get { return optionalString_ ?? OptionalStringDefaultValue; }
753      set {
754        optionalString_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
755      }
756    }
757    /// <summary>Gets whether the "optional_string" field is set</summary>
758    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
759    public bool HasOptionalString {
760      get { return optionalString_ != null; }
761    }
762    /// <summary>Clears the value of the "optional_string" field</summary>
763    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
764    public void ClearOptionalString() {
765      optionalString_ = null;
766    }
767
768    /// <summary>Field number for the "optional_bytes" field.</summary>
769    public const int OptionalBytesFieldNumber = 15;
770    private readonly static pb::ByteString OptionalBytesDefaultValue = pb::ByteString.Empty;
771
772    private pb::ByteString optionalBytes_;
773    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
774    public pb::ByteString OptionalBytes {
775      get { return optionalBytes_ ?? OptionalBytesDefaultValue; }
776      set {
777        optionalBytes_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
778      }
779    }
780    /// <summary>Gets whether the "optional_bytes" field is set</summary>
781    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
782    public bool HasOptionalBytes {
783      get { return optionalBytes_ != null; }
784    }
785    /// <summary>Clears the value of the "optional_bytes" field</summary>
786    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
787    public void ClearOptionalBytes() {
788      optionalBytes_ = null;
789    }
790
791    /// <summary>Field number for the "optional_nested_message" field.</summary>
792    public const int OptionalNestedMessageFieldNumber = 18;
793    private global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage optionalNestedMessage_;
794    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
795    public global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage OptionalNestedMessage {
796      get { return optionalNestedMessage_; }
797      set {
798        optionalNestedMessage_ = value;
799      }
800    }
801
802    /// <summary>Field number for the "optional_foreign_message" field.</summary>
803    public const int OptionalForeignMessageFieldNumber = 19;
804    private global::ProtobufTestMessages.Proto2.ForeignMessageProto2 optionalForeignMessage_;
805    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
806    public global::ProtobufTestMessages.Proto2.ForeignMessageProto2 OptionalForeignMessage {
807      get { return optionalForeignMessage_; }
808      set {
809        optionalForeignMessage_ = value;
810      }
811    }
812
813    /// <summary>Field number for the "optional_nested_enum" field.</summary>
814    public const int OptionalNestedEnumFieldNumber = 21;
815    private readonly static global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum OptionalNestedEnumDefaultValue = global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum.Foo;
816
817    private global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum optionalNestedEnum_;
818    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
819    public global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum OptionalNestedEnum {
820      get { if ((_hasBits0 & 8192) != 0) { return optionalNestedEnum_; } else { return OptionalNestedEnumDefaultValue; } }
821      set {
822        _hasBits0 |= 8192;
823        optionalNestedEnum_ = value;
824      }
825    }
826    /// <summary>Gets whether the "optional_nested_enum" field is set</summary>
827    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
828    public bool HasOptionalNestedEnum {
829      get { return (_hasBits0 & 8192) != 0; }
830    }
831    /// <summary>Clears the value of the "optional_nested_enum" field</summary>
832    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
833    public void ClearOptionalNestedEnum() {
834      _hasBits0 &= ~8192;
835    }
836
837    /// <summary>Field number for the "optional_foreign_enum" field.</summary>
838    public const int OptionalForeignEnumFieldNumber = 22;
839    private readonly static global::ProtobufTestMessages.Proto2.ForeignEnumProto2 OptionalForeignEnumDefaultValue = global::ProtobufTestMessages.Proto2.ForeignEnumProto2.ForeignFoo;
840
841    private global::ProtobufTestMessages.Proto2.ForeignEnumProto2 optionalForeignEnum_;
842    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
843    public global::ProtobufTestMessages.Proto2.ForeignEnumProto2 OptionalForeignEnum {
844      get { if ((_hasBits0 & 16384) != 0) { return optionalForeignEnum_; } else { return OptionalForeignEnumDefaultValue; } }
845      set {
846        _hasBits0 |= 16384;
847        optionalForeignEnum_ = value;
848      }
849    }
850    /// <summary>Gets whether the "optional_foreign_enum" field is set</summary>
851    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
852    public bool HasOptionalForeignEnum {
853      get { return (_hasBits0 & 16384) != 0; }
854    }
855    /// <summary>Clears the value of the "optional_foreign_enum" field</summary>
856    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
857    public void ClearOptionalForeignEnum() {
858      _hasBits0 &= ~16384;
859    }
860
861    /// <summary>Field number for the "optional_string_piece" field.</summary>
862    public const int OptionalStringPieceFieldNumber = 24;
863    private readonly static string OptionalStringPieceDefaultValue = "";
864
865    private string optionalStringPiece_;
866    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
867    public string OptionalStringPiece {
868      get { return optionalStringPiece_ ?? OptionalStringPieceDefaultValue; }
869      set {
870        optionalStringPiece_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
871      }
872    }
873    /// <summary>Gets whether the "optional_string_piece" field is set</summary>
874    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
875    public bool HasOptionalStringPiece {
876      get { return optionalStringPiece_ != null; }
877    }
878    /// <summary>Clears the value of the "optional_string_piece" field</summary>
879    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
880    public void ClearOptionalStringPiece() {
881      optionalStringPiece_ = null;
882    }
883
884    /// <summary>Field number for the "optional_cord" field.</summary>
885    public const int OptionalCordFieldNumber = 25;
886    private readonly static string OptionalCordDefaultValue = "";
887
888    private string optionalCord_;
889    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
890    public string OptionalCord {
891      get { return optionalCord_ ?? OptionalCordDefaultValue; }
892      set {
893        optionalCord_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
894      }
895    }
896    /// <summary>Gets whether the "optional_cord" field is set</summary>
897    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
898    public bool HasOptionalCord {
899      get { return optionalCord_ != null; }
900    }
901    /// <summary>Clears the value of the "optional_cord" field</summary>
902    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
903    public void ClearOptionalCord() {
904      optionalCord_ = null;
905    }
906
907    /// <summary>Field number for the "recursive_message" field.</summary>
908    public const int RecursiveMessageFieldNumber = 27;
909    private global::ProtobufTestMessages.Proto2.TestAllTypesProto2 recursiveMessage_;
910    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
911    public global::ProtobufTestMessages.Proto2.TestAllTypesProto2 RecursiveMessage {
912      get { return recursiveMessage_; }
913      set {
914        recursiveMessage_ = value;
915      }
916    }
917
918    /// <summary>Field number for the "repeated_int32" field.</summary>
919    public const int RepeatedInt32FieldNumber = 31;
920    private static readonly pb::FieldCodec<int> _repeated_repeatedInt32_codec
921        = pb::FieldCodec.ForInt32(248);
922    private readonly pbc::RepeatedField<int> repeatedInt32_ = new pbc::RepeatedField<int>();
923    /// <summary>
924    /// Repeated
925    /// </summary>
926    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
927    public pbc::RepeatedField<int> RepeatedInt32 {
928      get { return repeatedInt32_; }
929    }
930
931    /// <summary>Field number for the "repeated_int64" field.</summary>
932    public const int RepeatedInt64FieldNumber = 32;
933    private static readonly pb::FieldCodec<long> _repeated_repeatedInt64_codec
934        = pb::FieldCodec.ForInt64(256);
935    private readonly pbc::RepeatedField<long> repeatedInt64_ = new pbc::RepeatedField<long>();
936    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
937    public pbc::RepeatedField<long> RepeatedInt64 {
938      get { return repeatedInt64_; }
939    }
940
941    /// <summary>Field number for the "repeated_uint32" field.</summary>
942    public const int RepeatedUint32FieldNumber = 33;
943    private static readonly pb::FieldCodec<uint> _repeated_repeatedUint32_codec
944        = pb::FieldCodec.ForUInt32(264);
945    private readonly pbc::RepeatedField<uint> repeatedUint32_ = new pbc::RepeatedField<uint>();
946    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
947    public pbc::RepeatedField<uint> RepeatedUint32 {
948      get { return repeatedUint32_; }
949    }
950
951    /// <summary>Field number for the "repeated_uint64" field.</summary>
952    public const int RepeatedUint64FieldNumber = 34;
953    private static readonly pb::FieldCodec<ulong> _repeated_repeatedUint64_codec
954        = pb::FieldCodec.ForUInt64(272);
955    private readonly pbc::RepeatedField<ulong> repeatedUint64_ = new pbc::RepeatedField<ulong>();
956    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
957    public pbc::RepeatedField<ulong> RepeatedUint64 {
958      get { return repeatedUint64_; }
959    }
960
961    /// <summary>Field number for the "repeated_sint32" field.</summary>
962    public const int RepeatedSint32FieldNumber = 35;
963    private static readonly pb::FieldCodec<int> _repeated_repeatedSint32_codec
964        = pb::FieldCodec.ForSInt32(280);
965    private readonly pbc::RepeatedField<int> repeatedSint32_ = new pbc::RepeatedField<int>();
966    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
967    public pbc::RepeatedField<int> RepeatedSint32 {
968      get { return repeatedSint32_; }
969    }
970
971    /// <summary>Field number for the "repeated_sint64" field.</summary>
972    public const int RepeatedSint64FieldNumber = 36;
973    private static readonly pb::FieldCodec<long> _repeated_repeatedSint64_codec
974        = pb::FieldCodec.ForSInt64(288);
975    private readonly pbc::RepeatedField<long> repeatedSint64_ = new pbc::RepeatedField<long>();
976    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
977    public pbc::RepeatedField<long> RepeatedSint64 {
978      get { return repeatedSint64_; }
979    }
980
981    /// <summary>Field number for the "repeated_fixed32" field.</summary>
982    public const int RepeatedFixed32FieldNumber = 37;
983    private static readonly pb::FieldCodec<uint> _repeated_repeatedFixed32_codec
984        = pb::FieldCodec.ForFixed32(301);
985    private readonly pbc::RepeatedField<uint> repeatedFixed32_ = new pbc::RepeatedField<uint>();
986    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
987    public pbc::RepeatedField<uint> RepeatedFixed32 {
988      get { return repeatedFixed32_; }
989    }
990
991    /// <summary>Field number for the "repeated_fixed64" field.</summary>
992    public const int RepeatedFixed64FieldNumber = 38;
993    private static readonly pb::FieldCodec<ulong> _repeated_repeatedFixed64_codec
994        = pb::FieldCodec.ForFixed64(305);
995    private readonly pbc::RepeatedField<ulong> repeatedFixed64_ = new pbc::RepeatedField<ulong>();
996    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
997    public pbc::RepeatedField<ulong> RepeatedFixed64 {
998      get { return repeatedFixed64_; }
999    }
1000
1001    /// <summary>Field number for the "repeated_sfixed32" field.</summary>
1002    public const int RepeatedSfixed32FieldNumber = 39;
1003    private static readonly pb::FieldCodec<int> _repeated_repeatedSfixed32_codec
1004        = pb::FieldCodec.ForSFixed32(317);
1005    private readonly pbc::RepeatedField<int> repeatedSfixed32_ = new pbc::RepeatedField<int>();
1006    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1007    public pbc::RepeatedField<int> RepeatedSfixed32 {
1008      get { return repeatedSfixed32_; }
1009    }
1010
1011    /// <summary>Field number for the "repeated_sfixed64" field.</summary>
1012    public const int RepeatedSfixed64FieldNumber = 40;
1013    private static readonly pb::FieldCodec<long> _repeated_repeatedSfixed64_codec
1014        = pb::FieldCodec.ForSFixed64(321);
1015    private readonly pbc::RepeatedField<long> repeatedSfixed64_ = new pbc::RepeatedField<long>();
1016    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1017    public pbc::RepeatedField<long> RepeatedSfixed64 {
1018      get { return repeatedSfixed64_; }
1019    }
1020
1021    /// <summary>Field number for the "repeated_float" field.</summary>
1022    public const int RepeatedFloatFieldNumber = 41;
1023    private static readonly pb::FieldCodec<float> _repeated_repeatedFloat_codec
1024        = pb::FieldCodec.ForFloat(333);
1025    private readonly pbc::RepeatedField<float> repeatedFloat_ = new pbc::RepeatedField<float>();
1026    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1027    public pbc::RepeatedField<float> RepeatedFloat {
1028      get { return repeatedFloat_; }
1029    }
1030
1031    /// <summary>Field number for the "repeated_double" field.</summary>
1032    public const int RepeatedDoubleFieldNumber = 42;
1033    private static readonly pb::FieldCodec<double> _repeated_repeatedDouble_codec
1034        = pb::FieldCodec.ForDouble(337);
1035    private readonly pbc::RepeatedField<double> repeatedDouble_ = new pbc::RepeatedField<double>();
1036    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1037    public pbc::RepeatedField<double> RepeatedDouble {
1038      get { return repeatedDouble_; }
1039    }
1040
1041    /// <summary>Field number for the "repeated_bool" field.</summary>
1042    public const int RepeatedBoolFieldNumber = 43;
1043    private static readonly pb::FieldCodec<bool> _repeated_repeatedBool_codec
1044        = pb::FieldCodec.ForBool(344);
1045    private readonly pbc::RepeatedField<bool> repeatedBool_ = new pbc::RepeatedField<bool>();
1046    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1047    public pbc::RepeatedField<bool> RepeatedBool {
1048      get { return repeatedBool_; }
1049    }
1050
1051    /// <summary>Field number for the "repeated_string" field.</summary>
1052    public const int RepeatedStringFieldNumber = 44;
1053    private static readonly pb::FieldCodec<string> _repeated_repeatedString_codec
1054        = pb::FieldCodec.ForString(354);
1055    private readonly pbc::RepeatedField<string> repeatedString_ = new pbc::RepeatedField<string>();
1056    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1057    public pbc::RepeatedField<string> RepeatedString {
1058      get { return repeatedString_; }
1059    }
1060
1061    /// <summary>Field number for the "repeated_bytes" field.</summary>
1062    public const int RepeatedBytesFieldNumber = 45;
1063    private static readonly pb::FieldCodec<pb::ByteString> _repeated_repeatedBytes_codec
1064        = pb::FieldCodec.ForBytes(362);
1065    private readonly pbc::RepeatedField<pb::ByteString> repeatedBytes_ = new pbc::RepeatedField<pb::ByteString>();
1066    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1067    public pbc::RepeatedField<pb::ByteString> RepeatedBytes {
1068      get { return repeatedBytes_; }
1069    }
1070
1071    /// <summary>Field number for the "repeated_nested_message" field.</summary>
1072    public const int RepeatedNestedMessageFieldNumber = 48;
1073    private static readonly pb::FieldCodec<global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage> _repeated_repeatedNestedMessage_codec
1074        = pb::FieldCodec.ForMessage(386, global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage.Parser);
1075    private readonly pbc::RepeatedField<global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage> repeatedNestedMessage_ = new pbc::RepeatedField<global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage>();
1076    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1077    public pbc::RepeatedField<global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage> RepeatedNestedMessage {
1078      get { return repeatedNestedMessage_; }
1079    }
1080
1081    /// <summary>Field number for the "repeated_foreign_message" field.</summary>
1082    public const int RepeatedForeignMessageFieldNumber = 49;
1083    private static readonly pb::FieldCodec<global::ProtobufTestMessages.Proto2.ForeignMessageProto2> _repeated_repeatedForeignMessage_codec
1084        = pb::FieldCodec.ForMessage(394, global::ProtobufTestMessages.Proto2.ForeignMessageProto2.Parser);
1085    private readonly pbc::RepeatedField<global::ProtobufTestMessages.Proto2.ForeignMessageProto2> repeatedForeignMessage_ = new pbc::RepeatedField<global::ProtobufTestMessages.Proto2.ForeignMessageProto2>();
1086    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1087    public pbc::RepeatedField<global::ProtobufTestMessages.Proto2.ForeignMessageProto2> RepeatedForeignMessage {
1088      get { return repeatedForeignMessage_; }
1089    }
1090
1091    /// <summary>Field number for the "repeated_nested_enum" field.</summary>
1092    public const int RepeatedNestedEnumFieldNumber = 51;
1093    private static readonly pb::FieldCodec<global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum> _repeated_repeatedNestedEnum_codec
1094        = pb::FieldCodec.ForEnum(408, x => (int) x, x => (global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum) x);
1095    private readonly pbc::RepeatedField<global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum> repeatedNestedEnum_ = new pbc::RepeatedField<global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum>();
1096    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1097    public pbc::RepeatedField<global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum> RepeatedNestedEnum {
1098      get { return repeatedNestedEnum_; }
1099    }
1100
1101    /// <summary>Field number for the "repeated_foreign_enum" field.</summary>
1102    public const int RepeatedForeignEnumFieldNumber = 52;
1103    private static readonly pb::FieldCodec<global::ProtobufTestMessages.Proto2.ForeignEnumProto2> _repeated_repeatedForeignEnum_codec
1104        = pb::FieldCodec.ForEnum(416, x => (int) x, x => (global::ProtobufTestMessages.Proto2.ForeignEnumProto2) x);
1105    private readonly pbc::RepeatedField<global::ProtobufTestMessages.Proto2.ForeignEnumProto2> repeatedForeignEnum_ = new pbc::RepeatedField<global::ProtobufTestMessages.Proto2.ForeignEnumProto2>();
1106    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1107    public pbc::RepeatedField<global::ProtobufTestMessages.Proto2.ForeignEnumProto2> RepeatedForeignEnum {
1108      get { return repeatedForeignEnum_; }
1109    }
1110
1111    /// <summary>Field number for the "repeated_string_piece" field.</summary>
1112    public const int RepeatedStringPieceFieldNumber = 54;
1113    private static readonly pb::FieldCodec<string> _repeated_repeatedStringPiece_codec
1114        = pb::FieldCodec.ForString(434);
1115    private readonly pbc::RepeatedField<string> repeatedStringPiece_ = new pbc::RepeatedField<string>();
1116    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1117    public pbc::RepeatedField<string> RepeatedStringPiece {
1118      get { return repeatedStringPiece_; }
1119    }
1120
1121    /// <summary>Field number for the "repeated_cord" field.</summary>
1122    public const int RepeatedCordFieldNumber = 55;
1123    private static readonly pb::FieldCodec<string> _repeated_repeatedCord_codec
1124        = pb::FieldCodec.ForString(442);
1125    private readonly pbc::RepeatedField<string> repeatedCord_ = new pbc::RepeatedField<string>();
1126    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1127    public pbc::RepeatedField<string> RepeatedCord {
1128      get { return repeatedCord_; }
1129    }
1130
1131    /// <summary>Field number for the "packed_int32" field.</summary>
1132    public const int PackedInt32FieldNumber = 75;
1133    private static readonly pb::FieldCodec<int> _repeated_packedInt32_codec
1134        = pb::FieldCodec.ForInt32(602);
1135    private readonly pbc::RepeatedField<int> packedInt32_ = new pbc::RepeatedField<int>();
1136    /// <summary>
1137    /// Packed
1138    /// </summary>
1139    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1140    public pbc::RepeatedField<int> PackedInt32 {
1141      get { return packedInt32_; }
1142    }
1143
1144    /// <summary>Field number for the "packed_int64" field.</summary>
1145    public const int PackedInt64FieldNumber = 76;
1146    private static readonly pb::FieldCodec<long> _repeated_packedInt64_codec
1147        = pb::FieldCodec.ForInt64(610);
1148    private readonly pbc::RepeatedField<long> packedInt64_ = new pbc::RepeatedField<long>();
1149    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1150    public pbc::RepeatedField<long> PackedInt64 {
1151      get { return packedInt64_; }
1152    }
1153
1154    /// <summary>Field number for the "packed_uint32" field.</summary>
1155    public const int PackedUint32FieldNumber = 77;
1156    private static readonly pb::FieldCodec<uint> _repeated_packedUint32_codec
1157        = pb::FieldCodec.ForUInt32(618);
1158    private readonly pbc::RepeatedField<uint> packedUint32_ = new pbc::RepeatedField<uint>();
1159    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1160    public pbc::RepeatedField<uint> PackedUint32 {
1161      get { return packedUint32_; }
1162    }
1163
1164    /// <summary>Field number for the "packed_uint64" field.</summary>
1165    public const int PackedUint64FieldNumber = 78;
1166    private static readonly pb::FieldCodec<ulong> _repeated_packedUint64_codec
1167        = pb::FieldCodec.ForUInt64(626);
1168    private readonly pbc::RepeatedField<ulong> packedUint64_ = new pbc::RepeatedField<ulong>();
1169    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1170    public pbc::RepeatedField<ulong> PackedUint64 {
1171      get { return packedUint64_; }
1172    }
1173
1174    /// <summary>Field number for the "packed_sint32" field.</summary>
1175    public const int PackedSint32FieldNumber = 79;
1176    private static readonly pb::FieldCodec<int> _repeated_packedSint32_codec
1177        = pb::FieldCodec.ForSInt32(634);
1178    private readonly pbc::RepeatedField<int> packedSint32_ = new pbc::RepeatedField<int>();
1179    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1180    public pbc::RepeatedField<int> PackedSint32 {
1181      get { return packedSint32_; }
1182    }
1183
1184    /// <summary>Field number for the "packed_sint64" field.</summary>
1185    public const int PackedSint64FieldNumber = 80;
1186    private static readonly pb::FieldCodec<long> _repeated_packedSint64_codec
1187        = pb::FieldCodec.ForSInt64(642);
1188    private readonly pbc::RepeatedField<long> packedSint64_ = new pbc::RepeatedField<long>();
1189    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1190    public pbc::RepeatedField<long> PackedSint64 {
1191      get { return packedSint64_; }
1192    }
1193
1194    /// <summary>Field number for the "packed_fixed32" field.</summary>
1195    public const int PackedFixed32FieldNumber = 81;
1196    private static readonly pb::FieldCodec<uint> _repeated_packedFixed32_codec
1197        = pb::FieldCodec.ForFixed32(650);
1198    private readonly pbc::RepeatedField<uint> packedFixed32_ = new pbc::RepeatedField<uint>();
1199    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1200    public pbc::RepeatedField<uint> PackedFixed32 {
1201      get { return packedFixed32_; }
1202    }
1203
1204    /// <summary>Field number for the "packed_fixed64" field.</summary>
1205    public const int PackedFixed64FieldNumber = 82;
1206    private static readonly pb::FieldCodec<ulong> _repeated_packedFixed64_codec
1207        = pb::FieldCodec.ForFixed64(658);
1208    private readonly pbc::RepeatedField<ulong> packedFixed64_ = new pbc::RepeatedField<ulong>();
1209    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1210    public pbc::RepeatedField<ulong> PackedFixed64 {
1211      get { return packedFixed64_; }
1212    }
1213
1214    /// <summary>Field number for the "packed_sfixed32" field.</summary>
1215    public const int PackedSfixed32FieldNumber = 83;
1216    private static readonly pb::FieldCodec<int> _repeated_packedSfixed32_codec
1217        = pb::FieldCodec.ForSFixed32(666);
1218    private readonly pbc::RepeatedField<int> packedSfixed32_ = new pbc::RepeatedField<int>();
1219    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1220    public pbc::RepeatedField<int> PackedSfixed32 {
1221      get { return packedSfixed32_; }
1222    }
1223
1224    /// <summary>Field number for the "packed_sfixed64" field.</summary>
1225    public const int PackedSfixed64FieldNumber = 84;
1226    private static readonly pb::FieldCodec<long> _repeated_packedSfixed64_codec
1227        = pb::FieldCodec.ForSFixed64(674);
1228    private readonly pbc::RepeatedField<long> packedSfixed64_ = new pbc::RepeatedField<long>();
1229    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1230    public pbc::RepeatedField<long> PackedSfixed64 {
1231      get { return packedSfixed64_; }
1232    }
1233
1234    /// <summary>Field number for the "packed_float" field.</summary>
1235    public const int PackedFloatFieldNumber = 85;
1236    private static readonly pb::FieldCodec<float> _repeated_packedFloat_codec
1237        = pb::FieldCodec.ForFloat(682);
1238    private readonly pbc::RepeatedField<float> packedFloat_ = new pbc::RepeatedField<float>();
1239    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1240    public pbc::RepeatedField<float> PackedFloat {
1241      get { return packedFloat_; }
1242    }
1243
1244    /// <summary>Field number for the "packed_double" field.</summary>
1245    public const int PackedDoubleFieldNumber = 86;
1246    private static readonly pb::FieldCodec<double> _repeated_packedDouble_codec
1247        = pb::FieldCodec.ForDouble(690);
1248    private readonly pbc::RepeatedField<double> packedDouble_ = new pbc::RepeatedField<double>();
1249    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1250    public pbc::RepeatedField<double> PackedDouble {
1251      get { return packedDouble_; }
1252    }
1253
1254    /// <summary>Field number for the "packed_bool" field.</summary>
1255    public const int PackedBoolFieldNumber = 87;
1256    private static readonly pb::FieldCodec<bool> _repeated_packedBool_codec
1257        = pb::FieldCodec.ForBool(698);
1258    private readonly pbc::RepeatedField<bool> packedBool_ = new pbc::RepeatedField<bool>();
1259    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1260    public pbc::RepeatedField<bool> PackedBool {
1261      get { return packedBool_; }
1262    }
1263
1264    /// <summary>Field number for the "packed_nested_enum" field.</summary>
1265    public const int PackedNestedEnumFieldNumber = 88;
1266    private static readonly pb::FieldCodec<global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum> _repeated_packedNestedEnum_codec
1267        = pb::FieldCodec.ForEnum(706, x => (int) x, x => (global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum) x);
1268    private readonly pbc::RepeatedField<global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum> packedNestedEnum_ = new pbc::RepeatedField<global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum>();
1269    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1270    public pbc::RepeatedField<global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum> PackedNestedEnum {
1271      get { return packedNestedEnum_; }
1272    }
1273
1274    /// <summary>Field number for the "unpacked_int32" field.</summary>
1275    public const int UnpackedInt32FieldNumber = 89;
1276    private static readonly pb::FieldCodec<int> _repeated_unpackedInt32_codec
1277        = pb::FieldCodec.ForInt32(712);
1278    private readonly pbc::RepeatedField<int> unpackedInt32_ = new pbc::RepeatedField<int>();
1279    /// <summary>
1280    /// Unpacked
1281    /// </summary>
1282    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1283    public pbc::RepeatedField<int> UnpackedInt32 {
1284      get { return unpackedInt32_; }
1285    }
1286
1287    /// <summary>Field number for the "unpacked_int64" field.</summary>
1288    public const int UnpackedInt64FieldNumber = 90;
1289    private static readonly pb::FieldCodec<long> _repeated_unpackedInt64_codec
1290        = pb::FieldCodec.ForInt64(720);
1291    private readonly pbc::RepeatedField<long> unpackedInt64_ = new pbc::RepeatedField<long>();
1292    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1293    public pbc::RepeatedField<long> UnpackedInt64 {
1294      get { return unpackedInt64_; }
1295    }
1296
1297    /// <summary>Field number for the "unpacked_uint32" field.</summary>
1298    public const int UnpackedUint32FieldNumber = 91;
1299    private static readonly pb::FieldCodec<uint> _repeated_unpackedUint32_codec
1300        = pb::FieldCodec.ForUInt32(728);
1301    private readonly pbc::RepeatedField<uint> unpackedUint32_ = new pbc::RepeatedField<uint>();
1302    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1303    public pbc::RepeatedField<uint> UnpackedUint32 {
1304      get { return unpackedUint32_; }
1305    }
1306
1307    /// <summary>Field number for the "unpacked_uint64" field.</summary>
1308    public const int UnpackedUint64FieldNumber = 92;
1309    private static readonly pb::FieldCodec<ulong> _repeated_unpackedUint64_codec
1310        = pb::FieldCodec.ForUInt64(736);
1311    private readonly pbc::RepeatedField<ulong> unpackedUint64_ = new pbc::RepeatedField<ulong>();
1312    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1313    public pbc::RepeatedField<ulong> UnpackedUint64 {
1314      get { return unpackedUint64_; }
1315    }
1316
1317    /// <summary>Field number for the "unpacked_sint32" field.</summary>
1318    public const int UnpackedSint32FieldNumber = 93;
1319    private static readonly pb::FieldCodec<int> _repeated_unpackedSint32_codec
1320        = pb::FieldCodec.ForSInt32(744);
1321    private readonly pbc::RepeatedField<int> unpackedSint32_ = new pbc::RepeatedField<int>();
1322    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1323    public pbc::RepeatedField<int> UnpackedSint32 {
1324      get { return unpackedSint32_; }
1325    }
1326
1327    /// <summary>Field number for the "unpacked_sint64" field.</summary>
1328    public const int UnpackedSint64FieldNumber = 94;
1329    private static readonly pb::FieldCodec<long> _repeated_unpackedSint64_codec
1330        = pb::FieldCodec.ForSInt64(752);
1331    private readonly pbc::RepeatedField<long> unpackedSint64_ = new pbc::RepeatedField<long>();
1332    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1333    public pbc::RepeatedField<long> UnpackedSint64 {
1334      get { return unpackedSint64_; }
1335    }
1336
1337    /// <summary>Field number for the "unpacked_fixed32" field.</summary>
1338    public const int UnpackedFixed32FieldNumber = 95;
1339    private static readonly pb::FieldCodec<uint> _repeated_unpackedFixed32_codec
1340        = pb::FieldCodec.ForFixed32(765);
1341    private readonly pbc::RepeatedField<uint> unpackedFixed32_ = new pbc::RepeatedField<uint>();
1342    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1343    public pbc::RepeatedField<uint> UnpackedFixed32 {
1344      get { return unpackedFixed32_; }
1345    }
1346
1347    /// <summary>Field number for the "unpacked_fixed64" field.</summary>
1348    public const int UnpackedFixed64FieldNumber = 96;
1349    private static readonly pb::FieldCodec<ulong> _repeated_unpackedFixed64_codec
1350        = pb::FieldCodec.ForFixed64(769);
1351    private readonly pbc::RepeatedField<ulong> unpackedFixed64_ = new pbc::RepeatedField<ulong>();
1352    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1353    public pbc::RepeatedField<ulong> UnpackedFixed64 {
1354      get { return unpackedFixed64_; }
1355    }
1356
1357    /// <summary>Field number for the "unpacked_sfixed32" field.</summary>
1358    public const int UnpackedSfixed32FieldNumber = 97;
1359    private static readonly pb::FieldCodec<int> _repeated_unpackedSfixed32_codec
1360        = pb::FieldCodec.ForSFixed32(781);
1361    private readonly pbc::RepeatedField<int> unpackedSfixed32_ = new pbc::RepeatedField<int>();
1362    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1363    public pbc::RepeatedField<int> UnpackedSfixed32 {
1364      get { return unpackedSfixed32_; }
1365    }
1366
1367    /// <summary>Field number for the "unpacked_sfixed64" field.</summary>
1368    public const int UnpackedSfixed64FieldNumber = 98;
1369    private static readonly pb::FieldCodec<long> _repeated_unpackedSfixed64_codec
1370        = pb::FieldCodec.ForSFixed64(785);
1371    private readonly pbc::RepeatedField<long> unpackedSfixed64_ = new pbc::RepeatedField<long>();
1372    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1373    public pbc::RepeatedField<long> UnpackedSfixed64 {
1374      get { return unpackedSfixed64_; }
1375    }
1376
1377    /// <summary>Field number for the "unpacked_float" field.</summary>
1378    public const int UnpackedFloatFieldNumber = 99;
1379    private static readonly pb::FieldCodec<float> _repeated_unpackedFloat_codec
1380        = pb::FieldCodec.ForFloat(797);
1381    private readonly pbc::RepeatedField<float> unpackedFloat_ = new pbc::RepeatedField<float>();
1382    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1383    public pbc::RepeatedField<float> UnpackedFloat {
1384      get { return unpackedFloat_; }
1385    }
1386
1387    /// <summary>Field number for the "unpacked_double" field.</summary>
1388    public const int UnpackedDoubleFieldNumber = 100;
1389    private static readonly pb::FieldCodec<double> _repeated_unpackedDouble_codec
1390        = pb::FieldCodec.ForDouble(801);
1391    private readonly pbc::RepeatedField<double> unpackedDouble_ = new pbc::RepeatedField<double>();
1392    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1393    public pbc::RepeatedField<double> UnpackedDouble {
1394      get { return unpackedDouble_; }
1395    }
1396
1397    /// <summary>Field number for the "unpacked_bool" field.</summary>
1398    public const int UnpackedBoolFieldNumber = 101;
1399    private static readonly pb::FieldCodec<bool> _repeated_unpackedBool_codec
1400        = pb::FieldCodec.ForBool(808);
1401    private readonly pbc::RepeatedField<bool> unpackedBool_ = new pbc::RepeatedField<bool>();
1402    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1403    public pbc::RepeatedField<bool> UnpackedBool {
1404      get { return unpackedBool_; }
1405    }
1406
1407    /// <summary>Field number for the "unpacked_nested_enum" field.</summary>
1408    public const int UnpackedNestedEnumFieldNumber = 102;
1409    private static readonly pb::FieldCodec<global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum> _repeated_unpackedNestedEnum_codec
1410        = pb::FieldCodec.ForEnum(816, x => (int) x, x => (global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum) x);
1411    private readonly pbc::RepeatedField<global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum> unpackedNestedEnum_ = new pbc::RepeatedField<global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum>();
1412    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1413    public pbc::RepeatedField<global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum> UnpackedNestedEnum {
1414      get { return unpackedNestedEnum_; }
1415    }
1416
1417    /// <summary>Field number for the "map_int32_int32" field.</summary>
1418    public const int MapInt32Int32FieldNumber = 56;
1419    private static readonly pbc::MapField<int, int>.Codec _map_mapInt32Int32_codec
1420        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForInt32(16, 0), 450);
1421    private readonly pbc::MapField<int, int> mapInt32Int32_ = new pbc::MapField<int, int>();
1422    /// <summary>
1423    /// Map
1424    /// </summary>
1425    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1426    public pbc::MapField<int, int> MapInt32Int32 {
1427      get { return mapInt32Int32_; }
1428    }
1429
1430    /// <summary>Field number for the "map_int64_int64" field.</summary>
1431    public const int MapInt64Int64FieldNumber = 57;
1432    private static readonly pbc::MapField<long, long>.Codec _map_mapInt64Int64_codec
1433        = new pbc::MapField<long, long>.Codec(pb::FieldCodec.ForInt64(8, 0L), pb::FieldCodec.ForInt64(16, 0L), 458);
1434    private readonly pbc::MapField<long, long> mapInt64Int64_ = new pbc::MapField<long, long>();
1435    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1436    public pbc::MapField<long, long> MapInt64Int64 {
1437      get { return mapInt64Int64_; }
1438    }
1439
1440    /// <summary>Field number for the "map_uint32_uint32" field.</summary>
1441    public const int MapUint32Uint32FieldNumber = 58;
1442    private static readonly pbc::MapField<uint, uint>.Codec _map_mapUint32Uint32_codec
1443        = new pbc::MapField<uint, uint>.Codec(pb::FieldCodec.ForUInt32(8, 0), pb::FieldCodec.ForUInt32(16, 0), 466);
1444    private readonly pbc::MapField<uint, uint> mapUint32Uint32_ = new pbc::MapField<uint, uint>();
1445    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1446    public pbc::MapField<uint, uint> MapUint32Uint32 {
1447      get { return mapUint32Uint32_; }
1448    }
1449
1450    /// <summary>Field number for the "map_uint64_uint64" field.</summary>
1451    public const int MapUint64Uint64FieldNumber = 59;
1452    private static readonly pbc::MapField<ulong, ulong>.Codec _map_mapUint64Uint64_codec
1453        = new pbc::MapField<ulong, ulong>.Codec(pb::FieldCodec.ForUInt64(8, 0UL), pb::FieldCodec.ForUInt64(16, 0UL), 474);
1454    private readonly pbc::MapField<ulong, ulong> mapUint64Uint64_ = new pbc::MapField<ulong, ulong>();
1455    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1456    public pbc::MapField<ulong, ulong> MapUint64Uint64 {
1457      get { return mapUint64Uint64_; }
1458    }
1459
1460    /// <summary>Field number for the "map_sint32_sint32" field.</summary>
1461    public const int MapSint32Sint32FieldNumber = 60;
1462    private static readonly pbc::MapField<int, int>.Codec _map_mapSint32Sint32_codec
1463        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForSInt32(8, 0), pb::FieldCodec.ForSInt32(16, 0), 482);
1464    private readonly pbc::MapField<int, int> mapSint32Sint32_ = new pbc::MapField<int, int>();
1465    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1466    public pbc::MapField<int, int> MapSint32Sint32 {
1467      get { return mapSint32Sint32_; }
1468    }
1469
1470    /// <summary>Field number for the "map_sint64_sint64" field.</summary>
1471    public const int MapSint64Sint64FieldNumber = 61;
1472    private static readonly pbc::MapField<long, long>.Codec _map_mapSint64Sint64_codec
1473        = new pbc::MapField<long, long>.Codec(pb::FieldCodec.ForSInt64(8, 0L), pb::FieldCodec.ForSInt64(16, 0L), 490);
1474    private readonly pbc::MapField<long, long> mapSint64Sint64_ = new pbc::MapField<long, long>();
1475    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1476    public pbc::MapField<long, long> MapSint64Sint64 {
1477      get { return mapSint64Sint64_; }
1478    }
1479
1480    /// <summary>Field number for the "map_fixed32_fixed32" field.</summary>
1481    public const int MapFixed32Fixed32FieldNumber = 62;
1482    private static readonly pbc::MapField<uint, uint>.Codec _map_mapFixed32Fixed32_codec
1483        = new pbc::MapField<uint, uint>.Codec(pb::FieldCodec.ForFixed32(13, 0), pb::FieldCodec.ForFixed32(21, 0), 498);
1484    private readonly pbc::MapField<uint, uint> mapFixed32Fixed32_ = new pbc::MapField<uint, uint>();
1485    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1486    public pbc::MapField<uint, uint> MapFixed32Fixed32 {
1487      get { return mapFixed32Fixed32_; }
1488    }
1489
1490    /// <summary>Field number for the "map_fixed64_fixed64" field.</summary>
1491    public const int MapFixed64Fixed64FieldNumber = 63;
1492    private static readonly pbc::MapField<ulong, ulong>.Codec _map_mapFixed64Fixed64_codec
1493        = new pbc::MapField<ulong, ulong>.Codec(pb::FieldCodec.ForFixed64(9, 0UL), pb::FieldCodec.ForFixed64(17, 0UL), 506);
1494    private readonly pbc::MapField<ulong, ulong> mapFixed64Fixed64_ = new pbc::MapField<ulong, ulong>();
1495    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1496    public pbc::MapField<ulong, ulong> MapFixed64Fixed64 {
1497      get { return mapFixed64Fixed64_; }
1498    }
1499
1500    /// <summary>Field number for the "map_sfixed32_sfixed32" field.</summary>
1501    public const int MapSfixed32Sfixed32FieldNumber = 64;
1502    private static readonly pbc::MapField<int, int>.Codec _map_mapSfixed32Sfixed32_codec
1503        = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForSFixed32(13, 0), pb::FieldCodec.ForSFixed32(21, 0), 514);
1504    private readonly pbc::MapField<int, int> mapSfixed32Sfixed32_ = new pbc::MapField<int, int>();
1505    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1506    public pbc::MapField<int, int> MapSfixed32Sfixed32 {
1507      get { return mapSfixed32Sfixed32_; }
1508    }
1509
1510    /// <summary>Field number for the "map_sfixed64_sfixed64" field.</summary>
1511    public const int MapSfixed64Sfixed64FieldNumber = 65;
1512    private static readonly pbc::MapField<long, long>.Codec _map_mapSfixed64Sfixed64_codec
1513        = new pbc::MapField<long, long>.Codec(pb::FieldCodec.ForSFixed64(9, 0L), pb::FieldCodec.ForSFixed64(17, 0L), 522);
1514    private readonly pbc::MapField<long, long> mapSfixed64Sfixed64_ = new pbc::MapField<long, long>();
1515    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1516    public pbc::MapField<long, long> MapSfixed64Sfixed64 {
1517      get { return mapSfixed64Sfixed64_; }
1518    }
1519
1520    /// <summary>Field number for the "map_int32_float" field.</summary>
1521    public const int MapInt32FloatFieldNumber = 66;
1522    private static readonly pbc::MapField<int, float>.Codec _map_mapInt32Float_codec
1523        = new pbc::MapField<int, float>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForFloat(21, 0F), 530);
1524    private readonly pbc::MapField<int, float> mapInt32Float_ = new pbc::MapField<int, float>();
1525    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1526    public pbc::MapField<int, float> MapInt32Float {
1527      get { return mapInt32Float_; }
1528    }
1529
1530    /// <summary>Field number for the "map_int32_double" field.</summary>
1531    public const int MapInt32DoubleFieldNumber = 67;
1532    private static readonly pbc::MapField<int, double>.Codec _map_mapInt32Double_codec
1533        = new pbc::MapField<int, double>.Codec(pb::FieldCodec.ForInt32(8, 0), pb::FieldCodec.ForDouble(17, 0D), 538);
1534    private readonly pbc::MapField<int, double> mapInt32Double_ = new pbc::MapField<int, double>();
1535    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1536    public pbc::MapField<int, double> MapInt32Double {
1537      get { return mapInt32Double_; }
1538    }
1539
1540    /// <summary>Field number for the "map_bool_bool" field.</summary>
1541    public const int MapBoolBoolFieldNumber = 68;
1542    private static readonly pbc::MapField<bool, bool>.Codec _map_mapBoolBool_codec
1543        = new pbc::MapField<bool, bool>.Codec(pb::FieldCodec.ForBool(8, false), pb::FieldCodec.ForBool(16, false), 546);
1544    private readonly pbc::MapField<bool, bool> mapBoolBool_ = new pbc::MapField<bool, bool>();
1545    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1546    public pbc::MapField<bool, bool> MapBoolBool {
1547      get { return mapBoolBool_; }
1548    }
1549
1550    /// <summary>Field number for the "map_string_string" field.</summary>
1551    public const int MapStringStringFieldNumber = 69;
1552    private static readonly pbc::MapField<string, string>.Codec _map_mapStringString_codec
1553        = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 554);
1554    private readonly pbc::MapField<string, string> mapStringString_ = new pbc::MapField<string, string>();
1555    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1556    public pbc::MapField<string, string> MapStringString {
1557      get { return mapStringString_; }
1558    }
1559
1560    /// <summary>Field number for the "map_string_bytes" field.</summary>
1561    public const int MapStringBytesFieldNumber = 70;
1562    private static readonly pbc::MapField<string, pb::ByteString>.Codec _map_mapStringBytes_codec
1563        = new pbc::MapField<string, pb::ByteString>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForBytes(18, pb::ByteString.Empty), 562);
1564    private readonly pbc::MapField<string, pb::ByteString> mapStringBytes_ = new pbc::MapField<string, pb::ByteString>();
1565    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1566    public pbc::MapField<string, pb::ByteString> MapStringBytes {
1567      get { return mapStringBytes_; }
1568    }
1569
1570    /// <summary>Field number for the "map_string_nested_message" field.</summary>
1571    public const int MapStringNestedMessageFieldNumber = 71;
1572    private static readonly pbc::MapField<string, global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage>.Codec _map_mapStringNestedMessage_codec
1573        = new pbc::MapField<string, global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForMessage(18, global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage.Parser), 570);
1574    private readonly pbc::MapField<string, global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage> mapStringNestedMessage_ = new pbc::MapField<string, global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage>();
1575    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1576    public pbc::MapField<string, global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage> MapStringNestedMessage {
1577      get { return mapStringNestedMessage_; }
1578    }
1579
1580    /// <summary>Field number for the "map_string_foreign_message" field.</summary>
1581    public const int MapStringForeignMessageFieldNumber = 72;
1582    private static readonly pbc::MapField<string, global::ProtobufTestMessages.Proto2.ForeignMessageProto2>.Codec _map_mapStringForeignMessage_codec
1583        = new pbc::MapField<string, global::ProtobufTestMessages.Proto2.ForeignMessageProto2>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForMessage(18, global::ProtobufTestMessages.Proto2.ForeignMessageProto2.Parser), 578);
1584    private readonly pbc::MapField<string, global::ProtobufTestMessages.Proto2.ForeignMessageProto2> mapStringForeignMessage_ = new pbc::MapField<string, global::ProtobufTestMessages.Proto2.ForeignMessageProto2>();
1585    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1586    public pbc::MapField<string, global::ProtobufTestMessages.Proto2.ForeignMessageProto2> MapStringForeignMessage {
1587      get { return mapStringForeignMessage_; }
1588    }
1589
1590    /// <summary>Field number for the "map_string_nested_enum" field.</summary>
1591    public const int MapStringNestedEnumFieldNumber = 73;
1592    private static readonly pbc::MapField<string, global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum>.Codec _map_mapStringNestedEnum_codec
1593        = new pbc::MapField<string, global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForEnum(16, x => (int) x, x => (global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum) x, global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum.Foo), 586);
1594    private readonly pbc::MapField<string, global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum> mapStringNestedEnum_ = new pbc::MapField<string, global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum>();
1595    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1596    public pbc::MapField<string, global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum> MapStringNestedEnum {
1597      get { return mapStringNestedEnum_; }
1598    }
1599
1600    /// <summary>Field number for the "map_string_foreign_enum" field.</summary>
1601    public const int MapStringForeignEnumFieldNumber = 74;
1602    private static readonly pbc::MapField<string, global::ProtobufTestMessages.Proto2.ForeignEnumProto2>.Codec _map_mapStringForeignEnum_codec
1603        = new pbc::MapField<string, global::ProtobufTestMessages.Proto2.ForeignEnumProto2>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForEnum(16, x => (int) x, x => (global::ProtobufTestMessages.Proto2.ForeignEnumProto2) x, global::ProtobufTestMessages.Proto2.ForeignEnumProto2.ForeignFoo), 594);
1604    private readonly pbc::MapField<string, global::ProtobufTestMessages.Proto2.ForeignEnumProto2> mapStringForeignEnum_ = new pbc::MapField<string, global::ProtobufTestMessages.Proto2.ForeignEnumProto2>();
1605    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1606    public pbc::MapField<string, global::ProtobufTestMessages.Proto2.ForeignEnumProto2> MapStringForeignEnum {
1607      get { return mapStringForeignEnum_; }
1608    }
1609
1610    /// <summary>Field number for the "oneof_uint32" field.</summary>
1611    public const int OneofUint32FieldNumber = 111;
1612    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1613    public uint OneofUint32 {
1614      get { return HasOneofUint32 ? (uint) oneofField_ : 0; }
1615      set {
1616        oneofField_ = value;
1617        oneofFieldCase_ = OneofFieldOneofCase.OneofUint32;
1618      }
1619    }
1620    /// <summary>Gets whether the "oneof_uint32" field is set</summary>
1621    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1622    public bool HasOneofUint32 {
1623      get { return oneofFieldCase_ == OneofFieldOneofCase.OneofUint32; }
1624    }
1625    /// <summary> Clears the value of the oneof if it's currently set to "oneof_uint32" </summary>
1626    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1627    public void ClearOneofUint32() {
1628      if (HasOneofUint32) {
1629        ClearOneofField();
1630      }
1631    }
1632
1633    /// <summary>Field number for the "oneof_nested_message" field.</summary>
1634    public const int OneofNestedMessageFieldNumber = 112;
1635    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1636    public global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage OneofNestedMessage {
1637      get { return oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage ? (global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage) oneofField_ : null; }
1638      set {
1639        oneofField_ = value;
1640        oneofFieldCase_ = value == null ? OneofFieldOneofCase.None : OneofFieldOneofCase.OneofNestedMessage;
1641      }
1642    }
1643
1644    /// <summary>Field number for the "oneof_string" field.</summary>
1645    public const int OneofStringFieldNumber = 113;
1646    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1647    public string OneofString {
1648      get { return HasOneofString ? (string) oneofField_ : ""; }
1649      set {
1650        oneofField_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
1651        oneofFieldCase_ = OneofFieldOneofCase.OneofString;
1652      }
1653    }
1654    /// <summary>Gets whether the "oneof_string" field is set</summary>
1655    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1656    public bool HasOneofString {
1657      get { return oneofFieldCase_ == OneofFieldOneofCase.OneofString; }
1658    }
1659    /// <summary> Clears the value of the oneof if it's currently set to "oneof_string" </summary>
1660    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1661    public void ClearOneofString() {
1662      if (HasOneofString) {
1663        ClearOneofField();
1664      }
1665    }
1666
1667    /// <summary>Field number for the "oneof_bytes" field.</summary>
1668    public const int OneofBytesFieldNumber = 114;
1669    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1670    public pb::ByteString OneofBytes {
1671      get { return HasOneofBytes ? (pb::ByteString) oneofField_ : pb::ByteString.Empty; }
1672      set {
1673        oneofField_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
1674        oneofFieldCase_ = OneofFieldOneofCase.OneofBytes;
1675      }
1676    }
1677    /// <summary>Gets whether the "oneof_bytes" field is set</summary>
1678    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1679    public bool HasOneofBytes {
1680      get { return oneofFieldCase_ == OneofFieldOneofCase.OneofBytes; }
1681    }
1682    /// <summary> Clears the value of the oneof if it's currently set to "oneof_bytes" </summary>
1683    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1684    public void ClearOneofBytes() {
1685      if (HasOneofBytes) {
1686        ClearOneofField();
1687      }
1688    }
1689
1690    /// <summary>Field number for the "oneof_bool" field.</summary>
1691    public const int OneofBoolFieldNumber = 115;
1692    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1693    public bool OneofBool {
1694      get { return HasOneofBool ? (bool) oneofField_ : false; }
1695      set {
1696        oneofField_ = value;
1697        oneofFieldCase_ = OneofFieldOneofCase.OneofBool;
1698      }
1699    }
1700    /// <summary>Gets whether the "oneof_bool" field is set</summary>
1701    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1702    public bool HasOneofBool {
1703      get { return oneofFieldCase_ == OneofFieldOneofCase.OneofBool; }
1704    }
1705    /// <summary> Clears the value of the oneof if it's currently set to "oneof_bool" </summary>
1706    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1707    public void ClearOneofBool() {
1708      if (HasOneofBool) {
1709        ClearOneofField();
1710      }
1711    }
1712
1713    /// <summary>Field number for the "oneof_uint64" field.</summary>
1714    public const int OneofUint64FieldNumber = 116;
1715    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1716    public ulong OneofUint64 {
1717      get { return HasOneofUint64 ? (ulong) oneofField_ : 0UL; }
1718      set {
1719        oneofField_ = value;
1720        oneofFieldCase_ = OneofFieldOneofCase.OneofUint64;
1721      }
1722    }
1723    /// <summary>Gets whether the "oneof_uint64" field is set</summary>
1724    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1725    public bool HasOneofUint64 {
1726      get { return oneofFieldCase_ == OneofFieldOneofCase.OneofUint64; }
1727    }
1728    /// <summary> Clears the value of the oneof if it's currently set to "oneof_uint64" </summary>
1729    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1730    public void ClearOneofUint64() {
1731      if (HasOneofUint64) {
1732        ClearOneofField();
1733      }
1734    }
1735
1736    /// <summary>Field number for the "oneof_float" field.</summary>
1737    public const int OneofFloatFieldNumber = 117;
1738    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1739    public float OneofFloat {
1740      get { return HasOneofFloat ? (float) oneofField_ : 0F; }
1741      set {
1742        oneofField_ = value;
1743        oneofFieldCase_ = OneofFieldOneofCase.OneofFloat;
1744      }
1745    }
1746    /// <summary>Gets whether the "oneof_float" field is set</summary>
1747    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1748    public bool HasOneofFloat {
1749      get { return oneofFieldCase_ == OneofFieldOneofCase.OneofFloat; }
1750    }
1751    /// <summary> Clears the value of the oneof if it's currently set to "oneof_float" </summary>
1752    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1753    public void ClearOneofFloat() {
1754      if (HasOneofFloat) {
1755        ClearOneofField();
1756      }
1757    }
1758
1759    /// <summary>Field number for the "oneof_double" field.</summary>
1760    public const int OneofDoubleFieldNumber = 118;
1761    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1762    public double OneofDouble {
1763      get { return HasOneofDouble ? (double) oneofField_ : 0D; }
1764      set {
1765        oneofField_ = value;
1766        oneofFieldCase_ = OneofFieldOneofCase.OneofDouble;
1767      }
1768    }
1769    /// <summary>Gets whether the "oneof_double" field is set</summary>
1770    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1771    public bool HasOneofDouble {
1772      get { return oneofFieldCase_ == OneofFieldOneofCase.OneofDouble; }
1773    }
1774    /// <summary> Clears the value of the oneof if it's currently set to "oneof_double" </summary>
1775    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1776    public void ClearOneofDouble() {
1777      if (HasOneofDouble) {
1778        ClearOneofField();
1779      }
1780    }
1781
1782    /// <summary>Field number for the "oneof_enum" field.</summary>
1783    public const int OneofEnumFieldNumber = 119;
1784    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1785    public global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum OneofEnum {
1786      get { return HasOneofEnum ? (global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum) oneofField_ : global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum.Foo; }
1787      set {
1788        oneofField_ = value;
1789        oneofFieldCase_ = OneofFieldOneofCase.OneofEnum;
1790      }
1791    }
1792    /// <summary>Gets whether the "oneof_enum" field is set</summary>
1793    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1794    public bool HasOneofEnum {
1795      get { return oneofFieldCase_ == OneofFieldOneofCase.OneofEnum; }
1796    }
1797    /// <summary> Clears the value of the oneof if it's currently set to "oneof_enum" </summary>
1798    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1799    public void ClearOneofEnum() {
1800      if (HasOneofEnum) {
1801        ClearOneofField();
1802      }
1803    }
1804
1805    /// <summary>Field number for the "data" field.</summary>
1806    public const int DataFieldNumber = 201;
1807    private global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.Data data_;
1808    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1809    public global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.Data Data {
1810      get { return data_; }
1811      set {
1812        data_ = value;
1813      }
1814    }
1815    /// <summary>Gets whether the data field is set</summary>
1816    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1817    public bool HasData {
1818      get { return data_ != null; }
1819    }
1820    /// <summary>Clears the value of the data field</summary>
1821    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1822    public void ClearData() {
1823      data_ = null;
1824    }
1825
1826    /// <summary>Field number for the "fieldname1" field.</summary>
1827    public const int Fieldname1FieldNumber = 401;
1828    private readonly static int Fieldname1DefaultValue = 0;
1829
1830    private int fieldname1_;
1831    /// <summary>
1832    /// Test field-name-to-JSON-name convention.
1833    /// (protobuf says names can be any valid C/C++ identifier.)
1834    /// </summary>
1835    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1836    public int Fieldname1 {
1837      get { if ((_hasBits0 & 32768) != 0) { return fieldname1_; } else { return Fieldname1DefaultValue; } }
1838      set {
1839        _hasBits0 |= 32768;
1840        fieldname1_ = value;
1841      }
1842    }
1843    /// <summary>Gets whether the "fieldname1" field is set</summary>
1844    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1845    public bool HasFieldname1 {
1846      get { return (_hasBits0 & 32768) != 0; }
1847    }
1848    /// <summary>Clears the value of the "fieldname1" field</summary>
1849    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1850    public void ClearFieldname1() {
1851      _hasBits0 &= ~32768;
1852    }
1853
1854    /// <summary>Field number for the "field_name2" field.</summary>
1855    public const int FieldName2FieldNumber = 402;
1856    private readonly static int FieldName2DefaultValue = 0;
1857
1858    private int fieldName2_;
1859    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1860    public int FieldName2 {
1861      get { if ((_hasBits0 & 65536) != 0) { return fieldName2_; } else { return FieldName2DefaultValue; } }
1862      set {
1863        _hasBits0 |= 65536;
1864        fieldName2_ = value;
1865      }
1866    }
1867    /// <summary>Gets whether the "field_name2" field is set</summary>
1868    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1869    public bool HasFieldName2 {
1870      get { return (_hasBits0 & 65536) != 0; }
1871    }
1872    /// <summary>Clears the value of the "field_name2" field</summary>
1873    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1874    public void ClearFieldName2() {
1875      _hasBits0 &= ~65536;
1876    }
1877
1878    /// <summary>Field number for the "_field_name3" field.</summary>
1879    public const int FieldName3FieldNumber = 403;
1880    private readonly static int FieldName3DefaultValue = 0;
1881
1882    private int FieldName3_;
1883    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1884    public int FieldName3 {
1885      get { if ((_hasBits0 & 131072) != 0) { return FieldName3_; } else { return FieldName3DefaultValue; } }
1886      set {
1887        _hasBits0 |= 131072;
1888        FieldName3_ = value;
1889      }
1890    }
1891    /// <summary>Gets whether the "_field_name3" field is set</summary>
1892    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1893    public bool HasFieldName3 {
1894      get { return (_hasBits0 & 131072) != 0; }
1895    }
1896    /// <summary>Clears the value of the "_field_name3" field</summary>
1897    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1898    public void ClearFieldName3() {
1899      _hasBits0 &= ~131072;
1900    }
1901
1902    /// <summary>Field number for the "field__name4_" field.</summary>
1903    public const int FieldName4FieldNumber = 404;
1904    private readonly static int FieldName4DefaultValue = 0;
1905
1906    private int fieldName4_;
1907    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1908    public int FieldName4 {
1909      get { if ((_hasBits0 & 262144) != 0) { return fieldName4_; } else { return FieldName4DefaultValue; } }
1910      set {
1911        _hasBits0 |= 262144;
1912        fieldName4_ = value;
1913      }
1914    }
1915    /// <summary>Gets whether the "field__name4_" field is set</summary>
1916    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1917    public bool HasFieldName4 {
1918      get { return (_hasBits0 & 262144) != 0; }
1919    }
1920    /// <summary>Clears the value of the "field__name4_" field</summary>
1921    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1922    public void ClearFieldName4() {
1923      _hasBits0 &= ~262144;
1924    }
1925
1926    /// <summary>Field number for the "field0name5" field.</summary>
1927    public const int Field0Name5FieldNumber = 405;
1928    private readonly static int Field0Name5DefaultValue = 0;
1929
1930    private int field0Name5_;
1931    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1932    public int Field0Name5 {
1933      get { if ((_hasBits0 & 524288) != 0) { return field0Name5_; } else { return Field0Name5DefaultValue; } }
1934      set {
1935        _hasBits0 |= 524288;
1936        field0Name5_ = value;
1937      }
1938    }
1939    /// <summary>Gets whether the "field0name5" field is set</summary>
1940    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1941    public bool HasField0Name5 {
1942      get { return (_hasBits0 & 524288) != 0; }
1943    }
1944    /// <summary>Clears the value of the "field0name5" field</summary>
1945    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1946    public void ClearField0Name5() {
1947      _hasBits0 &= ~524288;
1948    }
1949
1950    /// <summary>Field number for the "field_0_name6" field.</summary>
1951    public const int Field0Name6FieldNumber = 406;
1952    private readonly static int Field0Name6DefaultValue = 0;
1953
1954    private int field0Name6_;
1955    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1956    public int Field0Name6 {
1957      get { if ((_hasBits0 & 1048576) != 0) { return field0Name6_; } else { return Field0Name6DefaultValue; } }
1958      set {
1959        _hasBits0 |= 1048576;
1960        field0Name6_ = value;
1961      }
1962    }
1963    /// <summary>Gets whether the "field_0_name6" field is set</summary>
1964    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1965    public bool HasField0Name6 {
1966      get { return (_hasBits0 & 1048576) != 0; }
1967    }
1968    /// <summary>Clears the value of the "field_0_name6" field</summary>
1969    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1970    public void ClearField0Name6() {
1971      _hasBits0 &= ~1048576;
1972    }
1973
1974    /// <summary>Field number for the "fieldName7" field.</summary>
1975    public const int FieldName7FieldNumber = 407;
1976    private readonly static int FieldName7DefaultValue = 0;
1977
1978    private int fieldName7_;
1979    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1980    public int FieldName7 {
1981      get { if ((_hasBits0 & 2097152) != 0) { return fieldName7_; } else { return FieldName7DefaultValue; } }
1982      set {
1983        _hasBits0 |= 2097152;
1984        fieldName7_ = value;
1985      }
1986    }
1987    /// <summary>Gets whether the "fieldName7" field is set</summary>
1988    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1989    public bool HasFieldName7 {
1990      get { return (_hasBits0 & 2097152) != 0; }
1991    }
1992    /// <summary>Clears the value of the "fieldName7" field</summary>
1993    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
1994    public void ClearFieldName7() {
1995      _hasBits0 &= ~2097152;
1996    }
1997
1998    /// <summary>Field number for the "FieldName8" field.</summary>
1999    public const int FieldName8FieldNumber = 408;
2000    private readonly static int FieldName8DefaultValue = 0;
2001
2002    private int fieldName8_;
2003    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2004    public int FieldName8 {
2005      get { if ((_hasBits0 & 4194304) != 0) { return fieldName8_; } else { return FieldName8DefaultValue; } }
2006      set {
2007        _hasBits0 |= 4194304;
2008        fieldName8_ = value;
2009      }
2010    }
2011    /// <summary>Gets whether the "FieldName8" field is set</summary>
2012    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2013    public bool HasFieldName8 {
2014      get { return (_hasBits0 & 4194304) != 0; }
2015    }
2016    /// <summary>Clears the value of the "FieldName8" field</summary>
2017    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2018    public void ClearFieldName8() {
2019      _hasBits0 &= ~4194304;
2020    }
2021
2022    /// <summary>Field number for the "field_Name9" field.</summary>
2023    public const int FieldName9FieldNumber = 409;
2024    private readonly static int FieldName9DefaultValue = 0;
2025
2026    private int fieldName9_;
2027    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2028    public int FieldName9 {
2029      get { if ((_hasBits0 & 8388608) != 0) { return fieldName9_; } else { return FieldName9DefaultValue; } }
2030      set {
2031        _hasBits0 |= 8388608;
2032        fieldName9_ = value;
2033      }
2034    }
2035    /// <summary>Gets whether the "field_Name9" field is set</summary>
2036    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2037    public bool HasFieldName9 {
2038      get { return (_hasBits0 & 8388608) != 0; }
2039    }
2040    /// <summary>Clears the value of the "field_Name9" field</summary>
2041    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2042    public void ClearFieldName9() {
2043      _hasBits0 &= ~8388608;
2044    }
2045
2046    /// <summary>Field number for the "Field_Name10" field.</summary>
2047    public const int FieldName10FieldNumber = 410;
2048    private readonly static int FieldName10DefaultValue = 0;
2049
2050    private int fieldName10_;
2051    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2052    public int FieldName10 {
2053      get { if ((_hasBits0 & 16777216) != 0) { return fieldName10_; } else { return FieldName10DefaultValue; } }
2054      set {
2055        _hasBits0 |= 16777216;
2056        fieldName10_ = value;
2057      }
2058    }
2059    /// <summary>Gets whether the "Field_Name10" field is set</summary>
2060    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2061    public bool HasFieldName10 {
2062      get { return (_hasBits0 & 16777216) != 0; }
2063    }
2064    /// <summary>Clears the value of the "Field_Name10" field</summary>
2065    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2066    public void ClearFieldName10() {
2067      _hasBits0 &= ~16777216;
2068    }
2069
2070    /// <summary>Field number for the "FIELD_NAME11" field.</summary>
2071    public const int FIELDNAME11FieldNumber = 411;
2072    private readonly static int FIELDNAME11DefaultValue = 0;
2073
2074    private int fIELDNAME11_;
2075    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2076    public int FIELDNAME11 {
2077      get { if ((_hasBits0 & 33554432) != 0) { return fIELDNAME11_; } else { return FIELDNAME11DefaultValue; } }
2078      set {
2079        _hasBits0 |= 33554432;
2080        fIELDNAME11_ = value;
2081      }
2082    }
2083    /// <summary>Gets whether the "FIELD_NAME11" field is set</summary>
2084    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2085    public bool HasFIELDNAME11 {
2086      get { return (_hasBits0 & 33554432) != 0; }
2087    }
2088    /// <summary>Clears the value of the "FIELD_NAME11" field</summary>
2089    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2090    public void ClearFIELDNAME11() {
2091      _hasBits0 &= ~33554432;
2092    }
2093
2094    /// <summary>Field number for the "FIELD_name12" field.</summary>
2095    public const int FIELDName12FieldNumber = 412;
2096    private readonly static int FIELDName12DefaultValue = 0;
2097
2098    private int fIELDName12_;
2099    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2100    public int FIELDName12 {
2101      get { if ((_hasBits0 & 67108864) != 0) { return fIELDName12_; } else { return FIELDName12DefaultValue; } }
2102      set {
2103        _hasBits0 |= 67108864;
2104        fIELDName12_ = value;
2105      }
2106    }
2107    /// <summary>Gets whether the "FIELD_name12" field is set</summary>
2108    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2109    public bool HasFIELDName12 {
2110      get { return (_hasBits0 & 67108864) != 0; }
2111    }
2112    /// <summary>Clears the value of the "FIELD_name12" field</summary>
2113    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2114    public void ClearFIELDName12() {
2115      _hasBits0 &= ~67108864;
2116    }
2117
2118    /// <summary>Field number for the "__field_name13" field.</summary>
2119    public const int FieldName13FieldNumber = 413;
2120    private readonly static int FieldName13DefaultValue = 0;
2121
2122    private int FieldName13_;
2123    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2124    public int FieldName13 {
2125      get { if ((_hasBits0 & 134217728) != 0) { return FieldName13_; } else { return FieldName13DefaultValue; } }
2126      set {
2127        _hasBits0 |= 134217728;
2128        FieldName13_ = value;
2129      }
2130    }
2131    /// <summary>Gets whether the "__field_name13" field is set</summary>
2132    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2133    public bool HasFieldName13 {
2134      get { return (_hasBits0 & 134217728) != 0; }
2135    }
2136    /// <summary>Clears the value of the "__field_name13" field</summary>
2137    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2138    public void ClearFieldName13() {
2139      _hasBits0 &= ~134217728;
2140    }
2141
2142    /// <summary>Field number for the "__Field_name14" field.</summary>
2143    public const int FieldName14FieldNumber = 414;
2144    private readonly static int FieldName14DefaultValue = 0;
2145
2146    private int FieldName14_;
2147    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2148    public int FieldName14 {
2149      get { if ((_hasBits0 & 268435456) != 0) { return FieldName14_; } else { return FieldName14DefaultValue; } }
2150      set {
2151        _hasBits0 |= 268435456;
2152        FieldName14_ = value;
2153      }
2154    }
2155    /// <summary>Gets whether the "__Field_name14" field is set</summary>
2156    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2157    public bool HasFieldName14 {
2158      get { return (_hasBits0 & 268435456) != 0; }
2159    }
2160    /// <summary>Clears the value of the "__Field_name14" field</summary>
2161    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2162    public void ClearFieldName14() {
2163      _hasBits0 &= ~268435456;
2164    }
2165
2166    /// <summary>Field number for the "field__name15" field.</summary>
2167    public const int FieldName15FieldNumber = 415;
2168    private readonly static int FieldName15DefaultValue = 0;
2169
2170    private int fieldName15_;
2171    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2172    public int FieldName15 {
2173      get { if ((_hasBits0 & 536870912) != 0) { return fieldName15_; } else { return FieldName15DefaultValue; } }
2174      set {
2175        _hasBits0 |= 536870912;
2176        fieldName15_ = value;
2177      }
2178    }
2179    /// <summary>Gets whether the "field__name15" field is set</summary>
2180    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2181    public bool HasFieldName15 {
2182      get { return (_hasBits0 & 536870912) != 0; }
2183    }
2184    /// <summary>Clears the value of the "field__name15" field</summary>
2185    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2186    public void ClearFieldName15() {
2187      _hasBits0 &= ~536870912;
2188    }
2189
2190    /// <summary>Field number for the "field__Name16" field.</summary>
2191    public const int FieldName16FieldNumber = 416;
2192    private readonly static int FieldName16DefaultValue = 0;
2193
2194    private int fieldName16_;
2195    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2196    public int FieldName16 {
2197      get { if ((_hasBits0 & 1073741824) != 0) { return fieldName16_; } else { return FieldName16DefaultValue; } }
2198      set {
2199        _hasBits0 |= 1073741824;
2200        fieldName16_ = value;
2201      }
2202    }
2203    /// <summary>Gets whether the "field__Name16" field is set</summary>
2204    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2205    public bool HasFieldName16 {
2206      get { return (_hasBits0 & 1073741824) != 0; }
2207    }
2208    /// <summary>Clears the value of the "field__Name16" field</summary>
2209    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2210    public void ClearFieldName16() {
2211      _hasBits0 &= ~1073741824;
2212    }
2213
2214    /// <summary>Field number for the "field_name17__" field.</summary>
2215    public const int FieldName17FieldNumber = 417;
2216    private readonly static int FieldName17DefaultValue = 0;
2217
2218    private int fieldName17_;
2219    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2220    public int FieldName17 {
2221      get { if ((_hasBits0 & -2147483648) != 0) { return fieldName17_; } else { return FieldName17DefaultValue; } }
2222      set {
2223        _hasBits0 |= -2147483648;
2224        fieldName17_ = value;
2225      }
2226    }
2227    /// <summary>Gets whether the "field_name17__" field is set</summary>
2228    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2229    public bool HasFieldName17 {
2230      get { return (_hasBits0 & -2147483648) != 0; }
2231    }
2232    /// <summary>Clears the value of the "field_name17__" field</summary>
2233    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2234    public void ClearFieldName17() {
2235      _hasBits0 &= ~-2147483648;
2236    }
2237
2238    /// <summary>Field number for the "Field_name18__" field.</summary>
2239    public const int FieldName18FieldNumber = 418;
2240    private readonly static int FieldName18DefaultValue = 0;
2241
2242    private int fieldName18_;
2243    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2244    public int FieldName18 {
2245      get { if ((_hasBits1 & 1) != 0) { return fieldName18_; } else { return FieldName18DefaultValue; } }
2246      set {
2247        _hasBits1 |= 1;
2248        fieldName18_ = value;
2249      }
2250    }
2251    /// <summary>Gets whether the "Field_name18__" field is set</summary>
2252    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2253    public bool HasFieldName18 {
2254      get { return (_hasBits1 & 1) != 0; }
2255    }
2256    /// <summary>Clears the value of the "Field_name18__" field</summary>
2257    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2258    public void ClearFieldName18() {
2259      _hasBits1 &= ~1;
2260    }
2261
2262    private object oneofField_;
2263    /// <summary>Enum of possible cases for the "oneof_field" oneof.</summary>
2264    public enum OneofFieldOneofCase {
2265      None = 0,
2266      OneofUint32 = 111,
2267      OneofNestedMessage = 112,
2268      OneofString = 113,
2269      OneofBytes = 114,
2270      OneofBool = 115,
2271      OneofUint64 = 116,
2272      OneofFloat = 117,
2273      OneofDouble = 118,
2274      OneofEnum = 119,
2275    }
2276    private OneofFieldOneofCase oneofFieldCase_ = OneofFieldOneofCase.None;
2277    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2278    public OneofFieldOneofCase OneofFieldCase {
2279      get { return oneofFieldCase_; }
2280    }
2281
2282    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2283    public void ClearOneofField() {
2284      oneofFieldCase_ = OneofFieldOneofCase.None;
2285      oneofField_ = null;
2286    }
2287
2288    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2289    public override bool Equals(object other) {
2290      return Equals(other as TestAllTypesProto2);
2291    }
2292
2293    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2294    public bool Equals(TestAllTypesProto2 other) {
2295      if (ReferenceEquals(other, null)) {
2296        return false;
2297      }
2298      if (ReferenceEquals(other, this)) {
2299        return true;
2300      }
2301      if (OptionalInt32 != other.OptionalInt32) return false;
2302      if (OptionalInt64 != other.OptionalInt64) return false;
2303      if (OptionalUint32 != other.OptionalUint32) return false;
2304      if (OptionalUint64 != other.OptionalUint64) return false;
2305      if (OptionalSint32 != other.OptionalSint32) return false;
2306      if (OptionalSint64 != other.OptionalSint64) return false;
2307      if (OptionalFixed32 != other.OptionalFixed32) return false;
2308      if (OptionalFixed64 != other.OptionalFixed64) return false;
2309      if (OptionalSfixed32 != other.OptionalSfixed32) return false;
2310      if (OptionalSfixed64 != other.OptionalSfixed64) return false;
2311      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(OptionalFloat, other.OptionalFloat)) return false;
2312      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(OptionalDouble, other.OptionalDouble)) return false;
2313      if (OptionalBool != other.OptionalBool) return false;
2314      if (OptionalString != other.OptionalString) return false;
2315      if (OptionalBytes != other.OptionalBytes) return false;
2316      if (!object.Equals(OptionalNestedMessage, other.OptionalNestedMessage)) return false;
2317      if (!object.Equals(OptionalForeignMessage, other.OptionalForeignMessage)) return false;
2318      if (OptionalNestedEnum != other.OptionalNestedEnum) return false;
2319      if (OptionalForeignEnum != other.OptionalForeignEnum) return false;
2320      if (OptionalStringPiece != other.OptionalStringPiece) return false;
2321      if (OptionalCord != other.OptionalCord) return false;
2322      if (!object.Equals(RecursiveMessage, other.RecursiveMessage)) return false;
2323      if(!repeatedInt32_.Equals(other.repeatedInt32_)) return false;
2324      if(!repeatedInt64_.Equals(other.repeatedInt64_)) return false;
2325      if(!repeatedUint32_.Equals(other.repeatedUint32_)) return false;
2326      if(!repeatedUint64_.Equals(other.repeatedUint64_)) return false;
2327      if(!repeatedSint32_.Equals(other.repeatedSint32_)) return false;
2328      if(!repeatedSint64_.Equals(other.repeatedSint64_)) return false;
2329      if(!repeatedFixed32_.Equals(other.repeatedFixed32_)) return false;
2330      if(!repeatedFixed64_.Equals(other.repeatedFixed64_)) return false;
2331      if(!repeatedSfixed32_.Equals(other.repeatedSfixed32_)) return false;
2332      if(!repeatedSfixed64_.Equals(other.repeatedSfixed64_)) return false;
2333      if(!repeatedFloat_.Equals(other.repeatedFloat_)) return false;
2334      if(!repeatedDouble_.Equals(other.repeatedDouble_)) return false;
2335      if(!repeatedBool_.Equals(other.repeatedBool_)) return false;
2336      if(!repeatedString_.Equals(other.repeatedString_)) return false;
2337      if(!repeatedBytes_.Equals(other.repeatedBytes_)) return false;
2338      if(!repeatedNestedMessage_.Equals(other.repeatedNestedMessage_)) return false;
2339      if(!repeatedForeignMessage_.Equals(other.repeatedForeignMessage_)) return false;
2340      if(!repeatedNestedEnum_.Equals(other.repeatedNestedEnum_)) return false;
2341      if(!repeatedForeignEnum_.Equals(other.repeatedForeignEnum_)) return false;
2342      if(!repeatedStringPiece_.Equals(other.repeatedStringPiece_)) return false;
2343      if(!repeatedCord_.Equals(other.repeatedCord_)) return false;
2344      if(!packedInt32_.Equals(other.packedInt32_)) return false;
2345      if(!packedInt64_.Equals(other.packedInt64_)) return false;
2346      if(!packedUint32_.Equals(other.packedUint32_)) return false;
2347      if(!packedUint64_.Equals(other.packedUint64_)) return false;
2348      if(!packedSint32_.Equals(other.packedSint32_)) return false;
2349      if(!packedSint64_.Equals(other.packedSint64_)) return false;
2350      if(!packedFixed32_.Equals(other.packedFixed32_)) return false;
2351      if(!packedFixed64_.Equals(other.packedFixed64_)) return false;
2352      if(!packedSfixed32_.Equals(other.packedSfixed32_)) return false;
2353      if(!packedSfixed64_.Equals(other.packedSfixed64_)) return false;
2354      if(!packedFloat_.Equals(other.packedFloat_)) return false;
2355      if(!packedDouble_.Equals(other.packedDouble_)) return false;
2356      if(!packedBool_.Equals(other.packedBool_)) return false;
2357      if(!packedNestedEnum_.Equals(other.packedNestedEnum_)) return false;
2358      if(!unpackedInt32_.Equals(other.unpackedInt32_)) return false;
2359      if(!unpackedInt64_.Equals(other.unpackedInt64_)) return false;
2360      if(!unpackedUint32_.Equals(other.unpackedUint32_)) return false;
2361      if(!unpackedUint64_.Equals(other.unpackedUint64_)) return false;
2362      if(!unpackedSint32_.Equals(other.unpackedSint32_)) return false;
2363      if(!unpackedSint64_.Equals(other.unpackedSint64_)) return false;
2364      if(!unpackedFixed32_.Equals(other.unpackedFixed32_)) return false;
2365      if(!unpackedFixed64_.Equals(other.unpackedFixed64_)) return false;
2366      if(!unpackedSfixed32_.Equals(other.unpackedSfixed32_)) return false;
2367      if(!unpackedSfixed64_.Equals(other.unpackedSfixed64_)) return false;
2368      if(!unpackedFloat_.Equals(other.unpackedFloat_)) return false;
2369      if(!unpackedDouble_.Equals(other.unpackedDouble_)) return false;
2370      if(!unpackedBool_.Equals(other.unpackedBool_)) return false;
2371      if(!unpackedNestedEnum_.Equals(other.unpackedNestedEnum_)) return false;
2372      if (!MapInt32Int32.Equals(other.MapInt32Int32)) return false;
2373      if (!MapInt64Int64.Equals(other.MapInt64Int64)) return false;
2374      if (!MapUint32Uint32.Equals(other.MapUint32Uint32)) return false;
2375      if (!MapUint64Uint64.Equals(other.MapUint64Uint64)) return false;
2376      if (!MapSint32Sint32.Equals(other.MapSint32Sint32)) return false;
2377      if (!MapSint64Sint64.Equals(other.MapSint64Sint64)) return false;
2378      if (!MapFixed32Fixed32.Equals(other.MapFixed32Fixed32)) return false;
2379      if (!MapFixed64Fixed64.Equals(other.MapFixed64Fixed64)) return false;
2380      if (!MapSfixed32Sfixed32.Equals(other.MapSfixed32Sfixed32)) return false;
2381      if (!MapSfixed64Sfixed64.Equals(other.MapSfixed64Sfixed64)) return false;
2382      if (!MapInt32Float.Equals(other.MapInt32Float)) return false;
2383      if (!MapInt32Double.Equals(other.MapInt32Double)) return false;
2384      if (!MapBoolBool.Equals(other.MapBoolBool)) return false;
2385      if (!MapStringString.Equals(other.MapStringString)) return false;
2386      if (!MapStringBytes.Equals(other.MapStringBytes)) return false;
2387      if (!MapStringNestedMessage.Equals(other.MapStringNestedMessage)) return false;
2388      if (!MapStringForeignMessage.Equals(other.MapStringForeignMessage)) return false;
2389      if (!MapStringNestedEnum.Equals(other.MapStringNestedEnum)) return false;
2390      if (!MapStringForeignEnum.Equals(other.MapStringForeignEnum)) return false;
2391      if (OneofUint32 != other.OneofUint32) return false;
2392      if (!object.Equals(OneofNestedMessage, other.OneofNestedMessage)) return false;
2393      if (OneofString != other.OneofString) return false;
2394      if (OneofBytes != other.OneofBytes) return false;
2395      if (OneofBool != other.OneofBool) return false;
2396      if (OneofUint64 != other.OneofUint64) return false;
2397      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(OneofFloat, other.OneofFloat)) return false;
2398      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(OneofDouble, other.OneofDouble)) return false;
2399      if (OneofEnum != other.OneofEnum) return false;
2400      if (!object.Equals(Data, other.Data)) return false;
2401      if (Fieldname1 != other.Fieldname1) return false;
2402      if (FieldName2 != other.FieldName2) return false;
2403      if (FieldName3 != other.FieldName3) return false;
2404      if (FieldName4 != other.FieldName4) return false;
2405      if (Field0Name5 != other.Field0Name5) return false;
2406      if (Field0Name6 != other.Field0Name6) return false;
2407      if (FieldName7 != other.FieldName7) return false;
2408      if (FieldName8 != other.FieldName8) return false;
2409      if (FieldName9 != other.FieldName9) return false;
2410      if (FieldName10 != other.FieldName10) return false;
2411      if (FIELDNAME11 != other.FIELDNAME11) return false;
2412      if (FIELDName12 != other.FIELDName12) return false;
2413      if (FieldName13 != other.FieldName13) return false;
2414      if (FieldName14 != other.FieldName14) return false;
2415      if (FieldName15 != other.FieldName15) return false;
2416      if (FieldName16 != other.FieldName16) return false;
2417      if (FieldName17 != other.FieldName17) return false;
2418      if (FieldName18 != other.FieldName18) return false;
2419      if (OneofFieldCase != other.OneofFieldCase) return false;
2420      if (!Equals(_extensions, other._extensions)) {
2421        return false;
2422      }
2423      return Equals(_unknownFields, other._unknownFields);
2424    }
2425
2426    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2427    public override int GetHashCode() {
2428      int hash = 1;
2429      if (HasOptionalInt32) hash ^= OptionalInt32.GetHashCode();
2430      if (HasOptionalInt64) hash ^= OptionalInt64.GetHashCode();
2431      if (HasOptionalUint32) hash ^= OptionalUint32.GetHashCode();
2432      if (HasOptionalUint64) hash ^= OptionalUint64.GetHashCode();
2433      if (HasOptionalSint32) hash ^= OptionalSint32.GetHashCode();
2434      if (HasOptionalSint64) hash ^= OptionalSint64.GetHashCode();
2435      if (HasOptionalFixed32) hash ^= OptionalFixed32.GetHashCode();
2436      if (HasOptionalFixed64) hash ^= OptionalFixed64.GetHashCode();
2437      if (HasOptionalSfixed32) hash ^= OptionalSfixed32.GetHashCode();
2438      if (HasOptionalSfixed64) hash ^= OptionalSfixed64.GetHashCode();
2439      if (HasOptionalFloat) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(OptionalFloat);
2440      if (HasOptionalDouble) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(OptionalDouble);
2441      if (HasOptionalBool) hash ^= OptionalBool.GetHashCode();
2442      if (HasOptionalString) hash ^= OptionalString.GetHashCode();
2443      if (HasOptionalBytes) hash ^= OptionalBytes.GetHashCode();
2444      if (optionalNestedMessage_ != null) hash ^= OptionalNestedMessage.GetHashCode();
2445      if (optionalForeignMessage_ != null) hash ^= OptionalForeignMessage.GetHashCode();
2446      if (HasOptionalNestedEnum) hash ^= OptionalNestedEnum.GetHashCode();
2447      if (HasOptionalForeignEnum) hash ^= OptionalForeignEnum.GetHashCode();
2448      if (HasOptionalStringPiece) hash ^= OptionalStringPiece.GetHashCode();
2449      if (HasOptionalCord) hash ^= OptionalCord.GetHashCode();
2450      if (recursiveMessage_ != null) hash ^= RecursiveMessage.GetHashCode();
2451      hash ^= repeatedInt32_.GetHashCode();
2452      hash ^= repeatedInt64_.GetHashCode();
2453      hash ^= repeatedUint32_.GetHashCode();
2454      hash ^= repeatedUint64_.GetHashCode();
2455      hash ^= repeatedSint32_.GetHashCode();
2456      hash ^= repeatedSint64_.GetHashCode();
2457      hash ^= repeatedFixed32_.GetHashCode();
2458      hash ^= repeatedFixed64_.GetHashCode();
2459      hash ^= repeatedSfixed32_.GetHashCode();
2460      hash ^= repeatedSfixed64_.GetHashCode();
2461      hash ^= repeatedFloat_.GetHashCode();
2462      hash ^= repeatedDouble_.GetHashCode();
2463      hash ^= repeatedBool_.GetHashCode();
2464      hash ^= repeatedString_.GetHashCode();
2465      hash ^= repeatedBytes_.GetHashCode();
2466      hash ^= repeatedNestedMessage_.GetHashCode();
2467      hash ^= repeatedForeignMessage_.GetHashCode();
2468      hash ^= repeatedNestedEnum_.GetHashCode();
2469      hash ^= repeatedForeignEnum_.GetHashCode();
2470      hash ^= repeatedStringPiece_.GetHashCode();
2471      hash ^= repeatedCord_.GetHashCode();
2472      hash ^= packedInt32_.GetHashCode();
2473      hash ^= packedInt64_.GetHashCode();
2474      hash ^= packedUint32_.GetHashCode();
2475      hash ^= packedUint64_.GetHashCode();
2476      hash ^= packedSint32_.GetHashCode();
2477      hash ^= packedSint64_.GetHashCode();
2478      hash ^= packedFixed32_.GetHashCode();
2479      hash ^= packedFixed64_.GetHashCode();
2480      hash ^= packedSfixed32_.GetHashCode();
2481      hash ^= packedSfixed64_.GetHashCode();
2482      hash ^= packedFloat_.GetHashCode();
2483      hash ^= packedDouble_.GetHashCode();
2484      hash ^= packedBool_.GetHashCode();
2485      hash ^= packedNestedEnum_.GetHashCode();
2486      hash ^= unpackedInt32_.GetHashCode();
2487      hash ^= unpackedInt64_.GetHashCode();
2488      hash ^= unpackedUint32_.GetHashCode();
2489      hash ^= unpackedUint64_.GetHashCode();
2490      hash ^= unpackedSint32_.GetHashCode();
2491      hash ^= unpackedSint64_.GetHashCode();
2492      hash ^= unpackedFixed32_.GetHashCode();
2493      hash ^= unpackedFixed64_.GetHashCode();
2494      hash ^= unpackedSfixed32_.GetHashCode();
2495      hash ^= unpackedSfixed64_.GetHashCode();
2496      hash ^= unpackedFloat_.GetHashCode();
2497      hash ^= unpackedDouble_.GetHashCode();
2498      hash ^= unpackedBool_.GetHashCode();
2499      hash ^= unpackedNestedEnum_.GetHashCode();
2500      hash ^= MapInt32Int32.GetHashCode();
2501      hash ^= MapInt64Int64.GetHashCode();
2502      hash ^= MapUint32Uint32.GetHashCode();
2503      hash ^= MapUint64Uint64.GetHashCode();
2504      hash ^= MapSint32Sint32.GetHashCode();
2505      hash ^= MapSint64Sint64.GetHashCode();
2506      hash ^= MapFixed32Fixed32.GetHashCode();
2507      hash ^= MapFixed64Fixed64.GetHashCode();
2508      hash ^= MapSfixed32Sfixed32.GetHashCode();
2509      hash ^= MapSfixed64Sfixed64.GetHashCode();
2510      hash ^= MapInt32Float.GetHashCode();
2511      hash ^= MapInt32Double.GetHashCode();
2512      hash ^= MapBoolBool.GetHashCode();
2513      hash ^= MapStringString.GetHashCode();
2514      hash ^= MapStringBytes.GetHashCode();
2515      hash ^= MapStringNestedMessage.GetHashCode();
2516      hash ^= MapStringForeignMessage.GetHashCode();
2517      hash ^= MapStringNestedEnum.GetHashCode();
2518      hash ^= MapStringForeignEnum.GetHashCode();
2519      if (HasOneofUint32) hash ^= OneofUint32.GetHashCode();
2520      if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) hash ^= OneofNestedMessage.GetHashCode();
2521      if (HasOneofString) hash ^= OneofString.GetHashCode();
2522      if (HasOneofBytes) hash ^= OneofBytes.GetHashCode();
2523      if (HasOneofBool) hash ^= OneofBool.GetHashCode();
2524      if (HasOneofUint64) hash ^= OneofUint64.GetHashCode();
2525      if (HasOneofFloat) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(OneofFloat);
2526      if (HasOneofDouble) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(OneofDouble);
2527      if (HasOneofEnum) hash ^= OneofEnum.GetHashCode();
2528      if (HasData) hash ^= Data.GetHashCode();
2529      if (HasFieldname1) hash ^= Fieldname1.GetHashCode();
2530      if (HasFieldName2) hash ^= FieldName2.GetHashCode();
2531      if (HasFieldName3) hash ^= FieldName3.GetHashCode();
2532      if (HasFieldName4) hash ^= FieldName4.GetHashCode();
2533      if (HasField0Name5) hash ^= Field0Name5.GetHashCode();
2534      if (HasField0Name6) hash ^= Field0Name6.GetHashCode();
2535      if (HasFieldName7) hash ^= FieldName7.GetHashCode();
2536      if (HasFieldName8) hash ^= FieldName8.GetHashCode();
2537      if (HasFieldName9) hash ^= FieldName9.GetHashCode();
2538      if (HasFieldName10) hash ^= FieldName10.GetHashCode();
2539      if (HasFIELDNAME11) hash ^= FIELDNAME11.GetHashCode();
2540      if (HasFIELDName12) hash ^= FIELDName12.GetHashCode();
2541      if (HasFieldName13) hash ^= FieldName13.GetHashCode();
2542      if (HasFieldName14) hash ^= FieldName14.GetHashCode();
2543      if (HasFieldName15) hash ^= FieldName15.GetHashCode();
2544      if (HasFieldName16) hash ^= FieldName16.GetHashCode();
2545      if (HasFieldName17) hash ^= FieldName17.GetHashCode();
2546      if (HasFieldName18) hash ^= FieldName18.GetHashCode();
2547      hash ^= (int) oneofFieldCase_;
2548      if (_extensions != null) {
2549        hash ^= _extensions.GetHashCode();
2550      }
2551      if (_unknownFields != null) {
2552        hash ^= _unknownFields.GetHashCode();
2553      }
2554      return hash;
2555    }
2556
2557    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2558    public override string ToString() {
2559      return pb::JsonFormatter.ToDiagnosticString(this);
2560    }
2561
2562    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2563    public void WriteTo(pb::CodedOutputStream output) {
2564    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2565      output.WriteRawMessage(this);
2566    #else
2567      if (HasOptionalInt32) {
2568        output.WriteRawTag(8);
2569        output.WriteInt32(OptionalInt32);
2570      }
2571      if (HasOptionalInt64) {
2572        output.WriteRawTag(16);
2573        output.WriteInt64(OptionalInt64);
2574      }
2575      if (HasOptionalUint32) {
2576        output.WriteRawTag(24);
2577        output.WriteUInt32(OptionalUint32);
2578      }
2579      if (HasOptionalUint64) {
2580        output.WriteRawTag(32);
2581        output.WriteUInt64(OptionalUint64);
2582      }
2583      if (HasOptionalSint32) {
2584        output.WriteRawTag(40);
2585        output.WriteSInt32(OptionalSint32);
2586      }
2587      if (HasOptionalSint64) {
2588        output.WriteRawTag(48);
2589        output.WriteSInt64(OptionalSint64);
2590      }
2591      if (HasOptionalFixed32) {
2592        output.WriteRawTag(61);
2593        output.WriteFixed32(OptionalFixed32);
2594      }
2595      if (HasOptionalFixed64) {
2596        output.WriteRawTag(65);
2597        output.WriteFixed64(OptionalFixed64);
2598      }
2599      if (HasOptionalSfixed32) {
2600        output.WriteRawTag(77);
2601        output.WriteSFixed32(OptionalSfixed32);
2602      }
2603      if (HasOptionalSfixed64) {
2604        output.WriteRawTag(81);
2605        output.WriteSFixed64(OptionalSfixed64);
2606      }
2607      if (HasOptionalFloat) {
2608        output.WriteRawTag(93);
2609        output.WriteFloat(OptionalFloat);
2610      }
2611      if (HasOptionalDouble) {
2612        output.WriteRawTag(97);
2613        output.WriteDouble(OptionalDouble);
2614      }
2615      if (HasOptionalBool) {
2616        output.WriteRawTag(104);
2617        output.WriteBool(OptionalBool);
2618      }
2619      if (HasOptionalString) {
2620        output.WriteRawTag(114);
2621        output.WriteString(OptionalString);
2622      }
2623      if (HasOptionalBytes) {
2624        output.WriteRawTag(122);
2625        output.WriteBytes(OptionalBytes);
2626      }
2627      if (optionalNestedMessage_ != null) {
2628        output.WriteRawTag(146, 1);
2629        output.WriteMessage(OptionalNestedMessage);
2630      }
2631      if (optionalForeignMessage_ != null) {
2632        output.WriteRawTag(154, 1);
2633        output.WriteMessage(OptionalForeignMessage);
2634      }
2635      if (HasOptionalNestedEnum) {
2636        output.WriteRawTag(168, 1);
2637        output.WriteEnum((int) OptionalNestedEnum);
2638      }
2639      if (HasOptionalForeignEnum) {
2640        output.WriteRawTag(176, 1);
2641        output.WriteEnum((int) OptionalForeignEnum);
2642      }
2643      if (HasOptionalStringPiece) {
2644        output.WriteRawTag(194, 1);
2645        output.WriteString(OptionalStringPiece);
2646      }
2647      if (HasOptionalCord) {
2648        output.WriteRawTag(202, 1);
2649        output.WriteString(OptionalCord);
2650      }
2651      if (recursiveMessage_ != null) {
2652        output.WriteRawTag(218, 1);
2653        output.WriteMessage(RecursiveMessage);
2654      }
2655      repeatedInt32_.WriteTo(output, _repeated_repeatedInt32_codec);
2656      repeatedInt64_.WriteTo(output, _repeated_repeatedInt64_codec);
2657      repeatedUint32_.WriteTo(output, _repeated_repeatedUint32_codec);
2658      repeatedUint64_.WriteTo(output, _repeated_repeatedUint64_codec);
2659      repeatedSint32_.WriteTo(output, _repeated_repeatedSint32_codec);
2660      repeatedSint64_.WriteTo(output, _repeated_repeatedSint64_codec);
2661      repeatedFixed32_.WriteTo(output, _repeated_repeatedFixed32_codec);
2662      repeatedFixed64_.WriteTo(output, _repeated_repeatedFixed64_codec);
2663      repeatedSfixed32_.WriteTo(output, _repeated_repeatedSfixed32_codec);
2664      repeatedSfixed64_.WriteTo(output, _repeated_repeatedSfixed64_codec);
2665      repeatedFloat_.WriteTo(output, _repeated_repeatedFloat_codec);
2666      repeatedDouble_.WriteTo(output, _repeated_repeatedDouble_codec);
2667      repeatedBool_.WriteTo(output, _repeated_repeatedBool_codec);
2668      repeatedString_.WriteTo(output, _repeated_repeatedString_codec);
2669      repeatedBytes_.WriteTo(output, _repeated_repeatedBytes_codec);
2670      repeatedNestedMessage_.WriteTo(output, _repeated_repeatedNestedMessage_codec);
2671      repeatedForeignMessage_.WriteTo(output, _repeated_repeatedForeignMessage_codec);
2672      repeatedNestedEnum_.WriteTo(output, _repeated_repeatedNestedEnum_codec);
2673      repeatedForeignEnum_.WriteTo(output, _repeated_repeatedForeignEnum_codec);
2674      repeatedStringPiece_.WriteTo(output, _repeated_repeatedStringPiece_codec);
2675      repeatedCord_.WriteTo(output, _repeated_repeatedCord_codec);
2676      mapInt32Int32_.WriteTo(output, _map_mapInt32Int32_codec);
2677      mapInt64Int64_.WriteTo(output, _map_mapInt64Int64_codec);
2678      mapUint32Uint32_.WriteTo(output, _map_mapUint32Uint32_codec);
2679      mapUint64Uint64_.WriteTo(output, _map_mapUint64Uint64_codec);
2680      mapSint32Sint32_.WriteTo(output, _map_mapSint32Sint32_codec);
2681      mapSint64Sint64_.WriteTo(output, _map_mapSint64Sint64_codec);
2682      mapFixed32Fixed32_.WriteTo(output, _map_mapFixed32Fixed32_codec);
2683      mapFixed64Fixed64_.WriteTo(output, _map_mapFixed64Fixed64_codec);
2684      mapSfixed32Sfixed32_.WriteTo(output, _map_mapSfixed32Sfixed32_codec);
2685      mapSfixed64Sfixed64_.WriteTo(output, _map_mapSfixed64Sfixed64_codec);
2686      mapInt32Float_.WriteTo(output, _map_mapInt32Float_codec);
2687      mapInt32Double_.WriteTo(output, _map_mapInt32Double_codec);
2688      mapBoolBool_.WriteTo(output, _map_mapBoolBool_codec);
2689      mapStringString_.WriteTo(output, _map_mapStringString_codec);
2690      mapStringBytes_.WriteTo(output, _map_mapStringBytes_codec);
2691      mapStringNestedMessage_.WriteTo(output, _map_mapStringNestedMessage_codec);
2692      mapStringForeignMessage_.WriteTo(output, _map_mapStringForeignMessage_codec);
2693      mapStringNestedEnum_.WriteTo(output, _map_mapStringNestedEnum_codec);
2694      mapStringForeignEnum_.WriteTo(output, _map_mapStringForeignEnum_codec);
2695      packedInt32_.WriteTo(output, _repeated_packedInt32_codec);
2696      packedInt64_.WriteTo(output, _repeated_packedInt64_codec);
2697      packedUint32_.WriteTo(output, _repeated_packedUint32_codec);
2698      packedUint64_.WriteTo(output, _repeated_packedUint64_codec);
2699      packedSint32_.WriteTo(output, _repeated_packedSint32_codec);
2700      packedSint64_.WriteTo(output, _repeated_packedSint64_codec);
2701      packedFixed32_.WriteTo(output, _repeated_packedFixed32_codec);
2702      packedFixed64_.WriteTo(output, _repeated_packedFixed64_codec);
2703      packedSfixed32_.WriteTo(output, _repeated_packedSfixed32_codec);
2704      packedSfixed64_.WriteTo(output, _repeated_packedSfixed64_codec);
2705      packedFloat_.WriteTo(output, _repeated_packedFloat_codec);
2706      packedDouble_.WriteTo(output, _repeated_packedDouble_codec);
2707      packedBool_.WriteTo(output, _repeated_packedBool_codec);
2708      packedNestedEnum_.WriteTo(output, _repeated_packedNestedEnum_codec);
2709      unpackedInt32_.WriteTo(output, _repeated_unpackedInt32_codec);
2710      unpackedInt64_.WriteTo(output, _repeated_unpackedInt64_codec);
2711      unpackedUint32_.WriteTo(output, _repeated_unpackedUint32_codec);
2712      unpackedUint64_.WriteTo(output, _repeated_unpackedUint64_codec);
2713      unpackedSint32_.WriteTo(output, _repeated_unpackedSint32_codec);
2714      unpackedSint64_.WriteTo(output, _repeated_unpackedSint64_codec);
2715      unpackedFixed32_.WriteTo(output, _repeated_unpackedFixed32_codec);
2716      unpackedFixed64_.WriteTo(output, _repeated_unpackedFixed64_codec);
2717      unpackedSfixed32_.WriteTo(output, _repeated_unpackedSfixed32_codec);
2718      unpackedSfixed64_.WriteTo(output, _repeated_unpackedSfixed64_codec);
2719      unpackedFloat_.WriteTo(output, _repeated_unpackedFloat_codec);
2720      unpackedDouble_.WriteTo(output, _repeated_unpackedDouble_codec);
2721      unpackedBool_.WriteTo(output, _repeated_unpackedBool_codec);
2722      unpackedNestedEnum_.WriteTo(output, _repeated_unpackedNestedEnum_codec);
2723      if (HasOneofUint32) {
2724        output.WriteRawTag(248, 6);
2725        output.WriteUInt32(OneofUint32);
2726      }
2727      if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) {
2728        output.WriteRawTag(130, 7);
2729        output.WriteMessage(OneofNestedMessage);
2730      }
2731      if (HasOneofString) {
2732        output.WriteRawTag(138, 7);
2733        output.WriteString(OneofString);
2734      }
2735      if (HasOneofBytes) {
2736        output.WriteRawTag(146, 7);
2737        output.WriteBytes(OneofBytes);
2738      }
2739      if (HasOneofBool) {
2740        output.WriteRawTag(152, 7);
2741        output.WriteBool(OneofBool);
2742      }
2743      if (HasOneofUint64) {
2744        output.WriteRawTag(160, 7);
2745        output.WriteUInt64(OneofUint64);
2746      }
2747      if (HasOneofFloat) {
2748        output.WriteRawTag(173, 7);
2749        output.WriteFloat(OneofFloat);
2750      }
2751      if (HasOneofDouble) {
2752        output.WriteRawTag(177, 7);
2753        output.WriteDouble(OneofDouble);
2754      }
2755      if (HasOneofEnum) {
2756        output.WriteRawTag(184, 7);
2757        output.WriteEnum((int) OneofEnum);
2758      }
2759      if (HasData) {
2760        output.WriteRawTag(203, 12);
2761        output.WriteGroup(Data);
2762        output.WriteRawTag(204, 12);
2763      }
2764      if (HasFieldname1) {
2765        output.WriteRawTag(136, 25);
2766        output.WriteInt32(Fieldname1);
2767      }
2768      if (HasFieldName2) {
2769        output.WriteRawTag(144, 25);
2770        output.WriteInt32(FieldName2);
2771      }
2772      if (HasFieldName3) {
2773        output.WriteRawTag(152, 25);
2774        output.WriteInt32(FieldName3);
2775      }
2776      if (HasFieldName4) {
2777        output.WriteRawTag(160, 25);
2778        output.WriteInt32(FieldName4);
2779      }
2780      if (HasField0Name5) {
2781        output.WriteRawTag(168, 25);
2782        output.WriteInt32(Field0Name5);
2783      }
2784      if (HasField0Name6) {
2785        output.WriteRawTag(176, 25);
2786        output.WriteInt32(Field0Name6);
2787      }
2788      if (HasFieldName7) {
2789        output.WriteRawTag(184, 25);
2790        output.WriteInt32(FieldName7);
2791      }
2792      if (HasFieldName8) {
2793        output.WriteRawTag(192, 25);
2794        output.WriteInt32(FieldName8);
2795      }
2796      if (HasFieldName9) {
2797        output.WriteRawTag(200, 25);
2798        output.WriteInt32(FieldName9);
2799      }
2800      if (HasFieldName10) {
2801        output.WriteRawTag(208, 25);
2802        output.WriteInt32(FieldName10);
2803      }
2804      if (HasFIELDNAME11) {
2805        output.WriteRawTag(216, 25);
2806        output.WriteInt32(FIELDNAME11);
2807      }
2808      if (HasFIELDName12) {
2809        output.WriteRawTag(224, 25);
2810        output.WriteInt32(FIELDName12);
2811      }
2812      if (HasFieldName13) {
2813        output.WriteRawTag(232, 25);
2814        output.WriteInt32(FieldName13);
2815      }
2816      if (HasFieldName14) {
2817        output.WriteRawTag(240, 25);
2818        output.WriteInt32(FieldName14);
2819      }
2820      if (HasFieldName15) {
2821        output.WriteRawTag(248, 25);
2822        output.WriteInt32(FieldName15);
2823      }
2824      if (HasFieldName16) {
2825        output.WriteRawTag(128, 26);
2826        output.WriteInt32(FieldName16);
2827      }
2828      if (HasFieldName17) {
2829        output.WriteRawTag(136, 26);
2830        output.WriteInt32(FieldName17);
2831      }
2832      if (HasFieldName18) {
2833        output.WriteRawTag(144, 26);
2834        output.WriteInt32(FieldName18);
2835      }
2836      if (_extensions != null) {
2837        _extensions.WriteTo(output);
2838      }
2839      if (_unknownFields != null) {
2840        _unknownFields.WriteTo(output);
2841      }
2842    #endif
2843    }
2844
2845    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
2846    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
2847    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
2848      if (HasOptionalInt32) {
2849        output.WriteRawTag(8);
2850        output.WriteInt32(OptionalInt32);
2851      }
2852      if (HasOptionalInt64) {
2853        output.WriteRawTag(16);
2854        output.WriteInt64(OptionalInt64);
2855      }
2856      if (HasOptionalUint32) {
2857        output.WriteRawTag(24);
2858        output.WriteUInt32(OptionalUint32);
2859      }
2860      if (HasOptionalUint64) {
2861        output.WriteRawTag(32);
2862        output.WriteUInt64(OptionalUint64);
2863      }
2864      if (HasOptionalSint32) {
2865        output.WriteRawTag(40);
2866        output.WriteSInt32(OptionalSint32);
2867      }
2868      if (HasOptionalSint64) {
2869        output.WriteRawTag(48);
2870        output.WriteSInt64(OptionalSint64);
2871      }
2872      if (HasOptionalFixed32) {
2873        output.WriteRawTag(61);
2874        output.WriteFixed32(OptionalFixed32);
2875      }
2876      if (HasOptionalFixed64) {
2877        output.WriteRawTag(65);
2878        output.WriteFixed64(OptionalFixed64);
2879      }
2880      if (HasOptionalSfixed32) {
2881        output.WriteRawTag(77);
2882        output.WriteSFixed32(OptionalSfixed32);
2883      }
2884      if (HasOptionalSfixed64) {
2885        output.WriteRawTag(81);
2886        output.WriteSFixed64(OptionalSfixed64);
2887      }
2888      if (HasOptionalFloat) {
2889        output.WriteRawTag(93);
2890        output.WriteFloat(OptionalFloat);
2891      }
2892      if (HasOptionalDouble) {
2893        output.WriteRawTag(97);
2894        output.WriteDouble(OptionalDouble);
2895      }
2896      if (HasOptionalBool) {
2897        output.WriteRawTag(104);
2898        output.WriteBool(OptionalBool);
2899      }
2900      if (HasOptionalString) {
2901        output.WriteRawTag(114);
2902        output.WriteString(OptionalString);
2903      }
2904      if (HasOptionalBytes) {
2905        output.WriteRawTag(122);
2906        output.WriteBytes(OptionalBytes);
2907      }
2908      if (optionalNestedMessage_ != null) {
2909        output.WriteRawTag(146, 1);
2910        output.WriteMessage(OptionalNestedMessage);
2911      }
2912      if (optionalForeignMessage_ != null) {
2913        output.WriteRawTag(154, 1);
2914        output.WriteMessage(OptionalForeignMessage);
2915      }
2916      if (HasOptionalNestedEnum) {
2917        output.WriteRawTag(168, 1);
2918        output.WriteEnum((int) OptionalNestedEnum);
2919      }
2920      if (HasOptionalForeignEnum) {
2921        output.WriteRawTag(176, 1);
2922        output.WriteEnum((int) OptionalForeignEnum);
2923      }
2924      if (HasOptionalStringPiece) {
2925        output.WriteRawTag(194, 1);
2926        output.WriteString(OptionalStringPiece);
2927      }
2928      if (HasOptionalCord) {
2929        output.WriteRawTag(202, 1);
2930        output.WriteString(OptionalCord);
2931      }
2932      if (recursiveMessage_ != null) {
2933        output.WriteRawTag(218, 1);
2934        output.WriteMessage(RecursiveMessage);
2935      }
2936      repeatedInt32_.WriteTo(ref output, _repeated_repeatedInt32_codec);
2937      repeatedInt64_.WriteTo(ref output, _repeated_repeatedInt64_codec);
2938      repeatedUint32_.WriteTo(ref output, _repeated_repeatedUint32_codec);
2939      repeatedUint64_.WriteTo(ref output, _repeated_repeatedUint64_codec);
2940      repeatedSint32_.WriteTo(ref output, _repeated_repeatedSint32_codec);
2941      repeatedSint64_.WriteTo(ref output, _repeated_repeatedSint64_codec);
2942      repeatedFixed32_.WriteTo(ref output, _repeated_repeatedFixed32_codec);
2943      repeatedFixed64_.WriteTo(ref output, _repeated_repeatedFixed64_codec);
2944      repeatedSfixed32_.WriteTo(ref output, _repeated_repeatedSfixed32_codec);
2945      repeatedSfixed64_.WriteTo(ref output, _repeated_repeatedSfixed64_codec);
2946      repeatedFloat_.WriteTo(ref output, _repeated_repeatedFloat_codec);
2947      repeatedDouble_.WriteTo(ref output, _repeated_repeatedDouble_codec);
2948      repeatedBool_.WriteTo(ref output, _repeated_repeatedBool_codec);
2949      repeatedString_.WriteTo(ref output, _repeated_repeatedString_codec);
2950      repeatedBytes_.WriteTo(ref output, _repeated_repeatedBytes_codec);
2951      repeatedNestedMessage_.WriteTo(ref output, _repeated_repeatedNestedMessage_codec);
2952      repeatedForeignMessage_.WriteTo(ref output, _repeated_repeatedForeignMessage_codec);
2953      repeatedNestedEnum_.WriteTo(ref output, _repeated_repeatedNestedEnum_codec);
2954      repeatedForeignEnum_.WriteTo(ref output, _repeated_repeatedForeignEnum_codec);
2955      repeatedStringPiece_.WriteTo(ref output, _repeated_repeatedStringPiece_codec);
2956      repeatedCord_.WriteTo(ref output, _repeated_repeatedCord_codec);
2957      mapInt32Int32_.WriteTo(ref output, _map_mapInt32Int32_codec);
2958      mapInt64Int64_.WriteTo(ref output, _map_mapInt64Int64_codec);
2959      mapUint32Uint32_.WriteTo(ref output, _map_mapUint32Uint32_codec);
2960      mapUint64Uint64_.WriteTo(ref output, _map_mapUint64Uint64_codec);
2961      mapSint32Sint32_.WriteTo(ref output, _map_mapSint32Sint32_codec);
2962      mapSint64Sint64_.WriteTo(ref output, _map_mapSint64Sint64_codec);
2963      mapFixed32Fixed32_.WriteTo(ref output, _map_mapFixed32Fixed32_codec);
2964      mapFixed64Fixed64_.WriteTo(ref output, _map_mapFixed64Fixed64_codec);
2965      mapSfixed32Sfixed32_.WriteTo(ref output, _map_mapSfixed32Sfixed32_codec);
2966      mapSfixed64Sfixed64_.WriteTo(ref output, _map_mapSfixed64Sfixed64_codec);
2967      mapInt32Float_.WriteTo(ref output, _map_mapInt32Float_codec);
2968      mapInt32Double_.WriteTo(ref output, _map_mapInt32Double_codec);
2969      mapBoolBool_.WriteTo(ref output, _map_mapBoolBool_codec);
2970      mapStringString_.WriteTo(ref output, _map_mapStringString_codec);
2971      mapStringBytes_.WriteTo(ref output, _map_mapStringBytes_codec);
2972      mapStringNestedMessage_.WriteTo(ref output, _map_mapStringNestedMessage_codec);
2973      mapStringForeignMessage_.WriteTo(ref output, _map_mapStringForeignMessage_codec);
2974      mapStringNestedEnum_.WriteTo(ref output, _map_mapStringNestedEnum_codec);
2975      mapStringForeignEnum_.WriteTo(ref output, _map_mapStringForeignEnum_codec);
2976      packedInt32_.WriteTo(ref output, _repeated_packedInt32_codec);
2977      packedInt64_.WriteTo(ref output, _repeated_packedInt64_codec);
2978      packedUint32_.WriteTo(ref output, _repeated_packedUint32_codec);
2979      packedUint64_.WriteTo(ref output, _repeated_packedUint64_codec);
2980      packedSint32_.WriteTo(ref output, _repeated_packedSint32_codec);
2981      packedSint64_.WriteTo(ref output, _repeated_packedSint64_codec);
2982      packedFixed32_.WriteTo(ref output, _repeated_packedFixed32_codec);
2983      packedFixed64_.WriteTo(ref output, _repeated_packedFixed64_codec);
2984      packedSfixed32_.WriteTo(ref output, _repeated_packedSfixed32_codec);
2985      packedSfixed64_.WriteTo(ref output, _repeated_packedSfixed64_codec);
2986      packedFloat_.WriteTo(ref output, _repeated_packedFloat_codec);
2987      packedDouble_.WriteTo(ref output, _repeated_packedDouble_codec);
2988      packedBool_.WriteTo(ref output, _repeated_packedBool_codec);
2989      packedNestedEnum_.WriteTo(ref output, _repeated_packedNestedEnum_codec);
2990      unpackedInt32_.WriteTo(ref output, _repeated_unpackedInt32_codec);
2991      unpackedInt64_.WriteTo(ref output, _repeated_unpackedInt64_codec);
2992      unpackedUint32_.WriteTo(ref output, _repeated_unpackedUint32_codec);
2993      unpackedUint64_.WriteTo(ref output, _repeated_unpackedUint64_codec);
2994      unpackedSint32_.WriteTo(ref output, _repeated_unpackedSint32_codec);
2995      unpackedSint64_.WriteTo(ref output, _repeated_unpackedSint64_codec);
2996      unpackedFixed32_.WriteTo(ref output, _repeated_unpackedFixed32_codec);
2997      unpackedFixed64_.WriteTo(ref output, _repeated_unpackedFixed64_codec);
2998      unpackedSfixed32_.WriteTo(ref output, _repeated_unpackedSfixed32_codec);
2999      unpackedSfixed64_.WriteTo(ref output, _repeated_unpackedSfixed64_codec);
3000      unpackedFloat_.WriteTo(ref output, _repeated_unpackedFloat_codec);
3001      unpackedDouble_.WriteTo(ref output, _repeated_unpackedDouble_codec);
3002      unpackedBool_.WriteTo(ref output, _repeated_unpackedBool_codec);
3003      unpackedNestedEnum_.WriteTo(ref output, _repeated_unpackedNestedEnum_codec);
3004      if (HasOneofUint32) {
3005        output.WriteRawTag(248, 6);
3006        output.WriteUInt32(OneofUint32);
3007      }
3008      if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) {
3009        output.WriteRawTag(130, 7);
3010        output.WriteMessage(OneofNestedMessage);
3011      }
3012      if (HasOneofString) {
3013        output.WriteRawTag(138, 7);
3014        output.WriteString(OneofString);
3015      }
3016      if (HasOneofBytes) {
3017        output.WriteRawTag(146, 7);
3018        output.WriteBytes(OneofBytes);
3019      }
3020      if (HasOneofBool) {
3021        output.WriteRawTag(152, 7);
3022        output.WriteBool(OneofBool);
3023      }
3024      if (HasOneofUint64) {
3025        output.WriteRawTag(160, 7);
3026        output.WriteUInt64(OneofUint64);
3027      }
3028      if (HasOneofFloat) {
3029        output.WriteRawTag(173, 7);
3030        output.WriteFloat(OneofFloat);
3031      }
3032      if (HasOneofDouble) {
3033        output.WriteRawTag(177, 7);
3034        output.WriteDouble(OneofDouble);
3035      }
3036      if (HasOneofEnum) {
3037        output.WriteRawTag(184, 7);
3038        output.WriteEnum((int) OneofEnum);
3039      }
3040      if (HasData) {
3041        output.WriteRawTag(203, 12);
3042        output.WriteGroup(Data);
3043        output.WriteRawTag(204, 12);
3044      }
3045      if (HasFieldname1) {
3046        output.WriteRawTag(136, 25);
3047        output.WriteInt32(Fieldname1);
3048      }
3049      if (HasFieldName2) {
3050        output.WriteRawTag(144, 25);
3051        output.WriteInt32(FieldName2);
3052      }
3053      if (HasFieldName3) {
3054        output.WriteRawTag(152, 25);
3055        output.WriteInt32(FieldName3);
3056      }
3057      if (HasFieldName4) {
3058        output.WriteRawTag(160, 25);
3059        output.WriteInt32(FieldName4);
3060      }
3061      if (HasField0Name5) {
3062        output.WriteRawTag(168, 25);
3063        output.WriteInt32(Field0Name5);
3064      }
3065      if (HasField0Name6) {
3066        output.WriteRawTag(176, 25);
3067        output.WriteInt32(Field0Name6);
3068      }
3069      if (HasFieldName7) {
3070        output.WriteRawTag(184, 25);
3071        output.WriteInt32(FieldName7);
3072      }
3073      if (HasFieldName8) {
3074        output.WriteRawTag(192, 25);
3075        output.WriteInt32(FieldName8);
3076      }
3077      if (HasFieldName9) {
3078        output.WriteRawTag(200, 25);
3079        output.WriteInt32(FieldName9);
3080      }
3081      if (HasFieldName10) {
3082        output.WriteRawTag(208, 25);
3083        output.WriteInt32(FieldName10);
3084      }
3085      if (HasFIELDNAME11) {
3086        output.WriteRawTag(216, 25);
3087        output.WriteInt32(FIELDNAME11);
3088      }
3089      if (HasFIELDName12) {
3090        output.WriteRawTag(224, 25);
3091        output.WriteInt32(FIELDName12);
3092      }
3093      if (HasFieldName13) {
3094        output.WriteRawTag(232, 25);
3095        output.WriteInt32(FieldName13);
3096      }
3097      if (HasFieldName14) {
3098        output.WriteRawTag(240, 25);
3099        output.WriteInt32(FieldName14);
3100      }
3101      if (HasFieldName15) {
3102        output.WriteRawTag(248, 25);
3103        output.WriteInt32(FieldName15);
3104      }
3105      if (HasFieldName16) {
3106        output.WriteRawTag(128, 26);
3107        output.WriteInt32(FieldName16);
3108      }
3109      if (HasFieldName17) {
3110        output.WriteRawTag(136, 26);
3111        output.WriteInt32(FieldName17);
3112      }
3113      if (HasFieldName18) {
3114        output.WriteRawTag(144, 26);
3115        output.WriteInt32(FieldName18);
3116      }
3117      if (_extensions != null) {
3118        _extensions.WriteTo(ref output);
3119      }
3120      if (_unknownFields != null) {
3121        _unknownFields.WriteTo(ref output);
3122      }
3123    }
3124    #endif
3125
3126    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3127    public int CalculateSize() {
3128      int size = 0;
3129      if (HasOptionalInt32) {
3130        size += 1 + pb::CodedOutputStream.ComputeInt32Size(OptionalInt32);
3131      }
3132      if (HasOptionalInt64) {
3133        size += 1 + pb::CodedOutputStream.ComputeInt64Size(OptionalInt64);
3134      }
3135      if (HasOptionalUint32) {
3136        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(OptionalUint32);
3137      }
3138      if (HasOptionalUint64) {
3139        size += 1 + pb::CodedOutputStream.ComputeUInt64Size(OptionalUint64);
3140      }
3141      if (HasOptionalSint32) {
3142        size += 1 + pb::CodedOutputStream.ComputeSInt32Size(OptionalSint32);
3143      }
3144      if (HasOptionalSint64) {
3145        size += 1 + pb::CodedOutputStream.ComputeSInt64Size(OptionalSint64);
3146      }
3147      if (HasOptionalFixed32) {
3148        size += 1 + 4;
3149      }
3150      if (HasOptionalFixed64) {
3151        size += 1 + 8;
3152      }
3153      if (HasOptionalSfixed32) {
3154        size += 1 + 4;
3155      }
3156      if (HasOptionalSfixed64) {
3157        size += 1 + 8;
3158      }
3159      if (HasOptionalFloat) {
3160        size += 1 + 4;
3161      }
3162      if (HasOptionalDouble) {
3163        size += 1 + 8;
3164      }
3165      if (HasOptionalBool) {
3166        size += 1 + 1;
3167      }
3168      if (HasOptionalString) {
3169        size += 1 + pb::CodedOutputStream.ComputeStringSize(OptionalString);
3170      }
3171      if (HasOptionalBytes) {
3172        size += 1 + pb::CodedOutputStream.ComputeBytesSize(OptionalBytes);
3173      }
3174      if (optionalNestedMessage_ != null) {
3175        size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalNestedMessage);
3176      }
3177      if (optionalForeignMessage_ != null) {
3178        size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalForeignMessage);
3179      }
3180      if (HasOptionalNestedEnum) {
3181        size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) OptionalNestedEnum);
3182      }
3183      if (HasOptionalForeignEnum) {
3184        size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) OptionalForeignEnum);
3185      }
3186      if (HasOptionalStringPiece) {
3187        size += 2 + pb::CodedOutputStream.ComputeStringSize(OptionalStringPiece);
3188      }
3189      if (HasOptionalCord) {
3190        size += 2 + pb::CodedOutputStream.ComputeStringSize(OptionalCord);
3191      }
3192      if (recursiveMessage_ != null) {
3193        size += 2 + pb::CodedOutputStream.ComputeMessageSize(RecursiveMessage);
3194      }
3195      size += repeatedInt32_.CalculateSize(_repeated_repeatedInt32_codec);
3196      size += repeatedInt64_.CalculateSize(_repeated_repeatedInt64_codec);
3197      size += repeatedUint32_.CalculateSize(_repeated_repeatedUint32_codec);
3198      size += repeatedUint64_.CalculateSize(_repeated_repeatedUint64_codec);
3199      size += repeatedSint32_.CalculateSize(_repeated_repeatedSint32_codec);
3200      size += repeatedSint64_.CalculateSize(_repeated_repeatedSint64_codec);
3201      size += repeatedFixed32_.CalculateSize(_repeated_repeatedFixed32_codec);
3202      size += repeatedFixed64_.CalculateSize(_repeated_repeatedFixed64_codec);
3203      size += repeatedSfixed32_.CalculateSize(_repeated_repeatedSfixed32_codec);
3204      size += repeatedSfixed64_.CalculateSize(_repeated_repeatedSfixed64_codec);
3205      size += repeatedFloat_.CalculateSize(_repeated_repeatedFloat_codec);
3206      size += repeatedDouble_.CalculateSize(_repeated_repeatedDouble_codec);
3207      size += repeatedBool_.CalculateSize(_repeated_repeatedBool_codec);
3208      size += repeatedString_.CalculateSize(_repeated_repeatedString_codec);
3209      size += repeatedBytes_.CalculateSize(_repeated_repeatedBytes_codec);
3210      size += repeatedNestedMessage_.CalculateSize(_repeated_repeatedNestedMessage_codec);
3211      size += repeatedForeignMessage_.CalculateSize(_repeated_repeatedForeignMessage_codec);
3212      size += repeatedNestedEnum_.CalculateSize(_repeated_repeatedNestedEnum_codec);
3213      size += repeatedForeignEnum_.CalculateSize(_repeated_repeatedForeignEnum_codec);
3214      size += repeatedStringPiece_.CalculateSize(_repeated_repeatedStringPiece_codec);
3215      size += repeatedCord_.CalculateSize(_repeated_repeatedCord_codec);
3216      size += packedInt32_.CalculateSize(_repeated_packedInt32_codec);
3217      size += packedInt64_.CalculateSize(_repeated_packedInt64_codec);
3218      size += packedUint32_.CalculateSize(_repeated_packedUint32_codec);
3219      size += packedUint64_.CalculateSize(_repeated_packedUint64_codec);
3220      size += packedSint32_.CalculateSize(_repeated_packedSint32_codec);
3221      size += packedSint64_.CalculateSize(_repeated_packedSint64_codec);
3222      size += packedFixed32_.CalculateSize(_repeated_packedFixed32_codec);
3223      size += packedFixed64_.CalculateSize(_repeated_packedFixed64_codec);
3224      size += packedSfixed32_.CalculateSize(_repeated_packedSfixed32_codec);
3225      size += packedSfixed64_.CalculateSize(_repeated_packedSfixed64_codec);
3226      size += packedFloat_.CalculateSize(_repeated_packedFloat_codec);
3227      size += packedDouble_.CalculateSize(_repeated_packedDouble_codec);
3228      size += packedBool_.CalculateSize(_repeated_packedBool_codec);
3229      size += packedNestedEnum_.CalculateSize(_repeated_packedNestedEnum_codec);
3230      size += unpackedInt32_.CalculateSize(_repeated_unpackedInt32_codec);
3231      size += unpackedInt64_.CalculateSize(_repeated_unpackedInt64_codec);
3232      size += unpackedUint32_.CalculateSize(_repeated_unpackedUint32_codec);
3233      size += unpackedUint64_.CalculateSize(_repeated_unpackedUint64_codec);
3234      size += unpackedSint32_.CalculateSize(_repeated_unpackedSint32_codec);
3235      size += unpackedSint64_.CalculateSize(_repeated_unpackedSint64_codec);
3236      size += unpackedFixed32_.CalculateSize(_repeated_unpackedFixed32_codec);
3237      size += unpackedFixed64_.CalculateSize(_repeated_unpackedFixed64_codec);
3238      size += unpackedSfixed32_.CalculateSize(_repeated_unpackedSfixed32_codec);
3239      size += unpackedSfixed64_.CalculateSize(_repeated_unpackedSfixed64_codec);
3240      size += unpackedFloat_.CalculateSize(_repeated_unpackedFloat_codec);
3241      size += unpackedDouble_.CalculateSize(_repeated_unpackedDouble_codec);
3242      size += unpackedBool_.CalculateSize(_repeated_unpackedBool_codec);
3243      size += unpackedNestedEnum_.CalculateSize(_repeated_unpackedNestedEnum_codec);
3244      size += mapInt32Int32_.CalculateSize(_map_mapInt32Int32_codec);
3245      size += mapInt64Int64_.CalculateSize(_map_mapInt64Int64_codec);
3246      size += mapUint32Uint32_.CalculateSize(_map_mapUint32Uint32_codec);
3247      size += mapUint64Uint64_.CalculateSize(_map_mapUint64Uint64_codec);
3248      size += mapSint32Sint32_.CalculateSize(_map_mapSint32Sint32_codec);
3249      size += mapSint64Sint64_.CalculateSize(_map_mapSint64Sint64_codec);
3250      size += mapFixed32Fixed32_.CalculateSize(_map_mapFixed32Fixed32_codec);
3251      size += mapFixed64Fixed64_.CalculateSize(_map_mapFixed64Fixed64_codec);
3252      size += mapSfixed32Sfixed32_.CalculateSize(_map_mapSfixed32Sfixed32_codec);
3253      size += mapSfixed64Sfixed64_.CalculateSize(_map_mapSfixed64Sfixed64_codec);
3254      size += mapInt32Float_.CalculateSize(_map_mapInt32Float_codec);
3255      size += mapInt32Double_.CalculateSize(_map_mapInt32Double_codec);
3256      size += mapBoolBool_.CalculateSize(_map_mapBoolBool_codec);
3257      size += mapStringString_.CalculateSize(_map_mapStringString_codec);
3258      size += mapStringBytes_.CalculateSize(_map_mapStringBytes_codec);
3259      size += mapStringNestedMessage_.CalculateSize(_map_mapStringNestedMessage_codec);
3260      size += mapStringForeignMessage_.CalculateSize(_map_mapStringForeignMessage_codec);
3261      size += mapStringNestedEnum_.CalculateSize(_map_mapStringNestedEnum_codec);
3262      size += mapStringForeignEnum_.CalculateSize(_map_mapStringForeignEnum_codec);
3263      if (HasOneofUint32) {
3264        size += 2 + pb::CodedOutputStream.ComputeUInt32Size(OneofUint32);
3265      }
3266      if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) {
3267        size += 2 + pb::CodedOutputStream.ComputeMessageSize(OneofNestedMessage);
3268      }
3269      if (HasOneofString) {
3270        size += 2 + pb::CodedOutputStream.ComputeStringSize(OneofString);
3271      }
3272      if (HasOneofBytes) {
3273        size += 2 + pb::CodedOutputStream.ComputeBytesSize(OneofBytes);
3274      }
3275      if (HasOneofBool) {
3276        size += 2 + 1;
3277      }
3278      if (HasOneofUint64) {
3279        size += 2 + pb::CodedOutputStream.ComputeUInt64Size(OneofUint64);
3280      }
3281      if (HasOneofFloat) {
3282        size += 2 + 4;
3283      }
3284      if (HasOneofDouble) {
3285        size += 2 + 8;
3286      }
3287      if (HasOneofEnum) {
3288        size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) OneofEnum);
3289      }
3290      if (HasData) {
3291        size += 4 + pb::CodedOutputStream.ComputeGroupSize(Data);
3292      }
3293      if (HasFieldname1) {
3294        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Fieldname1);
3295      }
3296      if (HasFieldName2) {
3297        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName2);
3298      }
3299      if (HasFieldName3) {
3300        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName3);
3301      }
3302      if (HasFieldName4) {
3303        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName4);
3304      }
3305      if (HasField0Name5) {
3306        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Field0Name5);
3307      }
3308      if (HasField0Name6) {
3309        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Field0Name6);
3310      }
3311      if (HasFieldName7) {
3312        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName7);
3313      }
3314      if (HasFieldName8) {
3315        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName8);
3316      }
3317      if (HasFieldName9) {
3318        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName9);
3319      }
3320      if (HasFieldName10) {
3321        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName10);
3322      }
3323      if (HasFIELDNAME11) {
3324        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FIELDNAME11);
3325      }
3326      if (HasFIELDName12) {
3327        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FIELDName12);
3328      }
3329      if (HasFieldName13) {
3330        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName13);
3331      }
3332      if (HasFieldName14) {
3333        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName14);
3334      }
3335      if (HasFieldName15) {
3336        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName15);
3337      }
3338      if (HasFieldName16) {
3339        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName16);
3340      }
3341      if (HasFieldName17) {
3342        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName17);
3343      }
3344      if (HasFieldName18) {
3345        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName18);
3346      }
3347      if (_extensions != null) {
3348        size += _extensions.CalculateSize();
3349      }
3350      if (_unknownFields != null) {
3351        size += _unknownFields.CalculateSize();
3352      }
3353      return size;
3354    }
3355
3356    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3357    public void MergeFrom(TestAllTypesProto2 other) {
3358      if (other == null) {
3359        return;
3360      }
3361      if (other.HasOptionalInt32) {
3362        OptionalInt32 = other.OptionalInt32;
3363      }
3364      if (other.HasOptionalInt64) {
3365        OptionalInt64 = other.OptionalInt64;
3366      }
3367      if (other.HasOptionalUint32) {
3368        OptionalUint32 = other.OptionalUint32;
3369      }
3370      if (other.HasOptionalUint64) {
3371        OptionalUint64 = other.OptionalUint64;
3372      }
3373      if (other.HasOptionalSint32) {
3374        OptionalSint32 = other.OptionalSint32;
3375      }
3376      if (other.HasOptionalSint64) {
3377        OptionalSint64 = other.OptionalSint64;
3378      }
3379      if (other.HasOptionalFixed32) {
3380        OptionalFixed32 = other.OptionalFixed32;
3381      }
3382      if (other.HasOptionalFixed64) {
3383        OptionalFixed64 = other.OptionalFixed64;
3384      }
3385      if (other.HasOptionalSfixed32) {
3386        OptionalSfixed32 = other.OptionalSfixed32;
3387      }
3388      if (other.HasOptionalSfixed64) {
3389        OptionalSfixed64 = other.OptionalSfixed64;
3390      }
3391      if (other.HasOptionalFloat) {
3392        OptionalFloat = other.OptionalFloat;
3393      }
3394      if (other.HasOptionalDouble) {
3395        OptionalDouble = other.OptionalDouble;
3396      }
3397      if (other.HasOptionalBool) {
3398        OptionalBool = other.OptionalBool;
3399      }
3400      if (other.HasOptionalString) {
3401        OptionalString = other.OptionalString;
3402      }
3403      if (other.HasOptionalBytes) {
3404        OptionalBytes = other.OptionalBytes;
3405      }
3406      if (other.optionalNestedMessage_ != null) {
3407        if (optionalNestedMessage_ == null) {
3408          OptionalNestedMessage = new global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage();
3409        }
3410        OptionalNestedMessage.MergeFrom(other.OptionalNestedMessage);
3411      }
3412      if (other.optionalForeignMessage_ != null) {
3413        if (optionalForeignMessage_ == null) {
3414          OptionalForeignMessage = new global::ProtobufTestMessages.Proto2.ForeignMessageProto2();
3415        }
3416        OptionalForeignMessage.MergeFrom(other.OptionalForeignMessage);
3417      }
3418      if (other.HasOptionalNestedEnum) {
3419        OptionalNestedEnum = other.OptionalNestedEnum;
3420      }
3421      if (other.HasOptionalForeignEnum) {
3422        OptionalForeignEnum = other.OptionalForeignEnum;
3423      }
3424      if (other.HasOptionalStringPiece) {
3425        OptionalStringPiece = other.OptionalStringPiece;
3426      }
3427      if (other.HasOptionalCord) {
3428        OptionalCord = other.OptionalCord;
3429      }
3430      if (other.recursiveMessage_ != null) {
3431        if (recursiveMessage_ == null) {
3432          RecursiveMessage = new global::ProtobufTestMessages.Proto2.TestAllTypesProto2();
3433        }
3434        RecursiveMessage.MergeFrom(other.RecursiveMessage);
3435      }
3436      repeatedInt32_.Add(other.repeatedInt32_);
3437      repeatedInt64_.Add(other.repeatedInt64_);
3438      repeatedUint32_.Add(other.repeatedUint32_);
3439      repeatedUint64_.Add(other.repeatedUint64_);
3440      repeatedSint32_.Add(other.repeatedSint32_);
3441      repeatedSint64_.Add(other.repeatedSint64_);
3442      repeatedFixed32_.Add(other.repeatedFixed32_);
3443      repeatedFixed64_.Add(other.repeatedFixed64_);
3444      repeatedSfixed32_.Add(other.repeatedSfixed32_);
3445      repeatedSfixed64_.Add(other.repeatedSfixed64_);
3446      repeatedFloat_.Add(other.repeatedFloat_);
3447      repeatedDouble_.Add(other.repeatedDouble_);
3448      repeatedBool_.Add(other.repeatedBool_);
3449      repeatedString_.Add(other.repeatedString_);
3450      repeatedBytes_.Add(other.repeatedBytes_);
3451      repeatedNestedMessage_.Add(other.repeatedNestedMessage_);
3452      repeatedForeignMessage_.Add(other.repeatedForeignMessage_);
3453      repeatedNestedEnum_.Add(other.repeatedNestedEnum_);
3454      repeatedForeignEnum_.Add(other.repeatedForeignEnum_);
3455      repeatedStringPiece_.Add(other.repeatedStringPiece_);
3456      repeatedCord_.Add(other.repeatedCord_);
3457      packedInt32_.Add(other.packedInt32_);
3458      packedInt64_.Add(other.packedInt64_);
3459      packedUint32_.Add(other.packedUint32_);
3460      packedUint64_.Add(other.packedUint64_);
3461      packedSint32_.Add(other.packedSint32_);
3462      packedSint64_.Add(other.packedSint64_);
3463      packedFixed32_.Add(other.packedFixed32_);
3464      packedFixed64_.Add(other.packedFixed64_);
3465      packedSfixed32_.Add(other.packedSfixed32_);
3466      packedSfixed64_.Add(other.packedSfixed64_);
3467      packedFloat_.Add(other.packedFloat_);
3468      packedDouble_.Add(other.packedDouble_);
3469      packedBool_.Add(other.packedBool_);
3470      packedNestedEnum_.Add(other.packedNestedEnum_);
3471      unpackedInt32_.Add(other.unpackedInt32_);
3472      unpackedInt64_.Add(other.unpackedInt64_);
3473      unpackedUint32_.Add(other.unpackedUint32_);
3474      unpackedUint64_.Add(other.unpackedUint64_);
3475      unpackedSint32_.Add(other.unpackedSint32_);
3476      unpackedSint64_.Add(other.unpackedSint64_);
3477      unpackedFixed32_.Add(other.unpackedFixed32_);
3478      unpackedFixed64_.Add(other.unpackedFixed64_);
3479      unpackedSfixed32_.Add(other.unpackedSfixed32_);
3480      unpackedSfixed64_.Add(other.unpackedSfixed64_);
3481      unpackedFloat_.Add(other.unpackedFloat_);
3482      unpackedDouble_.Add(other.unpackedDouble_);
3483      unpackedBool_.Add(other.unpackedBool_);
3484      unpackedNestedEnum_.Add(other.unpackedNestedEnum_);
3485      mapInt32Int32_.Add(other.mapInt32Int32_);
3486      mapInt64Int64_.Add(other.mapInt64Int64_);
3487      mapUint32Uint32_.Add(other.mapUint32Uint32_);
3488      mapUint64Uint64_.Add(other.mapUint64Uint64_);
3489      mapSint32Sint32_.Add(other.mapSint32Sint32_);
3490      mapSint64Sint64_.Add(other.mapSint64Sint64_);
3491      mapFixed32Fixed32_.Add(other.mapFixed32Fixed32_);
3492      mapFixed64Fixed64_.Add(other.mapFixed64Fixed64_);
3493      mapSfixed32Sfixed32_.Add(other.mapSfixed32Sfixed32_);
3494      mapSfixed64Sfixed64_.Add(other.mapSfixed64Sfixed64_);
3495      mapInt32Float_.Add(other.mapInt32Float_);
3496      mapInt32Double_.Add(other.mapInt32Double_);
3497      mapBoolBool_.Add(other.mapBoolBool_);
3498      mapStringString_.Add(other.mapStringString_);
3499      mapStringBytes_.Add(other.mapStringBytes_);
3500      mapStringNestedMessage_.Add(other.mapStringNestedMessage_);
3501      mapStringForeignMessage_.Add(other.mapStringForeignMessage_);
3502      mapStringNestedEnum_.Add(other.mapStringNestedEnum_);
3503      mapStringForeignEnum_.Add(other.mapStringForeignEnum_);
3504      if (other.HasData) {
3505        if (!HasData) {
3506          Data = new global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.Data();
3507        }
3508        Data.MergeFrom(other.Data);
3509      }
3510      if (other.HasFieldname1) {
3511        Fieldname1 = other.Fieldname1;
3512      }
3513      if (other.HasFieldName2) {
3514        FieldName2 = other.FieldName2;
3515      }
3516      if (other.HasFieldName3) {
3517        FieldName3 = other.FieldName3;
3518      }
3519      if (other.HasFieldName4) {
3520        FieldName4 = other.FieldName4;
3521      }
3522      if (other.HasField0Name5) {
3523        Field0Name5 = other.Field0Name5;
3524      }
3525      if (other.HasField0Name6) {
3526        Field0Name6 = other.Field0Name6;
3527      }
3528      if (other.HasFieldName7) {
3529        FieldName7 = other.FieldName7;
3530      }
3531      if (other.HasFieldName8) {
3532        FieldName8 = other.FieldName8;
3533      }
3534      if (other.HasFieldName9) {
3535        FieldName9 = other.FieldName9;
3536      }
3537      if (other.HasFieldName10) {
3538        FieldName10 = other.FieldName10;
3539      }
3540      if (other.HasFIELDNAME11) {
3541        FIELDNAME11 = other.FIELDNAME11;
3542      }
3543      if (other.HasFIELDName12) {
3544        FIELDName12 = other.FIELDName12;
3545      }
3546      if (other.HasFieldName13) {
3547        FieldName13 = other.FieldName13;
3548      }
3549      if (other.HasFieldName14) {
3550        FieldName14 = other.FieldName14;
3551      }
3552      if (other.HasFieldName15) {
3553        FieldName15 = other.FieldName15;
3554      }
3555      if (other.HasFieldName16) {
3556        FieldName16 = other.FieldName16;
3557      }
3558      if (other.HasFieldName17) {
3559        FieldName17 = other.FieldName17;
3560      }
3561      if (other.HasFieldName18) {
3562        FieldName18 = other.FieldName18;
3563      }
3564      switch (other.OneofFieldCase) {
3565        case OneofFieldOneofCase.OneofUint32:
3566          OneofUint32 = other.OneofUint32;
3567          break;
3568        case OneofFieldOneofCase.OneofNestedMessage:
3569          if (OneofNestedMessage == null) {
3570            OneofNestedMessage = new global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage();
3571          }
3572          OneofNestedMessage.MergeFrom(other.OneofNestedMessage);
3573          break;
3574        case OneofFieldOneofCase.OneofString:
3575          OneofString = other.OneofString;
3576          break;
3577        case OneofFieldOneofCase.OneofBytes:
3578          OneofBytes = other.OneofBytes;
3579          break;
3580        case OneofFieldOneofCase.OneofBool:
3581          OneofBool = other.OneofBool;
3582          break;
3583        case OneofFieldOneofCase.OneofUint64:
3584          OneofUint64 = other.OneofUint64;
3585          break;
3586        case OneofFieldOneofCase.OneofFloat:
3587          OneofFloat = other.OneofFloat;
3588          break;
3589        case OneofFieldOneofCase.OneofDouble:
3590          OneofDouble = other.OneofDouble;
3591          break;
3592        case OneofFieldOneofCase.OneofEnum:
3593          OneofEnum = other.OneofEnum;
3594          break;
3595      }
3596
3597      pb::ExtensionSet.MergeFrom(ref _extensions, other._extensions);
3598      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
3599    }
3600
3601    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
3602    public void MergeFrom(pb::CodedInputStream input) {
3603    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
3604      input.ReadRawMessage(this);
3605    #else
3606      uint tag;
3607      while ((tag = input.ReadTag()) != 0) {
3608        switch(tag) {
3609          default:
3610            if (!pb::ExtensionSet.TryMergeFieldFrom(ref _extensions, input)) {
3611              _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
3612            }
3613            break;
3614          case 8: {
3615            OptionalInt32 = input.ReadInt32();
3616            break;
3617          }
3618          case 16: {
3619            OptionalInt64 = input.ReadInt64();
3620            break;
3621          }
3622          case 24: {
3623            OptionalUint32 = input.ReadUInt32();
3624            break;
3625          }
3626          case 32: {
3627            OptionalUint64 = input.ReadUInt64();
3628            break;
3629          }
3630          case 40: {
3631            OptionalSint32 = input.ReadSInt32();
3632            break;
3633          }
3634          case 48: {
3635            OptionalSint64 = input.ReadSInt64();
3636            break;
3637          }
3638          case 61: {
3639            OptionalFixed32 = input.ReadFixed32();
3640            break;
3641          }
3642          case 65: {
3643            OptionalFixed64 = input.ReadFixed64();
3644            break;
3645          }
3646          case 77: {
3647            OptionalSfixed32 = input.ReadSFixed32();
3648            break;
3649          }
3650          case 81: {
3651            OptionalSfixed64 = input.ReadSFixed64();
3652            break;
3653          }
3654          case 93: {
3655            OptionalFloat = input.ReadFloat();
3656            break;
3657          }
3658          case 97: {
3659            OptionalDouble = input.ReadDouble();
3660            break;
3661          }
3662          case 104: {
3663            OptionalBool = input.ReadBool();
3664            break;
3665          }
3666          case 114: {
3667            OptionalString = input.ReadString();
3668            break;
3669          }
3670          case 122: {
3671            OptionalBytes = input.ReadBytes();
3672            break;
3673          }
3674          case 146: {
3675            if (optionalNestedMessage_ == null) {
3676              OptionalNestedMessage = new global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage();
3677            }
3678            input.ReadMessage(OptionalNestedMessage);
3679            break;
3680          }
3681          case 154: {
3682            if (optionalForeignMessage_ == null) {
3683              OptionalForeignMessage = new global::ProtobufTestMessages.Proto2.ForeignMessageProto2();
3684            }
3685            input.ReadMessage(OptionalForeignMessage);
3686            break;
3687          }
3688          case 168: {
3689            OptionalNestedEnum = (global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum) input.ReadEnum();
3690            break;
3691          }
3692          case 176: {
3693            OptionalForeignEnum = (global::ProtobufTestMessages.Proto2.ForeignEnumProto2) input.ReadEnum();
3694            break;
3695          }
3696          case 194: {
3697            OptionalStringPiece = input.ReadString();
3698            break;
3699          }
3700          case 202: {
3701            OptionalCord = input.ReadString();
3702            break;
3703          }
3704          case 218: {
3705            if (recursiveMessage_ == null) {
3706              RecursiveMessage = new global::ProtobufTestMessages.Proto2.TestAllTypesProto2();
3707            }
3708            input.ReadMessage(RecursiveMessage);
3709            break;
3710          }
3711          case 250:
3712          case 248: {
3713            repeatedInt32_.AddEntriesFrom(input, _repeated_repeatedInt32_codec);
3714            break;
3715          }
3716          case 258:
3717          case 256: {
3718            repeatedInt64_.AddEntriesFrom(input, _repeated_repeatedInt64_codec);
3719            break;
3720          }
3721          case 266:
3722          case 264: {
3723            repeatedUint32_.AddEntriesFrom(input, _repeated_repeatedUint32_codec);
3724            break;
3725          }
3726          case 274:
3727          case 272: {
3728            repeatedUint64_.AddEntriesFrom(input, _repeated_repeatedUint64_codec);
3729            break;
3730          }
3731          case 282:
3732          case 280: {
3733            repeatedSint32_.AddEntriesFrom(input, _repeated_repeatedSint32_codec);
3734            break;
3735          }
3736          case 290:
3737          case 288: {
3738            repeatedSint64_.AddEntriesFrom(input, _repeated_repeatedSint64_codec);
3739            break;
3740          }
3741          case 298:
3742          case 301: {
3743            repeatedFixed32_.AddEntriesFrom(input, _repeated_repeatedFixed32_codec);
3744            break;
3745          }
3746          case 306:
3747          case 305: {
3748            repeatedFixed64_.AddEntriesFrom(input, _repeated_repeatedFixed64_codec);
3749            break;
3750          }
3751          case 314:
3752          case 317: {
3753            repeatedSfixed32_.AddEntriesFrom(input, _repeated_repeatedSfixed32_codec);
3754            break;
3755          }
3756          case 322:
3757          case 321: {
3758            repeatedSfixed64_.AddEntriesFrom(input, _repeated_repeatedSfixed64_codec);
3759            break;
3760          }
3761          case 330:
3762          case 333: {
3763            repeatedFloat_.AddEntriesFrom(input, _repeated_repeatedFloat_codec);
3764            break;
3765          }
3766          case 338:
3767          case 337: {
3768            repeatedDouble_.AddEntriesFrom(input, _repeated_repeatedDouble_codec);
3769            break;
3770          }
3771          case 346:
3772          case 344: {
3773            repeatedBool_.AddEntriesFrom(input, _repeated_repeatedBool_codec);
3774            break;
3775          }
3776          case 354: {
3777            repeatedString_.AddEntriesFrom(input, _repeated_repeatedString_codec);
3778            break;
3779          }
3780          case 362: {
3781            repeatedBytes_.AddEntriesFrom(input, _repeated_repeatedBytes_codec);
3782            break;
3783          }
3784          case 386: {
3785            repeatedNestedMessage_.AddEntriesFrom(input, _repeated_repeatedNestedMessage_codec);
3786            break;
3787          }
3788          case 394: {
3789            repeatedForeignMessage_.AddEntriesFrom(input, _repeated_repeatedForeignMessage_codec);
3790            break;
3791          }
3792          case 410:
3793          case 408: {
3794            repeatedNestedEnum_.AddEntriesFrom(input, _repeated_repeatedNestedEnum_codec);
3795            break;
3796          }
3797          case 418:
3798          case 416: {
3799            repeatedForeignEnum_.AddEntriesFrom(input, _repeated_repeatedForeignEnum_codec);
3800            break;
3801          }
3802          case 434: {
3803            repeatedStringPiece_.AddEntriesFrom(input, _repeated_repeatedStringPiece_codec);
3804            break;
3805          }
3806          case 442: {
3807            repeatedCord_.AddEntriesFrom(input, _repeated_repeatedCord_codec);
3808            break;
3809          }
3810          case 450: {
3811            mapInt32Int32_.AddEntriesFrom(input, _map_mapInt32Int32_codec);
3812            break;
3813          }
3814          case 458: {
3815            mapInt64Int64_.AddEntriesFrom(input, _map_mapInt64Int64_codec);
3816            break;
3817          }
3818          case 466: {
3819            mapUint32Uint32_.AddEntriesFrom(input, _map_mapUint32Uint32_codec);
3820            break;
3821          }
3822          case 474: {
3823            mapUint64Uint64_.AddEntriesFrom(input, _map_mapUint64Uint64_codec);
3824            break;
3825          }
3826          case 482: {
3827            mapSint32Sint32_.AddEntriesFrom(input, _map_mapSint32Sint32_codec);
3828            break;
3829          }
3830          case 490: {
3831            mapSint64Sint64_.AddEntriesFrom(input, _map_mapSint64Sint64_codec);
3832            break;
3833          }
3834          case 498: {
3835            mapFixed32Fixed32_.AddEntriesFrom(input, _map_mapFixed32Fixed32_codec);
3836            break;
3837          }
3838          case 506: {
3839            mapFixed64Fixed64_.AddEntriesFrom(input, _map_mapFixed64Fixed64_codec);
3840            break;
3841          }
3842          case 514: {
3843            mapSfixed32Sfixed32_.AddEntriesFrom(input, _map_mapSfixed32Sfixed32_codec);
3844            break;
3845          }
3846          case 522: {
3847            mapSfixed64Sfixed64_.AddEntriesFrom(input, _map_mapSfixed64Sfixed64_codec);
3848            break;
3849          }
3850          case 530: {
3851            mapInt32Float_.AddEntriesFrom(input, _map_mapInt32Float_codec);
3852            break;
3853          }
3854          case 538: {
3855            mapInt32Double_.AddEntriesFrom(input, _map_mapInt32Double_codec);
3856            break;
3857          }
3858          case 546: {
3859            mapBoolBool_.AddEntriesFrom(input, _map_mapBoolBool_codec);
3860            break;
3861          }
3862          case 554: {
3863            mapStringString_.AddEntriesFrom(input, _map_mapStringString_codec);
3864            break;
3865          }
3866          case 562: {
3867            mapStringBytes_.AddEntriesFrom(input, _map_mapStringBytes_codec);
3868            break;
3869          }
3870          case 570: {
3871            mapStringNestedMessage_.AddEntriesFrom(input, _map_mapStringNestedMessage_codec);
3872            break;
3873          }
3874          case 578: {
3875            mapStringForeignMessage_.AddEntriesFrom(input, _map_mapStringForeignMessage_codec);
3876            break;
3877          }
3878          case 586: {
3879            mapStringNestedEnum_.AddEntriesFrom(input, _map_mapStringNestedEnum_codec);
3880            break;
3881          }
3882          case 594: {
3883            mapStringForeignEnum_.AddEntriesFrom(input, _map_mapStringForeignEnum_codec);
3884            break;
3885          }
3886          case 602:
3887          case 600: {
3888            packedInt32_.AddEntriesFrom(input, _repeated_packedInt32_codec);
3889            break;
3890          }
3891          case 610:
3892          case 608: {
3893            packedInt64_.AddEntriesFrom(input, _repeated_packedInt64_codec);
3894            break;
3895          }
3896          case 618:
3897          case 616: {
3898            packedUint32_.AddEntriesFrom(input, _repeated_packedUint32_codec);
3899            break;
3900          }
3901          case 626:
3902          case 624: {
3903            packedUint64_.AddEntriesFrom(input, _repeated_packedUint64_codec);
3904            break;
3905          }
3906          case 634:
3907          case 632: {
3908            packedSint32_.AddEntriesFrom(input, _repeated_packedSint32_codec);
3909            break;
3910          }
3911          case 642:
3912          case 640: {
3913            packedSint64_.AddEntriesFrom(input, _repeated_packedSint64_codec);
3914            break;
3915          }
3916          case 650:
3917          case 653: {
3918            packedFixed32_.AddEntriesFrom(input, _repeated_packedFixed32_codec);
3919            break;
3920          }
3921          case 658:
3922          case 657: {
3923            packedFixed64_.AddEntriesFrom(input, _repeated_packedFixed64_codec);
3924            break;
3925          }
3926          case 666:
3927          case 669: {
3928            packedSfixed32_.AddEntriesFrom(input, _repeated_packedSfixed32_codec);
3929            break;
3930          }
3931          case 674:
3932          case 673: {
3933            packedSfixed64_.AddEntriesFrom(input, _repeated_packedSfixed64_codec);
3934            break;
3935          }
3936          case 682:
3937          case 685: {
3938            packedFloat_.AddEntriesFrom(input, _repeated_packedFloat_codec);
3939            break;
3940          }
3941          case 690:
3942          case 689: {
3943            packedDouble_.AddEntriesFrom(input, _repeated_packedDouble_codec);
3944            break;
3945          }
3946          case 698:
3947          case 696: {
3948            packedBool_.AddEntriesFrom(input, _repeated_packedBool_codec);
3949            break;
3950          }
3951          case 706:
3952          case 704: {
3953            packedNestedEnum_.AddEntriesFrom(input, _repeated_packedNestedEnum_codec);
3954            break;
3955          }
3956          case 714:
3957          case 712: {
3958            unpackedInt32_.AddEntriesFrom(input, _repeated_unpackedInt32_codec);
3959            break;
3960          }
3961          case 722:
3962          case 720: {
3963            unpackedInt64_.AddEntriesFrom(input, _repeated_unpackedInt64_codec);
3964            break;
3965          }
3966          case 730:
3967          case 728: {
3968            unpackedUint32_.AddEntriesFrom(input, _repeated_unpackedUint32_codec);
3969            break;
3970          }
3971          case 738:
3972          case 736: {
3973            unpackedUint64_.AddEntriesFrom(input, _repeated_unpackedUint64_codec);
3974            break;
3975          }
3976          case 746:
3977          case 744: {
3978            unpackedSint32_.AddEntriesFrom(input, _repeated_unpackedSint32_codec);
3979            break;
3980          }
3981          case 754:
3982          case 752: {
3983            unpackedSint64_.AddEntriesFrom(input, _repeated_unpackedSint64_codec);
3984            break;
3985          }
3986          case 762:
3987          case 765: {
3988            unpackedFixed32_.AddEntriesFrom(input, _repeated_unpackedFixed32_codec);
3989            break;
3990          }
3991          case 770:
3992          case 769: {
3993            unpackedFixed64_.AddEntriesFrom(input, _repeated_unpackedFixed64_codec);
3994            break;
3995          }
3996          case 778:
3997          case 781: {
3998            unpackedSfixed32_.AddEntriesFrom(input, _repeated_unpackedSfixed32_codec);
3999            break;
4000          }
4001          case 786:
4002          case 785: {
4003            unpackedSfixed64_.AddEntriesFrom(input, _repeated_unpackedSfixed64_codec);
4004            break;
4005          }
4006          case 794:
4007          case 797: {
4008            unpackedFloat_.AddEntriesFrom(input, _repeated_unpackedFloat_codec);
4009            break;
4010          }
4011          case 802:
4012          case 801: {
4013            unpackedDouble_.AddEntriesFrom(input, _repeated_unpackedDouble_codec);
4014            break;
4015          }
4016          case 810:
4017          case 808: {
4018            unpackedBool_.AddEntriesFrom(input, _repeated_unpackedBool_codec);
4019            break;
4020          }
4021          case 818:
4022          case 816: {
4023            unpackedNestedEnum_.AddEntriesFrom(input, _repeated_unpackedNestedEnum_codec);
4024            break;
4025          }
4026          case 888: {
4027            OneofUint32 = input.ReadUInt32();
4028            break;
4029          }
4030          case 898: {
4031            global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage subBuilder = new global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage();
4032            if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) {
4033              subBuilder.MergeFrom(OneofNestedMessage);
4034            }
4035            input.ReadMessage(subBuilder);
4036            OneofNestedMessage = subBuilder;
4037            break;
4038          }
4039          case 906: {
4040            OneofString = input.ReadString();
4041            break;
4042          }
4043          case 914: {
4044            OneofBytes = input.ReadBytes();
4045            break;
4046          }
4047          case 920: {
4048            OneofBool = input.ReadBool();
4049            break;
4050          }
4051          case 928: {
4052            OneofUint64 = input.ReadUInt64();
4053            break;
4054          }
4055          case 941: {
4056            OneofFloat = input.ReadFloat();
4057            break;
4058          }
4059          case 945: {
4060            OneofDouble = input.ReadDouble();
4061            break;
4062          }
4063          case 952: {
4064            oneofField_ = input.ReadEnum();
4065            oneofFieldCase_ = OneofFieldOneofCase.OneofEnum;
4066            break;
4067          }
4068          case 1611: {
4069            if (!HasData) {
4070              Data = new global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.Data();
4071            }
4072            input.ReadGroup(Data);
4073            break;
4074          }
4075          case 3208: {
4076            Fieldname1 = input.ReadInt32();
4077            break;
4078          }
4079          case 3216: {
4080            FieldName2 = input.ReadInt32();
4081            break;
4082          }
4083          case 3224: {
4084            FieldName3 = input.ReadInt32();
4085            break;
4086          }
4087          case 3232: {
4088            FieldName4 = input.ReadInt32();
4089            break;
4090          }
4091          case 3240: {
4092            Field0Name5 = input.ReadInt32();
4093            break;
4094          }
4095          case 3248: {
4096            Field0Name6 = input.ReadInt32();
4097            break;
4098          }
4099          case 3256: {
4100            FieldName7 = input.ReadInt32();
4101            break;
4102          }
4103          case 3264: {
4104            FieldName8 = input.ReadInt32();
4105            break;
4106          }
4107          case 3272: {
4108            FieldName9 = input.ReadInt32();
4109            break;
4110          }
4111          case 3280: {
4112            FieldName10 = input.ReadInt32();
4113            break;
4114          }
4115          case 3288: {
4116            FIELDNAME11 = input.ReadInt32();
4117            break;
4118          }
4119          case 3296: {
4120            FIELDName12 = input.ReadInt32();
4121            break;
4122          }
4123          case 3304: {
4124            FieldName13 = input.ReadInt32();
4125            break;
4126          }
4127          case 3312: {
4128            FieldName14 = input.ReadInt32();
4129            break;
4130          }
4131          case 3320: {
4132            FieldName15 = input.ReadInt32();
4133            break;
4134          }
4135          case 3328: {
4136            FieldName16 = input.ReadInt32();
4137            break;
4138          }
4139          case 3336: {
4140            FieldName17 = input.ReadInt32();
4141            break;
4142          }
4143          case 3344: {
4144            FieldName18 = input.ReadInt32();
4145            break;
4146          }
4147        }
4148      }
4149    #endif
4150    }
4151
4152    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4153    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4154    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
4155      uint tag;
4156      while ((tag = input.ReadTag()) != 0) {
4157        switch(tag) {
4158          default:
4159            if (!pb::ExtensionSet.TryMergeFieldFrom(ref _extensions, ref input)) {
4160              _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
4161            }
4162            break;
4163          case 8: {
4164            OptionalInt32 = input.ReadInt32();
4165            break;
4166          }
4167          case 16: {
4168            OptionalInt64 = input.ReadInt64();
4169            break;
4170          }
4171          case 24: {
4172            OptionalUint32 = input.ReadUInt32();
4173            break;
4174          }
4175          case 32: {
4176            OptionalUint64 = input.ReadUInt64();
4177            break;
4178          }
4179          case 40: {
4180            OptionalSint32 = input.ReadSInt32();
4181            break;
4182          }
4183          case 48: {
4184            OptionalSint64 = input.ReadSInt64();
4185            break;
4186          }
4187          case 61: {
4188            OptionalFixed32 = input.ReadFixed32();
4189            break;
4190          }
4191          case 65: {
4192            OptionalFixed64 = input.ReadFixed64();
4193            break;
4194          }
4195          case 77: {
4196            OptionalSfixed32 = input.ReadSFixed32();
4197            break;
4198          }
4199          case 81: {
4200            OptionalSfixed64 = input.ReadSFixed64();
4201            break;
4202          }
4203          case 93: {
4204            OptionalFloat = input.ReadFloat();
4205            break;
4206          }
4207          case 97: {
4208            OptionalDouble = input.ReadDouble();
4209            break;
4210          }
4211          case 104: {
4212            OptionalBool = input.ReadBool();
4213            break;
4214          }
4215          case 114: {
4216            OptionalString = input.ReadString();
4217            break;
4218          }
4219          case 122: {
4220            OptionalBytes = input.ReadBytes();
4221            break;
4222          }
4223          case 146: {
4224            if (optionalNestedMessage_ == null) {
4225              OptionalNestedMessage = new global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage();
4226            }
4227            input.ReadMessage(OptionalNestedMessage);
4228            break;
4229          }
4230          case 154: {
4231            if (optionalForeignMessage_ == null) {
4232              OptionalForeignMessage = new global::ProtobufTestMessages.Proto2.ForeignMessageProto2();
4233            }
4234            input.ReadMessage(OptionalForeignMessage);
4235            break;
4236          }
4237          case 168: {
4238            OptionalNestedEnum = (global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedEnum) input.ReadEnum();
4239            break;
4240          }
4241          case 176: {
4242            OptionalForeignEnum = (global::ProtobufTestMessages.Proto2.ForeignEnumProto2) input.ReadEnum();
4243            break;
4244          }
4245          case 194: {
4246            OptionalStringPiece = input.ReadString();
4247            break;
4248          }
4249          case 202: {
4250            OptionalCord = input.ReadString();
4251            break;
4252          }
4253          case 218: {
4254            if (recursiveMessage_ == null) {
4255              RecursiveMessage = new global::ProtobufTestMessages.Proto2.TestAllTypesProto2();
4256            }
4257            input.ReadMessage(RecursiveMessage);
4258            break;
4259          }
4260          case 250:
4261          case 248: {
4262            repeatedInt32_.AddEntriesFrom(ref input, _repeated_repeatedInt32_codec);
4263            break;
4264          }
4265          case 258:
4266          case 256: {
4267            repeatedInt64_.AddEntriesFrom(ref input, _repeated_repeatedInt64_codec);
4268            break;
4269          }
4270          case 266:
4271          case 264: {
4272            repeatedUint32_.AddEntriesFrom(ref input, _repeated_repeatedUint32_codec);
4273            break;
4274          }
4275          case 274:
4276          case 272: {
4277            repeatedUint64_.AddEntriesFrom(ref input, _repeated_repeatedUint64_codec);
4278            break;
4279          }
4280          case 282:
4281          case 280: {
4282            repeatedSint32_.AddEntriesFrom(ref input, _repeated_repeatedSint32_codec);
4283            break;
4284          }
4285          case 290:
4286          case 288: {
4287            repeatedSint64_.AddEntriesFrom(ref input, _repeated_repeatedSint64_codec);
4288            break;
4289          }
4290          case 298:
4291          case 301: {
4292            repeatedFixed32_.AddEntriesFrom(ref input, _repeated_repeatedFixed32_codec);
4293            break;
4294          }
4295          case 306:
4296          case 305: {
4297            repeatedFixed64_.AddEntriesFrom(ref input, _repeated_repeatedFixed64_codec);
4298            break;
4299          }
4300          case 314:
4301          case 317: {
4302            repeatedSfixed32_.AddEntriesFrom(ref input, _repeated_repeatedSfixed32_codec);
4303            break;
4304          }
4305          case 322:
4306          case 321: {
4307            repeatedSfixed64_.AddEntriesFrom(ref input, _repeated_repeatedSfixed64_codec);
4308            break;
4309          }
4310          case 330:
4311          case 333: {
4312            repeatedFloat_.AddEntriesFrom(ref input, _repeated_repeatedFloat_codec);
4313            break;
4314          }
4315          case 338:
4316          case 337: {
4317            repeatedDouble_.AddEntriesFrom(ref input, _repeated_repeatedDouble_codec);
4318            break;
4319          }
4320          case 346:
4321          case 344: {
4322            repeatedBool_.AddEntriesFrom(ref input, _repeated_repeatedBool_codec);
4323            break;
4324          }
4325          case 354: {
4326            repeatedString_.AddEntriesFrom(ref input, _repeated_repeatedString_codec);
4327            break;
4328          }
4329          case 362: {
4330            repeatedBytes_.AddEntriesFrom(ref input, _repeated_repeatedBytes_codec);
4331            break;
4332          }
4333          case 386: {
4334            repeatedNestedMessage_.AddEntriesFrom(ref input, _repeated_repeatedNestedMessage_codec);
4335            break;
4336          }
4337          case 394: {
4338            repeatedForeignMessage_.AddEntriesFrom(ref input, _repeated_repeatedForeignMessage_codec);
4339            break;
4340          }
4341          case 410:
4342          case 408: {
4343            repeatedNestedEnum_.AddEntriesFrom(ref input, _repeated_repeatedNestedEnum_codec);
4344            break;
4345          }
4346          case 418:
4347          case 416: {
4348            repeatedForeignEnum_.AddEntriesFrom(ref input, _repeated_repeatedForeignEnum_codec);
4349            break;
4350          }
4351          case 434: {
4352            repeatedStringPiece_.AddEntriesFrom(ref input, _repeated_repeatedStringPiece_codec);
4353            break;
4354          }
4355          case 442: {
4356            repeatedCord_.AddEntriesFrom(ref input, _repeated_repeatedCord_codec);
4357            break;
4358          }
4359          case 450: {
4360            mapInt32Int32_.AddEntriesFrom(ref input, _map_mapInt32Int32_codec);
4361            break;
4362          }
4363          case 458: {
4364            mapInt64Int64_.AddEntriesFrom(ref input, _map_mapInt64Int64_codec);
4365            break;
4366          }
4367          case 466: {
4368            mapUint32Uint32_.AddEntriesFrom(ref input, _map_mapUint32Uint32_codec);
4369            break;
4370          }
4371          case 474: {
4372            mapUint64Uint64_.AddEntriesFrom(ref input, _map_mapUint64Uint64_codec);
4373            break;
4374          }
4375          case 482: {
4376            mapSint32Sint32_.AddEntriesFrom(ref input, _map_mapSint32Sint32_codec);
4377            break;
4378          }
4379          case 490: {
4380            mapSint64Sint64_.AddEntriesFrom(ref input, _map_mapSint64Sint64_codec);
4381            break;
4382          }
4383          case 498: {
4384            mapFixed32Fixed32_.AddEntriesFrom(ref input, _map_mapFixed32Fixed32_codec);
4385            break;
4386          }
4387          case 506: {
4388            mapFixed64Fixed64_.AddEntriesFrom(ref input, _map_mapFixed64Fixed64_codec);
4389            break;
4390          }
4391          case 514: {
4392            mapSfixed32Sfixed32_.AddEntriesFrom(ref input, _map_mapSfixed32Sfixed32_codec);
4393            break;
4394          }
4395          case 522: {
4396            mapSfixed64Sfixed64_.AddEntriesFrom(ref input, _map_mapSfixed64Sfixed64_codec);
4397            break;
4398          }
4399          case 530: {
4400            mapInt32Float_.AddEntriesFrom(ref input, _map_mapInt32Float_codec);
4401            break;
4402          }
4403          case 538: {
4404            mapInt32Double_.AddEntriesFrom(ref input, _map_mapInt32Double_codec);
4405            break;
4406          }
4407          case 546: {
4408            mapBoolBool_.AddEntriesFrom(ref input, _map_mapBoolBool_codec);
4409            break;
4410          }
4411          case 554: {
4412            mapStringString_.AddEntriesFrom(ref input, _map_mapStringString_codec);
4413            break;
4414          }
4415          case 562: {
4416            mapStringBytes_.AddEntriesFrom(ref input, _map_mapStringBytes_codec);
4417            break;
4418          }
4419          case 570: {
4420            mapStringNestedMessage_.AddEntriesFrom(ref input, _map_mapStringNestedMessage_codec);
4421            break;
4422          }
4423          case 578: {
4424            mapStringForeignMessage_.AddEntriesFrom(ref input, _map_mapStringForeignMessage_codec);
4425            break;
4426          }
4427          case 586: {
4428            mapStringNestedEnum_.AddEntriesFrom(ref input, _map_mapStringNestedEnum_codec);
4429            break;
4430          }
4431          case 594: {
4432            mapStringForeignEnum_.AddEntriesFrom(ref input, _map_mapStringForeignEnum_codec);
4433            break;
4434          }
4435          case 602:
4436          case 600: {
4437            packedInt32_.AddEntriesFrom(ref input, _repeated_packedInt32_codec);
4438            break;
4439          }
4440          case 610:
4441          case 608: {
4442            packedInt64_.AddEntriesFrom(ref input, _repeated_packedInt64_codec);
4443            break;
4444          }
4445          case 618:
4446          case 616: {
4447            packedUint32_.AddEntriesFrom(ref input, _repeated_packedUint32_codec);
4448            break;
4449          }
4450          case 626:
4451          case 624: {
4452            packedUint64_.AddEntriesFrom(ref input, _repeated_packedUint64_codec);
4453            break;
4454          }
4455          case 634:
4456          case 632: {
4457            packedSint32_.AddEntriesFrom(ref input, _repeated_packedSint32_codec);
4458            break;
4459          }
4460          case 642:
4461          case 640: {
4462            packedSint64_.AddEntriesFrom(ref input, _repeated_packedSint64_codec);
4463            break;
4464          }
4465          case 650:
4466          case 653: {
4467            packedFixed32_.AddEntriesFrom(ref input, _repeated_packedFixed32_codec);
4468            break;
4469          }
4470          case 658:
4471          case 657: {
4472            packedFixed64_.AddEntriesFrom(ref input, _repeated_packedFixed64_codec);
4473            break;
4474          }
4475          case 666:
4476          case 669: {
4477            packedSfixed32_.AddEntriesFrom(ref input, _repeated_packedSfixed32_codec);
4478            break;
4479          }
4480          case 674:
4481          case 673: {
4482            packedSfixed64_.AddEntriesFrom(ref input, _repeated_packedSfixed64_codec);
4483            break;
4484          }
4485          case 682:
4486          case 685: {
4487            packedFloat_.AddEntriesFrom(ref input, _repeated_packedFloat_codec);
4488            break;
4489          }
4490          case 690:
4491          case 689: {
4492            packedDouble_.AddEntriesFrom(ref input, _repeated_packedDouble_codec);
4493            break;
4494          }
4495          case 698:
4496          case 696: {
4497            packedBool_.AddEntriesFrom(ref input, _repeated_packedBool_codec);
4498            break;
4499          }
4500          case 706:
4501          case 704: {
4502            packedNestedEnum_.AddEntriesFrom(ref input, _repeated_packedNestedEnum_codec);
4503            break;
4504          }
4505          case 714:
4506          case 712: {
4507            unpackedInt32_.AddEntriesFrom(ref input, _repeated_unpackedInt32_codec);
4508            break;
4509          }
4510          case 722:
4511          case 720: {
4512            unpackedInt64_.AddEntriesFrom(ref input, _repeated_unpackedInt64_codec);
4513            break;
4514          }
4515          case 730:
4516          case 728: {
4517            unpackedUint32_.AddEntriesFrom(ref input, _repeated_unpackedUint32_codec);
4518            break;
4519          }
4520          case 738:
4521          case 736: {
4522            unpackedUint64_.AddEntriesFrom(ref input, _repeated_unpackedUint64_codec);
4523            break;
4524          }
4525          case 746:
4526          case 744: {
4527            unpackedSint32_.AddEntriesFrom(ref input, _repeated_unpackedSint32_codec);
4528            break;
4529          }
4530          case 754:
4531          case 752: {
4532            unpackedSint64_.AddEntriesFrom(ref input, _repeated_unpackedSint64_codec);
4533            break;
4534          }
4535          case 762:
4536          case 765: {
4537            unpackedFixed32_.AddEntriesFrom(ref input, _repeated_unpackedFixed32_codec);
4538            break;
4539          }
4540          case 770:
4541          case 769: {
4542            unpackedFixed64_.AddEntriesFrom(ref input, _repeated_unpackedFixed64_codec);
4543            break;
4544          }
4545          case 778:
4546          case 781: {
4547            unpackedSfixed32_.AddEntriesFrom(ref input, _repeated_unpackedSfixed32_codec);
4548            break;
4549          }
4550          case 786:
4551          case 785: {
4552            unpackedSfixed64_.AddEntriesFrom(ref input, _repeated_unpackedSfixed64_codec);
4553            break;
4554          }
4555          case 794:
4556          case 797: {
4557            unpackedFloat_.AddEntriesFrom(ref input, _repeated_unpackedFloat_codec);
4558            break;
4559          }
4560          case 802:
4561          case 801: {
4562            unpackedDouble_.AddEntriesFrom(ref input, _repeated_unpackedDouble_codec);
4563            break;
4564          }
4565          case 810:
4566          case 808: {
4567            unpackedBool_.AddEntriesFrom(ref input, _repeated_unpackedBool_codec);
4568            break;
4569          }
4570          case 818:
4571          case 816: {
4572            unpackedNestedEnum_.AddEntriesFrom(ref input, _repeated_unpackedNestedEnum_codec);
4573            break;
4574          }
4575          case 888: {
4576            OneofUint32 = input.ReadUInt32();
4577            break;
4578          }
4579          case 898: {
4580            global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage subBuilder = new global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.NestedMessage();
4581            if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) {
4582              subBuilder.MergeFrom(OneofNestedMessage);
4583            }
4584            input.ReadMessage(subBuilder);
4585            OneofNestedMessage = subBuilder;
4586            break;
4587          }
4588          case 906: {
4589            OneofString = input.ReadString();
4590            break;
4591          }
4592          case 914: {
4593            OneofBytes = input.ReadBytes();
4594            break;
4595          }
4596          case 920: {
4597            OneofBool = input.ReadBool();
4598            break;
4599          }
4600          case 928: {
4601            OneofUint64 = input.ReadUInt64();
4602            break;
4603          }
4604          case 941: {
4605            OneofFloat = input.ReadFloat();
4606            break;
4607          }
4608          case 945: {
4609            OneofDouble = input.ReadDouble();
4610            break;
4611          }
4612          case 952: {
4613            oneofField_ = input.ReadEnum();
4614            oneofFieldCase_ = OneofFieldOneofCase.OneofEnum;
4615            break;
4616          }
4617          case 1611: {
4618            if (!HasData) {
4619              Data = new global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.Data();
4620            }
4621            input.ReadGroup(Data);
4622            break;
4623          }
4624          case 3208: {
4625            Fieldname1 = input.ReadInt32();
4626            break;
4627          }
4628          case 3216: {
4629            FieldName2 = input.ReadInt32();
4630            break;
4631          }
4632          case 3224: {
4633            FieldName3 = input.ReadInt32();
4634            break;
4635          }
4636          case 3232: {
4637            FieldName4 = input.ReadInt32();
4638            break;
4639          }
4640          case 3240: {
4641            Field0Name5 = input.ReadInt32();
4642            break;
4643          }
4644          case 3248: {
4645            Field0Name6 = input.ReadInt32();
4646            break;
4647          }
4648          case 3256: {
4649            FieldName7 = input.ReadInt32();
4650            break;
4651          }
4652          case 3264: {
4653            FieldName8 = input.ReadInt32();
4654            break;
4655          }
4656          case 3272: {
4657            FieldName9 = input.ReadInt32();
4658            break;
4659          }
4660          case 3280: {
4661            FieldName10 = input.ReadInt32();
4662            break;
4663          }
4664          case 3288: {
4665            FIELDNAME11 = input.ReadInt32();
4666            break;
4667          }
4668          case 3296: {
4669            FIELDName12 = input.ReadInt32();
4670            break;
4671          }
4672          case 3304: {
4673            FieldName13 = input.ReadInt32();
4674            break;
4675          }
4676          case 3312: {
4677            FieldName14 = input.ReadInt32();
4678            break;
4679          }
4680          case 3320: {
4681            FieldName15 = input.ReadInt32();
4682            break;
4683          }
4684          case 3328: {
4685            FieldName16 = input.ReadInt32();
4686            break;
4687          }
4688          case 3336: {
4689            FieldName17 = input.ReadInt32();
4690            break;
4691          }
4692          case 3344: {
4693            FieldName18 = input.ReadInt32();
4694            break;
4695          }
4696        }
4697      }
4698    }
4699    #endif
4700
4701    public TValue GetExtension<TValue>(pb::Extension<TestAllTypesProto2, TValue> extension) {
4702      return pb::ExtensionSet.Get(ref _extensions, extension);
4703    }
4704    public pbc::RepeatedField<TValue> GetExtension<TValue>(pb::RepeatedExtension<TestAllTypesProto2, TValue> extension) {
4705      return pb::ExtensionSet.Get(ref _extensions, extension);
4706    }
4707    public pbc::RepeatedField<TValue> GetOrInitializeExtension<TValue>(pb::RepeatedExtension<TestAllTypesProto2, TValue> extension) {
4708      return pb::ExtensionSet.GetOrInitialize(ref _extensions, extension);
4709    }
4710    public void SetExtension<TValue>(pb::Extension<TestAllTypesProto2, TValue> extension, TValue value) {
4711      pb::ExtensionSet.Set(ref _extensions, extension, value);
4712    }
4713    public bool HasExtension<TValue>(pb::Extension<TestAllTypesProto2, TValue> extension) {
4714      return pb::ExtensionSet.Has(ref _extensions, extension);
4715    }
4716    public void ClearExtension<TValue>(pb::Extension<TestAllTypesProto2, TValue> extension) {
4717      pb::ExtensionSet.Clear(ref _extensions, extension);
4718    }
4719    public void ClearExtension<TValue>(pb::RepeatedExtension<TestAllTypesProto2, TValue> extension) {
4720      pb::ExtensionSet.Clear(ref _extensions, extension);
4721    }
4722
4723    #region Nested types
4724    /// <summary>Container for nested types declared in the TestAllTypesProto2 message type.</summary>
4725    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4726    public static partial class Types {
4727      public enum NestedEnum {
4728        [pbr::OriginalName("FOO")] Foo = 0,
4729        [pbr::OriginalName("BAR")] Bar = 1,
4730        [pbr::OriginalName("BAZ")] Baz = 2,
4731        /// <summary>
4732        /// Intentionally negative.
4733        /// </summary>
4734        [pbr::OriginalName("NEG")] Neg = -1,
4735      }
4736
4737      public sealed partial class NestedMessage : pb::IMessage<NestedMessage>
4738      #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4739          , pb::IBufferMessage
4740      #endif
4741      {
4742        private static readonly pb::MessageParser<NestedMessage> _parser = new pb::MessageParser<NestedMessage>(() => new NestedMessage());
4743        private pb::UnknownFieldSet _unknownFields;
4744        private int _hasBits0;
4745        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4746        public static pb::MessageParser<NestedMessage> Parser { get { return _parser; } }
4747
4748        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4749        public static pbr::MessageDescriptor Descriptor {
4750          get { return global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Descriptor.NestedTypes[0]; }
4751        }
4752
4753        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4754        pbr::MessageDescriptor pb::IMessage.Descriptor {
4755          get { return Descriptor; }
4756        }
4757
4758        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4759        public NestedMessage() {
4760          OnConstruction();
4761        }
4762
4763        partial void OnConstruction();
4764
4765        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4766        public NestedMessage(NestedMessage other) : this() {
4767          _hasBits0 = other._hasBits0;
4768          a_ = other.a_;
4769          corecursive_ = other.corecursive_ != null ? other.corecursive_.Clone() : null;
4770          _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
4771        }
4772
4773        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4774        public NestedMessage Clone() {
4775          return new NestedMessage(this);
4776        }
4777
4778        /// <summary>Field number for the "a" field.</summary>
4779        public const int AFieldNumber = 1;
4780        private readonly static int ADefaultValue = 0;
4781
4782        private int a_;
4783        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4784        public int A {
4785          get { if ((_hasBits0 & 1) != 0) { return a_; } else { return ADefaultValue; } }
4786          set {
4787            _hasBits0 |= 1;
4788            a_ = value;
4789          }
4790        }
4791        /// <summary>Gets whether the "a" field is set</summary>
4792        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4793        public bool HasA {
4794          get { return (_hasBits0 & 1) != 0; }
4795        }
4796        /// <summary>Clears the value of the "a" field</summary>
4797        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4798        public void ClearA() {
4799          _hasBits0 &= ~1;
4800        }
4801
4802        /// <summary>Field number for the "corecursive" field.</summary>
4803        public const int CorecursiveFieldNumber = 2;
4804        private global::ProtobufTestMessages.Proto2.TestAllTypesProto2 corecursive_;
4805        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4806        public global::ProtobufTestMessages.Proto2.TestAllTypesProto2 Corecursive {
4807          get { return corecursive_; }
4808          set {
4809            corecursive_ = value;
4810          }
4811        }
4812
4813        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4814        public override bool Equals(object other) {
4815          return Equals(other as NestedMessage);
4816        }
4817
4818        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4819        public bool Equals(NestedMessage other) {
4820          if (ReferenceEquals(other, null)) {
4821            return false;
4822          }
4823          if (ReferenceEquals(other, this)) {
4824            return true;
4825          }
4826          if (A != other.A) return false;
4827          if (!object.Equals(Corecursive, other.Corecursive)) return false;
4828          return Equals(_unknownFields, other._unknownFields);
4829        }
4830
4831        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4832        public override int GetHashCode() {
4833          int hash = 1;
4834          if (HasA) hash ^= A.GetHashCode();
4835          if (corecursive_ != null) hash ^= Corecursive.GetHashCode();
4836          if (_unknownFields != null) {
4837            hash ^= _unknownFields.GetHashCode();
4838          }
4839          return hash;
4840        }
4841
4842        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4843        public override string ToString() {
4844          return pb::JsonFormatter.ToDiagnosticString(this);
4845        }
4846
4847        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4848        public void WriteTo(pb::CodedOutputStream output) {
4849        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4850          output.WriteRawMessage(this);
4851        #else
4852          if (HasA) {
4853            output.WriteRawTag(8);
4854            output.WriteInt32(A);
4855          }
4856          if (corecursive_ != null) {
4857            output.WriteRawTag(18);
4858            output.WriteMessage(Corecursive);
4859          }
4860          if (_unknownFields != null) {
4861            _unknownFields.WriteTo(output);
4862          }
4863        #endif
4864        }
4865
4866        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4867        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4868        void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
4869          if (HasA) {
4870            output.WriteRawTag(8);
4871            output.WriteInt32(A);
4872          }
4873          if (corecursive_ != null) {
4874            output.WriteRawTag(18);
4875            output.WriteMessage(Corecursive);
4876          }
4877          if (_unknownFields != null) {
4878            _unknownFields.WriteTo(ref output);
4879          }
4880        }
4881        #endif
4882
4883        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4884        public int CalculateSize() {
4885          int size = 0;
4886          if (HasA) {
4887            size += 1 + pb::CodedOutputStream.ComputeInt32Size(A);
4888          }
4889          if (corecursive_ != null) {
4890            size += 1 + pb::CodedOutputStream.ComputeMessageSize(Corecursive);
4891          }
4892          if (_unknownFields != null) {
4893            size += _unknownFields.CalculateSize();
4894          }
4895          return size;
4896        }
4897
4898        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4899        public void MergeFrom(NestedMessage other) {
4900          if (other == null) {
4901            return;
4902          }
4903          if (other.HasA) {
4904            A = other.A;
4905          }
4906          if (other.corecursive_ != null) {
4907            if (corecursive_ == null) {
4908              Corecursive = new global::ProtobufTestMessages.Proto2.TestAllTypesProto2();
4909            }
4910            Corecursive.MergeFrom(other.Corecursive);
4911          }
4912          _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
4913        }
4914
4915        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4916        public void MergeFrom(pb::CodedInputStream input) {
4917        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4918          input.ReadRawMessage(this);
4919        #else
4920          uint tag;
4921          while ((tag = input.ReadTag()) != 0) {
4922            switch(tag) {
4923              default:
4924                _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
4925                break;
4926              case 8: {
4927                A = input.ReadInt32();
4928                break;
4929              }
4930              case 18: {
4931                if (corecursive_ == null) {
4932                  Corecursive = new global::ProtobufTestMessages.Proto2.TestAllTypesProto2();
4933                }
4934                input.ReadMessage(Corecursive);
4935                break;
4936              }
4937            }
4938          }
4939        #endif
4940        }
4941
4942        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4943        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4944        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
4945          uint tag;
4946          while ((tag = input.ReadTag()) != 0) {
4947            switch(tag) {
4948              default:
4949                _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
4950                break;
4951              case 8: {
4952                A = input.ReadInt32();
4953                break;
4954              }
4955              case 18: {
4956                if (corecursive_ == null) {
4957                  Corecursive = new global::ProtobufTestMessages.Proto2.TestAllTypesProto2();
4958                }
4959                input.ReadMessage(Corecursive);
4960                break;
4961              }
4962            }
4963          }
4964        }
4965        #endif
4966
4967      }
4968
4969      /// <summary>
4970      /// groups
4971      /// </summary>
4972      public sealed partial class Data : pb::IMessage<Data>
4973      #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
4974          , pb::IBufferMessage
4975      #endif
4976      {
4977        private static readonly pb::MessageParser<Data> _parser = new pb::MessageParser<Data>(() => new Data());
4978        private pb::UnknownFieldSet _unknownFields;
4979        private int _hasBits0;
4980        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4981        public static pb::MessageParser<Data> Parser { get { return _parser; } }
4982
4983        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4984        public static pbr::MessageDescriptor Descriptor {
4985          get { return global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Descriptor.NestedTypes[20]; }
4986        }
4987
4988        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4989        pbr::MessageDescriptor pb::IMessage.Descriptor {
4990          get { return Descriptor; }
4991        }
4992
4993        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
4994        public Data() {
4995          OnConstruction();
4996        }
4997
4998        partial void OnConstruction();
4999
5000        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5001        public Data(Data other) : this() {
5002          _hasBits0 = other._hasBits0;
5003          groupInt32_ = other.groupInt32_;
5004          groupUint32_ = other.groupUint32_;
5005          _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
5006        }
5007
5008        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5009        public Data Clone() {
5010          return new Data(this);
5011        }
5012
5013        /// <summary>Field number for the "group_int32" field.</summary>
5014        public const int GroupInt32FieldNumber = 202;
5015        private readonly static int GroupInt32DefaultValue = 0;
5016
5017        private int groupInt32_;
5018        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5019        public int GroupInt32 {
5020          get { if ((_hasBits0 & 1) != 0) { return groupInt32_; } else { return GroupInt32DefaultValue; } }
5021          set {
5022            _hasBits0 |= 1;
5023            groupInt32_ = value;
5024          }
5025        }
5026        /// <summary>Gets whether the "group_int32" field is set</summary>
5027        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5028        public bool HasGroupInt32 {
5029          get { return (_hasBits0 & 1) != 0; }
5030        }
5031        /// <summary>Clears the value of the "group_int32" field</summary>
5032        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5033        public void ClearGroupInt32() {
5034          _hasBits0 &= ~1;
5035        }
5036
5037        /// <summary>Field number for the "group_uint32" field.</summary>
5038        public const int GroupUint32FieldNumber = 203;
5039        private readonly static uint GroupUint32DefaultValue = 0;
5040
5041        private uint groupUint32_;
5042        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5043        public uint GroupUint32 {
5044          get { if ((_hasBits0 & 2) != 0) { return groupUint32_; } else { return GroupUint32DefaultValue; } }
5045          set {
5046            _hasBits0 |= 2;
5047            groupUint32_ = value;
5048          }
5049        }
5050        /// <summary>Gets whether the "group_uint32" field is set</summary>
5051        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5052        public bool HasGroupUint32 {
5053          get { return (_hasBits0 & 2) != 0; }
5054        }
5055        /// <summary>Clears the value of the "group_uint32" field</summary>
5056        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5057        public void ClearGroupUint32() {
5058          _hasBits0 &= ~2;
5059        }
5060
5061        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5062        public override bool Equals(object other) {
5063          return Equals(other as Data);
5064        }
5065
5066        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5067        public bool Equals(Data other) {
5068          if (ReferenceEquals(other, null)) {
5069            return false;
5070          }
5071          if (ReferenceEquals(other, this)) {
5072            return true;
5073          }
5074          if (GroupInt32 != other.GroupInt32) return false;
5075          if (GroupUint32 != other.GroupUint32) return false;
5076          return Equals(_unknownFields, other._unknownFields);
5077        }
5078
5079        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5080        public override int GetHashCode() {
5081          int hash = 1;
5082          if (HasGroupInt32) hash ^= GroupInt32.GetHashCode();
5083          if (HasGroupUint32) hash ^= GroupUint32.GetHashCode();
5084          if (_unknownFields != null) {
5085            hash ^= _unknownFields.GetHashCode();
5086          }
5087          return hash;
5088        }
5089
5090        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5091        public override string ToString() {
5092          return pb::JsonFormatter.ToDiagnosticString(this);
5093        }
5094
5095        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5096        public void WriteTo(pb::CodedOutputStream output) {
5097        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5098          output.WriteRawMessage(this);
5099        #else
5100          if (HasGroupInt32) {
5101            output.WriteRawTag(208, 12);
5102            output.WriteInt32(GroupInt32);
5103          }
5104          if (HasGroupUint32) {
5105            output.WriteRawTag(216, 12);
5106            output.WriteUInt32(GroupUint32);
5107          }
5108          if (_unknownFields != null) {
5109            _unknownFields.WriteTo(output);
5110          }
5111        #endif
5112        }
5113
5114        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5115        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5116        void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
5117          if (HasGroupInt32) {
5118            output.WriteRawTag(208, 12);
5119            output.WriteInt32(GroupInt32);
5120          }
5121          if (HasGroupUint32) {
5122            output.WriteRawTag(216, 12);
5123            output.WriteUInt32(GroupUint32);
5124          }
5125          if (_unknownFields != null) {
5126            _unknownFields.WriteTo(ref output);
5127          }
5128        }
5129        #endif
5130
5131        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5132        public int CalculateSize() {
5133          int size = 0;
5134          if (HasGroupInt32) {
5135            size += 2 + pb::CodedOutputStream.ComputeInt32Size(GroupInt32);
5136          }
5137          if (HasGroupUint32) {
5138            size += 2 + pb::CodedOutputStream.ComputeUInt32Size(GroupUint32);
5139          }
5140          if (_unknownFields != null) {
5141            size += _unknownFields.CalculateSize();
5142          }
5143          return size;
5144        }
5145
5146        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5147        public void MergeFrom(Data other) {
5148          if (other == null) {
5149            return;
5150          }
5151          if (other.HasGroupInt32) {
5152            GroupInt32 = other.GroupInt32;
5153          }
5154          if (other.HasGroupUint32) {
5155            GroupUint32 = other.GroupUint32;
5156          }
5157          _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
5158        }
5159
5160        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5161        public void MergeFrom(pb::CodedInputStream input) {
5162        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5163          input.ReadRawMessage(this);
5164        #else
5165          uint tag;
5166          while ((tag = input.ReadTag()) != 0) {
5167            switch(tag) {
5168              case 1612:
5169                return;
5170              default:
5171                _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
5172                break;
5173              case 1616: {
5174                GroupInt32 = input.ReadInt32();
5175                break;
5176              }
5177              case 1624: {
5178                GroupUint32 = input.ReadUInt32();
5179                break;
5180              }
5181            }
5182          }
5183        #endif
5184        }
5185
5186        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5187        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5188        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
5189          uint tag;
5190          while ((tag = input.ReadTag()) != 0) {
5191            switch(tag) {
5192              case 1612:
5193                return;
5194              default:
5195                _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
5196                break;
5197              case 1616: {
5198                GroupInt32 = input.ReadInt32();
5199                break;
5200              }
5201              case 1624: {
5202                GroupUint32 = input.ReadUInt32();
5203                break;
5204              }
5205            }
5206          }
5207        }
5208        #endif
5209
5210      }
5211
5212      /// <summary>
5213      /// message_set test case.
5214      /// </summary>
5215      public sealed partial class MessageSetCorrect : pb::IExtendableMessage<MessageSetCorrect>
5216      #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5217          , pb::IBufferMessage
5218      #endif
5219      {
5220        private static readonly pb::MessageParser<MessageSetCorrect> _parser = new pb::MessageParser<MessageSetCorrect>(() => new MessageSetCorrect());
5221        private pb::UnknownFieldSet _unknownFields;
5222        private pb::ExtensionSet<MessageSetCorrect> _extensions;
5223        private pb::ExtensionSet<MessageSetCorrect> _Extensions { get { return _extensions; } }
5224        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5225        public static pb::MessageParser<MessageSetCorrect> Parser { get { return _parser; } }
5226
5227        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5228        public static pbr::MessageDescriptor Descriptor {
5229          get { return global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Descriptor.NestedTypes[21]; }
5230        }
5231
5232        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5233        pbr::MessageDescriptor pb::IMessage.Descriptor {
5234          get { return Descriptor; }
5235        }
5236
5237        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5238        public MessageSetCorrect() {
5239          OnConstruction();
5240        }
5241
5242        partial void OnConstruction();
5243
5244        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5245        public MessageSetCorrect(MessageSetCorrect other) : this() {
5246          _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
5247          _extensions = pb::ExtensionSet.Clone(other._extensions);
5248        }
5249
5250        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5251        public MessageSetCorrect Clone() {
5252          return new MessageSetCorrect(this);
5253        }
5254
5255        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5256        public override bool Equals(object other) {
5257          return Equals(other as MessageSetCorrect);
5258        }
5259
5260        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5261        public bool Equals(MessageSetCorrect other) {
5262          if (ReferenceEquals(other, null)) {
5263            return false;
5264          }
5265          if (ReferenceEquals(other, this)) {
5266            return true;
5267          }
5268          if (!Equals(_extensions, other._extensions)) {
5269            return false;
5270          }
5271          return Equals(_unknownFields, other._unknownFields);
5272        }
5273
5274        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5275        public override int GetHashCode() {
5276          int hash = 1;
5277          if (_extensions != null) {
5278            hash ^= _extensions.GetHashCode();
5279          }
5280          if (_unknownFields != null) {
5281            hash ^= _unknownFields.GetHashCode();
5282          }
5283          return hash;
5284        }
5285
5286        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5287        public override string ToString() {
5288          return pb::JsonFormatter.ToDiagnosticString(this);
5289        }
5290
5291        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5292        public void WriteTo(pb::CodedOutputStream output) {
5293        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5294          output.WriteRawMessage(this);
5295        #else
5296          if (_extensions != null) {
5297            _extensions.WriteTo(output);
5298          }
5299          if (_unknownFields != null) {
5300            _unknownFields.WriteTo(output);
5301          }
5302        #endif
5303        }
5304
5305        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5306        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5307        void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
5308          if (_extensions != null) {
5309            _extensions.WriteTo(ref output);
5310          }
5311          if (_unknownFields != null) {
5312            _unknownFields.WriteTo(ref output);
5313          }
5314        }
5315        #endif
5316
5317        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5318        public int CalculateSize() {
5319          int size = 0;
5320          if (_extensions != null) {
5321            size += _extensions.CalculateSize();
5322          }
5323          if (_unknownFields != null) {
5324            size += _unknownFields.CalculateSize();
5325          }
5326          return size;
5327        }
5328
5329        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5330        public void MergeFrom(MessageSetCorrect other) {
5331          if (other == null) {
5332            return;
5333          }
5334          pb::ExtensionSet.MergeFrom(ref _extensions, other._extensions);
5335          _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
5336        }
5337
5338        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5339        public void MergeFrom(pb::CodedInputStream input) {
5340        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5341          input.ReadRawMessage(this);
5342        #else
5343          uint tag;
5344          while ((tag = input.ReadTag()) != 0) {
5345            switch(tag) {
5346              default:
5347                if (!pb::ExtensionSet.TryMergeFieldFrom(ref _extensions, input)) {
5348                  _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
5349                }
5350                break;
5351            }
5352          }
5353        #endif
5354        }
5355
5356        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5357        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5358        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
5359          uint tag;
5360          while ((tag = input.ReadTag()) != 0) {
5361            switch(tag) {
5362              default:
5363                if (!pb::ExtensionSet.TryMergeFieldFrom(ref _extensions, ref input)) {
5364                  _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
5365                }
5366                break;
5367            }
5368          }
5369        }
5370        #endif
5371
5372        public TValue GetExtension<TValue>(pb::Extension<MessageSetCorrect, TValue> extension) {
5373          return pb::ExtensionSet.Get(ref _extensions, extension);
5374        }
5375        public pbc::RepeatedField<TValue> GetExtension<TValue>(pb::RepeatedExtension<MessageSetCorrect, TValue> extension) {
5376          return pb::ExtensionSet.Get(ref _extensions, extension);
5377        }
5378        public pbc::RepeatedField<TValue> GetOrInitializeExtension<TValue>(pb::RepeatedExtension<MessageSetCorrect, TValue> extension) {
5379          return pb::ExtensionSet.GetOrInitialize(ref _extensions, extension);
5380        }
5381        public void SetExtension<TValue>(pb::Extension<MessageSetCorrect, TValue> extension, TValue value) {
5382          pb::ExtensionSet.Set(ref _extensions, extension, value);
5383        }
5384        public bool HasExtension<TValue>(pb::Extension<MessageSetCorrect, TValue> extension) {
5385          return pb::ExtensionSet.Has(ref _extensions, extension);
5386        }
5387        public void ClearExtension<TValue>(pb::Extension<MessageSetCorrect, TValue> extension) {
5388          pb::ExtensionSet.Clear(ref _extensions, extension);
5389        }
5390        public void ClearExtension<TValue>(pb::RepeatedExtension<MessageSetCorrect, TValue> extension) {
5391          pb::ExtensionSet.Clear(ref _extensions, extension);
5392        }
5393
5394      }
5395
5396      public sealed partial class MessageSetCorrectExtension1 : pb::IMessage<MessageSetCorrectExtension1>
5397      #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5398          , pb::IBufferMessage
5399      #endif
5400      {
5401        private static readonly pb::MessageParser<MessageSetCorrectExtension1> _parser = new pb::MessageParser<MessageSetCorrectExtension1>(() => new MessageSetCorrectExtension1());
5402        private pb::UnknownFieldSet _unknownFields;
5403        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5404        public static pb::MessageParser<MessageSetCorrectExtension1> Parser { get { return _parser; } }
5405
5406        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5407        public static pbr::MessageDescriptor Descriptor {
5408          get { return global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Descriptor.NestedTypes[22]; }
5409        }
5410
5411        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5412        pbr::MessageDescriptor pb::IMessage.Descriptor {
5413          get { return Descriptor; }
5414        }
5415
5416        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5417        public MessageSetCorrectExtension1() {
5418          OnConstruction();
5419        }
5420
5421        partial void OnConstruction();
5422
5423        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5424        public MessageSetCorrectExtension1(MessageSetCorrectExtension1 other) : this() {
5425          str_ = other.str_;
5426          _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
5427        }
5428
5429        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5430        public MessageSetCorrectExtension1 Clone() {
5431          return new MessageSetCorrectExtension1(this);
5432        }
5433
5434        /// <summary>Field number for the "str" field.</summary>
5435        public const int StrFieldNumber = 25;
5436        private readonly static string StrDefaultValue = "";
5437
5438        private string str_;
5439        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5440        public string Str {
5441          get { return str_ ?? StrDefaultValue; }
5442          set {
5443            str_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
5444          }
5445        }
5446        /// <summary>Gets whether the "str" field is set</summary>
5447        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5448        public bool HasStr {
5449          get { return str_ != null; }
5450        }
5451        /// <summary>Clears the value of the "str" field</summary>
5452        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5453        public void ClearStr() {
5454          str_ = null;
5455        }
5456
5457        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5458        public override bool Equals(object other) {
5459          return Equals(other as MessageSetCorrectExtension1);
5460        }
5461
5462        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5463        public bool Equals(MessageSetCorrectExtension1 other) {
5464          if (ReferenceEquals(other, null)) {
5465            return false;
5466          }
5467          if (ReferenceEquals(other, this)) {
5468            return true;
5469          }
5470          if (Str != other.Str) return false;
5471          return Equals(_unknownFields, other._unknownFields);
5472        }
5473
5474        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5475        public override int GetHashCode() {
5476          int hash = 1;
5477          if (HasStr) hash ^= Str.GetHashCode();
5478          if (_unknownFields != null) {
5479            hash ^= _unknownFields.GetHashCode();
5480          }
5481          return hash;
5482        }
5483
5484        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5485        public override string ToString() {
5486          return pb::JsonFormatter.ToDiagnosticString(this);
5487        }
5488
5489        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5490        public void WriteTo(pb::CodedOutputStream output) {
5491        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5492          output.WriteRawMessage(this);
5493        #else
5494          if (HasStr) {
5495            output.WriteRawTag(202, 1);
5496            output.WriteString(Str);
5497          }
5498          if (_unknownFields != null) {
5499            _unknownFields.WriteTo(output);
5500          }
5501        #endif
5502        }
5503
5504        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5505        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5506        void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
5507          if (HasStr) {
5508            output.WriteRawTag(202, 1);
5509            output.WriteString(Str);
5510          }
5511          if (_unknownFields != null) {
5512            _unknownFields.WriteTo(ref output);
5513          }
5514        }
5515        #endif
5516
5517        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5518        public int CalculateSize() {
5519          int size = 0;
5520          if (HasStr) {
5521            size += 2 + pb::CodedOutputStream.ComputeStringSize(Str);
5522          }
5523          if (_unknownFields != null) {
5524            size += _unknownFields.CalculateSize();
5525          }
5526          return size;
5527        }
5528
5529        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5530        public void MergeFrom(MessageSetCorrectExtension1 other) {
5531          if (other == null) {
5532            return;
5533          }
5534          if (other.HasStr) {
5535            Str = other.Str;
5536          }
5537          _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
5538        }
5539
5540        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5541        public void MergeFrom(pb::CodedInputStream input) {
5542        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5543          input.ReadRawMessage(this);
5544        #else
5545          uint tag;
5546          while ((tag = input.ReadTag()) != 0) {
5547            switch(tag) {
5548              default:
5549                _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
5550                break;
5551              case 202: {
5552                Str = input.ReadString();
5553                break;
5554              }
5555            }
5556          }
5557        #endif
5558        }
5559
5560        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5561        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5562        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
5563          uint tag;
5564          while ((tag = input.ReadTag()) != 0) {
5565            switch(tag) {
5566              default:
5567                _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
5568                break;
5569              case 202: {
5570                Str = input.ReadString();
5571                break;
5572              }
5573            }
5574          }
5575        }
5576        #endif
5577
5578        #region Extensions
5579        /// <summary>Container for extensions for other messages declared in the MessageSetCorrectExtension1 message type.</summary>
5580        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5581        public static partial class Extensions {
5582          public static readonly pb::Extension<global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.MessageSetCorrect, global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.MessageSetCorrectExtension1> MessageSetExtension =
5583            new pb::Extension<global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.MessageSetCorrect, global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.MessageSetCorrectExtension1>(1547769, pb::FieldCodec.ForMessage(12382154, global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.MessageSetCorrectExtension1.Parser));
5584        }
5585        #endregion
5586
5587      }
5588
5589      public sealed partial class MessageSetCorrectExtension2 : pb::IMessage<MessageSetCorrectExtension2>
5590      #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5591          , pb::IBufferMessage
5592      #endif
5593      {
5594        private static readonly pb::MessageParser<MessageSetCorrectExtension2> _parser = new pb::MessageParser<MessageSetCorrectExtension2>(() => new MessageSetCorrectExtension2());
5595        private pb::UnknownFieldSet _unknownFields;
5596        private int _hasBits0;
5597        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5598        public static pb::MessageParser<MessageSetCorrectExtension2> Parser { get { return _parser; } }
5599
5600        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5601        public static pbr::MessageDescriptor Descriptor {
5602          get { return global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Descriptor.NestedTypes[23]; }
5603        }
5604
5605        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5606        pbr::MessageDescriptor pb::IMessage.Descriptor {
5607          get { return Descriptor; }
5608        }
5609
5610        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5611        public MessageSetCorrectExtension2() {
5612          OnConstruction();
5613        }
5614
5615        partial void OnConstruction();
5616
5617        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5618        public MessageSetCorrectExtension2(MessageSetCorrectExtension2 other) : this() {
5619          _hasBits0 = other._hasBits0;
5620          i_ = other.i_;
5621          _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
5622        }
5623
5624        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5625        public MessageSetCorrectExtension2 Clone() {
5626          return new MessageSetCorrectExtension2(this);
5627        }
5628
5629        /// <summary>Field number for the "i" field.</summary>
5630        public const int IFieldNumber = 9;
5631        private readonly static int IDefaultValue = 0;
5632
5633        private int i_;
5634        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5635        public int I {
5636          get { if ((_hasBits0 & 1) != 0) { return i_; } else { return IDefaultValue; } }
5637          set {
5638            _hasBits0 |= 1;
5639            i_ = value;
5640          }
5641        }
5642        /// <summary>Gets whether the "i" field is set</summary>
5643        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5644        public bool HasI {
5645          get { return (_hasBits0 & 1) != 0; }
5646        }
5647        /// <summary>Clears the value of the "i" field</summary>
5648        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5649        public void ClearI() {
5650          _hasBits0 &= ~1;
5651        }
5652
5653        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5654        public override bool Equals(object other) {
5655          return Equals(other as MessageSetCorrectExtension2);
5656        }
5657
5658        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5659        public bool Equals(MessageSetCorrectExtension2 other) {
5660          if (ReferenceEquals(other, null)) {
5661            return false;
5662          }
5663          if (ReferenceEquals(other, this)) {
5664            return true;
5665          }
5666          if (I != other.I) return false;
5667          return Equals(_unknownFields, other._unknownFields);
5668        }
5669
5670        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5671        public override int GetHashCode() {
5672          int hash = 1;
5673          if (HasI) hash ^= I.GetHashCode();
5674          if (_unknownFields != null) {
5675            hash ^= _unknownFields.GetHashCode();
5676          }
5677          return hash;
5678        }
5679
5680        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5681        public override string ToString() {
5682          return pb::JsonFormatter.ToDiagnosticString(this);
5683        }
5684
5685        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5686        public void WriteTo(pb::CodedOutputStream output) {
5687        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5688          output.WriteRawMessage(this);
5689        #else
5690          if (HasI) {
5691            output.WriteRawTag(72);
5692            output.WriteInt32(I);
5693          }
5694          if (_unknownFields != null) {
5695            _unknownFields.WriteTo(output);
5696          }
5697        #endif
5698        }
5699
5700        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5701        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5702        void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
5703          if (HasI) {
5704            output.WriteRawTag(72);
5705            output.WriteInt32(I);
5706          }
5707          if (_unknownFields != null) {
5708            _unknownFields.WriteTo(ref output);
5709          }
5710        }
5711        #endif
5712
5713        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5714        public int CalculateSize() {
5715          int size = 0;
5716          if (HasI) {
5717            size += 1 + pb::CodedOutputStream.ComputeInt32Size(I);
5718          }
5719          if (_unknownFields != null) {
5720            size += _unknownFields.CalculateSize();
5721          }
5722          return size;
5723        }
5724
5725        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5726        public void MergeFrom(MessageSetCorrectExtension2 other) {
5727          if (other == null) {
5728            return;
5729          }
5730          if (other.HasI) {
5731            I = other.I;
5732          }
5733          _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
5734        }
5735
5736        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5737        public void MergeFrom(pb::CodedInputStream input) {
5738        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5739          input.ReadRawMessage(this);
5740        #else
5741          uint tag;
5742          while ((tag = input.ReadTag()) != 0) {
5743            switch(tag) {
5744              default:
5745                _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
5746                break;
5747              case 72: {
5748                I = input.ReadInt32();
5749                break;
5750              }
5751            }
5752          }
5753        #endif
5754        }
5755
5756        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5757        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5758        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
5759          uint tag;
5760          while ((tag = input.ReadTag()) != 0) {
5761            switch(tag) {
5762              default:
5763                _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
5764                break;
5765              case 72: {
5766                I = input.ReadInt32();
5767                break;
5768              }
5769            }
5770          }
5771        }
5772        #endif
5773
5774        #region Extensions
5775        /// <summary>Container for extensions for other messages declared in the MessageSetCorrectExtension2 message type.</summary>
5776        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5777        public static partial class Extensions {
5778          public static readonly pb::Extension<global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.MessageSetCorrect, global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.MessageSetCorrectExtension2> MessageSetExtension =
5779            new pb::Extension<global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.MessageSetCorrect, global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.MessageSetCorrectExtension2>(4135312, pb::FieldCodec.ForMessage(33082498, global::ProtobufTestMessages.Proto2.TestAllTypesProto2.Types.MessageSetCorrectExtension2.Parser));
5780        }
5781        #endregion
5782
5783      }
5784
5785    }
5786    #endregion
5787
5788  }
5789
5790  public sealed partial class ForeignMessageProto2 : pb::IMessage<ForeignMessageProto2>
5791  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5792      , pb::IBufferMessage
5793  #endif
5794  {
5795    private static readonly pb::MessageParser<ForeignMessageProto2> _parser = new pb::MessageParser<ForeignMessageProto2>(() => new ForeignMessageProto2());
5796    private pb::UnknownFieldSet _unknownFields;
5797    private int _hasBits0;
5798    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5799    public static pb::MessageParser<ForeignMessageProto2> Parser { get { return _parser; } }
5800
5801    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5802    public static pbr::MessageDescriptor Descriptor {
5803      get { return global::ProtobufTestMessages.Proto2.TestMessagesProto2Reflection.Descriptor.MessageTypes[1]; }
5804    }
5805
5806    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5807    pbr::MessageDescriptor pb::IMessage.Descriptor {
5808      get { return Descriptor; }
5809    }
5810
5811    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5812    public ForeignMessageProto2() {
5813      OnConstruction();
5814    }
5815
5816    partial void OnConstruction();
5817
5818    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5819    public ForeignMessageProto2(ForeignMessageProto2 other) : this() {
5820      _hasBits0 = other._hasBits0;
5821      c_ = other.c_;
5822      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
5823    }
5824
5825    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5826    public ForeignMessageProto2 Clone() {
5827      return new ForeignMessageProto2(this);
5828    }
5829
5830    /// <summary>Field number for the "c" field.</summary>
5831    public const int CFieldNumber = 1;
5832    private readonly static int CDefaultValue = 0;
5833
5834    private int c_;
5835    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5836    public int C {
5837      get { if ((_hasBits0 & 1) != 0) { return c_; } else { return CDefaultValue; } }
5838      set {
5839        _hasBits0 |= 1;
5840        c_ = value;
5841      }
5842    }
5843    /// <summary>Gets whether the "c" field is set</summary>
5844    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5845    public bool HasC {
5846      get { return (_hasBits0 & 1) != 0; }
5847    }
5848    /// <summary>Clears the value of the "c" field</summary>
5849    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5850    public void ClearC() {
5851      _hasBits0 &= ~1;
5852    }
5853
5854    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5855    public override bool Equals(object other) {
5856      return Equals(other as ForeignMessageProto2);
5857    }
5858
5859    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5860    public bool Equals(ForeignMessageProto2 other) {
5861      if (ReferenceEquals(other, null)) {
5862        return false;
5863      }
5864      if (ReferenceEquals(other, this)) {
5865        return true;
5866      }
5867      if (C != other.C) return false;
5868      return Equals(_unknownFields, other._unknownFields);
5869    }
5870
5871    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5872    public override int GetHashCode() {
5873      int hash = 1;
5874      if (HasC) hash ^= C.GetHashCode();
5875      if (_unknownFields != null) {
5876        hash ^= _unknownFields.GetHashCode();
5877      }
5878      return hash;
5879    }
5880
5881    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5882    public override string ToString() {
5883      return pb::JsonFormatter.ToDiagnosticString(this);
5884    }
5885
5886    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5887    public void WriteTo(pb::CodedOutputStream output) {
5888    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5889      output.WriteRawMessage(this);
5890    #else
5891      if (HasC) {
5892        output.WriteRawTag(8);
5893        output.WriteInt32(C);
5894      }
5895      if (_unknownFields != null) {
5896        _unknownFields.WriteTo(output);
5897      }
5898    #endif
5899    }
5900
5901    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5902    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5903    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
5904      if (HasC) {
5905        output.WriteRawTag(8);
5906        output.WriteInt32(C);
5907      }
5908      if (_unknownFields != null) {
5909        _unknownFields.WriteTo(ref output);
5910      }
5911    }
5912    #endif
5913
5914    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5915    public int CalculateSize() {
5916      int size = 0;
5917      if (HasC) {
5918        size += 1 + pb::CodedOutputStream.ComputeInt32Size(C);
5919      }
5920      if (_unknownFields != null) {
5921        size += _unknownFields.CalculateSize();
5922      }
5923      return size;
5924    }
5925
5926    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5927    public void MergeFrom(ForeignMessageProto2 other) {
5928      if (other == null) {
5929        return;
5930      }
5931      if (other.HasC) {
5932        C = other.C;
5933      }
5934      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
5935    }
5936
5937    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5938    public void MergeFrom(pb::CodedInputStream input) {
5939    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5940      input.ReadRawMessage(this);
5941    #else
5942      uint tag;
5943      while ((tag = input.ReadTag()) != 0) {
5944        switch(tag) {
5945          default:
5946            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
5947            break;
5948          case 8: {
5949            C = input.ReadInt32();
5950            break;
5951          }
5952        }
5953      }
5954    #endif
5955    }
5956
5957    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5958    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5959    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
5960      uint tag;
5961      while ((tag = input.ReadTag()) != 0) {
5962        switch(tag) {
5963          default:
5964            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
5965            break;
5966          case 8: {
5967            C = input.ReadInt32();
5968            break;
5969          }
5970        }
5971      }
5972    }
5973    #endif
5974
5975  }
5976
5977  public sealed partial class UnknownToTestAllTypes : pb::IMessage<UnknownToTestAllTypes>
5978  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
5979      , pb::IBufferMessage
5980  #endif
5981  {
5982    private static readonly pb::MessageParser<UnknownToTestAllTypes> _parser = new pb::MessageParser<UnknownToTestAllTypes>(() => new UnknownToTestAllTypes());
5983    private pb::UnknownFieldSet _unknownFields;
5984    private int _hasBits0;
5985    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5986    public static pb::MessageParser<UnknownToTestAllTypes> Parser { get { return _parser; } }
5987
5988    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5989    public static pbr::MessageDescriptor Descriptor {
5990      get { return global::ProtobufTestMessages.Proto2.TestMessagesProto2Reflection.Descriptor.MessageTypes[2]; }
5991    }
5992
5993    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5994    pbr::MessageDescriptor pb::IMessage.Descriptor {
5995      get { return Descriptor; }
5996    }
5997
5998    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
5999    public UnknownToTestAllTypes() {
6000      OnConstruction();
6001    }
6002
6003    partial void OnConstruction();
6004
6005    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6006    public UnknownToTestAllTypes(UnknownToTestAllTypes other) : this() {
6007      _hasBits0 = other._hasBits0;
6008      optionalInt32_ = other.optionalInt32_;
6009      optionalString_ = other.optionalString_;
6010      nestedMessage_ = other.nestedMessage_ != null ? other.nestedMessage_.Clone() : null;
6011      optionalGroup_ = other.HasOptionalGroup ? other.optionalGroup_.Clone() : null;
6012      optionalBool_ = other.optionalBool_;
6013      repeatedInt32_ = other.repeatedInt32_.Clone();
6014      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
6015    }
6016
6017    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6018    public UnknownToTestAllTypes Clone() {
6019      return new UnknownToTestAllTypes(this);
6020    }
6021
6022    /// <summary>Field number for the "optional_int32" field.</summary>
6023    public const int OptionalInt32FieldNumber = 1001;
6024    private readonly static int OptionalInt32DefaultValue = 0;
6025
6026    private int optionalInt32_;
6027    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6028    public int OptionalInt32 {
6029      get { if ((_hasBits0 & 1) != 0) { return optionalInt32_; } else { return OptionalInt32DefaultValue; } }
6030      set {
6031        _hasBits0 |= 1;
6032        optionalInt32_ = value;
6033      }
6034    }
6035    /// <summary>Gets whether the "optional_int32" field is set</summary>
6036    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6037    public bool HasOptionalInt32 {
6038      get { return (_hasBits0 & 1) != 0; }
6039    }
6040    /// <summary>Clears the value of the "optional_int32" field</summary>
6041    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6042    public void ClearOptionalInt32() {
6043      _hasBits0 &= ~1;
6044    }
6045
6046    /// <summary>Field number for the "optional_string" field.</summary>
6047    public const int OptionalStringFieldNumber = 1002;
6048    private readonly static string OptionalStringDefaultValue = "";
6049
6050    private string optionalString_;
6051    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6052    public string OptionalString {
6053      get { return optionalString_ ?? OptionalStringDefaultValue; }
6054      set {
6055        optionalString_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
6056      }
6057    }
6058    /// <summary>Gets whether the "optional_string" field is set</summary>
6059    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6060    public bool HasOptionalString {
6061      get { return optionalString_ != null; }
6062    }
6063    /// <summary>Clears the value of the "optional_string" field</summary>
6064    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6065    public void ClearOptionalString() {
6066      optionalString_ = null;
6067    }
6068
6069    /// <summary>Field number for the "nested_message" field.</summary>
6070    public const int NestedMessageFieldNumber = 1003;
6071    private global::ProtobufTestMessages.Proto2.ForeignMessageProto2 nestedMessage_;
6072    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6073    public global::ProtobufTestMessages.Proto2.ForeignMessageProto2 NestedMessage {
6074      get { return nestedMessage_; }
6075      set {
6076        nestedMessage_ = value;
6077      }
6078    }
6079
6080    /// <summary>Field number for the "optionalgroup" field.</summary>
6081    public const int OptionalGroupFieldNumber = 1004;
6082    private global::ProtobufTestMessages.Proto2.UnknownToTestAllTypes.Types.OptionalGroup optionalGroup_;
6083    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6084    public global::ProtobufTestMessages.Proto2.UnknownToTestAllTypes.Types.OptionalGroup OptionalGroup {
6085      get { return optionalGroup_; }
6086      set {
6087        optionalGroup_ = value;
6088      }
6089    }
6090    /// <summary>Gets whether the optionalgroup field is set</summary>
6091    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6092    public bool HasOptionalGroup {
6093      get { return optionalGroup_ != null; }
6094    }
6095    /// <summary>Clears the value of the optionalgroup field</summary>
6096    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6097    public void ClearOptionalGroup() {
6098      optionalGroup_ = null;
6099    }
6100
6101    /// <summary>Field number for the "optional_bool" field.</summary>
6102    public const int OptionalBoolFieldNumber = 1006;
6103    private readonly static bool OptionalBoolDefaultValue = false;
6104
6105    private bool optionalBool_;
6106    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6107    public bool OptionalBool {
6108      get { if ((_hasBits0 & 2) != 0) { return optionalBool_; } else { return OptionalBoolDefaultValue; } }
6109      set {
6110        _hasBits0 |= 2;
6111        optionalBool_ = value;
6112      }
6113    }
6114    /// <summary>Gets whether the "optional_bool" field is set</summary>
6115    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6116    public bool HasOptionalBool {
6117      get { return (_hasBits0 & 2) != 0; }
6118    }
6119    /// <summary>Clears the value of the "optional_bool" field</summary>
6120    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6121    public void ClearOptionalBool() {
6122      _hasBits0 &= ~2;
6123    }
6124
6125    /// <summary>Field number for the "repeated_int32" field.</summary>
6126    public const int RepeatedInt32FieldNumber = 1011;
6127    private static readonly pb::FieldCodec<int> _repeated_repeatedInt32_codec
6128        = pb::FieldCodec.ForInt32(8088);
6129    private readonly pbc::RepeatedField<int> repeatedInt32_ = new pbc::RepeatedField<int>();
6130    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6131    public pbc::RepeatedField<int> RepeatedInt32 {
6132      get { return repeatedInt32_; }
6133    }
6134
6135    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6136    public override bool Equals(object other) {
6137      return Equals(other as UnknownToTestAllTypes);
6138    }
6139
6140    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6141    public bool Equals(UnknownToTestAllTypes other) {
6142      if (ReferenceEquals(other, null)) {
6143        return false;
6144      }
6145      if (ReferenceEquals(other, this)) {
6146        return true;
6147      }
6148      if (OptionalInt32 != other.OptionalInt32) return false;
6149      if (OptionalString != other.OptionalString) return false;
6150      if (!object.Equals(NestedMessage, other.NestedMessage)) return false;
6151      if (!object.Equals(OptionalGroup, other.OptionalGroup)) return false;
6152      if (OptionalBool != other.OptionalBool) return false;
6153      if(!repeatedInt32_.Equals(other.repeatedInt32_)) return false;
6154      return Equals(_unknownFields, other._unknownFields);
6155    }
6156
6157    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6158    public override int GetHashCode() {
6159      int hash = 1;
6160      if (HasOptionalInt32) hash ^= OptionalInt32.GetHashCode();
6161      if (HasOptionalString) hash ^= OptionalString.GetHashCode();
6162      if (nestedMessage_ != null) hash ^= NestedMessage.GetHashCode();
6163      if (HasOptionalGroup) hash ^= OptionalGroup.GetHashCode();
6164      if (HasOptionalBool) hash ^= OptionalBool.GetHashCode();
6165      hash ^= repeatedInt32_.GetHashCode();
6166      if (_unknownFields != null) {
6167        hash ^= _unknownFields.GetHashCode();
6168      }
6169      return hash;
6170    }
6171
6172    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6173    public override string ToString() {
6174      return pb::JsonFormatter.ToDiagnosticString(this);
6175    }
6176
6177    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6178    public void WriteTo(pb::CodedOutputStream output) {
6179    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
6180      output.WriteRawMessage(this);
6181    #else
6182      if (HasOptionalInt32) {
6183        output.WriteRawTag(200, 62);
6184        output.WriteInt32(OptionalInt32);
6185      }
6186      if (HasOptionalString) {
6187        output.WriteRawTag(210, 62);
6188        output.WriteString(OptionalString);
6189      }
6190      if (nestedMessage_ != null) {
6191        output.WriteRawTag(218, 62);
6192        output.WriteMessage(NestedMessage);
6193      }
6194      if (HasOptionalGroup) {
6195        output.WriteRawTag(227, 62);
6196        output.WriteGroup(OptionalGroup);
6197        output.WriteRawTag(228, 62);
6198      }
6199      if (HasOptionalBool) {
6200        output.WriteRawTag(240, 62);
6201        output.WriteBool(OptionalBool);
6202      }
6203      repeatedInt32_.WriteTo(output, _repeated_repeatedInt32_codec);
6204      if (_unknownFields != null) {
6205        _unknownFields.WriteTo(output);
6206      }
6207    #endif
6208    }
6209
6210    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
6211    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6212    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
6213      if (HasOptionalInt32) {
6214        output.WriteRawTag(200, 62);
6215        output.WriteInt32(OptionalInt32);
6216      }
6217      if (HasOptionalString) {
6218        output.WriteRawTag(210, 62);
6219        output.WriteString(OptionalString);
6220      }
6221      if (nestedMessage_ != null) {
6222        output.WriteRawTag(218, 62);
6223        output.WriteMessage(NestedMessage);
6224      }
6225      if (HasOptionalGroup) {
6226        output.WriteRawTag(227, 62);
6227        output.WriteGroup(OptionalGroup);
6228        output.WriteRawTag(228, 62);
6229      }
6230      if (HasOptionalBool) {
6231        output.WriteRawTag(240, 62);
6232        output.WriteBool(OptionalBool);
6233      }
6234      repeatedInt32_.WriteTo(ref output, _repeated_repeatedInt32_codec);
6235      if (_unknownFields != null) {
6236        _unknownFields.WriteTo(ref output);
6237      }
6238    }
6239    #endif
6240
6241    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6242    public int CalculateSize() {
6243      int size = 0;
6244      if (HasOptionalInt32) {
6245        size += 2 + pb::CodedOutputStream.ComputeInt32Size(OptionalInt32);
6246      }
6247      if (HasOptionalString) {
6248        size += 2 + pb::CodedOutputStream.ComputeStringSize(OptionalString);
6249      }
6250      if (nestedMessage_ != null) {
6251        size += 2 + pb::CodedOutputStream.ComputeMessageSize(NestedMessage);
6252      }
6253      if (HasOptionalGroup) {
6254        size += 4 + pb::CodedOutputStream.ComputeGroupSize(OptionalGroup);
6255      }
6256      if (HasOptionalBool) {
6257        size += 2 + 1;
6258      }
6259      size += repeatedInt32_.CalculateSize(_repeated_repeatedInt32_codec);
6260      if (_unknownFields != null) {
6261        size += _unknownFields.CalculateSize();
6262      }
6263      return size;
6264    }
6265
6266    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6267    public void MergeFrom(UnknownToTestAllTypes other) {
6268      if (other == null) {
6269        return;
6270      }
6271      if (other.HasOptionalInt32) {
6272        OptionalInt32 = other.OptionalInt32;
6273      }
6274      if (other.HasOptionalString) {
6275        OptionalString = other.OptionalString;
6276      }
6277      if (other.nestedMessage_ != null) {
6278        if (nestedMessage_ == null) {
6279          NestedMessage = new global::ProtobufTestMessages.Proto2.ForeignMessageProto2();
6280        }
6281        NestedMessage.MergeFrom(other.NestedMessage);
6282      }
6283      if (other.HasOptionalGroup) {
6284        if (!HasOptionalGroup) {
6285          OptionalGroup = new global::ProtobufTestMessages.Proto2.UnknownToTestAllTypes.Types.OptionalGroup();
6286        }
6287        OptionalGroup.MergeFrom(other.OptionalGroup);
6288      }
6289      if (other.HasOptionalBool) {
6290        OptionalBool = other.OptionalBool;
6291      }
6292      repeatedInt32_.Add(other.repeatedInt32_);
6293      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
6294    }
6295
6296    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6297    public void MergeFrom(pb::CodedInputStream input) {
6298    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
6299      input.ReadRawMessage(this);
6300    #else
6301      uint tag;
6302      while ((tag = input.ReadTag()) != 0) {
6303        switch(tag) {
6304          default:
6305            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
6306            break;
6307          case 8008: {
6308            OptionalInt32 = input.ReadInt32();
6309            break;
6310          }
6311          case 8018: {
6312            OptionalString = input.ReadString();
6313            break;
6314          }
6315          case 8026: {
6316            if (nestedMessage_ == null) {
6317              NestedMessage = new global::ProtobufTestMessages.Proto2.ForeignMessageProto2();
6318            }
6319            input.ReadMessage(NestedMessage);
6320            break;
6321          }
6322          case 8035: {
6323            if (!HasOptionalGroup) {
6324              OptionalGroup = new global::ProtobufTestMessages.Proto2.UnknownToTestAllTypes.Types.OptionalGroup();
6325            }
6326            input.ReadGroup(OptionalGroup);
6327            break;
6328          }
6329          case 8048: {
6330            OptionalBool = input.ReadBool();
6331            break;
6332          }
6333          case 8090:
6334          case 8088: {
6335            repeatedInt32_.AddEntriesFrom(input, _repeated_repeatedInt32_codec);
6336            break;
6337          }
6338        }
6339      }
6340    #endif
6341    }
6342
6343    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
6344    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6345    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
6346      uint tag;
6347      while ((tag = input.ReadTag()) != 0) {
6348        switch(tag) {
6349          default:
6350            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
6351            break;
6352          case 8008: {
6353            OptionalInt32 = input.ReadInt32();
6354            break;
6355          }
6356          case 8018: {
6357            OptionalString = input.ReadString();
6358            break;
6359          }
6360          case 8026: {
6361            if (nestedMessage_ == null) {
6362              NestedMessage = new global::ProtobufTestMessages.Proto2.ForeignMessageProto2();
6363            }
6364            input.ReadMessage(NestedMessage);
6365            break;
6366          }
6367          case 8035: {
6368            if (!HasOptionalGroup) {
6369              OptionalGroup = new global::ProtobufTestMessages.Proto2.UnknownToTestAllTypes.Types.OptionalGroup();
6370            }
6371            input.ReadGroup(OptionalGroup);
6372            break;
6373          }
6374          case 8048: {
6375            OptionalBool = input.ReadBool();
6376            break;
6377          }
6378          case 8090:
6379          case 8088: {
6380            repeatedInt32_.AddEntriesFrom(ref input, _repeated_repeatedInt32_codec);
6381            break;
6382          }
6383        }
6384      }
6385    }
6386    #endif
6387
6388    #region Nested types
6389    /// <summary>Container for nested types declared in the UnknownToTestAllTypes message type.</summary>
6390    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6391    public static partial class Types {
6392      public sealed partial class OptionalGroup : pb::IMessage<OptionalGroup>
6393      #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
6394          , pb::IBufferMessage
6395      #endif
6396      {
6397        private static readonly pb::MessageParser<OptionalGroup> _parser = new pb::MessageParser<OptionalGroup>(() => new OptionalGroup());
6398        private pb::UnknownFieldSet _unknownFields;
6399        private int _hasBits0;
6400        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6401        public static pb::MessageParser<OptionalGroup> Parser { get { return _parser; } }
6402
6403        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6404        public static pbr::MessageDescriptor Descriptor {
6405          get { return global::ProtobufTestMessages.Proto2.UnknownToTestAllTypes.Descriptor.NestedTypes[0]; }
6406        }
6407
6408        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6409        pbr::MessageDescriptor pb::IMessage.Descriptor {
6410          get { return Descriptor; }
6411        }
6412
6413        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6414        public OptionalGroup() {
6415          OnConstruction();
6416        }
6417
6418        partial void OnConstruction();
6419
6420        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6421        public OptionalGroup(OptionalGroup other) : this() {
6422          _hasBits0 = other._hasBits0;
6423          a_ = other.a_;
6424          _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
6425        }
6426
6427        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6428        public OptionalGroup Clone() {
6429          return new OptionalGroup(this);
6430        }
6431
6432        /// <summary>Field number for the "a" field.</summary>
6433        public const int AFieldNumber = 1;
6434        private readonly static int ADefaultValue = 0;
6435
6436        private int a_;
6437        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6438        public int A {
6439          get { if ((_hasBits0 & 1) != 0) { return a_; } else { return ADefaultValue; } }
6440          set {
6441            _hasBits0 |= 1;
6442            a_ = value;
6443          }
6444        }
6445        /// <summary>Gets whether the "a" field is set</summary>
6446        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6447        public bool HasA {
6448          get { return (_hasBits0 & 1) != 0; }
6449        }
6450        /// <summary>Clears the value of the "a" field</summary>
6451        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6452        public void ClearA() {
6453          _hasBits0 &= ~1;
6454        }
6455
6456        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6457        public override bool Equals(object other) {
6458          return Equals(other as OptionalGroup);
6459        }
6460
6461        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6462        public bool Equals(OptionalGroup other) {
6463          if (ReferenceEquals(other, null)) {
6464            return false;
6465          }
6466          if (ReferenceEquals(other, this)) {
6467            return true;
6468          }
6469          if (A != other.A) return false;
6470          return Equals(_unknownFields, other._unknownFields);
6471        }
6472
6473        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6474        public override int GetHashCode() {
6475          int hash = 1;
6476          if (HasA) hash ^= A.GetHashCode();
6477          if (_unknownFields != null) {
6478            hash ^= _unknownFields.GetHashCode();
6479          }
6480          return hash;
6481        }
6482
6483        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6484        public override string ToString() {
6485          return pb::JsonFormatter.ToDiagnosticString(this);
6486        }
6487
6488        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6489        public void WriteTo(pb::CodedOutputStream output) {
6490        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
6491          output.WriteRawMessage(this);
6492        #else
6493          if (HasA) {
6494            output.WriteRawTag(8);
6495            output.WriteInt32(A);
6496          }
6497          if (_unknownFields != null) {
6498            _unknownFields.WriteTo(output);
6499          }
6500        #endif
6501        }
6502
6503        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
6504        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6505        void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
6506          if (HasA) {
6507            output.WriteRawTag(8);
6508            output.WriteInt32(A);
6509          }
6510          if (_unknownFields != null) {
6511            _unknownFields.WriteTo(ref output);
6512          }
6513        }
6514        #endif
6515
6516        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6517        public int CalculateSize() {
6518          int size = 0;
6519          if (HasA) {
6520            size += 1 + pb::CodedOutputStream.ComputeInt32Size(A);
6521          }
6522          if (_unknownFields != null) {
6523            size += _unknownFields.CalculateSize();
6524          }
6525          return size;
6526        }
6527
6528        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6529        public void MergeFrom(OptionalGroup other) {
6530          if (other == null) {
6531            return;
6532          }
6533          if (other.HasA) {
6534            A = other.A;
6535          }
6536          _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
6537        }
6538
6539        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6540        public void MergeFrom(pb::CodedInputStream input) {
6541        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
6542          input.ReadRawMessage(this);
6543        #else
6544          uint tag;
6545          while ((tag = input.ReadTag()) != 0) {
6546            switch(tag) {
6547              case 8036:
6548                return;
6549              default:
6550                _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
6551                break;
6552              case 8: {
6553                A = input.ReadInt32();
6554                break;
6555              }
6556            }
6557          }
6558        #endif
6559        }
6560
6561        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
6562        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
6563        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
6564          uint tag;
6565          while ((tag = input.ReadTag()) != 0) {
6566            switch(tag) {
6567              case 8036:
6568                return;
6569              default:
6570                _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
6571                break;
6572              case 8: {
6573                A = input.ReadInt32();
6574                break;
6575              }
6576            }
6577          }
6578        }
6579        #endif
6580
6581      }
6582
6583    }
6584    #endregion
6585
6586  }
6587
6588  #endregion
6589
6590}
6591
6592#endregion Designer generated code
6593