Home | History | Annotate | Download | only in Google.Protobuf.Conformance
      1 // Generated by the protocol buffer compiler.  DO NOT EDIT!
      2 // source: conformance.proto
      3 #pragma warning disable 1591, 0612, 3021
      4 #region Designer generated code
      5 
      6 using pb = global::Google.Protobuf;
      7 using pbc = global::Google.Protobuf.Collections;
      8 using pbr = global::Google.Protobuf.Reflection;
      9 using scg = global::System.Collections.Generic;
     10 namespace Conformance {
     11 
     12   /// <summary>Holder for reflection information generated from conformance.proto</summary>
     13   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     14   public static partial class ConformanceReflection {
     15 
     16     #region Descriptor
     17     /// <summary>File descriptor for conformance.proto</summary>
     18     public static pbr::FileDescriptor Descriptor {
     19       get { return descriptor; }
     20     }
     21     private static pbr::FileDescriptor descriptor;
     22 
     23     static ConformanceReflection() {
     24       byte[] descriptorData = global::System.Convert.FromBase64String(
     25           string.Concat(
     26             "ChFjb25mb3JtYW5jZS5wcm90bxILY29uZm9ybWFuY2UaGWdvb2dsZS9wcm90",
     27             "b2J1Zi9hbnkucHJvdG8aHmdvb2dsZS9wcm90b2J1Zi9kdXJhdGlvbi5wcm90",
     28             "bxogZ29vZ2xlL3Byb3RvYnVmL2ZpZWxkX21hc2sucHJvdG8aHGdvb2dsZS9w",
     29             "cm90b2J1Zi9zdHJ1Y3QucHJvdG8aH2dvb2dsZS9wcm90b2J1Zi90aW1lc3Rh",
     30             "bXAucHJvdG8aHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90byKNAQoS",
     31             "Q29uZm9ybWFuY2VSZXF1ZXN0EhoKEHByb3RvYnVmX3BheWxvYWQYASABKAxI",
     32             "ABIWCgxqc29uX3BheWxvYWQYAiABKAlIABI4ChdyZXF1ZXN0ZWRfb3V0cHV0",
     33             "X2Zvcm1hdBgDIAEoDjIXLmNvbmZvcm1hbmNlLldpcmVGb3JtYXRCCQoHcGF5",
     34             "bG9hZCKxAQoTQ29uZm9ybWFuY2VSZXNwb25zZRIVCgtwYXJzZV9lcnJvchgB",
     35             "IAEoCUgAEhkKD3NlcmlhbGl6ZV9lcnJvchgGIAEoCUgAEhcKDXJ1bnRpbWVf",
     36             "ZXJyb3IYAiABKAlIABIaChBwcm90b2J1Zl9wYXlsb2FkGAMgASgMSAASFgoM",
     37             "anNvbl9wYXlsb2FkGAQgASgJSAASEQoHc2tpcHBlZBgFIAEoCUgAQggKBnJl",
     38             "c3VsdCLVMgoMVGVzdEFsbFR5cGVzEhYKDm9wdGlvbmFsX2ludDMyGAEgASgF",
     39             "EhYKDm9wdGlvbmFsX2ludDY0GAIgASgDEhcKD29wdGlvbmFsX3VpbnQzMhgD",
     40             "IAEoDRIXCg9vcHRpb25hbF91aW50NjQYBCABKAQSFwoPb3B0aW9uYWxfc2lu",
     41             "dDMyGAUgASgREhcKD29wdGlvbmFsX3NpbnQ2NBgGIAEoEhIYChBvcHRpb25h",
     42             "bF9maXhlZDMyGAcgASgHEhgKEG9wdGlvbmFsX2ZpeGVkNjQYCCABKAYSGQoR",
     43             "b3B0aW9uYWxfc2ZpeGVkMzIYCSABKA8SGQoRb3B0aW9uYWxfc2ZpeGVkNjQY",
     44             "CiABKBASFgoOb3B0aW9uYWxfZmxvYXQYCyABKAISFwoPb3B0aW9uYWxfZG91",
     45             "YmxlGAwgASgBEhUKDW9wdGlvbmFsX2Jvb2wYDSABKAgSFwoPb3B0aW9uYWxf",
     46             "c3RyaW5nGA4gASgJEhYKDm9wdGlvbmFsX2J5dGVzGA8gASgMEkgKF29wdGlv",
     47             "bmFsX25lc3RlZF9tZXNzYWdlGBIgASgLMicuY29uZm9ybWFuY2UuVGVzdEFs",
     48             "bFR5cGVzLk5lc3RlZE1lc3NhZ2USPQoYb3B0aW9uYWxfZm9yZWlnbl9tZXNz",
     49             "YWdlGBMgASgLMhsuY29uZm9ybWFuY2UuRm9yZWlnbk1lc3NhZ2USQgoUb3B0",
     50             "aW9uYWxfbmVzdGVkX2VudW0YFSABKA4yJC5jb25mb3JtYW5jZS5UZXN0QWxs",
     51             "VHlwZXMuTmVzdGVkRW51bRI3ChVvcHRpb25hbF9mb3JlaWduX2VudW0YFiAB",
     52             "KA4yGC5jb25mb3JtYW5jZS5Gb3JlaWduRW51bRIhChVvcHRpb25hbF9zdHJp",
     53             "bmdfcGllY2UYGCABKAlCAggCEhkKDW9wdGlvbmFsX2NvcmQYGSABKAlCAggB",
     54             "EjQKEXJlY3Vyc2l2ZV9tZXNzYWdlGBsgASgLMhkuY29uZm9ybWFuY2UuVGVz",
     55             "dEFsbFR5cGVzEhYKDnJlcGVhdGVkX2ludDMyGB8gAygFEhYKDnJlcGVhdGVk",
     56             "X2ludDY0GCAgAygDEhcKD3JlcGVhdGVkX3VpbnQzMhghIAMoDRIXCg9yZXBl",
     57             "YXRlZF91aW50NjQYIiADKAQSFwoPcmVwZWF0ZWRfc2ludDMyGCMgAygREhcK",
     58             "D3JlcGVhdGVkX3NpbnQ2NBgkIAMoEhIYChByZXBlYXRlZF9maXhlZDMyGCUg",
     59             "AygHEhgKEHJlcGVhdGVkX2ZpeGVkNjQYJiADKAYSGQoRcmVwZWF0ZWRfc2Zp",
     60             "eGVkMzIYJyADKA8SGQoRcmVwZWF0ZWRfc2ZpeGVkNjQYKCADKBASFgoOcmVw",
     61             "ZWF0ZWRfZmxvYXQYKSADKAISFwoPcmVwZWF0ZWRfZG91YmxlGCogAygBEhUK",
     62             "DXJlcGVhdGVkX2Jvb2wYKyADKAgSFwoPcmVwZWF0ZWRfc3RyaW5nGCwgAygJ",
     63             "EhYKDnJlcGVhdGVkX2J5dGVzGC0gAygMEkgKF3JlcGVhdGVkX25lc3RlZF9t",
     64             "ZXNzYWdlGDAgAygLMicuY29uZm9ybWFuY2UuVGVzdEFsbFR5cGVzLk5lc3Rl",
     65             "ZE1lc3NhZ2USPQoYcmVwZWF0ZWRfZm9yZWlnbl9tZXNzYWdlGDEgAygLMhsu",
     66             "Y29uZm9ybWFuY2UuRm9yZWlnbk1lc3NhZ2USQgoUcmVwZWF0ZWRfbmVzdGVk",
     67             "X2VudW0YMyADKA4yJC5jb25mb3JtYW5jZS5UZXN0QWxsVHlwZXMuTmVzdGVk",
     68             "RW51bRI3ChVyZXBlYXRlZF9mb3JlaWduX2VudW0YNCADKA4yGC5jb25mb3Jt",
     69             "YW5jZS5Gb3JlaWduRW51bRIhChVyZXBlYXRlZF9zdHJpbmdfcGllY2UYNiAD",
     70             "KAlCAggCEhkKDXJlcGVhdGVkX2NvcmQYNyADKAlCAggBEkUKD21hcF9pbnQz",
     71             "Ml9pbnQzMhg4IAMoCzIsLmNvbmZvcm1hbmNlLlRlc3RBbGxUeXBlcy5NYXBJ",
     72             "bnQzMkludDMyRW50cnkSRQoPbWFwX2ludDY0X2ludDY0GDkgAygLMiwuY29u",
     73             "Zm9ybWFuY2UuVGVzdEFsbFR5cGVzLk1hcEludDY0SW50NjRFbnRyeRJJChFt",
     74             "YXBfdWludDMyX3VpbnQzMhg6IAMoCzIuLmNvbmZvcm1hbmNlLlRlc3RBbGxU",
     75             "eXBlcy5NYXBVaW50MzJVaW50MzJFbnRyeRJJChFtYXBfdWludDY0X3VpbnQ2",
     76             "NBg7IAMoCzIuLmNvbmZvcm1hbmNlLlRlc3RBbGxUeXBlcy5NYXBVaW50NjRV",
     77             "aW50NjRFbnRyeRJJChFtYXBfc2ludDMyX3NpbnQzMhg8IAMoCzIuLmNvbmZv",
     78             "cm1hbmNlLlRlc3RBbGxUeXBlcy5NYXBTaW50MzJTaW50MzJFbnRyeRJJChFt",
     79             "YXBfc2ludDY0X3NpbnQ2NBg9IAMoCzIuLmNvbmZvcm1hbmNlLlRlc3RBbGxU",
     80             "eXBlcy5NYXBTaW50NjRTaW50NjRFbnRyeRJNChNtYXBfZml4ZWQzMl9maXhl",
     81             "ZDMyGD4gAygLMjAuY29uZm9ybWFuY2UuVGVzdEFsbFR5cGVzLk1hcEZpeGVk",
     82             "MzJGaXhlZDMyRW50cnkSTQoTbWFwX2ZpeGVkNjRfZml4ZWQ2NBg/IAMoCzIw",
     83             "LmNvbmZvcm1hbmNlLlRlc3RBbGxUeXBlcy5NYXBGaXhlZDY0Rml4ZWQ2NEVu",
     84             "dHJ5ElEKFW1hcF9zZml4ZWQzMl9zZml4ZWQzMhhAIAMoCzIyLmNvbmZvcm1h",
     85             "bmNlLlRlc3RBbGxUeXBlcy5NYXBTZml4ZWQzMlNmaXhlZDMyRW50cnkSUQoV",
     86             "bWFwX3NmaXhlZDY0X3NmaXhlZDY0GEEgAygLMjIuY29uZm9ybWFuY2UuVGVz",
     87             "dEFsbFR5cGVzLk1hcFNmaXhlZDY0U2ZpeGVkNjRFbnRyeRJFCg9tYXBfaW50",
     88             "MzJfZmxvYXQYQiADKAsyLC5jb25mb3JtYW5jZS5UZXN0QWxsVHlwZXMuTWFw",
     89             "SW50MzJGbG9hdEVudHJ5EkcKEG1hcF9pbnQzMl9kb3VibGUYQyADKAsyLS5j",
     90             "b25mb3JtYW5jZS5UZXN0QWxsVHlwZXMuTWFwSW50MzJEb3VibGVFbnRyeRJB",
     91             "Cg1tYXBfYm9vbF9ib29sGEQgAygLMiouY29uZm9ybWFuY2UuVGVzdEFsbFR5",
     92             "cGVzLk1hcEJvb2xCb29sRW50cnkSSQoRbWFwX3N0cmluZ19zdHJpbmcYRSAD",
     93             "KAsyLi5jb25mb3JtYW5jZS5UZXN0QWxsVHlwZXMuTWFwU3RyaW5nU3RyaW5n",
     94             "RW50cnkSRwoQbWFwX3N0cmluZ19ieXRlcxhGIAMoCzItLmNvbmZvcm1hbmNl",
     95             "LlRlc3RBbGxUeXBlcy5NYXBTdHJpbmdCeXRlc0VudHJ5ElgKGW1hcF9zdHJp",
     96             "bmdfbmVzdGVkX21lc3NhZ2UYRyADKAsyNS5jb25mb3JtYW5jZS5UZXN0QWxs",
     97             "VHlwZXMuTWFwU3RyaW5nTmVzdGVkTWVzc2FnZUVudHJ5EloKGm1hcF9zdHJp",
     98             "bmdfZm9yZWlnbl9tZXNzYWdlGEggAygLMjYuY29uZm9ybWFuY2UuVGVzdEFs",
     99             "bFR5cGVzLk1hcFN0cmluZ0ZvcmVpZ25NZXNzYWdlRW50cnkSUgoWbWFwX3N0",
    100             "cmluZ19uZXN0ZWRfZW51bRhJIAMoCzIyLmNvbmZvcm1hbmNlLlRlc3RBbGxU",
    101             "eXBlcy5NYXBTdHJpbmdOZXN0ZWRFbnVtRW50cnkSVAoXbWFwX3N0cmluZ19m",
    102             "b3JlaWduX2VudW0YSiADKAsyMy5jb25mb3JtYW5jZS5UZXN0QWxsVHlwZXMu",
    103             "TWFwU3RyaW5nRm9yZWlnbkVudW1FbnRyeRIWCgxvbmVvZl91aW50MzIYbyAB",
    104             "KA1IABJHChRvbmVvZl9uZXN0ZWRfbWVzc2FnZRhwIAEoCzInLmNvbmZvcm1h",
    105             "bmNlLlRlc3RBbGxUeXBlcy5OZXN0ZWRNZXNzYWdlSAASFgoMb25lb2Zfc3Ry",
    106             "aW5nGHEgASgJSAASFQoLb25lb2ZfYnl0ZXMYciABKAxIABI6ChVvcHRpb25h",
    107             "bF9ib29sX3dyYXBwZXIYyQEgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xW",
    108             "YWx1ZRI8ChZvcHRpb25hbF9pbnQzMl93cmFwcGVyGMoBIAEoCzIbLmdvb2ds",
    109             "ZS5wcm90b2J1Zi5JbnQzMlZhbHVlEjwKFm9wdGlvbmFsX2ludDY0X3dyYXBw",
    110             "ZXIYywEgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDY0VmFsdWUSPgoXb3B0",
    111             "aW9uYWxfdWludDMyX3dyYXBwZXIYzAEgASgLMhwuZ29vZ2xlLnByb3RvYnVm",
    112             "LlVJbnQzMlZhbHVlEj4KF29wdGlvbmFsX3VpbnQ2NF93cmFwcGVyGM0BIAEo",
    113             "CzIcLmdvb2dsZS5wcm90b2J1Zi5VSW50NjRWYWx1ZRI8ChZvcHRpb25hbF9m",
    114             "bG9hdF93cmFwcGVyGM4BIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GbG9hdFZh",
    115             "bHVlEj4KF29wdGlvbmFsX2RvdWJsZV93cmFwcGVyGM8BIAEoCzIcLmdvb2ds",
    116             "ZS5wcm90b2J1Zi5Eb3VibGVWYWx1ZRI+ChdvcHRpb25hbF9zdHJpbmdfd3Jh",
    117             "cHBlchjQASABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWUSPAoW",
    118             "b3B0aW9uYWxfYnl0ZXNfd3JhcHBlchjRASABKAsyGy5nb29nbGUucHJvdG9i",
    119             "dWYuQnl0ZXNWYWx1ZRI6ChVyZXBlYXRlZF9ib29sX3dyYXBwZXIY0wEgAygL",
    120             "MhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZRI8ChZyZXBlYXRlZF9pbnQz",
    121             "Ml93cmFwcGVyGNQBIAMoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVl",
    122             "EjwKFnJlcGVhdGVkX2ludDY0X3dyYXBwZXIY1QEgAygLMhsuZ29vZ2xlLnBy",
    123             "b3RvYnVmLkludDY0VmFsdWUSPgoXcmVwZWF0ZWRfdWludDMyX3dyYXBwZXIY",
    124             "1gEgAygLMhwuZ29vZ2xlLnByb3RvYnVmLlVJbnQzMlZhbHVlEj4KF3JlcGVh",
    125             "dGVkX3VpbnQ2NF93cmFwcGVyGNcBIAMoCzIcLmdvb2dsZS5wcm90b2J1Zi5V",
    126             "SW50NjRWYWx1ZRI8ChZyZXBlYXRlZF9mbG9hdF93cmFwcGVyGNgBIAMoCzIb",
    127             "Lmdvb2dsZS5wcm90b2J1Zi5GbG9hdFZhbHVlEj4KF3JlcGVhdGVkX2RvdWJs",
    128             "ZV93cmFwcGVyGNkBIAMoCzIcLmdvb2dsZS5wcm90b2J1Zi5Eb3VibGVWYWx1",
    129             "ZRI+ChdyZXBlYXRlZF9zdHJpbmdfd3JhcHBlchjaASADKAsyHC5nb29nbGUu",
    130             "cHJvdG9idWYuU3RyaW5nVmFsdWUSPAoWcmVwZWF0ZWRfYnl0ZXNfd3JhcHBl",
    131             "chjbASADKAsyGy5nb29nbGUucHJvdG9idWYuQnl0ZXNWYWx1ZRI1ChFvcHRp",
    132             "b25hbF9kdXJhdGlvbhitAiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRp",
    133             "b24SNwoSb3B0aW9uYWxfdGltZXN0YW1wGK4CIAEoCzIaLmdvb2dsZS5wcm90",
    134             "b2J1Zi5UaW1lc3RhbXASOAoTb3B0aW9uYWxfZmllbGRfbWFzaxivAiABKAsy",
    135             "Gi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrEjEKD29wdGlvbmFsX3N0cnVj",
    136             "dBiwAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EisKDG9wdGlvbmFs",
    137             "X2FueRixAiABKAsyFC5nb29nbGUucHJvdG9idWYuQW55Ei8KDm9wdGlvbmFs",
    138             "X3ZhbHVlGLICIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRI1ChFyZXBl",
    139             "YXRlZF9kdXJhdGlvbhi3AiADKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRp",
    140             "b24SNwoScmVwZWF0ZWRfdGltZXN0YW1wGLgCIAMoCzIaLmdvb2dsZS5wcm90",
    141             "b2J1Zi5UaW1lc3RhbXASNwoScmVwZWF0ZWRfZmllbGRtYXNrGLkCIAMoCzIa",
    142             "Lmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2sSMQoPcmVwZWF0ZWRfc3RydWN0",
    143             "GMQCIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKwoMcmVwZWF0ZWRf",
    144             "YW55GLsCIAMoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnkSLwoOcmVwZWF0ZWRf",
    145             "dmFsdWUYvAIgAygLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhMKCmZpZWxk",
    146             "bmFtZTEYkQMgASgFEhQKC2ZpZWxkX25hbWUyGJIDIAEoBRIVCgxfZmllbGRf",
    147             "bmFtZTMYkwMgASgFEhYKDWZpZWxkX19uYW1lNF8YlAMgASgFEhQKC2ZpZWxk",
    148             "MG5hbWU1GJUDIAEoBRIWCg1maWVsZF8wX25hbWU2GJYDIAEoBRITCgpmaWVs",
    149             "ZE5hbWU3GJcDIAEoBRITCgpGaWVsZE5hbWU4GJgDIAEoBRIUCgtmaWVsZF9O",
    150             "YW1lORiZAyABKAUSFQoMRmllbGRfTmFtZTEwGJoDIAEoBRIVCgxGSUVMRF9O",
    151             "QU1FMTEYmwMgASgFEhUKDEZJRUxEX25hbWUxMhicAyABKAUaSgoNTmVzdGVk",
    152             "TWVzc2FnZRIJCgFhGAEgASgFEi4KC2NvcmVjdXJzaXZlGAIgASgLMhkuY29u",
    153             "Zm9ybWFuY2UuVGVzdEFsbFR5cGVzGjQKEk1hcEludDMySW50MzJFbnRyeRIL",
    154             "CgNrZXkYASABKAUSDQoFdmFsdWUYAiABKAU6AjgBGjQKEk1hcEludDY0SW50",
    155             "NjRFbnRyeRILCgNrZXkYASABKAMSDQoFdmFsdWUYAiABKAM6AjgBGjYKFE1h",
    156             "cFVpbnQzMlVpbnQzMkVudHJ5EgsKA2tleRgBIAEoDRINCgV2YWx1ZRgCIAEo",
    157             "DToCOAEaNgoUTWFwVWludDY0VWludDY0RW50cnkSCwoDa2V5GAEgASgEEg0K",
    158             "BXZhbHVlGAIgASgEOgI4ARo2ChRNYXBTaW50MzJTaW50MzJFbnRyeRILCgNr",
    159             "ZXkYASABKBESDQoFdmFsdWUYAiABKBE6AjgBGjYKFE1hcFNpbnQ2NFNpbnQ2",
    160             "NEVudHJ5EgsKA2tleRgBIAEoEhINCgV2YWx1ZRgCIAEoEjoCOAEaOAoWTWFw",
    161             "Rml4ZWQzMkZpeGVkMzJFbnRyeRILCgNrZXkYASABKAcSDQoFdmFsdWUYAiAB",
    162             "KAc6AjgBGjgKFk1hcEZpeGVkNjRGaXhlZDY0RW50cnkSCwoDa2V5GAEgASgG",
    163             "Eg0KBXZhbHVlGAIgASgGOgI4ARo6ChhNYXBTZml4ZWQzMlNmaXhlZDMyRW50",
    164             "cnkSCwoDa2V5GAEgASgPEg0KBXZhbHVlGAIgASgPOgI4ARo6ChhNYXBTZml4",
    165             "ZWQ2NFNmaXhlZDY0RW50cnkSCwoDa2V5GAEgASgQEg0KBXZhbHVlGAIgASgQ",
    166             "OgI4ARo0ChJNYXBJbnQzMkZsb2F0RW50cnkSCwoDa2V5GAEgASgFEg0KBXZh",
    167             "bHVlGAIgASgCOgI4ARo1ChNNYXBJbnQzMkRvdWJsZUVudHJ5EgsKA2tleRgB",
    168             "IAEoBRINCgV2YWx1ZRgCIAEoAToCOAEaMgoQTWFwQm9vbEJvb2xFbnRyeRIL",
    169             "CgNrZXkYASABKAgSDQoFdmFsdWUYAiABKAg6AjgBGjYKFE1hcFN0cmluZ1N0",
    170             "cmluZ0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaNQoT",
    171             "TWFwU3RyaW5nQnl0ZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiAB",
    172             "KAw6AjgBGmYKG01hcFN0cmluZ05lc3RlZE1lc3NhZ2VFbnRyeRILCgNrZXkY",
    173             "ASABKAkSNgoFdmFsdWUYAiABKAsyJy5jb25mb3JtYW5jZS5UZXN0QWxsVHlw",
    174             "ZXMuTmVzdGVkTWVzc2FnZToCOAEaWwocTWFwU3RyaW5nRm9yZWlnbk1lc3Nh",
    175             "Z2VFbnRyeRILCgNrZXkYASABKAkSKgoFdmFsdWUYAiABKAsyGy5jb25mb3Jt",
    176             "YW5jZS5Gb3JlaWduTWVzc2FnZToCOAEaYAoYTWFwU3RyaW5nTmVzdGVkRW51",
    177             "bUVudHJ5EgsKA2tleRgBIAEoCRIzCgV2YWx1ZRgCIAEoDjIkLmNvbmZvcm1h",
    178             "bmNlLlRlc3RBbGxUeXBlcy5OZXN0ZWRFbnVtOgI4ARpVChlNYXBTdHJpbmdG",
    179             "b3JlaWduRW51bUVudHJ5EgsKA2tleRgBIAEoCRInCgV2YWx1ZRgCIAEoDjIY",
    180             "LmNvbmZvcm1hbmNlLkZvcmVpZ25FbnVtOgI4ASI5CgpOZXN0ZWRFbnVtEgcK",
    181             "A0ZPTxAAEgcKA0JBUhABEgcKA0JBWhACEhAKA05FRxD///////////8BQg0K",
    182             "C29uZW9mX2ZpZWxkIhsKDkZvcmVpZ25NZXNzYWdlEgkKAWMYASABKAUqNQoK",
    183             "V2lyZUZvcm1hdBIPCgtVTlNQRUNJRklFRBAAEgwKCFBST1RPQlVGEAESCAoE",
    184             "SlNPThACKkAKC0ZvcmVpZ25FbnVtEg8KC0ZPUkVJR05fRk9PEAASDwoLRk9S",
    185             "RUlHTl9CQVIQARIPCgtGT1JFSUdOX0JBWhACQiEKH2NvbS5nb29nbGUucHJv",
    186             "dG9idWYuY29uZm9ybWFuY2ViBnByb3RvMw=="));
    187       descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
    188           new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.AnyReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.DurationReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.FieldMaskReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.StructReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.TimestampReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.WrappersReflection.Descriptor, },
    189           new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Conformance.WireFormat), typeof(global::Conformance.ForeignEnum), }, new pbr::GeneratedClrTypeInfo[] {
    190             new pbr::GeneratedClrTypeInfo(typeof(global::Conformance.ConformanceRequest), global::Conformance.ConformanceRequest.Parser, new[]{ "ProtobufPayload", "JsonPayload", "RequestedOutputFormat" }, new[]{ "Payload" }, null, null),
    191             new pbr::GeneratedClrTypeInfo(typeof(global::Conformance.ConformanceResponse), global::Conformance.ConformanceResponse.Parser, new[]{ "ParseError", "SerializeError", "RuntimeError", "ProtobufPayload", "JsonPayload", "Skipped" }, new[]{ "Result" }, null, null),
    192             new pbr::GeneratedClrTypeInfo(typeof(global::Conformance.TestAllTypes), global::Conformance.TestAllTypes.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", "MapInt32Int32", "MapInt64Int64", "MapUint32Uint32", "MapUint64Uint64", "MapSint32Sint32", "MapSint64Sint64", "MapFixed32Fixed32", "MapFixed64Fixed64", "MapSfixed32Sfixed32", "MapSfixed64Sfixed64", "MapInt32Float", "MapInt32Double", "MapBoolBool", "MapStringString", "MapStringBytes", "MapStringNestedMessage", "MapStringForeignMessage", "MapStringNestedEnum", "MapStringForeignEnum", "OneofUint32", "OneofNestedMessage", "OneofString", "OneofBytes", "OptionalBoolWrapper", "OptionalInt32Wrapper", "OptionalInt64Wrapper", "OptionalUint32Wrapper", "OptionalUint64Wrapper", "OptionalFloatWrapper", "OptionalDoubleWrapper", "OptionalStringWrapper", "OptionalBytesWrapper", "RepeatedBoolWrapper", "RepeatedInt32Wrapper", "RepeatedInt64Wrapper", "RepeatedUint32Wrapper", "RepeatedUint64Wrapper", "RepeatedFloatWrapper", "RepeatedDoubleWrapper", "RepeatedStringWrapper", "RepeatedBytesWrapper", "OptionalDuration", "OptionalTimestamp", "OptionalFieldMask", "OptionalStruct", "OptionalAny", "OptionalValue", "RepeatedDuration", "RepeatedTimestamp", "RepeatedFieldmask", "RepeatedStruct", "RepeatedAny", "RepeatedValue", "Fieldname1", "FieldName2", "FieldName3", "FieldName4", "Field0Name5", "Field0Name6", "FieldName7", "FieldName8", "FieldName9", "FieldName10", "FIELDNAME11", "FIELDName12" }, new[]{ "OneofField" }, new[]{ typeof(global::Conformance.TestAllTypes.Types.NestedEnum) }, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Conformance.TestAllTypes.Types.NestedMessage), global::Conformance.TestAllTypes.Types.NestedMessage.Parser, new[]{ "A", "Corecursive" }, null, null, null),
    193             null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, }),
    194             new pbr::GeneratedClrTypeInfo(typeof(global::Conformance.ForeignMessage), global::Conformance.ForeignMessage.Parser, new[]{ "C" }, null, null, null)
    195           }));
    196     }
    197     #endregion
    198 
    199   }
    200   #region Enums
    201   public enum WireFormat {
    202     [pbr::OriginalName("UNSPECIFIED")] Unspecified = 0,
    203     [pbr::OriginalName("PROTOBUF")] Protobuf = 1,
    204     [pbr::OriginalName("JSON")] Json = 2,
    205   }
    206 
    207   public enum ForeignEnum {
    208     [pbr::OriginalName("FOREIGN_FOO")] ForeignFoo = 0,
    209     [pbr::OriginalName("FOREIGN_BAR")] ForeignBar = 1,
    210     [pbr::OriginalName("FOREIGN_BAZ")] ForeignBaz = 2,
    211   }
    212 
    213   #endregion
    214 
    215   #region Messages
    216   /// <summary>
    217   ///  Represents a single test case's input.  The testee should:
    218   ///
    219   ///    1. parse this proto (which should always succeed)
    220   ///    2. parse the protobuf or JSON payload in "payload" (which may fail)
    221   ///    3. if the parse succeeded, serialize the message in the requested format.
    222   /// </summary>
    223   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    224   public sealed partial class ConformanceRequest : pb::IMessage<ConformanceRequest> {
    225     private static readonly pb::MessageParser<ConformanceRequest> _parser = new pb::MessageParser<ConformanceRequest>(() => new ConformanceRequest());
    226     public static pb::MessageParser<ConformanceRequest> Parser { get { return _parser; } }
    227 
    228     public static pbr::MessageDescriptor Descriptor {
    229       get { return global::Conformance.ConformanceReflection.Descriptor.MessageTypes[0]; }
    230     }
    231 
    232     pbr::MessageDescriptor pb::IMessage.Descriptor {
    233       get { return Descriptor; }
    234     }
    235 
    236     public ConformanceRequest() {
    237       OnConstruction();
    238     }
    239 
    240     partial void OnConstruction();
    241 
    242     public ConformanceRequest(ConformanceRequest other) : this() {
    243       requestedOutputFormat_ = other.requestedOutputFormat_;
    244       switch (other.PayloadCase) {
    245         case PayloadOneofCase.ProtobufPayload:
    246           ProtobufPayload = other.ProtobufPayload;
    247           break;
    248         case PayloadOneofCase.JsonPayload:
    249           JsonPayload = other.JsonPayload;
    250           break;
    251       }
    252 
    253     }
    254 
    255     public ConformanceRequest Clone() {
    256       return new ConformanceRequest(this);
    257     }
    258 
    259     /// <summary>Field number for the "protobuf_payload" field.</summary>
    260     public const int ProtobufPayloadFieldNumber = 1;
    261     public pb::ByteString ProtobufPayload {
    262       get { return payloadCase_ == PayloadOneofCase.ProtobufPayload ? (pb::ByteString) payload_ : pb::ByteString.Empty; }
    263       set {
    264         payload_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    265         payloadCase_ = PayloadOneofCase.ProtobufPayload;
    266       }
    267     }
    268 
    269     /// <summary>Field number for the "json_payload" field.</summary>
    270     public const int JsonPayloadFieldNumber = 2;
    271     public string JsonPayload {
    272       get { return payloadCase_ == PayloadOneofCase.JsonPayload ? (string) payload_ : ""; }
    273       set {
    274         payload_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    275         payloadCase_ = PayloadOneofCase.JsonPayload;
    276       }
    277     }
    278 
    279     /// <summary>Field number for the "requested_output_format" field.</summary>
    280     public const int RequestedOutputFormatFieldNumber = 3;
    281     private global::Conformance.WireFormat requestedOutputFormat_ = 0;
    282     /// <summary>
    283     ///  Which format should the testee serialize its message to?
    284     /// </summary>
    285     public global::Conformance.WireFormat RequestedOutputFormat {
    286       get { return requestedOutputFormat_; }
    287       set {
    288         requestedOutputFormat_ = value;
    289       }
    290     }
    291 
    292     private object payload_;
    293     /// <summary>Enum of possible cases for the "payload" oneof.</summary>
    294     public enum PayloadOneofCase {
    295       None = 0,
    296       ProtobufPayload = 1,
    297       JsonPayload = 2,
    298     }
    299     private PayloadOneofCase payloadCase_ = PayloadOneofCase.None;
    300     public PayloadOneofCase PayloadCase {
    301       get { return payloadCase_; }
    302     }
    303 
    304     public void ClearPayload() {
    305       payloadCase_ = PayloadOneofCase.None;
    306       payload_ = null;
    307     }
    308 
    309     public override bool Equals(object other) {
    310       return Equals(other as ConformanceRequest);
    311     }
    312 
    313     public bool Equals(ConformanceRequest other) {
    314       if (ReferenceEquals(other, null)) {
    315         return false;
    316       }
    317       if (ReferenceEquals(other, this)) {
    318         return true;
    319       }
    320       if (ProtobufPayload != other.ProtobufPayload) return false;
    321       if (JsonPayload != other.JsonPayload) return false;
    322       if (RequestedOutputFormat != other.RequestedOutputFormat) return false;
    323       if (PayloadCase != other.PayloadCase) return false;
    324       return true;
    325     }
    326 
    327     public override int GetHashCode() {
    328       int hash = 1;
    329       if (payloadCase_ == PayloadOneofCase.ProtobufPayload) hash ^= ProtobufPayload.GetHashCode();
    330       if (payloadCase_ == PayloadOneofCase.JsonPayload) hash ^= JsonPayload.GetHashCode();
    331       if (RequestedOutputFormat != 0) hash ^= RequestedOutputFormat.GetHashCode();
    332       hash ^= (int) payloadCase_;
    333       return hash;
    334     }
    335 
    336     public override string ToString() {
    337       return pb::JsonFormatter.ToDiagnosticString(this);
    338     }
    339 
    340     public void WriteTo(pb::CodedOutputStream output) {
    341       if (payloadCase_ == PayloadOneofCase.ProtobufPayload) {
    342         output.WriteRawTag(10);
    343         output.WriteBytes(ProtobufPayload);
    344       }
    345       if (payloadCase_ == PayloadOneofCase.JsonPayload) {
    346         output.WriteRawTag(18);
    347         output.WriteString(JsonPayload);
    348       }
    349       if (RequestedOutputFormat != 0) {
    350         output.WriteRawTag(24);
    351         output.WriteEnum((int) RequestedOutputFormat);
    352       }
    353     }
    354 
    355     public int CalculateSize() {
    356       int size = 0;
    357       if (payloadCase_ == PayloadOneofCase.ProtobufPayload) {
    358         size += 1 + pb::CodedOutputStream.ComputeBytesSize(ProtobufPayload);
    359       }
    360       if (payloadCase_ == PayloadOneofCase.JsonPayload) {
    361         size += 1 + pb::CodedOutputStream.ComputeStringSize(JsonPayload);
    362       }
    363       if (RequestedOutputFormat != 0) {
    364         size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) RequestedOutputFormat);
    365       }
    366       return size;
    367     }
    368 
    369     public void MergeFrom(ConformanceRequest other) {
    370       if (other == null) {
    371         return;
    372       }
    373       if (other.RequestedOutputFormat != 0) {
    374         RequestedOutputFormat = other.RequestedOutputFormat;
    375       }
    376       switch (other.PayloadCase) {
    377         case PayloadOneofCase.ProtobufPayload:
    378           ProtobufPayload = other.ProtobufPayload;
    379           break;
    380         case PayloadOneofCase.JsonPayload:
    381           JsonPayload = other.JsonPayload;
    382           break;
    383       }
    384 
    385     }
    386 
    387     public void MergeFrom(pb::CodedInputStream input) {
    388       uint tag;
    389       while ((tag = input.ReadTag()) != 0) {
    390         switch(tag) {
    391           default:
    392             input.SkipLastField();
    393             break;
    394           case 10: {
    395             ProtobufPayload = input.ReadBytes();
    396             break;
    397           }
    398           case 18: {
    399             JsonPayload = input.ReadString();
    400             break;
    401           }
    402           case 24: {
    403             requestedOutputFormat_ = (global::Conformance.WireFormat) input.ReadEnum();
    404             break;
    405           }
    406         }
    407       }
    408     }
    409 
    410   }
    411 
    412   /// <summary>
    413   ///  Represents a single test case's output.
    414   /// </summary>
    415   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    416   public sealed partial class ConformanceResponse : pb::IMessage<ConformanceResponse> {
    417     private static readonly pb::MessageParser<ConformanceResponse> _parser = new pb::MessageParser<ConformanceResponse>(() => new ConformanceResponse());
    418     public static pb::MessageParser<ConformanceResponse> Parser { get { return _parser; } }
    419 
    420     public static pbr::MessageDescriptor Descriptor {
    421       get { return global::Conformance.ConformanceReflection.Descriptor.MessageTypes[1]; }
    422     }
    423 
    424     pbr::MessageDescriptor pb::IMessage.Descriptor {
    425       get { return Descriptor; }
    426     }
    427 
    428     public ConformanceResponse() {
    429       OnConstruction();
    430     }
    431 
    432     partial void OnConstruction();
    433 
    434     public ConformanceResponse(ConformanceResponse other) : this() {
    435       switch (other.ResultCase) {
    436         case ResultOneofCase.ParseError:
    437           ParseError = other.ParseError;
    438           break;
    439         case ResultOneofCase.SerializeError:
    440           SerializeError = other.SerializeError;
    441           break;
    442         case ResultOneofCase.RuntimeError:
    443           RuntimeError = other.RuntimeError;
    444           break;
    445         case ResultOneofCase.ProtobufPayload:
    446           ProtobufPayload = other.ProtobufPayload;
    447           break;
    448         case ResultOneofCase.JsonPayload:
    449           JsonPayload = other.JsonPayload;
    450           break;
    451         case ResultOneofCase.Skipped:
    452           Skipped = other.Skipped;
    453           break;
    454       }
    455 
    456     }
    457 
    458     public ConformanceResponse Clone() {
    459       return new ConformanceResponse(this);
    460     }
    461 
    462     /// <summary>Field number for the "parse_error" field.</summary>
    463     public const int ParseErrorFieldNumber = 1;
    464     /// <summary>
    465     ///  This string should be set to indicate parsing failed.  The string can
    466     ///  provide more information about the parse error if it is available.
    467     ///
    468     ///  Setting this string does not necessarily mean the testee failed the
    469     ///  test.  Some of the test cases are intentionally invalid input.
    470     /// </summary>
    471     public string ParseError {
    472       get { return resultCase_ == ResultOneofCase.ParseError ? (string) result_ : ""; }
    473       set {
    474         result_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    475         resultCase_ = ResultOneofCase.ParseError;
    476       }
    477     }
    478 
    479     /// <summary>Field number for the "serialize_error" field.</summary>
    480     public const int SerializeErrorFieldNumber = 6;
    481     /// <summary>
    482     ///  If the input was successfully parsed but errors occurred when
    483     ///  serializing it to the requested output format, set the error message in
    484     ///  this field.
    485     /// </summary>
    486     public string SerializeError {
    487       get { return resultCase_ == ResultOneofCase.SerializeError ? (string) result_ : ""; }
    488       set {
    489         result_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    490         resultCase_ = ResultOneofCase.SerializeError;
    491       }
    492     }
    493 
    494     /// <summary>Field number for the "runtime_error" field.</summary>
    495     public const int RuntimeErrorFieldNumber = 2;
    496     /// <summary>
    497     ///  This should be set if some other error occurred.  This will always
    498     ///  indicate that the test failed.  The string can provide more information
    499     ///  about the failure.
    500     /// </summary>
    501     public string RuntimeError {
    502       get { return resultCase_ == ResultOneofCase.RuntimeError ? (string) result_ : ""; }
    503       set {
    504         result_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    505         resultCase_ = ResultOneofCase.RuntimeError;
    506       }
    507     }
    508 
    509     /// <summary>Field number for the "protobuf_payload" field.</summary>
    510     public const int ProtobufPayloadFieldNumber = 3;
    511     /// <summary>
    512     ///  If the input was successfully parsed and the requested output was
    513     ///  protobuf, serialize it to protobuf and set it in this field.
    514     /// </summary>
    515     public pb::ByteString ProtobufPayload {
    516       get { return resultCase_ == ResultOneofCase.ProtobufPayload ? (pb::ByteString) result_ : pb::ByteString.Empty; }
    517       set {
    518         result_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    519         resultCase_ = ResultOneofCase.ProtobufPayload;
    520       }
    521     }
    522 
    523     /// <summary>Field number for the "json_payload" field.</summary>
    524     public const int JsonPayloadFieldNumber = 4;
    525     /// <summary>
    526     ///  If the input was successfully parsed and the requested output was JSON,
    527     ///  serialize to JSON and set it in this field.
    528     /// </summary>
    529     public string JsonPayload {
    530       get { return resultCase_ == ResultOneofCase.JsonPayload ? (string) result_ : ""; }
    531       set {
    532         result_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    533         resultCase_ = ResultOneofCase.JsonPayload;
    534       }
    535     }
    536 
    537     /// <summary>Field number for the "skipped" field.</summary>
    538     public const int SkippedFieldNumber = 5;
    539     /// <summary>
    540     ///  For when the testee skipped the test, likely because a certain feature
    541     ///  wasn't supported, like JSON input/output.
    542     /// </summary>
    543     public string Skipped {
    544       get { return resultCase_ == ResultOneofCase.Skipped ? (string) result_ : ""; }
    545       set {
    546         result_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    547         resultCase_ = ResultOneofCase.Skipped;
    548       }
    549     }
    550 
    551     private object result_;
    552     /// <summary>Enum of possible cases for the "result" oneof.</summary>
    553     public enum ResultOneofCase {
    554       None = 0,
    555       ParseError = 1,
    556       SerializeError = 6,
    557       RuntimeError = 2,
    558       ProtobufPayload = 3,
    559       JsonPayload = 4,
    560       Skipped = 5,
    561     }
    562     private ResultOneofCase resultCase_ = ResultOneofCase.None;
    563     public ResultOneofCase ResultCase {
    564       get { return resultCase_; }
    565     }
    566 
    567     public void ClearResult() {
    568       resultCase_ = ResultOneofCase.None;
    569       result_ = null;
    570     }
    571 
    572     public override bool Equals(object other) {
    573       return Equals(other as ConformanceResponse);
    574     }
    575 
    576     public bool Equals(ConformanceResponse other) {
    577       if (ReferenceEquals(other, null)) {
    578         return false;
    579       }
    580       if (ReferenceEquals(other, this)) {
    581         return true;
    582       }
    583       if (ParseError != other.ParseError) return false;
    584       if (SerializeError != other.SerializeError) return false;
    585       if (RuntimeError != other.RuntimeError) return false;
    586       if (ProtobufPayload != other.ProtobufPayload) return false;
    587       if (JsonPayload != other.JsonPayload) return false;
    588       if (Skipped != other.Skipped) return false;
    589       if (ResultCase != other.ResultCase) return false;
    590       return true;
    591     }
    592 
    593     public override int GetHashCode() {
    594       int hash = 1;
    595       if (resultCase_ == ResultOneofCase.ParseError) hash ^= ParseError.GetHashCode();
    596       if (resultCase_ == ResultOneofCase.SerializeError) hash ^= SerializeError.GetHashCode();
    597       if (resultCase_ == ResultOneofCase.RuntimeError) hash ^= RuntimeError.GetHashCode();
    598       if (resultCase_ == ResultOneofCase.ProtobufPayload) hash ^= ProtobufPayload.GetHashCode();
    599       if (resultCase_ == ResultOneofCase.JsonPayload) hash ^= JsonPayload.GetHashCode();
    600       if (resultCase_ == ResultOneofCase.Skipped) hash ^= Skipped.GetHashCode();
    601       hash ^= (int) resultCase_;
    602       return hash;
    603     }
    604 
    605     public override string ToString() {
    606       return pb::JsonFormatter.ToDiagnosticString(this);
    607     }
    608 
    609     public void WriteTo(pb::CodedOutputStream output) {
    610       if (resultCase_ == ResultOneofCase.ParseError) {
    611         output.WriteRawTag(10);
    612         output.WriteString(ParseError);
    613       }
    614       if (resultCase_ == ResultOneofCase.RuntimeError) {
    615         output.WriteRawTag(18);
    616         output.WriteString(RuntimeError);
    617       }
    618       if (resultCase_ == ResultOneofCase.ProtobufPayload) {
    619         output.WriteRawTag(26);
    620         output.WriteBytes(ProtobufPayload);
    621       }
    622       if (resultCase_ == ResultOneofCase.JsonPayload) {
    623         output.WriteRawTag(34);
    624         output.WriteString(JsonPayload);
    625       }
    626       if (resultCase_ == ResultOneofCase.Skipped) {
    627         output.WriteRawTag(42);
    628         output.WriteString(Skipped);
    629       }
    630       if (resultCase_ == ResultOneofCase.SerializeError) {
    631         output.WriteRawTag(50);
    632         output.WriteString(SerializeError);
    633       }
    634     }
    635 
    636     public int CalculateSize() {
    637       int size = 0;
    638       if (resultCase_ == ResultOneofCase.ParseError) {
    639         size += 1 + pb::CodedOutputStream.ComputeStringSize(ParseError);
    640       }
    641       if (resultCase_ == ResultOneofCase.SerializeError) {
    642         size += 1 + pb::CodedOutputStream.ComputeStringSize(SerializeError);
    643       }
    644       if (resultCase_ == ResultOneofCase.RuntimeError) {
    645         size += 1 + pb::CodedOutputStream.ComputeStringSize(RuntimeError);
    646       }
    647       if (resultCase_ == ResultOneofCase.ProtobufPayload) {
    648         size += 1 + pb::CodedOutputStream.ComputeBytesSize(ProtobufPayload);
    649       }
    650       if (resultCase_ == ResultOneofCase.JsonPayload) {
    651         size += 1 + pb::CodedOutputStream.ComputeStringSize(JsonPayload);
    652       }
    653       if (resultCase_ == ResultOneofCase.Skipped) {
    654         size += 1 + pb::CodedOutputStream.ComputeStringSize(Skipped);
    655       }
    656       return size;
    657     }
    658 
    659     public void MergeFrom(ConformanceResponse other) {
    660       if (other == null) {
    661         return;
    662       }
    663       switch (other.ResultCase) {
    664         case ResultOneofCase.ParseError:
    665           ParseError = other.ParseError;
    666           break;
    667         case ResultOneofCase.SerializeError:
    668           SerializeError = other.SerializeError;
    669           break;
    670         case ResultOneofCase.RuntimeError:
    671           RuntimeError = other.RuntimeError;
    672           break;
    673         case ResultOneofCase.ProtobufPayload:
    674           ProtobufPayload = other.ProtobufPayload;
    675           break;
    676         case ResultOneofCase.JsonPayload:
    677           JsonPayload = other.JsonPayload;
    678           break;
    679         case ResultOneofCase.Skipped:
    680           Skipped = other.Skipped;
    681           break;
    682       }
    683 
    684     }
    685 
    686     public void MergeFrom(pb::CodedInputStream input) {
    687       uint tag;
    688       while ((tag = input.ReadTag()) != 0) {
    689         switch(tag) {
    690           default:
    691             input.SkipLastField();
    692             break;
    693           case 10: {
    694             ParseError = input.ReadString();
    695             break;
    696           }
    697           case 18: {
    698             RuntimeError = input.ReadString();
    699             break;
    700           }
    701           case 26: {
    702             ProtobufPayload = input.ReadBytes();
    703             break;
    704           }
    705           case 34: {
    706             JsonPayload = input.ReadString();
    707             break;
    708           }
    709           case 42: {
    710             Skipped = input.ReadString();
    711             break;
    712           }
    713           case 50: {
    714             SerializeError = input.ReadString();
    715             break;
    716           }
    717         }
    718       }
    719     }
    720 
    721   }
    722 
    723   /// <summary>
    724   ///  This proto includes every type of field in both singular and repeated
    725   ///  forms.
    726   /// </summary>
    727   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    728   public sealed partial class TestAllTypes : pb::IMessage<TestAllTypes> {
    729     private static readonly pb::MessageParser<TestAllTypes> _parser = new pb::MessageParser<TestAllTypes>(() => new TestAllTypes());
    730     public static pb::MessageParser<TestAllTypes> Parser { get { return _parser; } }
    731 
    732     public static pbr::MessageDescriptor Descriptor {
    733       get { return global::Conformance.ConformanceReflection.Descriptor.MessageTypes[2]; }
    734     }
    735 
    736     pbr::MessageDescriptor pb::IMessage.Descriptor {
    737       get { return Descriptor; }
    738     }
    739 
    740     public TestAllTypes() {
    741       OnConstruction();
    742     }
    743 
    744     partial void OnConstruction();
    745 
    746     public TestAllTypes(TestAllTypes other) : this() {
    747       optionalInt32_ = other.optionalInt32_;
    748       optionalInt64_ = other.optionalInt64_;
    749       optionalUint32_ = other.optionalUint32_;
    750       optionalUint64_ = other.optionalUint64_;
    751       optionalSint32_ = other.optionalSint32_;
    752       optionalSint64_ = other.optionalSint64_;
    753       optionalFixed32_ = other.optionalFixed32_;
    754       optionalFixed64_ = other.optionalFixed64_;
    755       optionalSfixed32_ = other.optionalSfixed32_;
    756       optionalSfixed64_ = other.optionalSfixed64_;
    757       optionalFloat_ = other.optionalFloat_;
    758       optionalDouble_ = other.optionalDouble_;
    759       optionalBool_ = other.optionalBool_;
    760       optionalString_ = other.optionalString_;
    761       optionalBytes_ = other.optionalBytes_;
    762       OptionalNestedMessage = other.optionalNestedMessage_ != null ? other.OptionalNestedMessage.Clone() : null;
    763       OptionalForeignMessage = other.optionalForeignMessage_ != null ? other.OptionalForeignMessage.Clone() : null;
    764       optionalNestedEnum_ = other.optionalNestedEnum_;
    765       optionalForeignEnum_ = other.optionalForeignEnum_;
    766       optionalStringPiece_ = other.optionalStringPiece_;
    767       optionalCord_ = other.optionalCord_;
    768       RecursiveMessage = other.recursiveMessage_ != null ? other.RecursiveMessage.Clone() : null;
    769       repeatedInt32_ = other.repeatedInt32_.Clone();
    770       repeatedInt64_ = other.repeatedInt64_.Clone();
    771       repeatedUint32_ = other.repeatedUint32_.Clone();
    772       repeatedUint64_ = other.repeatedUint64_.Clone();
    773       repeatedSint32_ = other.repeatedSint32_.Clone();
    774       repeatedSint64_ = other.repeatedSint64_.Clone();
    775       repeatedFixed32_ = other.repeatedFixed32_.Clone();
    776       repeatedFixed64_ = other.repeatedFixed64_.Clone();
    777       repeatedSfixed32_ = other.repeatedSfixed32_.Clone();
    778       repeatedSfixed64_ = other.repeatedSfixed64_.Clone();
    779       repeatedFloat_ = other.repeatedFloat_.Clone();
    780       repeatedDouble_ = other.repeatedDouble_.Clone();
    781       repeatedBool_ = other.repeatedBool_.Clone();
    782       repeatedString_ = other.repeatedString_.Clone();
    783       repeatedBytes_ = other.repeatedBytes_.Clone();
    784       repeatedNestedMessage_ = other.repeatedNestedMessage_.Clone();
    785       repeatedForeignMessage_ = other.repeatedForeignMessage_.Clone();
    786       repeatedNestedEnum_ = other.repeatedNestedEnum_.Clone();
    787       repeatedForeignEnum_ = other.repeatedForeignEnum_.Clone();
    788       repeatedStringPiece_ = other.repeatedStringPiece_.Clone();
    789       repeatedCord_ = other.repeatedCord_.Clone();
    790       mapInt32Int32_ = other.mapInt32Int32_.Clone();
    791       mapInt64Int64_ = other.mapInt64Int64_.Clone();
    792       mapUint32Uint32_ = other.mapUint32Uint32_.Clone();
    793       mapUint64Uint64_ = other.mapUint64Uint64_.Clone();
    794       mapSint32Sint32_ = other.mapSint32Sint32_.Clone();
    795       mapSint64Sint64_ = other.mapSint64Sint64_.Clone();
    796       mapFixed32Fixed32_ = other.mapFixed32Fixed32_.Clone();
    797       mapFixed64Fixed64_ = other.mapFixed64Fixed64_.Clone();
    798       mapSfixed32Sfixed32_ = other.mapSfixed32Sfixed32_.Clone();
    799       mapSfixed64Sfixed64_ = other.mapSfixed64Sfixed64_.Clone();
    800       mapInt32Float_ = other.mapInt32Float_.Clone();
    801       mapInt32Double_ = other.mapInt32Double_.Clone();
    802       mapBoolBool_ = other.mapBoolBool_.Clone();
    803       mapStringString_ = other.mapStringString_.Clone();
    804       mapStringBytes_ = other.mapStringBytes_.Clone();
    805       mapStringNestedMessage_ = other.mapStringNestedMessage_.Clone();
    806       mapStringForeignMessage_ = other.mapStringForeignMessage_.Clone();
    807       mapStringNestedEnum_ = other.mapStringNestedEnum_.Clone();
    808       mapStringForeignEnum_ = other.mapStringForeignEnum_.Clone();
    809       OptionalBoolWrapper = other.OptionalBoolWrapper;
    810       OptionalInt32Wrapper = other.OptionalInt32Wrapper;
    811       OptionalInt64Wrapper = other.OptionalInt64Wrapper;
    812       OptionalUint32Wrapper = other.OptionalUint32Wrapper;
    813       OptionalUint64Wrapper = other.OptionalUint64Wrapper;
    814       OptionalFloatWrapper = other.OptionalFloatWrapper;
    815       OptionalDoubleWrapper = other.OptionalDoubleWrapper;
    816       OptionalStringWrapper = other.OptionalStringWrapper;
    817       OptionalBytesWrapper = other.OptionalBytesWrapper;
    818       repeatedBoolWrapper_ = other.repeatedBoolWrapper_.Clone();
    819       repeatedInt32Wrapper_ = other.repeatedInt32Wrapper_.Clone();
    820       repeatedInt64Wrapper_ = other.repeatedInt64Wrapper_.Clone();
    821       repeatedUint32Wrapper_ = other.repeatedUint32Wrapper_.Clone();
    822       repeatedUint64Wrapper_ = other.repeatedUint64Wrapper_.Clone();
    823       repeatedFloatWrapper_ = other.repeatedFloatWrapper_.Clone();
    824       repeatedDoubleWrapper_ = other.repeatedDoubleWrapper_.Clone();
    825       repeatedStringWrapper_ = other.repeatedStringWrapper_.Clone();
    826       repeatedBytesWrapper_ = other.repeatedBytesWrapper_.Clone();
    827       OptionalDuration = other.optionalDuration_ != null ? other.OptionalDuration.Clone() : null;
    828       OptionalTimestamp = other.optionalTimestamp_ != null ? other.OptionalTimestamp.Clone() : null;
    829       OptionalFieldMask = other.optionalFieldMask_ != null ? other.OptionalFieldMask.Clone() : null;
    830       OptionalStruct = other.optionalStruct_ != null ? other.OptionalStruct.Clone() : null;
    831       OptionalAny = other.optionalAny_ != null ? other.OptionalAny.Clone() : null;
    832       OptionalValue = other.optionalValue_ != null ? other.OptionalValue.Clone() : null;
    833       repeatedDuration_ = other.repeatedDuration_.Clone();
    834       repeatedTimestamp_ = other.repeatedTimestamp_.Clone();
    835       repeatedFieldmask_ = other.repeatedFieldmask_.Clone();
    836       repeatedStruct_ = other.repeatedStruct_.Clone();
    837       repeatedAny_ = other.repeatedAny_.Clone();
    838       repeatedValue_ = other.repeatedValue_.Clone();
    839       fieldname1_ = other.fieldname1_;
    840       fieldName2_ = other.fieldName2_;
    841       FieldName3_ = other.FieldName3_;
    842       fieldName4_ = other.fieldName4_;
    843       field0Name5_ = other.field0Name5_;
    844       field0Name6_ = other.field0Name6_;
    845       fieldName7_ = other.fieldName7_;
    846       fieldName8_ = other.fieldName8_;
    847       fieldName9_ = other.fieldName9_;
    848       fieldName10_ = other.fieldName10_;
    849       fIELDNAME11_ = other.fIELDNAME11_;
    850       fIELDName12_ = other.fIELDName12_;
    851       switch (other.OneofFieldCase) {
    852         case OneofFieldOneofCase.OneofUint32:
    853           OneofUint32 = other.OneofUint32;
    854           break;
    855         case OneofFieldOneofCase.OneofNestedMessage:
    856           OneofNestedMessage = other.OneofNestedMessage.Clone();
    857           break;
    858         case OneofFieldOneofCase.OneofString:
    859           OneofString = other.OneofString;
    860           break;
    861         case OneofFieldOneofCase.OneofBytes:
    862           OneofBytes = other.OneofBytes;
    863           break;
    864       }
    865 
    866     }
    867 
    868     public TestAllTypes Clone() {
    869       return new TestAllTypes(this);
    870     }
    871 
    872     /// <summary>Field number for the "optional_int32" field.</summary>
    873     public const int OptionalInt32FieldNumber = 1;
    874     private int optionalInt32_;
    875     /// <summary>
    876     ///  Singular
    877     /// </summary>
    878     public int OptionalInt32 {
    879       get { return optionalInt32_; }
    880       set {
    881         optionalInt32_ = value;
    882       }
    883     }
    884 
    885     /// <summary>Field number for the "optional_int64" field.</summary>
    886     public const int OptionalInt64FieldNumber = 2;
    887     private long optionalInt64_;
    888     public long OptionalInt64 {
    889       get { return optionalInt64_; }
    890       set {
    891         optionalInt64_ = value;
    892       }
    893     }
    894 
    895     /// <summary>Field number for the "optional_uint32" field.</summary>
    896     public const int OptionalUint32FieldNumber = 3;
    897     private uint optionalUint32_;
    898     public uint OptionalUint32 {
    899       get { return optionalUint32_; }
    900       set {
    901         optionalUint32_ = value;
    902       }
    903     }
    904 
    905     /// <summary>Field number for the "optional_uint64" field.</summary>
    906     public const int OptionalUint64FieldNumber = 4;
    907     private ulong optionalUint64_;
    908     public ulong OptionalUint64 {
    909       get { return optionalUint64_; }
    910       set {
    911         optionalUint64_ = value;
    912       }
    913     }
    914 
    915     /// <summary>Field number for the "optional_sint32" field.</summary>
    916     public const int OptionalSint32FieldNumber = 5;
    917     private int optionalSint32_;
    918     public int OptionalSint32 {
    919       get { return optionalSint32_; }
    920       set {
    921         optionalSint32_ = value;
    922       }
    923     }
    924 
    925     /// <summary>Field number for the "optional_sint64" field.</summary>
    926     public const int OptionalSint64FieldNumber = 6;
    927     private long optionalSint64_;
    928     public long OptionalSint64 {
    929       get { return optionalSint64_; }
    930       set {
    931         optionalSint64_ = value;
    932       }
    933     }
    934 
    935     /// <summary>Field number for the "optional_fixed32" field.</summary>
    936     public const int OptionalFixed32FieldNumber = 7;
    937     private uint optionalFixed32_;
    938     public uint OptionalFixed32 {
    939       get { return optionalFixed32_; }
    940       set {
    941         optionalFixed32_ = value;
    942       }
    943     }
    944 
    945     /// <summary>Field number for the "optional_fixed64" field.</summary>
    946     public const int OptionalFixed64FieldNumber = 8;
    947     private ulong optionalFixed64_;
    948     public ulong OptionalFixed64 {
    949       get { return optionalFixed64_; }
    950       set {
    951         optionalFixed64_ = value;
    952       }
    953     }
    954 
    955     /// <summary>Field number for the "optional_sfixed32" field.</summary>
    956     public const int OptionalSfixed32FieldNumber = 9;
    957     private int optionalSfixed32_;
    958     public int OptionalSfixed32 {
    959       get { return optionalSfixed32_; }
    960       set {
    961         optionalSfixed32_ = value;
    962       }
    963     }
    964 
    965     /// <summary>Field number for the "optional_sfixed64" field.</summary>
    966     public const int OptionalSfixed64FieldNumber = 10;
    967     private long optionalSfixed64_;
    968     public long OptionalSfixed64 {
    969       get { return optionalSfixed64_; }
    970       set {
    971         optionalSfixed64_ = value;
    972       }
    973     }
    974 
    975     /// <summary>Field number for the "optional_float" field.</summary>
    976     public const int OptionalFloatFieldNumber = 11;
    977     private float optionalFloat_;
    978     public float OptionalFloat {
    979       get { return optionalFloat_; }
    980       set {
    981         optionalFloat_ = value;
    982       }
    983     }
    984 
    985     /// <summary>Field number for the "optional_double" field.</summary>
    986     public const int OptionalDoubleFieldNumber = 12;
    987     private double optionalDouble_;
    988     public double OptionalDouble {
    989       get { return optionalDouble_; }
    990       set {
    991         optionalDouble_ = value;
    992       }
    993     }
    994 
    995     /// <summary>Field number for the "optional_bool" field.</summary>
    996     public const int OptionalBoolFieldNumber = 13;
    997     private bool optionalBool_;
    998     public bool OptionalBool {
    999       get { return optionalBool_; }
   1000       set {
   1001         optionalBool_ = value;
   1002       }
   1003     }
   1004 
   1005     /// <summary>Field number for the "optional_string" field.</summary>
   1006     public const int OptionalStringFieldNumber = 14;
   1007     private string optionalString_ = "";
   1008     public string OptionalString {
   1009       get { return optionalString_; }
   1010       set {
   1011         optionalString_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
   1012       }
   1013     }
   1014 
   1015     /// <summary>Field number for the "optional_bytes" field.</summary>
   1016     public const int OptionalBytesFieldNumber = 15;
   1017     private pb::ByteString optionalBytes_ = pb::ByteString.Empty;
   1018     public pb::ByteString OptionalBytes {
   1019       get { return optionalBytes_; }
   1020       set {
   1021         optionalBytes_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
   1022       }
   1023     }
   1024 
   1025     /// <summary>Field number for the "optional_nested_message" field.</summary>
   1026     public const int OptionalNestedMessageFieldNumber = 18;
   1027     private global::Conformance.TestAllTypes.Types.NestedMessage optionalNestedMessage_;
   1028     public global::Conformance.TestAllTypes.Types.NestedMessage OptionalNestedMessage {
   1029       get { return optionalNestedMessage_; }
   1030       set {
   1031         optionalNestedMessage_ = value;
   1032       }
   1033     }
   1034 
   1035     /// <summary>Field number for the "optional_foreign_message" field.</summary>
   1036     public const int OptionalForeignMessageFieldNumber = 19;
   1037     private global::Conformance.ForeignMessage optionalForeignMessage_;
   1038     public global::Conformance.ForeignMessage OptionalForeignMessage {
   1039       get { return optionalForeignMessage_; }
   1040       set {
   1041         optionalForeignMessage_ = value;
   1042       }
   1043     }
   1044 
   1045     /// <summary>Field number for the "optional_nested_enum" field.</summary>
   1046     public const int OptionalNestedEnumFieldNumber = 21;
   1047     private global::Conformance.TestAllTypes.Types.NestedEnum optionalNestedEnum_ = 0;
   1048     public global::Conformance.TestAllTypes.Types.NestedEnum OptionalNestedEnum {
   1049       get { return optionalNestedEnum_; }
   1050       set {
   1051         optionalNestedEnum_ = value;
   1052       }
   1053     }
   1054 
   1055     /// <summary>Field number for the "optional_foreign_enum" field.</summary>
   1056     public const int OptionalForeignEnumFieldNumber = 22;
   1057     private global::Conformance.ForeignEnum optionalForeignEnum_ = 0;
   1058     public global::Conformance.ForeignEnum OptionalForeignEnum {
   1059       get { return optionalForeignEnum_; }
   1060       set {
   1061         optionalForeignEnum_ = value;
   1062       }
   1063     }
   1064 
   1065     /// <summary>Field number for the "optional_string_piece" field.</summary>
   1066     public const int OptionalStringPieceFieldNumber = 24;
   1067     private string optionalStringPiece_ = "";
   1068     public string OptionalStringPiece {
   1069       get { return optionalStringPiece_; }
   1070       set {
   1071         optionalStringPiece_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
   1072       }
   1073     }
   1074 
   1075     /// <summary>Field number for the "optional_cord" field.</summary>
   1076     public const int OptionalCordFieldNumber = 25;
   1077     private string optionalCord_ = "";
   1078     public string OptionalCord {
   1079       get { return optionalCord_; }
   1080       set {
   1081         optionalCord_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
   1082       }
   1083     }
   1084 
   1085     /// <summary>Field number for the "recursive_message" field.</summary>
   1086     public const int RecursiveMessageFieldNumber = 27;
   1087     private global::Conformance.TestAllTypes recursiveMessage_;
   1088     public global::Conformance.TestAllTypes RecursiveMessage {
   1089       get { return recursiveMessage_; }
   1090       set {
   1091         recursiveMessage_ = value;
   1092       }
   1093     }
   1094 
   1095     /// <summary>Field number for the "repeated_int32" field.</summary>
   1096     public const int RepeatedInt32FieldNumber = 31;
   1097     private static readonly pb::FieldCodec<int> _repeated_repeatedInt32_codec
   1098         = pb::FieldCodec.ForInt32(250);
   1099     private readonly pbc::RepeatedField<int> repeatedInt32_ = new pbc::RepeatedField<int>();
   1100     /// <summary>
   1101     ///  Repeated
   1102     /// </summary>
   1103     public pbc::RepeatedField<int> RepeatedInt32 {
   1104       get { return repeatedInt32_; }
   1105     }
   1106 
   1107     /// <summary>Field number for the "repeated_int64" field.</summary>
   1108     public const int RepeatedInt64FieldNumber = 32;
   1109     private static readonly pb::FieldCodec<long> _repeated_repeatedInt64_codec
   1110         = pb::FieldCodec.ForInt64(258);
   1111     private readonly pbc::RepeatedField<long> repeatedInt64_ = new pbc::RepeatedField<long>();
   1112     public pbc::RepeatedField<long> RepeatedInt64 {
   1113       get { return repeatedInt64_; }
   1114     }
   1115 
   1116     /// <summary>Field number for the "repeated_uint32" field.</summary>
   1117     public const int RepeatedUint32FieldNumber = 33;
   1118     private static readonly pb::FieldCodec<uint> _repeated_repeatedUint32_codec
   1119         = pb::FieldCodec.ForUInt32(266);
   1120     private readonly pbc::RepeatedField<uint> repeatedUint32_ = new pbc::RepeatedField<uint>();
   1121     public pbc::RepeatedField<uint> RepeatedUint32 {
   1122       get { return repeatedUint32_; }
   1123     }
   1124 
   1125     /// <summary>Field number for the "repeated_uint64" field.</summary>
   1126     public const int RepeatedUint64FieldNumber = 34;
   1127     private static readonly pb::FieldCodec<ulong> _repeated_repeatedUint64_codec
   1128         = pb::FieldCodec.ForUInt64(274);
   1129     private readonly pbc::RepeatedField<ulong> repeatedUint64_ = new pbc::RepeatedField<ulong>();
   1130     public pbc::RepeatedField<ulong> RepeatedUint64 {
   1131       get { return repeatedUint64_; }
   1132     }
   1133 
   1134     /// <summary>Field number for the "repeated_sint32" field.</summary>
   1135     public const int RepeatedSint32FieldNumber = 35;
   1136     private static readonly pb::FieldCodec<int> _repeated_repeatedSint32_codec
   1137         = pb::FieldCodec.ForSInt32(282);
   1138     private readonly pbc::RepeatedField<int> repeatedSint32_ = new pbc::RepeatedField<int>();
   1139     public pbc::RepeatedField<int> RepeatedSint32 {
   1140       get { return repeatedSint32_; }
   1141     }
   1142 
   1143     /// <summary>Field number for the "repeated_sint64" field.</summary>
   1144     public const int RepeatedSint64FieldNumber = 36;
   1145     private static readonly pb::FieldCodec<long> _repeated_repeatedSint64_codec
   1146         = pb::FieldCodec.ForSInt64(290);
   1147     private readonly pbc::RepeatedField<long> repeatedSint64_ = new pbc::RepeatedField<long>();
   1148     public pbc::RepeatedField<long> RepeatedSint64 {
   1149       get { return repeatedSint64_; }
   1150     }
   1151 
   1152     /// <summary>Field number for the "repeated_fixed32" field.</summary>
   1153     public const int RepeatedFixed32FieldNumber = 37;
   1154     private static readonly pb::FieldCodec<uint> _repeated_repeatedFixed32_codec
   1155         = pb::FieldCodec.ForFixed32(298);
   1156     private readonly pbc::RepeatedField<uint> repeatedFixed32_ = new pbc::RepeatedField<uint>();
   1157     public pbc::RepeatedField<uint> RepeatedFixed32 {
   1158       get { return repeatedFixed32_; }
   1159     }
   1160 
   1161     /// <summary>Field number for the "repeated_fixed64" field.</summary>
   1162     public const int RepeatedFixed64FieldNumber = 38;
   1163     private static readonly pb::FieldCodec<ulong> _repeated_repeatedFixed64_codec
   1164         = pb::FieldCodec.ForFixed64(306);
   1165     private readonly pbc::RepeatedField<ulong> repeatedFixed64_ = new pbc::RepeatedField<ulong>();
   1166     public pbc::RepeatedField<ulong> RepeatedFixed64 {
   1167       get { return repeatedFixed64_; }
   1168     }
   1169 
   1170     /// <summary>Field number for the "repeated_sfixed32" field.</summary>
   1171     public const int RepeatedSfixed32FieldNumber = 39;
   1172     private static readonly pb::FieldCodec<int> _repeated_repeatedSfixed32_codec
   1173         = pb::FieldCodec.ForSFixed32(314);
   1174     private readonly pbc::RepeatedField<int> repeatedSfixed32_ = new pbc::RepeatedField<int>();
   1175     public pbc::RepeatedField<int> RepeatedSfixed32 {
   1176       get { return repeatedSfixed32_; }
   1177     }
   1178 
   1179     /// <summary>Field number for the "repeated_sfixed64" field.</summary>
   1180     public const int RepeatedSfixed64FieldNumber = 40;
   1181     private static readonly pb::FieldCodec<long> _repeated_repeatedSfixed64_codec
   1182         = pb::FieldCodec.ForSFixed64(322);
   1183     private readonly pbc::RepeatedField<long> repeatedSfixed64_ = new pbc::RepeatedField<long>();
   1184     public pbc::RepeatedField<long> RepeatedSfixed64 {
   1185       get { return repeatedSfixed64_; }
   1186     }
   1187 
   1188     /// <summary>Field number for the "repeated_float" field.</summary>
   1189     public const int RepeatedFloatFieldNumber = 41;
   1190     private static readonly pb::FieldCodec<float> _repeated_repeatedFloat_codec
   1191         = pb::FieldCodec.ForFloat(330);
   1192     private readonly pbc::RepeatedField<float> repeatedFloat_ = new pbc::RepeatedField<float>();
   1193     public pbc::RepeatedField<float> RepeatedFloat {
   1194       get { return repeatedFloat_; }
   1195     }
   1196 
   1197     /// <summary>Field number for the "repeated_double" field.</summary>
   1198     public const int RepeatedDoubleFieldNumber = 42;
   1199     private static readonly pb::FieldCodec<double> _repeated_repeatedDouble_codec
   1200         = pb::FieldCodec.ForDouble(338);
   1201     private readonly pbc::RepeatedField<double> repeatedDouble_ = new pbc::RepeatedField<double>();
   1202     public pbc::RepeatedField<double> RepeatedDouble {
   1203       get { return repeatedDouble_; }
   1204     }
   1205 
   1206     /// <summary>Field number for the "repeated_bool" field.</summary>
   1207     public const int RepeatedBoolFieldNumber = 43;
   1208     private static readonly pb::FieldCodec<bool> _repeated_repeatedBool_codec
   1209         = pb::FieldCodec.ForBool(346);
   1210     private readonly pbc::RepeatedField<bool> repeatedBool_ = new pbc::RepeatedField<bool>();
   1211     public pbc::RepeatedField<bool> RepeatedBool {
   1212       get { return repeatedBool_; }
   1213     }
   1214 
   1215     /// <summary>Field number for the "repeated_string" field.</summary>
   1216     public const int RepeatedStringFieldNumber = 44;
   1217     private static readonly pb::FieldCodec<string> _repeated_repeatedString_codec
   1218         = pb::FieldCodec.ForString(354);
   1219     private readonly pbc::RepeatedField<string> repeatedString_ = new pbc::RepeatedField<string>();
   1220     public pbc::RepeatedField<string> RepeatedString {
   1221       get { return repeatedString_; }
   1222     }
   1223 
   1224     /// <summary>Field number for the "repeated_bytes" field.</summary>
   1225     public const int RepeatedBytesFieldNumber = 45;
   1226     private static readonly pb::FieldCodec<pb::ByteString> _repeated_repeatedBytes_codec
   1227         = pb::FieldCodec.ForBytes(362);
   1228     private readonly pbc::RepeatedField<pb::ByteString> repeatedBytes_ = new pbc::RepeatedField<pb::ByteString>();
   1229     public pbc::RepeatedField<pb::ByteString> RepeatedBytes {
   1230       get { return repeatedBytes_; }
   1231     }
   1232 
   1233     /// <summary>Field number for the "repeated_nested_message" field.</summary>
   1234     public const int RepeatedNestedMessageFieldNumber = 48;
   1235     private static readonly pb::FieldCodec<global::Conformance.TestAllTypes.Types.NestedMessage> _repeated_repeatedNestedMessage_codec
   1236         = pb::FieldCodec.ForMessage(386, global::Conformance.TestAllTypes.Types.NestedMessage.Parser);
   1237     private readonly pbc::RepeatedField<global::Conformance.TestAllTypes.Types.NestedMessage> repeatedNestedMessage_ = new pbc::RepeatedField<global::Conformance.TestAllTypes.Types.NestedMessage>();
   1238     public pbc::RepeatedField<global::Conformance.TestAllTypes.Types.NestedMessage> RepeatedNestedMessage {
   1239       get { return repeatedNestedMessage_; }
   1240     }
   1241 
   1242     /// <summary>Field number for the "repeated_foreign_message" field.</summary>
   1243     public const int RepeatedForeignMessageFieldNumber = 49;
   1244     private static readonly pb::FieldCodec<global::Conformance.ForeignMessage> _repeated_repeatedForeignMessage_codec
   1245         = pb::FieldCodec.ForMessage(394, global::Conformance.ForeignMessage.Parser);
   1246     private readonly pbc::RepeatedField<global::Conformance.ForeignMessage> repeatedForeignMessage_ = new pbc::RepeatedField<global::Conformance.ForeignMessage>();
   1247     public pbc::RepeatedField<global::Conformance.ForeignMessage> RepeatedForeignMessage {
   1248       get { return repeatedForeignMessage_; }
   1249     }
   1250 
   1251     /// <summary>Field number for the "repeated_nested_enum" field.</summary>
   1252     public const int RepeatedNestedEnumFieldNumber = 51;
   1253     private static readonly pb::FieldCodec<global::Conformance.TestAllTypes.Types.NestedEnum> _repeated_repeatedNestedEnum_codec
   1254         = pb::FieldCodec.ForEnum(410, x => (int) x, x => (global::Conformance.TestAllTypes.Types.NestedEnum) x);
   1255     private readonly pbc::RepeatedField<global::Conformance.TestAllTypes.Types.NestedEnum> repeatedNestedEnum_ = new pbc::RepeatedField<global::Conformance.TestAllTypes.Types.NestedEnum>();
   1256     public pbc::RepeatedField<global::Conformance.TestAllTypes.Types.NestedEnum> RepeatedNestedEnum {
   1257       get { return repeatedNestedEnum_; }
   1258     }
   1259 
   1260     /// <summary>Field number for the "repeated_foreign_enum" field.</summary>
   1261     public const int RepeatedForeignEnumFieldNumber = 52;
   1262     private static readonly pb::FieldCodec<global::Conformance.ForeignEnum> _repeated_repeatedForeignEnum_codec
   1263         = pb::FieldCodec.ForEnum(418, x => (int) x, x => (global::Conformance.ForeignEnum) x);
   1264     private readonly pbc::RepeatedField<global::Conformance.ForeignEnum> repeatedForeignEnum_ = new pbc::RepeatedField<global::Conformance.ForeignEnum>();
   1265     public pbc::RepeatedField<global::Conformance.ForeignEnum> RepeatedForeignEnum {
   1266       get { return repeatedForeignEnum_; }
   1267     }
   1268 
   1269     /// <summary>Field number for the "repeated_string_piece" field.</summary>
   1270     public const int RepeatedStringPieceFieldNumber = 54;
   1271     private static readonly pb::FieldCodec<string> _repeated_repeatedStringPiece_codec
   1272         = pb::FieldCodec.ForString(434);
   1273     private readonly pbc::RepeatedField<string> repeatedStringPiece_ = new pbc::RepeatedField<string>();
   1274     public pbc::RepeatedField<string> RepeatedStringPiece {
   1275       get { return repeatedStringPiece_; }
   1276     }
   1277 
   1278     /// <summary>Field number for the "repeated_cord" field.</summary>
   1279     public const int RepeatedCordFieldNumber = 55;
   1280     private static readonly pb::FieldCodec<string> _repeated_repeatedCord_codec
   1281         = pb::FieldCodec.ForString(442);
   1282     private readonly pbc::RepeatedField<string> repeatedCord_ = new pbc::RepeatedField<string>();
   1283     public pbc::RepeatedField<string> RepeatedCord {
   1284       get { return repeatedCord_; }
   1285     }
   1286 
   1287     /// <summary>Field number for the "map_int32_int32" field.</summary>
   1288     public const int MapInt32Int32FieldNumber = 56;
   1289     private static readonly pbc::MapField<int, int>.Codec _map_mapInt32Int32_codec
   1290         = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForInt32(16), 450);
   1291     private readonly pbc::MapField<int, int> mapInt32Int32_ = new pbc::MapField<int, int>();
   1292     /// <summary>
   1293     ///  Map
   1294     /// </summary>
   1295     public pbc::MapField<int, int> MapInt32Int32 {
   1296       get { return mapInt32Int32_; }
   1297     }
   1298 
   1299     /// <summary>Field number for the "map_int64_int64" field.</summary>
   1300     public const int MapInt64Int64FieldNumber = 57;
   1301     private static readonly pbc::MapField<long, long>.Codec _map_mapInt64Int64_codec
   1302         = new pbc::MapField<long, long>.Codec(pb::FieldCodec.ForInt64(8), pb::FieldCodec.ForInt64(16), 458);
   1303     private readonly pbc::MapField<long, long> mapInt64Int64_ = new pbc::MapField<long, long>();
   1304     public pbc::MapField<long, long> MapInt64Int64 {
   1305       get { return mapInt64Int64_; }
   1306     }
   1307 
   1308     /// <summary>Field number for the "map_uint32_uint32" field.</summary>
   1309     public const int MapUint32Uint32FieldNumber = 58;
   1310     private static readonly pbc::MapField<uint, uint>.Codec _map_mapUint32Uint32_codec
   1311         = new pbc::MapField<uint, uint>.Codec(pb::FieldCodec.ForUInt32(8), pb::FieldCodec.ForUInt32(16), 466);
   1312     private readonly pbc::MapField<uint, uint> mapUint32Uint32_ = new pbc::MapField<uint, uint>();
   1313     public pbc::MapField<uint, uint> MapUint32Uint32 {
   1314       get { return mapUint32Uint32_; }
   1315     }
   1316 
   1317     /// <summary>Field number for the "map_uint64_uint64" field.</summary>
   1318     public const int MapUint64Uint64FieldNumber = 59;
   1319     private static readonly pbc::MapField<ulong, ulong>.Codec _map_mapUint64Uint64_codec
   1320         = new pbc::MapField<ulong, ulong>.Codec(pb::FieldCodec.ForUInt64(8), pb::FieldCodec.ForUInt64(16), 474);
   1321     private readonly pbc::MapField<ulong, ulong> mapUint64Uint64_ = new pbc::MapField<ulong, ulong>();
   1322     public pbc::MapField<ulong, ulong> MapUint64Uint64 {
   1323       get { return mapUint64Uint64_; }
   1324     }
   1325 
   1326     /// <summary>Field number for the "map_sint32_sint32" field.</summary>
   1327     public const int MapSint32Sint32FieldNumber = 60;
   1328     private static readonly pbc::MapField<int, int>.Codec _map_mapSint32Sint32_codec
   1329         = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForSInt32(8), pb::FieldCodec.ForSInt32(16), 482);
   1330     private readonly pbc::MapField<int, int> mapSint32Sint32_ = new pbc::MapField<int, int>();
   1331     public pbc::MapField<int, int> MapSint32Sint32 {
   1332       get { return mapSint32Sint32_; }
   1333     }
   1334 
   1335     /// <summary>Field number for the "map_sint64_sint64" field.</summary>
   1336     public const int MapSint64Sint64FieldNumber = 61;
   1337     private static readonly pbc::MapField<long, long>.Codec _map_mapSint64Sint64_codec
   1338         = new pbc::MapField<long, long>.Codec(pb::FieldCodec.ForSInt64(8), pb::FieldCodec.ForSInt64(16), 490);
   1339     private readonly pbc::MapField<long, long> mapSint64Sint64_ = new pbc::MapField<long, long>();
   1340     public pbc::MapField<long, long> MapSint64Sint64 {
   1341       get { return mapSint64Sint64_; }
   1342     }
   1343 
   1344     /// <summary>Field number for the "map_fixed32_fixed32" field.</summary>
   1345     public const int MapFixed32Fixed32FieldNumber = 62;
   1346     private static readonly pbc::MapField<uint, uint>.Codec _map_mapFixed32Fixed32_codec
   1347         = new pbc::MapField<uint, uint>.Codec(pb::FieldCodec.ForFixed32(13), pb::FieldCodec.ForFixed32(21), 498);
   1348     private readonly pbc::MapField<uint, uint> mapFixed32Fixed32_ = new pbc::MapField<uint, uint>();
   1349     public pbc::MapField<uint, uint> MapFixed32Fixed32 {
   1350       get { return mapFixed32Fixed32_; }
   1351     }
   1352 
   1353     /// <summary>Field number for the "map_fixed64_fixed64" field.</summary>
   1354     public const int MapFixed64Fixed64FieldNumber = 63;
   1355     private static readonly pbc::MapField<ulong, ulong>.Codec _map_mapFixed64Fixed64_codec
   1356         = new pbc::MapField<ulong, ulong>.Codec(pb::FieldCodec.ForFixed64(9), pb::FieldCodec.ForFixed64(17), 506);
   1357     private readonly pbc::MapField<ulong, ulong> mapFixed64Fixed64_ = new pbc::MapField<ulong, ulong>();
   1358     public pbc::MapField<ulong, ulong> MapFixed64Fixed64 {
   1359       get { return mapFixed64Fixed64_; }
   1360     }
   1361 
   1362     /// <summary>Field number for the "map_sfixed32_sfixed32" field.</summary>
   1363     public const int MapSfixed32Sfixed32FieldNumber = 64;
   1364     private static readonly pbc::MapField<int, int>.Codec _map_mapSfixed32Sfixed32_codec
   1365         = new pbc::MapField<int, int>.Codec(pb::FieldCodec.ForSFixed32(13), pb::FieldCodec.ForSFixed32(21), 514);
   1366     private readonly pbc::MapField<int, int> mapSfixed32Sfixed32_ = new pbc::MapField<int, int>();
   1367     public pbc::MapField<int, int> MapSfixed32Sfixed32 {
   1368       get { return mapSfixed32Sfixed32_; }
   1369     }
   1370 
   1371     /// <summary>Field number for the "map_sfixed64_sfixed64" field.</summary>
   1372     public const int MapSfixed64Sfixed64FieldNumber = 65;
   1373     private static readonly pbc::MapField<long, long>.Codec _map_mapSfixed64Sfixed64_codec
   1374         = new pbc::MapField<long, long>.Codec(pb::FieldCodec.ForSFixed64(9), pb::FieldCodec.ForSFixed64(17), 522);
   1375     private readonly pbc::MapField<long, long> mapSfixed64Sfixed64_ = new pbc::MapField<long, long>();
   1376     public pbc::MapField<long, long> MapSfixed64Sfixed64 {
   1377       get { return mapSfixed64Sfixed64_; }
   1378     }
   1379 
   1380     /// <summary>Field number for the "map_int32_float" field.</summary>
   1381     public const int MapInt32FloatFieldNumber = 66;
   1382     private static readonly pbc::MapField<int, float>.Codec _map_mapInt32Float_codec
   1383         = new pbc::MapField<int, float>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForFloat(21), 530);
   1384     private readonly pbc::MapField<int, float> mapInt32Float_ = new pbc::MapField<int, float>();
   1385     public pbc::MapField<int, float> MapInt32Float {
   1386       get { return mapInt32Float_; }
   1387     }
   1388 
   1389     /// <summary>Field number for the "map_int32_double" field.</summary>
   1390     public const int MapInt32DoubleFieldNumber = 67;
   1391     private static readonly pbc::MapField<int, double>.Codec _map_mapInt32Double_codec
   1392         = new pbc::MapField<int, double>.Codec(pb::FieldCodec.ForInt32(8), pb::FieldCodec.ForDouble(17), 538);
   1393     private readonly pbc::MapField<int, double> mapInt32Double_ = new pbc::MapField<int, double>();
   1394     public pbc::MapField<int, double> MapInt32Double {
   1395       get { return mapInt32Double_; }
   1396     }
   1397 
   1398     /// <summary>Field number for the "map_bool_bool" field.</summary>
   1399     public const int MapBoolBoolFieldNumber = 68;
   1400     private static readonly pbc::MapField<bool, bool>.Codec _map_mapBoolBool_codec
   1401         = new pbc::MapField<bool, bool>.Codec(pb::FieldCodec.ForBool(8), pb::FieldCodec.ForBool(16), 546);
   1402     private readonly pbc::MapField<bool, bool> mapBoolBool_ = new pbc::MapField<bool, bool>();
   1403     public pbc::MapField<bool, bool> MapBoolBool {
   1404       get { return mapBoolBool_; }
   1405     }
   1406 
   1407     /// <summary>Field number for the "map_string_string" field.</summary>
   1408     public const int MapStringStringFieldNumber = 69;
   1409     private static readonly pbc::MapField<string, string>.Codec _map_mapStringString_codec
   1410         = new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForString(18), 554);
   1411     private readonly pbc::MapField<string, string> mapStringString_ = new pbc::MapField<string, string>();
   1412     public pbc::MapField<string, string> MapStringString {
   1413       get { return mapStringString_; }
   1414     }
   1415 
   1416     /// <summary>Field number for the "map_string_bytes" field.</summary>
   1417     public const int MapStringBytesFieldNumber = 70;
   1418     private static readonly pbc::MapField<string, pb::ByteString>.Codec _map_mapStringBytes_codec
   1419         = new pbc::MapField<string, pb::ByteString>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForBytes(18), 562);
   1420     private readonly pbc::MapField<string, pb::ByteString> mapStringBytes_ = new pbc::MapField<string, pb::ByteString>();
   1421     public pbc::MapField<string, pb::ByteString> MapStringBytes {
   1422       get { return mapStringBytes_; }
   1423     }
   1424 
   1425     /// <summary>Field number for the "map_string_nested_message" field.</summary>
   1426     public const int MapStringNestedMessageFieldNumber = 71;
   1427     private static readonly pbc::MapField<string, global::Conformance.TestAllTypes.Types.NestedMessage>.Codec _map_mapStringNestedMessage_codec
   1428         = new pbc::MapField<string, global::Conformance.TestAllTypes.Types.NestedMessage>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::Conformance.TestAllTypes.Types.NestedMessage.Parser), 570);
   1429     private readonly pbc::MapField<string, global::Conformance.TestAllTypes.Types.NestedMessage> mapStringNestedMessage_ = new pbc::MapField<string, global::Conformance.TestAllTypes.Types.NestedMessage>();
   1430     public pbc::MapField<string, global::Conformance.TestAllTypes.Types.NestedMessage> MapStringNestedMessage {
   1431       get { return mapStringNestedMessage_; }
   1432     }
   1433 
   1434     /// <summary>Field number for the "map_string_foreign_message" field.</summary>
   1435     public const int MapStringForeignMessageFieldNumber = 72;
   1436     private static readonly pbc::MapField<string, global::Conformance.ForeignMessage>.Codec _map_mapStringForeignMessage_codec
   1437         = new pbc::MapField<string, global::Conformance.ForeignMessage>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForMessage(18, global::Conformance.ForeignMessage.Parser), 578);
   1438     private readonly pbc::MapField<string, global::Conformance.ForeignMessage> mapStringForeignMessage_ = new pbc::MapField<string, global::Conformance.ForeignMessage>();
   1439     public pbc::MapField<string, global::Conformance.ForeignMessage> MapStringForeignMessage {
   1440       get { return mapStringForeignMessage_; }
   1441     }
   1442 
   1443     /// <summary>Field number for the "map_string_nested_enum" field.</summary>
   1444     public const int MapStringNestedEnumFieldNumber = 73;
   1445     private static readonly pbc::MapField<string, global::Conformance.TestAllTypes.Types.NestedEnum>.Codec _map_mapStringNestedEnum_codec
   1446         = new pbc::MapField<string, global::Conformance.TestAllTypes.Types.NestedEnum>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForEnum(16, x => (int) x, x => (global::Conformance.TestAllTypes.Types.NestedEnum) x), 586);
   1447     private readonly pbc::MapField<string, global::Conformance.TestAllTypes.Types.NestedEnum> mapStringNestedEnum_ = new pbc::MapField<string, global::Conformance.TestAllTypes.Types.NestedEnum>();
   1448     public pbc::MapField<string, global::Conformance.TestAllTypes.Types.NestedEnum> MapStringNestedEnum {
   1449       get { return mapStringNestedEnum_; }
   1450     }
   1451 
   1452     /// <summary>Field number for the "map_string_foreign_enum" field.</summary>
   1453     public const int MapStringForeignEnumFieldNumber = 74;
   1454     private static readonly pbc::MapField<string, global::Conformance.ForeignEnum>.Codec _map_mapStringForeignEnum_codec
   1455         = new pbc::MapField<string, global::Conformance.ForeignEnum>.Codec(pb::FieldCodec.ForString(10), pb::FieldCodec.ForEnum(16, x => (int) x, x => (global::Conformance.ForeignEnum) x), 594);
   1456     private readonly pbc::MapField<string, global::Conformance.ForeignEnum> mapStringForeignEnum_ = new pbc::MapField<string, global::Conformance.ForeignEnum>();
   1457     public pbc::MapField<string, global::Conformance.ForeignEnum> MapStringForeignEnum {
   1458       get { return mapStringForeignEnum_; }
   1459     }
   1460 
   1461     /// <summary>Field number for the "oneof_uint32" field.</summary>
   1462     public const int OneofUint32FieldNumber = 111;
   1463     public uint OneofUint32 {
   1464       get { return oneofFieldCase_ == OneofFieldOneofCase.OneofUint32 ? (uint) oneofField_ : 0; }
   1465       set {
   1466         oneofField_ = value;
   1467         oneofFieldCase_ = OneofFieldOneofCase.OneofUint32;
   1468       }
   1469     }
   1470 
   1471     /// <summary>Field number for the "oneof_nested_message" field.</summary>
   1472     public const int OneofNestedMessageFieldNumber = 112;
   1473     public global::Conformance.TestAllTypes.Types.NestedMessage OneofNestedMessage {
   1474       get { return oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage ? (global::Conformance.TestAllTypes.Types.NestedMessage) oneofField_ : null; }
   1475       set {
   1476         oneofField_ = value;
   1477         oneofFieldCase_ = value == null ? OneofFieldOneofCase.None : OneofFieldOneofCase.OneofNestedMessage;
   1478       }
   1479     }
   1480 
   1481     /// <summary>Field number for the "oneof_string" field.</summary>
   1482     public const int OneofStringFieldNumber = 113;
   1483     public string OneofString {
   1484       get { return oneofFieldCase_ == OneofFieldOneofCase.OneofString ? (string) oneofField_ : ""; }
   1485       set {
   1486         oneofField_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
   1487         oneofFieldCase_ = OneofFieldOneofCase.OneofString;
   1488       }
   1489     }
   1490 
   1491     /// <summary>Field number for the "oneof_bytes" field.</summary>
   1492     public const int OneofBytesFieldNumber = 114;
   1493     public pb::ByteString OneofBytes {
   1494       get { return oneofFieldCase_ == OneofFieldOneofCase.OneofBytes ? (pb::ByteString) oneofField_ : pb::ByteString.Empty; }
   1495       set {
   1496         oneofField_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
   1497         oneofFieldCase_ = OneofFieldOneofCase.OneofBytes;
   1498       }
   1499     }
   1500 
   1501     /// <summary>Field number for the "optional_bool_wrapper" field.</summary>
   1502     public const int OptionalBoolWrapperFieldNumber = 201;
   1503     private static readonly pb::FieldCodec<bool?> _single_optionalBoolWrapper_codec = pb::FieldCodec.ForStructWrapper<bool>(1610);
   1504     private bool? optionalBoolWrapper_;
   1505     /// <summary>
   1506     ///  Well-known types
   1507     /// </summary>
   1508     public bool? OptionalBoolWrapper {
   1509       get { return optionalBoolWrapper_; }
   1510       set {
   1511         optionalBoolWrapper_ = value;
   1512       }
   1513     }
   1514 
   1515     /// <summary>Field number for the "optional_int32_wrapper" field.</summary>
   1516     public const int OptionalInt32WrapperFieldNumber = 202;
   1517     private static readonly pb::FieldCodec<int?> _single_optionalInt32Wrapper_codec = pb::FieldCodec.ForStructWrapper<int>(1618);
   1518     private int? optionalInt32Wrapper_;
   1519     public int? OptionalInt32Wrapper {
   1520       get { return optionalInt32Wrapper_; }
   1521       set {
   1522         optionalInt32Wrapper_ = value;
   1523       }
   1524     }
   1525 
   1526     /// <summary>Field number for the "optional_int64_wrapper" field.</summary>
   1527     public const int OptionalInt64WrapperFieldNumber = 203;
   1528     private static readonly pb::FieldCodec<long?> _single_optionalInt64Wrapper_codec = pb::FieldCodec.ForStructWrapper<long>(1626);
   1529     private long? optionalInt64Wrapper_;
   1530     public long? OptionalInt64Wrapper {
   1531       get { return optionalInt64Wrapper_; }
   1532       set {
   1533         optionalInt64Wrapper_ = value;
   1534       }
   1535     }
   1536 
   1537     /// <summary>Field number for the "optional_uint32_wrapper" field.</summary>
   1538     public const int OptionalUint32WrapperFieldNumber = 204;
   1539     private static readonly pb::FieldCodec<uint?> _single_optionalUint32Wrapper_codec = pb::FieldCodec.ForStructWrapper<uint>(1634);
   1540     private uint? optionalUint32Wrapper_;
   1541     public uint? OptionalUint32Wrapper {
   1542       get { return optionalUint32Wrapper_; }
   1543       set {
   1544         optionalUint32Wrapper_ = value;
   1545       }
   1546     }
   1547 
   1548     /// <summary>Field number for the "optional_uint64_wrapper" field.</summary>
   1549     public const int OptionalUint64WrapperFieldNumber = 205;
   1550     private static readonly pb::FieldCodec<ulong?> _single_optionalUint64Wrapper_codec = pb::FieldCodec.ForStructWrapper<ulong>(1642);
   1551     private ulong? optionalUint64Wrapper_;
   1552     public ulong? OptionalUint64Wrapper {
   1553       get { return optionalUint64Wrapper_; }
   1554       set {
   1555         optionalUint64Wrapper_ = value;
   1556       }
   1557     }
   1558 
   1559     /// <summary>Field number for the "optional_float_wrapper" field.</summary>
   1560     public const int OptionalFloatWrapperFieldNumber = 206;
   1561     private static readonly pb::FieldCodec<float?> _single_optionalFloatWrapper_codec = pb::FieldCodec.ForStructWrapper<float>(1650);
   1562     private float? optionalFloatWrapper_;
   1563     public float? OptionalFloatWrapper {
   1564       get { return optionalFloatWrapper_; }
   1565       set {
   1566         optionalFloatWrapper_ = value;
   1567       }
   1568     }
   1569 
   1570     /// <summary>Field number for the "optional_double_wrapper" field.</summary>
   1571     public const int OptionalDoubleWrapperFieldNumber = 207;
   1572     private static readonly pb::FieldCodec<double?> _single_optionalDoubleWrapper_codec = pb::FieldCodec.ForStructWrapper<double>(1658);
   1573     private double? optionalDoubleWrapper_;
   1574     public double? OptionalDoubleWrapper {
   1575       get { return optionalDoubleWrapper_; }
   1576       set {
   1577         optionalDoubleWrapper_ = value;
   1578       }
   1579     }
   1580 
   1581     /// <summary>Field number for the "optional_string_wrapper" field.</summary>
   1582     public const int OptionalStringWrapperFieldNumber = 208;
   1583     private static readonly pb::FieldCodec<string> _single_optionalStringWrapper_codec = pb::FieldCodec.ForClassWrapper<string>(1666);
   1584     private string optionalStringWrapper_;
   1585     public string OptionalStringWrapper {
   1586       get { return optionalStringWrapper_; }
   1587       set {
   1588         optionalStringWrapper_ = value;
   1589       }
   1590     }
   1591 
   1592     /// <summary>Field number for the "optional_bytes_wrapper" field.</summary>
   1593     public const int OptionalBytesWrapperFieldNumber = 209;
   1594     private static readonly pb::FieldCodec<pb::ByteString> _single_optionalBytesWrapper_codec = pb::FieldCodec.ForClassWrapper<pb::ByteString>(1674);
   1595     private pb::ByteString optionalBytesWrapper_;
   1596     public pb::ByteString OptionalBytesWrapper {
   1597       get { return optionalBytesWrapper_; }
   1598       set {
   1599         optionalBytesWrapper_ = value;
   1600       }
   1601     }
   1602 
   1603     /// <summary>Field number for the "repeated_bool_wrapper" field.</summary>
   1604     public const int RepeatedBoolWrapperFieldNumber = 211;
   1605     private static readonly pb::FieldCodec<bool?> _repeated_repeatedBoolWrapper_codec
   1606         = pb::FieldCodec.ForStructWrapper<bool>(1690);
   1607     private readonly pbc::RepeatedField<bool?> repeatedBoolWrapper_ = new pbc::RepeatedField<bool?>();
   1608     public pbc::RepeatedField<bool?> RepeatedBoolWrapper {
   1609       get { return repeatedBoolWrapper_; }
   1610     }
   1611 
   1612     /// <summary>Field number for the "repeated_int32_wrapper" field.</summary>
   1613     public const int RepeatedInt32WrapperFieldNumber = 212;
   1614     private static readonly pb::FieldCodec<int?> _repeated_repeatedInt32Wrapper_codec
   1615         = pb::FieldCodec.ForStructWrapper<int>(1698);
   1616     private readonly pbc::RepeatedField<int?> repeatedInt32Wrapper_ = new pbc::RepeatedField<int?>();
   1617     public pbc::RepeatedField<int?> RepeatedInt32Wrapper {
   1618       get { return repeatedInt32Wrapper_; }
   1619     }
   1620 
   1621     /// <summary>Field number for the "repeated_int64_wrapper" field.</summary>
   1622     public const int RepeatedInt64WrapperFieldNumber = 213;
   1623     private static readonly pb::FieldCodec<long?> _repeated_repeatedInt64Wrapper_codec
   1624         = pb::FieldCodec.ForStructWrapper<long>(1706);
   1625     private readonly pbc::RepeatedField<long?> repeatedInt64Wrapper_ = new pbc::RepeatedField<long?>();
   1626     public pbc::RepeatedField<long?> RepeatedInt64Wrapper {
   1627       get { return repeatedInt64Wrapper_; }
   1628     }
   1629 
   1630     /// <summary>Field number for the "repeated_uint32_wrapper" field.</summary>
   1631     public const int RepeatedUint32WrapperFieldNumber = 214;
   1632     private static readonly pb::FieldCodec<uint?> _repeated_repeatedUint32Wrapper_codec
   1633         = pb::FieldCodec.ForStructWrapper<uint>(1714);
   1634     private readonly pbc::RepeatedField<uint?> repeatedUint32Wrapper_ = new pbc::RepeatedField<uint?>();
   1635     public pbc::RepeatedField<uint?> RepeatedUint32Wrapper {
   1636       get { return repeatedUint32Wrapper_; }
   1637     }
   1638 
   1639     /// <summary>Field number for the "repeated_uint64_wrapper" field.</summary>
   1640     public const int RepeatedUint64WrapperFieldNumber = 215;
   1641     private static readonly pb::FieldCodec<ulong?> _repeated_repeatedUint64Wrapper_codec
   1642         = pb::FieldCodec.ForStructWrapper<ulong>(1722);
   1643     private readonly pbc::RepeatedField<ulong?> repeatedUint64Wrapper_ = new pbc::RepeatedField<ulong?>();
   1644     public pbc::RepeatedField<ulong?> RepeatedUint64Wrapper {
   1645       get { return repeatedUint64Wrapper_; }
   1646     }
   1647 
   1648     /// <summary>Field number for the "repeated_float_wrapper" field.</summary>
   1649     public const int RepeatedFloatWrapperFieldNumber = 216;
   1650     private static readonly pb::FieldCodec<float?> _repeated_repeatedFloatWrapper_codec
   1651         = pb::FieldCodec.ForStructWrapper<float>(1730);
   1652     private readonly pbc::RepeatedField<float?> repeatedFloatWrapper_ = new pbc::RepeatedField<float?>();
   1653     public pbc::RepeatedField<float?> RepeatedFloatWrapper {
   1654       get { return repeatedFloatWrapper_; }
   1655     }
   1656 
   1657     /// <summary>Field number for the "repeated_double_wrapper" field.</summary>
   1658     public const int RepeatedDoubleWrapperFieldNumber = 217;
   1659     private static readonly pb::FieldCodec<double?> _repeated_repeatedDoubleWrapper_codec
   1660         = pb::FieldCodec.ForStructWrapper<double>(1738);
   1661     private readonly pbc::RepeatedField<double?> repeatedDoubleWrapper_ = new pbc::RepeatedField<double?>();
   1662     public pbc::RepeatedField<double?> RepeatedDoubleWrapper {
   1663       get { return repeatedDoubleWrapper_; }
   1664     }
   1665 
   1666     /// <summary>Field number for the "repeated_string_wrapper" field.</summary>
   1667     public const int RepeatedStringWrapperFieldNumber = 218;
   1668     private static readonly pb::FieldCodec<string> _repeated_repeatedStringWrapper_codec
   1669         = pb::FieldCodec.ForClassWrapper<string>(1746);
   1670     private readonly pbc::RepeatedField<string> repeatedStringWrapper_ = new pbc::RepeatedField<string>();
   1671     public pbc::RepeatedField<string> RepeatedStringWrapper {
   1672       get { return repeatedStringWrapper_; }
   1673     }
   1674 
   1675     /// <summary>Field number for the "repeated_bytes_wrapper" field.</summary>
   1676     public const int RepeatedBytesWrapperFieldNumber = 219;
   1677     private static readonly pb::FieldCodec<pb::ByteString> _repeated_repeatedBytesWrapper_codec
   1678         = pb::FieldCodec.ForClassWrapper<pb::ByteString>(1754);
   1679     private readonly pbc::RepeatedField<pb::ByteString> repeatedBytesWrapper_ = new pbc::RepeatedField<pb::ByteString>();
   1680     public pbc::RepeatedField<pb::ByteString> RepeatedBytesWrapper {
   1681       get { return repeatedBytesWrapper_; }
   1682     }
   1683 
   1684     /// <summary>Field number for the "optional_duration" field.</summary>
   1685     public const int OptionalDurationFieldNumber = 301;
   1686     private global::Google.Protobuf.WellKnownTypes.Duration optionalDuration_;
   1687     public global::Google.Protobuf.WellKnownTypes.Duration OptionalDuration {
   1688       get { return optionalDuration_; }
   1689       set {
   1690         optionalDuration_ = value;
   1691       }
   1692     }
   1693 
   1694     /// <summary>Field number for the "optional_timestamp" field.</summary>
   1695     public const int OptionalTimestampFieldNumber = 302;
   1696     private global::Google.Protobuf.WellKnownTypes.Timestamp optionalTimestamp_;
   1697     public global::Google.Protobuf.WellKnownTypes.Timestamp OptionalTimestamp {
   1698       get { return optionalTimestamp_; }
   1699       set {
   1700         optionalTimestamp_ = value;
   1701       }
   1702     }
   1703 
   1704     /// <summary>Field number for the "optional_field_mask" field.</summary>
   1705     public const int OptionalFieldMaskFieldNumber = 303;
   1706     private global::Google.Protobuf.WellKnownTypes.FieldMask optionalFieldMask_;
   1707     public global::Google.Protobuf.WellKnownTypes.FieldMask OptionalFieldMask {
   1708       get { return optionalFieldMask_; }
   1709       set {
   1710         optionalFieldMask_ = value;
   1711       }
   1712     }
   1713 
   1714     /// <summary>Field number for the "optional_struct" field.</summary>
   1715     public const int OptionalStructFieldNumber = 304;
   1716     private global::Google.Protobuf.WellKnownTypes.Struct optionalStruct_;
   1717     public global::Google.Protobuf.WellKnownTypes.Struct OptionalStruct {
   1718       get { return optionalStruct_; }
   1719       set {
   1720         optionalStruct_ = value;
   1721       }
   1722     }
   1723 
   1724     /// <summary>Field number for the "optional_any" field.</summary>
   1725     public const int OptionalAnyFieldNumber = 305;
   1726     private global::Google.Protobuf.WellKnownTypes.Any optionalAny_;
   1727     public global::Google.Protobuf.WellKnownTypes.Any OptionalAny {
   1728       get { return optionalAny_; }
   1729       set {
   1730         optionalAny_ = value;
   1731       }
   1732     }
   1733 
   1734     /// <summary>Field number for the "optional_value" field.</summary>
   1735     public const int OptionalValueFieldNumber = 306;
   1736     private global::Google.Protobuf.WellKnownTypes.Value optionalValue_;
   1737     public global::Google.Protobuf.WellKnownTypes.Value OptionalValue {
   1738       get { return optionalValue_; }
   1739       set {
   1740         optionalValue_ = value;
   1741       }
   1742     }
   1743 
   1744     /// <summary>Field number for the "repeated_duration" field.</summary>
   1745     public const int RepeatedDurationFieldNumber = 311;
   1746     private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.Duration> _repeated_repeatedDuration_codec
   1747         = pb::FieldCodec.ForMessage(2490, global::Google.Protobuf.WellKnownTypes.Duration.Parser);
   1748     private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Duration> repeatedDuration_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Duration>();
   1749     public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Duration> RepeatedDuration {
   1750       get { return repeatedDuration_; }
   1751     }
   1752 
   1753     /// <summary>Field number for the "repeated_timestamp" field.</summary>
   1754     public const int RepeatedTimestampFieldNumber = 312;
   1755     private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.Timestamp> _repeated_repeatedTimestamp_codec
   1756         = pb::FieldCodec.ForMessage(2498, global::Google.Protobuf.WellKnownTypes.Timestamp.Parser);
   1757     private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Timestamp> repeatedTimestamp_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Timestamp>();
   1758     public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Timestamp> RepeatedTimestamp {
   1759       get { return repeatedTimestamp_; }
   1760     }
   1761 
   1762     /// <summary>Field number for the "repeated_fieldmask" field.</summary>
   1763     public const int RepeatedFieldmaskFieldNumber = 313;
   1764     private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.FieldMask> _repeated_repeatedFieldmask_codec
   1765         = pb::FieldCodec.ForMessage(2506, global::Google.Protobuf.WellKnownTypes.FieldMask.Parser);
   1766     private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.FieldMask> repeatedFieldmask_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.FieldMask>();
   1767     public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.FieldMask> RepeatedFieldmask {
   1768       get { return repeatedFieldmask_; }
   1769     }
   1770 
   1771     /// <summary>Field number for the "repeated_struct" field.</summary>
   1772     public const int RepeatedStructFieldNumber = 324;
   1773     private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.Struct> _repeated_repeatedStruct_codec
   1774         = pb::FieldCodec.ForMessage(2594, global::Google.Protobuf.WellKnownTypes.Struct.Parser);
   1775     private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Struct> repeatedStruct_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Struct>();
   1776     public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Struct> RepeatedStruct {
   1777       get { return repeatedStruct_; }
   1778     }
   1779 
   1780     /// <summary>Field number for the "repeated_any" field.</summary>
   1781     public const int RepeatedAnyFieldNumber = 315;
   1782     private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.Any> _repeated_repeatedAny_codec
   1783         = pb::FieldCodec.ForMessage(2522, global::Google.Protobuf.WellKnownTypes.Any.Parser);
   1784     private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Any> repeatedAny_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Any>();
   1785     public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Any> RepeatedAny {
   1786       get { return repeatedAny_; }
   1787     }
   1788 
   1789     /// <summary>Field number for the "repeated_value" field.</summary>
   1790     public const int RepeatedValueFieldNumber = 316;
   1791     private static readonly pb::FieldCodec<global::Google.Protobuf.WellKnownTypes.Value> _repeated_repeatedValue_codec
   1792         = pb::FieldCodec.ForMessage(2530, global::Google.Protobuf.WellKnownTypes.Value.Parser);
   1793     private readonly pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Value> repeatedValue_ = new pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Value>();
   1794     public pbc::RepeatedField<global::Google.Protobuf.WellKnownTypes.Value> RepeatedValue {
   1795       get { return repeatedValue_; }
   1796     }
   1797 
   1798     /// <summary>Field number for the "fieldname1" field.</summary>
   1799     public const int Fieldname1FieldNumber = 401;
   1800     private int fieldname1_;
   1801     /// <summary>
   1802     ///  Test field-name-to-JSON-name convention.
   1803     /// </summary>
   1804     public int Fieldname1 {
   1805       get { return fieldname1_; }
   1806       set {
   1807         fieldname1_ = value;
   1808       }
   1809     }
   1810 
   1811     /// <summary>Field number for the "field_name2" field.</summary>
   1812     public const int FieldName2FieldNumber = 402;
   1813     private int fieldName2_;
   1814     public int FieldName2 {
   1815       get { return fieldName2_; }
   1816       set {
   1817         fieldName2_ = value;
   1818       }
   1819     }
   1820 
   1821     /// <summary>Field number for the "_field_name3" field.</summary>
   1822     public const int FieldName3FieldNumber = 403;
   1823     private int FieldName3_;
   1824     public int FieldName3 {
   1825       get { return FieldName3_; }
   1826       set {
   1827         FieldName3_ = value;
   1828       }
   1829     }
   1830 
   1831     /// <summary>Field number for the "field__name4_" field.</summary>
   1832     public const int FieldName4FieldNumber = 404;
   1833     private int fieldName4_;
   1834     public int FieldName4 {
   1835       get { return fieldName4_; }
   1836       set {
   1837         fieldName4_ = value;
   1838       }
   1839     }
   1840 
   1841     /// <summary>Field number for the "field0name5" field.</summary>
   1842     public const int Field0Name5FieldNumber = 405;
   1843     private int field0Name5_;
   1844     public int Field0Name5 {
   1845       get { return field0Name5_; }
   1846       set {
   1847         field0Name5_ = value;
   1848       }
   1849     }
   1850 
   1851     /// <summary>Field number for the "field_0_name6" field.</summary>
   1852     public const int Field0Name6FieldNumber = 406;
   1853     private int field0Name6_;
   1854     public int Field0Name6 {
   1855       get { return field0Name6_; }
   1856       set {
   1857         field0Name6_ = value;
   1858       }
   1859     }
   1860 
   1861     /// <summary>Field number for the "fieldName7" field.</summary>
   1862     public const int FieldName7FieldNumber = 407;
   1863     private int fieldName7_;
   1864     public int FieldName7 {
   1865       get { return fieldName7_; }
   1866       set {
   1867         fieldName7_ = value;
   1868       }
   1869     }
   1870 
   1871     /// <summary>Field number for the "FieldName8" field.</summary>
   1872     public const int FieldName8FieldNumber = 408;
   1873     private int fieldName8_;
   1874     public int FieldName8 {
   1875       get { return fieldName8_; }
   1876       set {
   1877         fieldName8_ = value;
   1878       }
   1879     }
   1880 
   1881     /// <summary>Field number for the "field_Name9" field.</summary>
   1882     public const int FieldName9FieldNumber = 409;
   1883     private int fieldName9_;
   1884     public int FieldName9 {
   1885       get { return fieldName9_; }
   1886       set {
   1887         fieldName9_ = value;
   1888       }
   1889     }
   1890 
   1891     /// <summary>Field number for the "Field_Name10" field.</summary>
   1892     public const int FieldName10FieldNumber = 410;
   1893     private int fieldName10_;
   1894     public int FieldName10 {
   1895       get { return fieldName10_; }
   1896       set {
   1897         fieldName10_ = value;
   1898       }
   1899     }
   1900 
   1901     /// <summary>Field number for the "FIELD_NAME11" field.</summary>
   1902     public const int FIELDNAME11FieldNumber = 411;
   1903     private int fIELDNAME11_;
   1904     public int FIELDNAME11 {
   1905       get { return fIELDNAME11_; }
   1906       set {
   1907         fIELDNAME11_ = value;
   1908       }
   1909     }
   1910 
   1911     /// <summary>Field number for the "FIELD_name12" field.</summary>
   1912     public const int FIELDName12FieldNumber = 412;
   1913     private int fIELDName12_;
   1914     public int FIELDName12 {
   1915       get { return fIELDName12_; }
   1916       set {
   1917         fIELDName12_ = value;
   1918       }
   1919     }
   1920 
   1921     private object oneofField_;
   1922     /// <summary>Enum of possible cases for the "oneof_field" oneof.</summary>
   1923     public enum OneofFieldOneofCase {
   1924       None = 0,
   1925       OneofUint32 = 111,
   1926       OneofNestedMessage = 112,
   1927       OneofString = 113,
   1928       OneofBytes = 114,
   1929     }
   1930     private OneofFieldOneofCase oneofFieldCase_ = OneofFieldOneofCase.None;
   1931     public OneofFieldOneofCase OneofFieldCase {
   1932       get { return oneofFieldCase_; }
   1933     }
   1934 
   1935     public void ClearOneofField() {
   1936       oneofFieldCase_ = OneofFieldOneofCase.None;
   1937       oneofField_ = null;
   1938     }
   1939 
   1940     public override bool Equals(object other) {
   1941       return Equals(other as TestAllTypes);
   1942     }
   1943 
   1944     public bool Equals(TestAllTypes other) {
   1945       if (ReferenceEquals(other, null)) {
   1946         return false;
   1947       }
   1948       if (ReferenceEquals(other, this)) {
   1949         return true;
   1950       }
   1951       if (OptionalInt32 != other.OptionalInt32) return false;
   1952       if (OptionalInt64 != other.OptionalInt64) return false;
   1953       if (OptionalUint32 != other.OptionalUint32) return false;
   1954       if (OptionalUint64 != other.OptionalUint64) return false;
   1955       if (OptionalSint32 != other.OptionalSint32) return false;
   1956       if (OptionalSint64 != other.OptionalSint64) return false;
   1957       if (OptionalFixed32 != other.OptionalFixed32) return false;
   1958       if (OptionalFixed64 != other.OptionalFixed64) return false;
   1959       if (OptionalSfixed32 != other.OptionalSfixed32) return false;
   1960       if (OptionalSfixed64 != other.OptionalSfixed64) return false;
   1961       if (OptionalFloat != other.OptionalFloat) return false;
   1962       if (OptionalDouble != other.OptionalDouble) return false;
   1963       if (OptionalBool != other.OptionalBool) return false;
   1964       if (OptionalString != other.OptionalString) return false;
   1965       if (OptionalBytes != other.OptionalBytes) return false;
   1966       if (!object.Equals(OptionalNestedMessage, other.OptionalNestedMessage)) return false;
   1967       if (!object.Equals(OptionalForeignMessage, other.OptionalForeignMessage)) return false;
   1968       if (OptionalNestedEnum != other.OptionalNestedEnum) return false;
   1969       if (OptionalForeignEnum != other.OptionalForeignEnum) return false;
   1970       if (OptionalStringPiece != other.OptionalStringPiece) return false;
   1971       if (OptionalCord != other.OptionalCord) return false;
   1972       if (!object.Equals(RecursiveMessage, other.RecursiveMessage)) return false;
   1973       if(!repeatedInt32_.Equals(other.repeatedInt32_)) return false;
   1974       if(!repeatedInt64_.Equals(other.repeatedInt64_)) return false;
   1975       if(!repeatedUint32_.Equals(other.repeatedUint32_)) return false;
   1976       if(!repeatedUint64_.Equals(other.repeatedUint64_)) return false;
   1977       if(!repeatedSint32_.Equals(other.repeatedSint32_)) return false;
   1978       if(!repeatedSint64_.Equals(other.repeatedSint64_)) return false;
   1979       if(!repeatedFixed32_.Equals(other.repeatedFixed32_)) return false;
   1980       if(!repeatedFixed64_.Equals(other.repeatedFixed64_)) return false;
   1981       if(!repeatedSfixed32_.Equals(other.repeatedSfixed32_)) return false;
   1982       if(!repeatedSfixed64_.Equals(other.repeatedSfixed64_)) return false;
   1983       if(!repeatedFloat_.Equals(other.repeatedFloat_)) return false;
   1984       if(!repeatedDouble_.Equals(other.repeatedDouble_)) return false;
   1985       if(!repeatedBool_.Equals(other.repeatedBool_)) return false;
   1986       if(!repeatedString_.Equals(other.repeatedString_)) return false;
   1987       if(!repeatedBytes_.Equals(other.repeatedBytes_)) return false;
   1988       if(!repeatedNestedMessage_.Equals(other.repeatedNestedMessage_)) return false;
   1989       if(!repeatedForeignMessage_.Equals(other.repeatedForeignMessage_)) return false;
   1990       if(!repeatedNestedEnum_.Equals(other.repeatedNestedEnum_)) return false;
   1991       if(!repeatedForeignEnum_.Equals(other.repeatedForeignEnum_)) return false;
   1992       if(!repeatedStringPiece_.Equals(other.repeatedStringPiece_)) return false;
   1993       if(!repeatedCord_.Equals(other.repeatedCord_)) return false;
   1994       if (!MapInt32Int32.Equals(other.MapInt32Int32)) return false;
   1995       if (!MapInt64Int64.Equals(other.MapInt64Int64)) return false;
   1996       if (!MapUint32Uint32.Equals(other.MapUint32Uint32)) return false;
   1997       if (!MapUint64Uint64.Equals(other.MapUint64Uint64)) return false;
   1998       if (!MapSint32Sint32.Equals(other.MapSint32Sint32)) return false;
   1999       if (!MapSint64Sint64.Equals(other.MapSint64Sint64)) return false;
   2000       if (!MapFixed32Fixed32.Equals(other.MapFixed32Fixed32)) return false;
   2001       if (!MapFixed64Fixed64.Equals(other.MapFixed64Fixed64)) return false;
   2002       if (!MapSfixed32Sfixed32.Equals(other.MapSfixed32Sfixed32)) return false;
   2003       if (!MapSfixed64Sfixed64.Equals(other.MapSfixed64Sfixed64)) return false;
   2004       if (!MapInt32Float.Equals(other.MapInt32Float)) return false;
   2005       if (!MapInt32Double.Equals(other.MapInt32Double)) return false;
   2006       if (!MapBoolBool.Equals(other.MapBoolBool)) return false;
   2007       if (!MapStringString.Equals(other.MapStringString)) return false;
   2008       if (!MapStringBytes.Equals(other.MapStringBytes)) return false;
   2009       if (!MapStringNestedMessage.Equals(other.MapStringNestedMessage)) return false;
   2010       if (!MapStringForeignMessage.Equals(other.MapStringForeignMessage)) return false;
   2011       if (!MapStringNestedEnum.Equals(other.MapStringNestedEnum)) return false;
   2012       if (!MapStringForeignEnum.Equals(other.MapStringForeignEnum)) return false;
   2013       if (OneofUint32 != other.OneofUint32) return false;
   2014       if (!object.Equals(OneofNestedMessage, other.OneofNestedMessage)) return false;
   2015       if (OneofString != other.OneofString) return false;
   2016       if (OneofBytes != other.OneofBytes) return false;
   2017       if (OptionalBoolWrapper != other.OptionalBoolWrapper) return false;
   2018       if (OptionalInt32Wrapper != other.OptionalInt32Wrapper) return false;
   2019       if (OptionalInt64Wrapper != other.OptionalInt64Wrapper) return false;
   2020       if (OptionalUint32Wrapper != other.OptionalUint32Wrapper) return false;
   2021       if (OptionalUint64Wrapper != other.OptionalUint64Wrapper) return false;
   2022       if (OptionalFloatWrapper != other.OptionalFloatWrapper) return false;
   2023       if (OptionalDoubleWrapper != other.OptionalDoubleWrapper) return false;
   2024       if (OptionalStringWrapper != other.OptionalStringWrapper) return false;
   2025       if (OptionalBytesWrapper != other.OptionalBytesWrapper) return false;
   2026       if(!repeatedBoolWrapper_.Equals(other.repeatedBoolWrapper_)) return false;
   2027       if(!repeatedInt32Wrapper_.Equals(other.repeatedInt32Wrapper_)) return false;
   2028       if(!repeatedInt64Wrapper_.Equals(other.repeatedInt64Wrapper_)) return false;
   2029       if(!repeatedUint32Wrapper_.Equals(other.repeatedUint32Wrapper_)) return false;
   2030       if(!repeatedUint64Wrapper_.Equals(other.repeatedUint64Wrapper_)) return false;
   2031       if(!repeatedFloatWrapper_.Equals(other.repeatedFloatWrapper_)) return false;
   2032       if(!repeatedDoubleWrapper_.Equals(other.repeatedDoubleWrapper_)) return false;
   2033       if(!repeatedStringWrapper_.Equals(other.repeatedStringWrapper_)) return false;
   2034       if(!repeatedBytesWrapper_.Equals(other.repeatedBytesWrapper_)) return false;
   2035       if (!object.Equals(OptionalDuration, other.OptionalDuration)) return false;
   2036       if (!object.Equals(OptionalTimestamp, other.OptionalTimestamp)) return false;
   2037       if (!object.Equals(OptionalFieldMask, other.OptionalFieldMask)) return false;
   2038       if (!object.Equals(OptionalStruct, other.OptionalStruct)) return false;
   2039       if (!object.Equals(OptionalAny, other.OptionalAny)) return false;
   2040       if (!object.Equals(OptionalValue, other.OptionalValue)) return false;
   2041       if(!repeatedDuration_.Equals(other.repeatedDuration_)) return false;
   2042       if(!repeatedTimestamp_.Equals(other.repeatedTimestamp_)) return false;
   2043       if(!repeatedFieldmask_.Equals(other.repeatedFieldmask_)) return false;
   2044       if(!repeatedStruct_.Equals(other.repeatedStruct_)) return false;
   2045       if(!repeatedAny_.Equals(other.repeatedAny_)) return false;
   2046       if(!repeatedValue_.Equals(other.repeatedValue_)) return false;
   2047       if (Fieldname1 != other.Fieldname1) return false;
   2048       if (FieldName2 != other.FieldName2) return false;
   2049       if (FieldName3 != other.FieldName3) return false;
   2050       if (FieldName4 != other.FieldName4) return false;
   2051       if (Field0Name5 != other.Field0Name5) return false;
   2052       if (Field0Name6 != other.Field0Name6) return false;
   2053       if (FieldName7 != other.FieldName7) return false;
   2054       if (FieldName8 != other.FieldName8) return false;
   2055       if (FieldName9 != other.FieldName9) return false;
   2056       if (FieldName10 != other.FieldName10) return false;
   2057       if (FIELDNAME11 != other.FIELDNAME11) return false;
   2058       if (FIELDName12 != other.FIELDName12) return false;
   2059       if (OneofFieldCase != other.OneofFieldCase) return false;
   2060       return true;
   2061     }
   2062 
   2063     public override int GetHashCode() {
   2064       int hash = 1;
   2065       if (OptionalInt32 != 0) hash ^= OptionalInt32.GetHashCode();
   2066       if (OptionalInt64 != 0L) hash ^= OptionalInt64.GetHashCode();
   2067       if (OptionalUint32 != 0) hash ^= OptionalUint32.GetHashCode();
   2068       if (OptionalUint64 != 0UL) hash ^= OptionalUint64.GetHashCode();
   2069       if (OptionalSint32 != 0) hash ^= OptionalSint32.GetHashCode();
   2070       if (OptionalSint64 != 0L) hash ^= OptionalSint64.GetHashCode();
   2071       if (OptionalFixed32 != 0) hash ^= OptionalFixed32.GetHashCode();
   2072       if (OptionalFixed64 != 0UL) hash ^= OptionalFixed64.GetHashCode();
   2073       if (OptionalSfixed32 != 0) hash ^= OptionalSfixed32.GetHashCode();
   2074       if (OptionalSfixed64 != 0L) hash ^= OptionalSfixed64.GetHashCode();
   2075       if (OptionalFloat != 0F) hash ^= OptionalFloat.GetHashCode();
   2076       if (OptionalDouble != 0D) hash ^= OptionalDouble.GetHashCode();
   2077       if (OptionalBool != false) hash ^= OptionalBool.GetHashCode();
   2078       if (OptionalString.Length != 0) hash ^= OptionalString.GetHashCode();
   2079       if (OptionalBytes.Length != 0) hash ^= OptionalBytes.GetHashCode();
   2080       if (optionalNestedMessage_ != null) hash ^= OptionalNestedMessage.GetHashCode();
   2081       if (optionalForeignMessage_ != null) hash ^= OptionalForeignMessage.GetHashCode();
   2082       if (OptionalNestedEnum != 0) hash ^= OptionalNestedEnum.GetHashCode();
   2083       if (OptionalForeignEnum != 0) hash ^= OptionalForeignEnum.GetHashCode();
   2084       if (OptionalStringPiece.Length != 0) hash ^= OptionalStringPiece.GetHashCode();
   2085       if (OptionalCord.Length != 0) hash ^= OptionalCord.GetHashCode();
   2086       if (recursiveMessage_ != null) hash ^= RecursiveMessage.GetHashCode();
   2087       hash ^= repeatedInt32_.GetHashCode();
   2088       hash ^= repeatedInt64_.GetHashCode();
   2089       hash ^= repeatedUint32_.GetHashCode();
   2090       hash ^= repeatedUint64_.GetHashCode();
   2091       hash ^= repeatedSint32_.GetHashCode();
   2092       hash ^= repeatedSint64_.GetHashCode();
   2093       hash ^= repeatedFixed32_.GetHashCode();
   2094       hash ^= repeatedFixed64_.GetHashCode();
   2095       hash ^= repeatedSfixed32_.GetHashCode();
   2096       hash ^= repeatedSfixed64_.GetHashCode();
   2097       hash ^= repeatedFloat_.GetHashCode();
   2098       hash ^= repeatedDouble_.GetHashCode();
   2099       hash ^= repeatedBool_.GetHashCode();
   2100       hash ^= repeatedString_.GetHashCode();
   2101       hash ^= repeatedBytes_.GetHashCode();
   2102       hash ^= repeatedNestedMessage_.GetHashCode();
   2103       hash ^= repeatedForeignMessage_.GetHashCode();
   2104       hash ^= repeatedNestedEnum_.GetHashCode();
   2105       hash ^= repeatedForeignEnum_.GetHashCode();
   2106       hash ^= repeatedStringPiece_.GetHashCode();
   2107       hash ^= repeatedCord_.GetHashCode();
   2108       hash ^= MapInt32Int32.GetHashCode();
   2109       hash ^= MapInt64Int64.GetHashCode();
   2110       hash ^= MapUint32Uint32.GetHashCode();
   2111       hash ^= MapUint64Uint64.GetHashCode();
   2112       hash ^= MapSint32Sint32.GetHashCode();
   2113       hash ^= MapSint64Sint64.GetHashCode();
   2114       hash ^= MapFixed32Fixed32.GetHashCode();
   2115       hash ^= MapFixed64Fixed64.GetHashCode();
   2116       hash ^= MapSfixed32Sfixed32.GetHashCode();
   2117       hash ^= MapSfixed64Sfixed64.GetHashCode();
   2118       hash ^= MapInt32Float.GetHashCode();
   2119       hash ^= MapInt32Double.GetHashCode();
   2120       hash ^= MapBoolBool.GetHashCode();
   2121       hash ^= MapStringString.GetHashCode();
   2122       hash ^= MapStringBytes.GetHashCode();
   2123       hash ^= MapStringNestedMessage.GetHashCode();
   2124       hash ^= MapStringForeignMessage.GetHashCode();
   2125       hash ^= MapStringNestedEnum.GetHashCode();
   2126       hash ^= MapStringForeignEnum.GetHashCode();
   2127       if (oneofFieldCase_ == OneofFieldOneofCase.OneofUint32) hash ^= OneofUint32.GetHashCode();
   2128       if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) hash ^= OneofNestedMessage.GetHashCode();
   2129       if (oneofFieldCase_ == OneofFieldOneofCase.OneofString) hash ^= OneofString.GetHashCode();
   2130       if (oneofFieldCase_ == OneofFieldOneofCase.OneofBytes) hash ^= OneofBytes.GetHashCode();
   2131       if (optionalBoolWrapper_ != null) hash ^= OptionalBoolWrapper.GetHashCode();
   2132       if (optionalInt32Wrapper_ != null) hash ^= OptionalInt32Wrapper.GetHashCode();
   2133       if (optionalInt64Wrapper_ != null) hash ^= OptionalInt64Wrapper.GetHashCode();
   2134       if (optionalUint32Wrapper_ != null) hash ^= OptionalUint32Wrapper.GetHashCode();
   2135       if (optionalUint64Wrapper_ != null) hash ^= OptionalUint64Wrapper.GetHashCode();
   2136       if (optionalFloatWrapper_ != null) hash ^= OptionalFloatWrapper.GetHashCode();
   2137       if (optionalDoubleWrapper_ != null) hash ^= OptionalDoubleWrapper.GetHashCode();
   2138       if (optionalStringWrapper_ != null) hash ^= OptionalStringWrapper.GetHashCode();
   2139       if (optionalBytesWrapper_ != null) hash ^= OptionalBytesWrapper.GetHashCode();
   2140       hash ^= repeatedBoolWrapper_.GetHashCode();
   2141       hash ^= repeatedInt32Wrapper_.GetHashCode();
   2142       hash ^= repeatedInt64Wrapper_.GetHashCode();
   2143       hash ^= repeatedUint32Wrapper_.GetHashCode();
   2144       hash ^= repeatedUint64Wrapper_.GetHashCode();
   2145       hash ^= repeatedFloatWrapper_.GetHashCode();
   2146       hash ^= repeatedDoubleWrapper_.GetHashCode();
   2147       hash ^= repeatedStringWrapper_.GetHashCode();
   2148       hash ^= repeatedBytesWrapper_.GetHashCode();
   2149       if (optionalDuration_ != null) hash ^= OptionalDuration.GetHashCode();
   2150       if (optionalTimestamp_ != null) hash ^= OptionalTimestamp.GetHashCode();
   2151       if (optionalFieldMask_ != null) hash ^= OptionalFieldMask.GetHashCode();
   2152       if (optionalStruct_ != null) hash ^= OptionalStruct.GetHashCode();
   2153       if (optionalAny_ != null) hash ^= OptionalAny.GetHashCode();
   2154       if (optionalValue_ != null) hash ^= OptionalValue.GetHashCode();
   2155       hash ^= repeatedDuration_.GetHashCode();
   2156       hash ^= repeatedTimestamp_.GetHashCode();
   2157       hash ^= repeatedFieldmask_.GetHashCode();
   2158       hash ^= repeatedStruct_.GetHashCode();
   2159       hash ^= repeatedAny_.GetHashCode();
   2160       hash ^= repeatedValue_.GetHashCode();
   2161       if (Fieldname1 != 0) hash ^= Fieldname1.GetHashCode();
   2162       if (FieldName2 != 0) hash ^= FieldName2.GetHashCode();
   2163       if (FieldName3 != 0) hash ^= FieldName3.GetHashCode();
   2164       if (FieldName4 != 0) hash ^= FieldName4.GetHashCode();
   2165       if (Field0Name5 != 0) hash ^= Field0Name5.GetHashCode();
   2166       if (Field0Name6 != 0) hash ^= Field0Name6.GetHashCode();
   2167       if (FieldName7 != 0) hash ^= FieldName7.GetHashCode();
   2168       if (FieldName8 != 0) hash ^= FieldName8.GetHashCode();
   2169       if (FieldName9 != 0) hash ^= FieldName9.GetHashCode();
   2170       if (FieldName10 != 0) hash ^= FieldName10.GetHashCode();
   2171       if (FIELDNAME11 != 0) hash ^= FIELDNAME11.GetHashCode();
   2172       if (FIELDName12 != 0) hash ^= FIELDName12.GetHashCode();
   2173       hash ^= (int) oneofFieldCase_;
   2174       return hash;
   2175     }
   2176 
   2177     public override string ToString() {
   2178       return pb::JsonFormatter.ToDiagnosticString(this);
   2179     }
   2180 
   2181     public void WriteTo(pb::CodedOutputStream output) {
   2182       if (OptionalInt32 != 0) {
   2183         output.WriteRawTag(8);
   2184         output.WriteInt32(OptionalInt32);
   2185       }
   2186       if (OptionalInt64 != 0L) {
   2187         output.WriteRawTag(16);
   2188         output.WriteInt64(OptionalInt64);
   2189       }
   2190       if (OptionalUint32 != 0) {
   2191         output.WriteRawTag(24);
   2192         output.WriteUInt32(OptionalUint32);
   2193       }
   2194       if (OptionalUint64 != 0UL) {
   2195         output.WriteRawTag(32);
   2196         output.WriteUInt64(OptionalUint64);
   2197       }
   2198       if (OptionalSint32 != 0) {
   2199         output.WriteRawTag(40);
   2200         output.WriteSInt32(OptionalSint32);
   2201       }
   2202       if (OptionalSint64 != 0L) {
   2203         output.WriteRawTag(48);
   2204         output.WriteSInt64(OptionalSint64);
   2205       }
   2206       if (OptionalFixed32 != 0) {
   2207         output.WriteRawTag(61);
   2208         output.WriteFixed32(OptionalFixed32);
   2209       }
   2210       if (OptionalFixed64 != 0UL) {
   2211         output.WriteRawTag(65);
   2212         output.WriteFixed64(OptionalFixed64);
   2213       }
   2214       if (OptionalSfixed32 != 0) {
   2215         output.WriteRawTag(77);
   2216         output.WriteSFixed32(OptionalSfixed32);
   2217       }
   2218       if (OptionalSfixed64 != 0L) {
   2219         output.WriteRawTag(81);
   2220         output.WriteSFixed64(OptionalSfixed64);
   2221       }
   2222       if (OptionalFloat != 0F) {
   2223         output.WriteRawTag(93);
   2224         output.WriteFloat(OptionalFloat);
   2225       }
   2226       if (OptionalDouble != 0D) {
   2227         output.WriteRawTag(97);
   2228         output.WriteDouble(OptionalDouble);
   2229       }
   2230       if (OptionalBool != false) {
   2231         output.WriteRawTag(104);
   2232         output.WriteBool(OptionalBool);
   2233       }
   2234       if (OptionalString.Length != 0) {
   2235         output.WriteRawTag(114);
   2236         output.WriteString(OptionalString);
   2237       }
   2238       if (OptionalBytes.Length != 0) {
   2239         output.WriteRawTag(122);
   2240         output.WriteBytes(OptionalBytes);
   2241       }
   2242       if (optionalNestedMessage_ != null) {
   2243         output.WriteRawTag(146, 1);
   2244         output.WriteMessage(OptionalNestedMessage);
   2245       }
   2246       if (optionalForeignMessage_ != null) {
   2247         output.WriteRawTag(154, 1);
   2248         output.WriteMessage(OptionalForeignMessage);
   2249       }
   2250       if (OptionalNestedEnum != 0) {
   2251         output.WriteRawTag(168, 1);
   2252         output.WriteEnum((int) OptionalNestedEnum);
   2253       }
   2254       if (OptionalForeignEnum != 0) {
   2255         output.WriteRawTag(176, 1);
   2256         output.WriteEnum((int) OptionalForeignEnum);
   2257       }
   2258       if (OptionalStringPiece.Length != 0) {
   2259         output.WriteRawTag(194, 1);
   2260         output.WriteString(OptionalStringPiece);
   2261       }
   2262       if (OptionalCord.Length != 0) {
   2263         output.WriteRawTag(202, 1);
   2264         output.WriteString(OptionalCord);
   2265       }
   2266       if (recursiveMessage_ != null) {
   2267         output.WriteRawTag(218, 1);
   2268         output.WriteMessage(RecursiveMessage);
   2269       }
   2270       repeatedInt32_.WriteTo(output, _repeated_repeatedInt32_codec);
   2271       repeatedInt64_.WriteTo(output, _repeated_repeatedInt64_codec);
   2272       repeatedUint32_.WriteTo(output, _repeated_repeatedUint32_codec);
   2273       repeatedUint64_.WriteTo(output, _repeated_repeatedUint64_codec);
   2274       repeatedSint32_.WriteTo(output, _repeated_repeatedSint32_codec);
   2275       repeatedSint64_.WriteTo(output, _repeated_repeatedSint64_codec);
   2276       repeatedFixed32_.WriteTo(output, _repeated_repeatedFixed32_codec);
   2277       repeatedFixed64_.WriteTo(output, _repeated_repeatedFixed64_codec);
   2278       repeatedSfixed32_.WriteTo(output, _repeated_repeatedSfixed32_codec);
   2279       repeatedSfixed64_.WriteTo(output, _repeated_repeatedSfixed64_codec);
   2280       repeatedFloat_.WriteTo(output, _repeated_repeatedFloat_codec);
   2281       repeatedDouble_.WriteTo(output, _repeated_repeatedDouble_codec);
   2282       repeatedBool_.WriteTo(output, _repeated_repeatedBool_codec);
   2283       repeatedString_.WriteTo(output, _repeated_repeatedString_codec);
   2284       repeatedBytes_.WriteTo(output, _repeated_repeatedBytes_codec);
   2285       repeatedNestedMessage_.WriteTo(output, _repeated_repeatedNestedMessage_codec);
   2286       repeatedForeignMessage_.WriteTo(output, _repeated_repeatedForeignMessage_codec);
   2287       repeatedNestedEnum_.WriteTo(output, _repeated_repeatedNestedEnum_codec);
   2288       repeatedForeignEnum_.WriteTo(output, _repeated_repeatedForeignEnum_codec);
   2289       repeatedStringPiece_.WriteTo(output, _repeated_repeatedStringPiece_codec);
   2290       repeatedCord_.WriteTo(output, _repeated_repeatedCord_codec);
   2291       mapInt32Int32_.WriteTo(output, _map_mapInt32Int32_codec);
   2292       mapInt64Int64_.WriteTo(output, _map_mapInt64Int64_codec);
   2293       mapUint32Uint32_.WriteTo(output, _map_mapUint32Uint32_codec);
   2294       mapUint64Uint64_.WriteTo(output, _map_mapUint64Uint64_codec);
   2295       mapSint32Sint32_.WriteTo(output, _map_mapSint32Sint32_codec);
   2296       mapSint64Sint64_.WriteTo(output, _map_mapSint64Sint64_codec);
   2297       mapFixed32Fixed32_.WriteTo(output, _map_mapFixed32Fixed32_codec);
   2298       mapFixed64Fixed64_.WriteTo(output, _map_mapFixed64Fixed64_codec);
   2299       mapSfixed32Sfixed32_.WriteTo(output, _map_mapSfixed32Sfixed32_codec);
   2300       mapSfixed64Sfixed64_.WriteTo(output, _map_mapSfixed64Sfixed64_codec);
   2301       mapInt32Float_.WriteTo(output, _map_mapInt32Float_codec);
   2302       mapInt32Double_.WriteTo(output, _map_mapInt32Double_codec);
   2303       mapBoolBool_.WriteTo(output, _map_mapBoolBool_codec);
   2304       mapStringString_.WriteTo(output, _map_mapStringString_codec);
   2305       mapStringBytes_.WriteTo(output, _map_mapStringBytes_codec);
   2306       mapStringNestedMessage_.WriteTo(output, _map_mapStringNestedMessage_codec);
   2307       mapStringForeignMessage_.WriteTo(output, _map_mapStringForeignMessage_codec);
   2308       mapStringNestedEnum_.WriteTo(output, _map_mapStringNestedEnum_codec);
   2309       mapStringForeignEnum_.WriteTo(output, _map_mapStringForeignEnum_codec);
   2310       if (oneofFieldCase_ == OneofFieldOneofCase.OneofUint32) {
   2311         output.WriteRawTag(248, 6);
   2312         output.WriteUInt32(OneofUint32);
   2313       }
   2314       if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) {
   2315         output.WriteRawTag(130, 7);
   2316         output.WriteMessage(OneofNestedMessage);
   2317       }
   2318       if (oneofFieldCase_ == OneofFieldOneofCase.OneofString) {
   2319         output.WriteRawTag(138, 7);
   2320         output.WriteString(OneofString);
   2321       }
   2322       if (oneofFieldCase_ == OneofFieldOneofCase.OneofBytes) {
   2323         output.WriteRawTag(146, 7);
   2324         output.WriteBytes(OneofBytes);
   2325       }
   2326       if (optionalBoolWrapper_ != null) {
   2327         _single_optionalBoolWrapper_codec.WriteTagAndValue(output, OptionalBoolWrapper);
   2328       }
   2329       if (optionalInt32Wrapper_ != null) {
   2330         _single_optionalInt32Wrapper_codec.WriteTagAndValue(output, OptionalInt32Wrapper);
   2331       }
   2332       if (optionalInt64Wrapper_ != null) {
   2333         _single_optionalInt64Wrapper_codec.WriteTagAndValue(output, OptionalInt64Wrapper);
   2334       }
   2335       if (optionalUint32Wrapper_ != null) {
   2336         _single_optionalUint32Wrapper_codec.WriteTagAndValue(output, OptionalUint32Wrapper);
   2337       }
   2338       if (optionalUint64Wrapper_ != null) {
   2339         _single_optionalUint64Wrapper_codec.WriteTagAndValue(output, OptionalUint64Wrapper);
   2340       }
   2341       if (optionalFloatWrapper_ != null) {
   2342         _single_optionalFloatWrapper_codec.WriteTagAndValue(output, OptionalFloatWrapper);
   2343       }
   2344       if (optionalDoubleWrapper_ != null) {
   2345         _single_optionalDoubleWrapper_codec.WriteTagAndValue(output, OptionalDoubleWrapper);
   2346       }
   2347       if (optionalStringWrapper_ != null) {
   2348         _single_optionalStringWrapper_codec.WriteTagAndValue(output, OptionalStringWrapper);
   2349       }
   2350       if (optionalBytesWrapper_ != null) {
   2351         _single_optionalBytesWrapper_codec.WriteTagAndValue(output, OptionalBytesWrapper);
   2352       }
   2353       repeatedBoolWrapper_.WriteTo(output, _repeated_repeatedBoolWrapper_codec);
   2354       repeatedInt32Wrapper_.WriteTo(output, _repeated_repeatedInt32Wrapper_codec);
   2355       repeatedInt64Wrapper_.WriteTo(output, _repeated_repeatedInt64Wrapper_codec);
   2356       repeatedUint32Wrapper_.WriteTo(output, _repeated_repeatedUint32Wrapper_codec);
   2357       repeatedUint64Wrapper_.WriteTo(output, _repeated_repeatedUint64Wrapper_codec);
   2358       repeatedFloatWrapper_.WriteTo(output, _repeated_repeatedFloatWrapper_codec);
   2359       repeatedDoubleWrapper_.WriteTo(output, _repeated_repeatedDoubleWrapper_codec);
   2360       repeatedStringWrapper_.WriteTo(output, _repeated_repeatedStringWrapper_codec);
   2361       repeatedBytesWrapper_.WriteTo(output, _repeated_repeatedBytesWrapper_codec);
   2362       if (optionalDuration_ != null) {
   2363         output.WriteRawTag(234, 18);
   2364         output.WriteMessage(OptionalDuration);
   2365       }
   2366       if (optionalTimestamp_ != null) {
   2367         output.WriteRawTag(242, 18);
   2368         output.WriteMessage(OptionalTimestamp);
   2369       }
   2370       if (optionalFieldMask_ != null) {
   2371         output.WriteRawTag(250, 18);
   2372         output.WriteMessage(OptionalFieldMask);
   2373       }
   2374       if (optionalStruct_ != null) {
   2375         output.WriteRawTag(130, 19);
   2376         output.WriteMessage(OptionalStruct);
   2377       }
   2378       if (optionalAny_ != null) {
   2379         output.WriteRawTag(138, 19);
   2380         output.WriteMessage(OptionalAny);
   2381       }
   2382       if (optionalValue_ != null) {
   2383         output.WriteRawTag(146, 19);
   2384         output.WriteMessage(OptionalValue);
   2385       }
   2386       repeatedDuration_.WriteTo(output, _repeated_repeatedDuration_codec);
   2387       repeatedTimestamp_.WriteTo(output, _repeated_repeatedTimestamp_codec);
   2388       repeatedFieldmask_.WriteTo(output, _repeated_repeatedFieldmask_codec);
   2389       repeatedAny_.WriteTo(output, _repeated_repeatedAny_codec);
   2390       repeatedValue_.WriteTo(output, _repeated_repeatedValue_codec);
   2391       repeatedStruct_.WriteTo(output, _repeated_repeatedStruct_codec);
   2392       if (Fieldname1 != 0) {
   2393         output.WriteRawTag(136, 25);
   2394         output.WriteInt32(Fieldname1);
   2395       }
   2396       if (FieldName2 != 0) {
   2397         output.WriteRawTag(144, 25);
   2398         output.WriteInt32(FieldName2);
   2399       }
   2400       if (FieldName3 != 0) {
   2401         output.WriteRawTag(152, 25);
   2402         output.WriteInt32(FieldName3);
   2403       }
   2404       if (FieldName4 != 0) {
   2405         output.WriteRawTag(160, 25);
   2406         output.WriteInt32(FieldName4);
   2407       }
   2408       if (Field0Name5 != 0) {
   2409         output.WriteRawTag(168, 25);
   2410         output.WriteInt32(Field0Name5);
   2411       }
   2412       if (Field0Name6 != 0) {
   2413         output.WriteRawTag(176, 25);
   2414         output.WriteInt32(Field0Name6);
   2415       }
   2416       if (FieldName7 != 0) {
   2417         output.WriteRawTag(184, 25);
   2418         output.WriteInt32(FieldName7);
   2419       }
   2420       if (FieldName8 != 0) {
   2421         output.WriteRawTag(192, 25);
   2422         output.WriteInt32(FieldName8);
   2423       }
   2424       if (FieldName9 != 0) {
   2425         output.WriteRawTag(200, 25);
   2426         output.WriteInt32(FieldName9);
   2427       }
   2428       if (FieldName10 != 0) {
   2429         output.WriteRawTag(208, 25);
   2430         output.WriteInt32(FieldName10);
   2431       }
   2432       if (FIELDNAME11 != 0) {
   2433         output.WriteRawTag(216, 25);
   2434         output.WriteInt32(FIELDNAME11);
   2435       }
   2436       if (FIELDName12 != 0) {
   2437         output.WriteRawTag(224, 25);
   2438         output.WriteInt32(FIELDName12);
   2439       }
   2440     }
   2441 
   2442     public int CalculateSize() {
   2443       int size = 0;
   2444       if (OptionalInt32 != 0) {
   2445         size += 1 + pb::CodedOutputStream.ComputeInt32Size(OptionalInt32);
   2446       }
   2447       if (OptionalInt64 != 0L) {
   2448         size += 1 + pb::CodedOutputStream.ComputeInt64Size(OptionalInt64);
   2449       }
   2450       if (OptionalUint32 != 0) {
   2451         size += 1 + pb::CodedOutputStream.ComputeUInt32Size(OptionalUint32);
   2452       }
   2453       if (OptionalUint64 != 0UL) {
   2454         size += 1 + pb::CodedOutputStream.ComputeUInt64Size(OptionalUint64);
   2455       }
   2456       if (OptionalSint32 != 0) {
   2457         size += 1 + pb::CodedOutputStream.ComputeSInt32Size(OptionalSint32);
   2458       }
   2459       if (OptionalSint64 != 0L) {
   2460         size += 1 + pb::CodedOutputStream.ComputeSInt64Size(OptionalSint64);
   2461       }
   2462       if (OptionalFixed32 != 0) {
   2463         size += 1 + 4;
   2464       }
   2465       if (OptionalFixed64 != 0UL) {
   2466         size += 1 + 8;
   2467       }
   2468       if (OptionalSfixed32 != 0) {
   2469         size += 1 + 4;
   2470       }
   2471       if (OptionalSfixed64 != 0L) {
   2472         size += 1 + 8;
   2473       }
   2474       if (OptionalFloat != 0F) {
   2475         size += 1 + 4;
   2476       }
   2477       if (OptionalDouble != 0D) {
   2478         size += 1 + 8;
   2479       }
   2480       if (OptionalBool != false) {
   2481         size += 1 + 1;
   2482       }
   2483       if (OptionalString.Length != 0) {
   2484         size += 1 + pb::CodedOutputStream.ComputeStringSize(OptionalString);
   2485       }
   2486       if (OptionalBytes.Length != 0) {
   2487         size += 1 + pb::CodedOutputStream.ComputeBytesSize(OptionalBytes);
   2488       }
   2489       if (optionalNestedMessage_ != null) {
   2490         size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalNestedMessage);
   2491       }
   2492       if (optionalForeignMessage_ != null) {
   2493         size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalForeignMessage);
   2494       }
   2495       if (OptionalNestedEnum != 0) {
   2496         size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) OptionalNestedEnum);
   2497       }
   2498       if (OptionalForeignEnum != 0) {
   2499         size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) OptionalForeignEnum);
   2500       }
   2501       if (OptionalStringPiece.Length != 0) {
   2502         size += 2 + pb::CodedOutputStream.ComputeStringSize(OptionalStringPiece);
   2503       }
   2504       if (OptionalCord.Length != 0) {
   2505         size += 2 + pb::CodedOutputStream.ComputeStringSize(OptionalCord);
   2506       }
   2507       if (recursiveMessage_ != null) {
   2508         size += 2 + pb::CodedOutputStream.ComputeMessageSize(RecursiveMessage);
   2509       }
   2510       size += repeatedInt32_.CalculateSize(_repeated_repeatedInt32_codec);
   2511       size += repeatedInt64_.CalculateSize(_repeated_repeatedInt64_codec);
   2512       size += repeatedUint32_.CalculateSize(_repeated_repeatedUint32_codec);
   2513       size += repeatedUint64_.CalculateSize(_repeated_repeatedUint64_codec);
   2514       size += repeatedSint32_.CalculateSize(_repeated_repeatedSint32_codec);
   2515       size += repeatedSint64_.CalculateSize(_repeated_repeatedSint64_codec);
   2516       size += repeatedFixed32_.CalculateSize(_repeated_repeatedFixed32_codec);
   2517       size += repeatedFixed64_.CalculateSize(_repeated_repeatedFixed64_codec);
   2518       size += repeatedSfixed32_.CalculateSize(_repeated_repeatedSfixed32_codec);
   2519       size += repeatedSfixed64_.CalculateSize(_repeated_repeatedSfixed64_codec);
   2520       size += repeatedFloat_.CalculateSize(_repeated_repeatedFloat_codec);
   2521       size += repeatedDouble_.CalculateSize(_repeated_repeatedDouble_codec);
   2522       size += repeatedBool_.CalculateSize(_repeated_repeatedBool_codec);
   2523       size += repeatedString_.CalculateSize(_repeated_repeatedString_codec);
   2524       size += repeatedBytes_.CalculateSize(_repeated_repeatedBytes_codec);
   2525       size += repeatedNestedMessage_.CalculateSize(_repeated_repeatedNestedMessage_codec);
   2526       size += repeatedForeignMessage_.CalculateSize(_repeated_repeatedForeignMessage_codec);
   2527       size += repeatedNestedEnum_.CalculateSize(_repeated_repeatedNestedEnum_codec);
   2528       size += repeatedForeignEnum_.CalculateSize(_repeated_repeatedForeignEnum_codec);
   2529       size += repeatedStringPiece_.CalculateSize(_repeated_repeatedStringPiece_codec);
   2530       size += repeatedCord_.CalculateSize(_repeated_repeatedCord_codec);
   2531       size += mapInt32Int32_.CalculateSize(_map_mapInt32Int32_codec);
   2532       size += mapInt64Int64_.CalculateSize(_map_mapInt64Int64_codec);
   2533       size += mapUint32Uint32_.CalculateSize(_map_mapUint32Uint32_codec);
   2534       size += mapUint64Uint64_.CalculateSize(_map_mapUint64Uint64_codec);
   2535       size += mapSint32Sint32_.CalculateSize(_map_mapSint32Sint32_codec);
   2536       size += mapSint64Sint64_.CalculateSize(_map_mapSint64Sint64_codec);
   2537       size += mapFixed32Fixed32_.CalculateSize(_map_mapFixed32Fixed32_codec);
   2538       size += mapFixed64Fixed64_.CalculateSize(_map_mapFixed64Fixed64_codec);
   2539       size += mapSfixed32Sfixed32_.CalculateSize(_map_mapSfixed32Sfixed32_codec);
   2540       size += mapSfixed64Sfixed64_.CalculateSize(_map_mapSfixed64Sfixed64_codec);
   2541       size += mapInt32Float_.CalculateSize(_map_mapInt32Float_codec);
   2542       size += mapInt32Double_.CalculateSize(_map_mapInt32Double_codec);
   2543       size += mapBoolBool_.CalculateSize(_map_mapBoolBool_codec);
   2544       size += mapStringString_.CalculateSize(_map_mapStringString_codec);
   2545       size += mapStringBytes_.CalculateSize(_map_mapStringBytes_codec);
   2546       size += mapStringNestedMessage_.CalculateSize(_map_mapStringNestedMessage_codec);
   2547       size += mapStringForeignMessage_.CalculateSize(_map_mapStringForeignMessage_codec);
   2548       size += mapStringNestedEnum_.CalculateSize(_map_mapStringNestedEnum_codec);
   2549       size += mapStringForeignEnum_.CalculateSize(_map_mapStringForeignEnum_codec);
   2550       if (oneofFieldCase_ == OneofFieldOneofCase.OneofUint32) {
   2551         size += 2 + pb::CodedOutputStream.ComputeUInt32Size(OneofUint32);
   2552       }
   2553       if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) {
   2554         size += 2 + pb::CodedOutputStream.ComputeMessageSize(OneofNestedMessage);
   2555       }
   2556       if (oneofFieldCase_ == OneofFieldOneofCase.OneofString) {
   2557         size += 2 + pb::CodedOutputStream.ComputeStringSize(OneofString);
   2558       }
   2559       if (oneofFieldCase_ == OneofFieldOneofCase.OneofBytes) {
   2560         size += 2 + pb::CodedOutputStream.ComputeBytesSize(OneofBytes);
   2561       }
   2562       if (optionalBoolWrapper_ != null) {
   2563         size += _single_optionalBoolWrapper_codec.CalculateSizeWithTag(OptionalBoolWrapper);
   2564       }
   2565       if (optionalInt32Wrapper_ != null) {
   2566         size += _single_optionalInt32Wrapper_codec.CalculateSizeWithTag(OptionalInt32Wrapper);
   2567       }
   2568       if (optionalInt64Wrapper_ != null) {
   2569         size += _single_optionalInt64Wrapper_codec.CalculateSizeWithTag(OptionalInt64Wrapper);
   2570       }
   2571       if (optionalUint32Wrapper_ != null) {
   2572         size += _single_optionalUint32Wrapper_codec.CalculateSizeWithTag(OptionalUint32Wrapper);
   2573       }
   2574       if (optionalUint64Wrapper_ != null) {
   2575         size += _single_optionalUint64Wrapper_codec.CalculateSizeWithTag(OptionalUint64Wrapper);
   2576       }
   2577       if (optionalFloatWrapper_ != null) {
   2578         size += _single_optionalFloatWrapper_codec.CalculateSizeWithTag(OptionalFloatWrapper);
   2579       }
   2580       if (optionalDoubleWrapper_ != null) {
   2581         size += _single_optionalDoubleWrapper_codec.CalculateSizeWithTag(OptionalDoubleWrapper);
   2582       }
   2583       if (optionalStringWrapper_ != null) {
   2584         size += _single_optionalStringWrapper_codec.CalculateSizeWithTag(OptionalStringWrapper);
   2585       }
   2586       if (optionalBytesWrapper_ != null) {
   2587         size += _single_optionalBytesWrapper_codec.CalculateSizeWithTag(OptionalBytesWrapper);
   2588       }
   2589       size += repeatedBoolWrapper_.CalculateSize(_repeated_repeatedBoolWrapper_codec);
   2590       size += repeatedInt32Wrapper_.CalculateSize(_repeated_repeatedInt32Wrapper_codec);
   2591       size += repeatedInt64Wrapper_.CalculateSize(_repeated_repeatedInt64Wrapper_codec);
   2592       size += repeatedUint32Wrapper_.CalculateSize(_repeated_repeatedUint32Wrapper_codec);
   2593       size += repeatedUint64Wrapper_.CalculateSize(_repeated_repeatedUint64Wrapper_codec);
   2594       size += repeatedFloatWrapper_.CalculateSize(_repeated_repeatedFloatWrapper_codec);
   2595       size += repeatedDoubleWrapper_.CalculateSize(_repeated_repeatedDoubleWrapper_codec);
   2596       size += repeatedStringWrapper_.CalculateSize(_repeated_repeatedStringWrapper_codec);
   2597       size += repeatedBytesWrapper_.CalculateSize(_repeated_repeatedBytesWrapper_codec);
   2598       if (optionalDuration_ != null) {
   2599         size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalDuration);
   2600       }
   2601       if (optionalTimestamp_ != null) {
   2602         size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalTimestamp);
   2603       }
   2604       if (optionalFieldMask_ != null) {
   2605         size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalFieldMask);
   2606       }
   2607       if (optionalStruct_ != null) {
   2608         size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalStruct);
   2609       }
   2610       if (optionalAny_ != null) {
   2611         size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalAny);
   2612       }
   2613       if (optionalValue_ != null) {
   2614         size += 2 + pb::CodedOutputStream.ComputeMessageSize(OptionalValue);
   2615       }
   2616       size += repeatedDuration_.CalculateSize(_repeated_repeatedDuration_codec);
   2617       size += repeatedTimestamp_.CalculateSize(_repeated_repeatedTimestamp_codec);
   2618       size += repeatedFieldmask_.CalculateSize(_repeated_repeatedFieldmask_codec);
   2619       size += repeatedStruct_.CalculateSize(_repeated_repeatedStruct_codec);
   2620       size += repeatedAny_.CalculateSize(_repeated_repeatedAny_codec);
   2621       size += repeatedValue_.CalculateSize(_repeated_repeatedValue_codec);
   2622       if (Fieldname1 != 0) {
   2623         size += 2 + pb::CodedOutputStream.ComputeInt32Size(Fieldname1);
   2624       }
   2625       if (FieldName2 != 0) {
   2626         size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName2);
   2627       }
   2628       if (FieldName3 != 0) {
   2629         size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName3);
   2630       }
   2631       if (FieldName4 != 0) {
   2632         size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName4);
   2633       }
   2634       if (Field0Name5 != 0) {
   2635         size += 2 + pb::CodedOutputStream.ComputeInt32Size(Field0Name5);
   2636       }
   2637       if (Field0Name6 != 0) {
   2638         size += 2 + pb::CodedOutputStream.ComputeInt32Size(Field0Name6);
   2639       }
   2640       if (FieldName7 != 0) {
   2641         size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName7);
   2642       }
   2643       if (FieldName8 != 0) {
   2644         size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName8);
   2645       }
   2646       if (FieldName9 != 0) {
   2647         size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName9);
   2648       }
   2649       if (FieldName10 != 0) {
   2650         size += 2 + pb::CodedOutputStream.ComputeInt32Size(FieldName10);
   2651       }
   2652       if (FIELDNAME11 != 0) {
   2653         size += 2 + pb::CodedOutputStream.ComputeInt32Size(FIELDNAME11);
   2654       }
   2655       if (FIELDName12 != 0) {
   2656         size += 2 + pb::CodedOutputStream.ComputeInt32Size(FIELDName12);
   2657       }
   2658       return size;
   2659     }
   2660 
   2661     public void MergeFrom(TestAllTypes other) {
   2662       if (other == null) {
   2663         return;
   2664       }
   2665       if (other.OptionalInt32 != 0) {
   2666         OptionalInt32 = other.OptionalInt32;
   2667       }
   2668       if (other.OptionalInt64 != 0L) {
   2669         OptionalInt64 = other.OptionalInt64;
   2670       }
   2671       if (other.OptionalUint32 != 0) {
   2672         OptionalUint32 = other.OptionalUint32;
   2673       }
   2674       if (other.OptionalUint64 != 0UL) {
   2675         OptionalUint64 = other.OptionalUint64;
   2676       }
   2677       if (other.OptionalSint32 != 0) {
   2678         OptionalSint32 = other.OptionalSint32;
   2679       }
   2680       if (other.OptionalSint64 != 0L) {
   2681         OptionalSint64 = other.OptionalSint64;
   2682       }
   2683       if (other.OptionalFixed32 != 0) {
   2684         OptionalFixed32 = other.OptionalFixed32;
   2685       }
   2686       if (other.OptionalFixed64 != 0UL) {
   2687         OptionalFixed64 = other.OptionalFixed64;
   2688       }
   2689       if (other.OptionalSfixed32 != 0) {
   2690         OptionalSfixed32 = other.OptionalSfixed32;
   2691       }
   2692       if (other.OptionalSfixed64 != 0L) {
   2693         OptionalSfixed64 = other.OptionalSfixed64;
   2694       }
   2695       if (other.OptionalFloat != 0F) {
   2696         OptionalFloat = other.OptionalFloat;
   2697       }
   2698       if (other.OptionalDouble != 0D) {
   2699         OptionalDouble = other.OptionalDouble;
   2700       }
   2701       if (other.OptionalBool != false) {
   2702         OptionalBool = other.OptionalBool;
   2703       }
   2704       if (other.OptionalString.Length != 0) {
   2705         OptionalString = other.OptionalString;
   2706       }
   2707       if (other.OptionalBytes.Length != 0) {
   2708         OptionalBytes = other.OptionalBytes;
   2709       }
   2710       if (other.optionalNestedMessage_ != null) {
   2711         if (optionalNestedMessage_ == null) {
   2712           optionalNestedMessage_ = new global::Conformance.TestAllTypes.Types.NestedMessage();
   2713         }
   2714         OptionalNestedMessage.MergeFrom(other.OptionalNestedMessage);
   2715       }
   2716       if (other.optionalForeignMessage_ != null) {
   2717         if (optionalForeignMessage_ == null) {
   2718           optionalForeignMessage_ = new global::Conformance.ForeignMessage();
   2719         }
   2720         OptionalForeignMessage.MergeFrom(other.OptionalForeignMessage);
   2721       }
   2722       if (other.OptionalNestedEnum != 0) {
   2723         OptionalNestedEnum = other.OptionalNestedEnum;
   2724       }
   2725       if (other.OptionalForeignEnum != 0) {
   2726         OptionalForeignEnum = other.OptionalForeignEnum;
   2727       }
   2728       if (other.OptionalStringPiece.Length != 0) {
   2729         OptionalStringPiece = other.OptionalStringPiece;
   2730       }
   2731       if (other.OptionalCord.Length != 0) {
   2732         OptionalCord = other.OptionalCord;
   2733       }
   2734       if (other.recursiveMessage_ != null) {
   2735         if (recursiveMessage_ == null) {
   2736           recursiveMessage_ = new global::Conformance.TestAllTypes();
   2737         }
   2738         RecursiveMessage.MergeFrom(other.RecursiveMessage);
   2739       }
   2740       repeatedInt32_.Add(other.repeatedInt32_);
   2741       repeatedInt64_.Add(other.repeatedInt64_);
   2742       repeatedUint32_.Add(other.repeatedUint32_);
   2743       repeatedUint64_.Add(other.repeatedUint64_);
   2744       repeatedSint32_.Add(other.repeatedSint32_);
   2745       repeatedSint64_.Add(other.repeatedSint64_);
   2746       repeatedFixed32_.Add(other.repeatedFixed32_);
   2747       repeatedFixed64_.Add(other.repeatedFixed64_);
   2748       repeatedSfixed32_.Add(other.repeatedSfixed32_);
   2749       repeatedSfixed64_.Add(other.repeatedSfixed64_);
   2750       repeatedFloat_.Add(other.repeatedFloat_);
   2751       repeatedDouble_.Add(other.repeatedDouble_);
   2752       repeatedBool_.Add(other.repeatedBool_);
   2753       repeatedString_.Add(other.repeatedString_);
   2754       repeatedBytes_.Add(other.repeatedBytes_);
   2755       repeatedNestedMessage_.Add(other.repeatedNestedMessage_);
   2756       repeatedForeignMessage_.Add(other.repeatedForeignMessage_);
   2757       repeatedNestedEnum_.Add(other.repeatedNestedEnum_);
   2758       repeatedForeignEnum_.Add(other.repeatedForeignEnum_);
   2759       repeatedStringPiece_.Add(other.repeatedStringPiece_);
   2760       repeatedCord_.Add(other.repeatedCord_);
   2761       mapInt32Int32_.Add(other.mapInt32Int32_);
   2762       mapInt64Int64_.Add(other.mapInt64Int64_);
   2763       mapUint32Uint32_.Add(other.mapUint32Uint32_);
   2764       mapUint64Uint64_.Add(other.mapUint64Uint64_);
   2765       mapSint32Sint32_.Add(other.mapSint32Sint32_);
   2766       mapSint64Sint64_.Add(other.mapSint64Sint64_);
   2767       mapFixed32Fixed32_.Add(other.mapFixed32Fixed32_);
   2768       mapFixed64Fixed64_.Add(other.mapFixed64Fixed64_);
   2769       mapSfixed32Sfixed32_.Add(other.mapSfixed32Sfixed32_);
   2770       mapSfixed64Sfixed64_.Add(other.mapSfixed64Sfixed64_);
   2771       mapInt32Float_.Add(other.mapInt32Float_);
   2772       mapInt32Double_.Add(other.mapInt32Double_);
   2773       mapBoolBool_.Add(other.mapBoolBool_);
   2774       mapStringString_.Add(other.mapStringString_);
   2775       mapStringBytes_.Add(other.mapStringBytes_);
   2776       mapStringNestedMessage_.Add(other.mapStringNestedMessage_);
   2777       mapStringForeignMessage_.Add(other.mapStringForeignMessage_);
   2778       mapStringNestedEnum_.Add(other.mapStringNestedEnum_);
   2779       mapStringForeignEnum_.Add(other.mapStringForeignEnum_);
   2780       if (other.optionalBoolWrapper_ != null) {
   2781         if (optionalBoolWrapper_ == null || other.OptionalBoolWrapper != false) {
   2782           OptionalBoolWrapper = other.OptionalBoolWrapper;
   2783         }
   2784       }
   2785       if (other.optionalInt32Wrapper_ != null) {
   2786         if (optionalInt32Wrapper_ == null || other.OptionalInt32Wrapper != 0) {
   2787           OptionalInt32Wrapper = other.OptionalInt32Wrapper;
   2788         }
   2789       }
   2790       if (other.optionalInt64Wrapper_ != null) {
   2791         if (optionalInt64Wrapper_ == null || other.OptionalInt64Wrapper != 0L) {
   2792           OptionalInt64Wrapper = other.OptionalInt64Wrapper;
   2793         }
   2794       }
   2795       if (other.optionalUint32Wrapper_ != null) {
   2796         if (optionalUint32Wrapper_ == null || other.OptionalUint32Wrapper != 0) {
   2797           OptionalUint32Wrapper = other.OptionalUint32Wrapper;
   2798         }
   2799       }
   2800       if (other.optionalUint64Wrapper_ != null) {
   2801         if (optionalUint64Wrapper_ == null || other.OptionalUint64Wrapper != 0UL) {
   2802           OptionalUint64Wrapper = other.OptionalUint64Wrapper;
   2803         }
   2804       }
   2805       if (other.optionalFloatWrapper_ != null) {
   2806         if (optionalFloatWrapper_ == null || other.OptionalFloatWrapper != 0F) {
   2807           OptionalFloatWrapper = other.OptionalFloatWrapper;
   2808         }
   2809       }
   2810       if (other.optionalDoubleWrapper_ != null) {
   2811         if (optionalDoubleWrapper_ == null || other.OptionalDoubleWrapper != 0D) {
   2812           OptionalDoubleWrapper = other.OptionalDoubleWrapper;
   2813         }
   2814       }
   2815       if (other.optionalStringWrapper_ != null) {
   2816         if (optionalStringWrapper_ == null || other.OptionalStringWrapper != "") {
   2817           OptionalStringWrapper = other.OptionalStringWrapper;
   2818         }
   2819       }
   2820       if (other.optionalBytesWrapper_ != null) {
   2821         if (optionalBytesWrapper_ == null || other.OptionalBytesWrapper != pb::ByteString.Empty) {
   2822           OptionalBytesWrapper = other.OptionalBytesWrapper;
   2823         }
   2824       }
   2825       repeatedBoolWrapper_.Add(other.repeatedBoolWrapper_);
   2826       repeatedInt32Wrapper_.Add(other.repeatedInt32Wrapper_);
   2827       repeatedInt64Wrapper_.Add(other.repeatedInt64Wrapper_);
   2828       repeatedUint32Wrapper_.Add(other.repeatedUint32Wrapper_);
   2829       repeatedUint64Wrapper_.Add(other.repeatedUint64Wrapper_);
   2830       repeatedFloatWrapper_.Add(other.repeatedFloatWrapper_);
   2831       repeatedDoubleWrapper_.Add(other.repeatedDoubleWrapper_);
   2832       repeatedStringWrapper_.Add(other.repeatedStringWrapper_);
   2833       repeatedBytesWrapper_.Add(other.repeatedBytesWrapper_);
   2834       if (other.optionalDuration_ != null) {
   2835         if (optionalDuration_ == null) {
   2836           optionalDuration_ = new global::Google.Protobuf.WellKnownTypes.Duration();
   2837         }
   2838         OptionalDuration.MergeFrom(other.OptionalDuration);
   2839       }
   2840       if (other.optionalTimestamp_ != null) {
   2841         if (optionalTimestamp_ == null) {
   2842           optionalTimestamp_ = new global::Google.Protobuf.WellKnownTypes.Timestamp();
   2843         }
   2844         OptionalTimestamp.MergeFrom(other.OptionalTimestamp);
   2845       }
   2846       if (other.optionalFieldMask_ != null) {
   2847         if (optionalFieldMask_ == null) {
   2848           optionalFieldMask_ = new global::Google.Protobuf.WellKnownTypes.FieldMask();
   2849         }
   2850         OptionalFieldMask.MergeFrom(other.OptionalFieldMask);
   2851       }
   2852       if (other.optionalStruct_ != null) {
   2853         if (optionalStruct_ == null) {
   2854           optionalStruct_ = new global::Google.Protobuf.WellKnownTypes.Struct();
   2855         }
   2856         OptionalStruct.MergeFrom(other.OptionalStruct);
   2857       }
   2858       if (other.optionalAny_ != null) {
   2859         if (optionalAny_ == null) {
   2860           optionalAny_ = new global::Google.Protobuf.WellKnownTypes.Any();
   2861         }
   2862         OptionalAny.MergeFrom(other.OptionalAny);
   2863       }
   2864       if (other.optionalValue_ != null) {
   2865         if (optionalValue_ == null) {
   2866           optionalValue_ = new global::Google.Protobuf.WellKnownTypes.Value();
   2867         }
   2868         OptionalValue.MergeFrom(other.OptionalValue);
   2869       }
   2870       repeatedDuration_.Add(other.repeatedDuration_);
   2871       repeatedTimestamp_.Add(other.repeatedTimestamp_);
   2872       repeatedFieldmask_.Add(other.repeatedFieldmask_);
   2873       repeatedStruct_.Add(other.repeatedStruct_);
   2874       repeatedAny_.Add(other.repeatedAny_);
   2875       repeatedValue_.Add(other.repeatedValue_);
   2876       if (other.Fieldname1 != 0) {
   2877         Fieldname1 = other.Fieldname1;
   2878       }
   2879       if (other.FieldName2 != 0) {
   2880         FieldName2 = other.FieldName2;
   2881       }
   2882       if (other.FieldName3 != 0) {
   2883         FieldName3 = other.FieldName3;
   2884       }
   2885       if (other.FieldName4 != 0) {
   2886         FieldName4 = other.FieldName4;
   2887       }
   2888       if (other.Field0Name5 != 0) {
   2889         Field0Name5 = other.Field0Name5;
   2890       }
   2891       if (other.Field0Name6 != 0) {
   2892         Field0Name6 = other.Field0Name6;
   2893       }
   2894       if (other.FieldName7 != 0) {
   2895         FieldName7 = other.FieldName7;
   2896       }
   2897       if (other.FieldName8 != 0) {
   2898         FieldName8 = other.FieldName8;
   2899       }
   2900       if (other.FieldName9 != 0) {
   2901         FieldName9 = other.FieldName9;
   2902       }
   2903       if (other.FieldName10 != 0) {
   2904         FieldName10 = other.FieldName10;
   2905       }
   2906       if (other.FIELDNAME11 != 0) {
   2907         FIELDNAME11 = other.FIELDNAME11;
   2908       }
   2909       if (other.FIELDName12 != 0) {
   2910         FIELDName12 = other.FIELDName12;
   2911       }
   2912       switch (other.OneofFieldCase) {
   2913         case OneofFieldOneofCase.OneofUint32:
   2914           OneofUint32 = other.OneofUint32;
   2915           break;
   2916         case OneofFieldOneofCase.OneofNestedMessage:
   2917           OneofNestedMessage = other.OneofNestedMessage;
   2918           break;
   2919         case OneofFieldOneofCase.OneofString:
   2920           OneofString = other.OneofString;
   2921           break;
   2922         case OneofFieldOneofCase.OneofBytes:
   2923           OneofBytes = other.OneofBytes;
   2924           break;
   2925       }
   2926 
   2927     }
   2928 
   2929     public void MergeFrom(pb::CodedInputStream input) {
   2930       uint tag;
   2931       while ((tag = input.ReadTag()) != 0) {
   2932         switch(tag) {
   2933           default:
   2934             input.SkipLastField();
   2935             break;
   2936           case 8: {
   2937             OptionalInt32 = input.ReadInt32();
   2938             break;
   2939           }
   2940           case 16: {
   2941             OptionalInt64 = input.ReadInt64();
   2942             break;
   2943           }
   2944           case 24: {
   2945             OptionalUint32 = input.ReadUInt32();
   2946             break;
   2947           }
   2948           case 32: {
   2949             OptionalUint64 = input.ReadUInt64();
   2950             break;
   2951           }
   2952           case 40: {
   2953             OptionalSint32 = input.ReadSInt32();
   2954             break;
   2955           }
   2956           case 48: {
   2957             OptionalSint64 = input.ReadSInt64();
   2958             break;
   2959           }
   2960           case 61: {
   2961             OptionalFixed32 = input.ReadFixed32();
   2962             break;
   2963           }
   2964           case 65: {
   2965             OptionalFixed64 = input.ReadFixed64();
   2966             break;
   2967           }
   2968           case 77: {
   2969             OptionalSfixed32 = input.ReadSFixed32();
   2970             break;
   2971           }
   2972           case 81: {
   2973             OptionalSfixed64 = input.ReadSFixed64();
   2974             break;
   2975           }
   2976           case 93: {
   2977             OptionalFloat = input.ReadFloat();
   2978             break;
   2979           }
   2980           case 97: {
   2981             OptionalDouble = input.ReadDouble();
   2982             break;
   2983           }
   2984           case 104: {
   2985             OptionalBool = input.ReadBool();
   2986             break;
   2987           }
   2988           case 114: {
   2989             OptionalString = input.ReadString();
   2990             break;
   2991           }
   2992           case 122: {
   2993             OptionalBytes = input.ReadBytes();
   2994             break;
   2995           }
   2996           case 146: {
   2997             if (optionalNestedMessage_ == null) {
   2998               optionalNestedMessage_ = new global::Conformance.TestAllTypes.Types.NestedMessage();
   2999             }
   3000             input.ReadMessage(optionalNestedMessage_);
   3001             break;
   3002           }
   3003           case 154: {
   3004             if (optionalForeignMessage_ == null) {
   3005               optionalForeignMessage_ = new global::Conformance.ForeignMessage();
   3006             }
   3007             input.ReadMessage(optionalForeignMessage_);
   3008             break;
   3009           }
   3010           case 168: {
   3011             optionalNestedEnum_ = (global::Conformance.TestAllTypes.Types.NestedEnum) input.ReadEnum();
   3012             break;
   3013           }
   3014           case 176: {
   3015             optionalForeignEnum_ = (global::Conformance.ForeignEnum) input.ReadEnum();
   3016             break;
   3017           }
   3018           case 194: {
   3019             OptionalStringPiece = input.ReadString();
   3020             break;
   3021           }
   3022           case 202: {
   3023             OptionalCord = input.ReadString();
   3024             break;
   3025           }
   3026           case 218: {
   3027             if (recursiveMessage_ == null) {
   3028               recursiveMessage_ = new global::Conformance.TestAllTypes();
   3029             }
   3030             input.ReadMessage(recursiveMessage_);
   3031             break;
   3032           }
   3033           case 250:
   3034           case 248: {
   3035             repeatedInt32_.AddEntriesFrom(input, _repeated_repeatedInt32_codec);
   3036             break;
   3037           }
   3038           case 258:
   3039           case 256: {
   3040             repeatedInt64_.AddEntriesFrom(input, _repeated_repeatedInt64_codec);
   3041             break;
   3042           }
   3043           case 266:
   3044           case 264: {
   3045             repeatedUint32_.AddEntriesFrom(input, _repeated_repeatedUint32_codec);
   3046             break;
   3047           }
   3048           case 274:
   3049           case 272: {
   3050             repeatedUint64_.AddEntriesFrom(input, _repeated_repeatedUint64_codec);
   3051             break;
   3052           }
   3053           case 282:
   3054           case 280: {
   3055             repeatedSint32_.AddEntriesFrom(input, _repeated_repeatedSint32_codec);
   3056             break;
   3057           }
   3058           case 290:
   3059           case 288: {
   3060             repeatedSint64_.AddEntriesFrom(input, _repeated_repeatedSint64_codec);
   3061             break;
   3062           }
   3063           case 298:
   3064           case 301: {
   3065             repeatedFixed32_.AddEntriesFrom(input, _repeated_repeatedFixed32_codec);
   3066             break;
   3067           }
   3068           case 306:
   3069           case 305: {
   3070             repeatedFixed64_.AddEntriesFrom(input, _repeated_repeatedFixed64_codec);
   3071             break;
   3072           }
   3073           case 314:
   3074           case 317: {
   3075             repeatedSfixed32_.AddEntriesFrom(input, _repeated_repeatedSfixed32_codec);
   3076             break;
   3077           }
   3078           case 322:
   3079           case 321: {
   3080             repeatedSfixed64_.AddEntriesFrom(input, _repeated_repeatedSfixed64_codec);
   3081             break;
   3082           }
   3083           case 330:
   3084           case 333: {
   3085             repeatedFloat_.AddEntriesFrom(input, _repeated_repeatedFloat_codec);
   3086             break;
   3087           }
   3088           case 338:
   3089           case 337: {
   3090             repeatedDouble_.AddEntriesFrom(input, _repeated_repeatedDouble_codec);
   3091             break;
   3092           }
   3093           case 346:
   3094           case 344: {
   3095             repeatedBool_.AddEntriesFrom(input, _repeated_repeatedBool_codec);
   3096             break;
   3097           }
   3098           case 354: {
   3099             repeatedString_.AddEntriesFrom(input, _repeated_repeatedString_codec);
   3100             break;
   3101           }
   3102           case 362: {
   3103             repeatedBytes_.AddEntriesFrom(input, _repeated_repeatedBytes_codec);
   3104             break;
   3105           }
   3106           case 386: {
   3107             repeatedNestedMessage_.AddEntriesFrom(input, _repeated_repeatedNestedMessage_codec);
   3108             break;
   3109           }
   3110           case 394: {
   3111             repeatedForeignMessage_.AddEntriesFrom(input, _repeated_repeatedForeignMessage_codec);
   3112             break;
   3113           }
   3114           case 410:
   3115           case 408: {
   3116             repeatedNestedEnum_.AddEntriesFrom(input, _repeated_repeatedNestedEnum_codec);
   3117             break;
   3118           }
   3119           case 418:
   3120           case 416: {
   3121             repeatedForeignEnum_.AddEntriesFrom(input, _repeated_repeatedForeignEnum_codec);
   3122             break;
   3123           }
   3124           case 434: {
   3125             repeatedStringPiece_.AddEntriesFrom(input, _repeated_repeatedStringPiece_codec);
   3126             break;
   3127           }
   3128           case 442: {
   3129             repeatedCord_.AddEntriesFrom(input, _repeated_repeatedCord_codec);
   3130             break;
   3131           }
   3132           case 450: {
   3133             mapInt32Int32_.AddEntriesFrom(input, _map_mapInt32Int32_codec);
   3134             break;
   3135           }
   3136           case 458: {
   3137             mapInt64Int64_.AddEntriesFrom(input, _map_mapInt64Int64_codec);
   3138             break;
   3139           }
   3140           case 466: {
   3141             mapUint32Uint32_.AddEntriesFrom(input, _map_mapUint32Uint32_codec);
   3142             break;
   3143           }
   3144           case 474: {
   3145             mapUint64Uint64_.AddEntriesFrom(input, _map_mapUint64Uint64_codec);
   3146             break;
   3147           }
   3148           case 482: {
   3149             mapSint32Sint32_.AddEntriesFrom(input, _map_mapSint32Sint32_codec);
   3150             break;
   3151           }
   3152           case 490: {
   3153             mapSint64Sint64_.AddEntriesFrom(input, _map_mapSint64Sint64_codec);
   3154             break;
   3155           }
   3156           case 498: {
   3157             mapFixed32Fixed32_.AddEntriesFrom(input, _map_mapFixed32Fixed32_codec);
   3158             break;
   3159           }
   3160           case 506: {
   3161             mapFixed64Fixed64_.AddEntriesFrom(input, _map_mapFixed64Fixed64_codec);
   3162             break;
   3163           }
   3164           case 514: {
   3165             mapSfixed32Sfixed32_.AddEntriesFrom(input, _map_mapSfixed32Sfixed32_codec);
   3166             break;
   3167           }
   3168           case 522: {
   3169             mapSfixed64Sfixed64_.AddEntriesFrom(input, _map_mapSfixed64Sfixed64_codec);
   3170             break;
   3171           }
   3172           case 530: {
   3173             mapInt32Float_.AddEntriesFrom(input, _map_mapInt32Float_codec);
   3174             break;
   3175           }
   3176           case 538: {
   3177             mapInt32Double_.AddEntriesFrom(input, _map_mapInt32Double_codec);
   3178             break;
   3179           }
   3180           case 546: {
   3181             mapBoolBool_.AddEntriesFrom(input, _map_mapBoolBool_codec);
   3182             break;
   3183           }
   3184           case 554: {
   3185             mapStringString_.AddEntriesFrom(input, _map_mapStringString_codec);
   3186             break;
   3187           }
   3188           case 562: {
   3189             mapStringBytes_.AddEntriesFrom(input, _map_mapStringBytes_codec);
   3190             break;
   3191           }
   3192           case 570: {
   3193             mapStringNestedMessage_.AddEntriesFrom(input, _map_mapStringNestedMessage_codec);
   3194             break;
   3195           }
   3196           case 578: {
   3197             mapStringForeignMessage_.AddEntriesFrom(input, _map_mapStringForeignMessage_codec);
   3198             break;
   3199           }
   3200           case 586: {
   3201             mapStringNestedEnum_.AddEntriesFrom(input, _map_mapStringNestedEnum_codec);
   3202             break;
   3203           }
   3204           case 594: {
   3205             mapStringForeignEnum_.AddEntriesFrom(input, _map_mapStringForeignEnum_codec);
   3206             break;
   3207           }
   3208           case 888: {
   3209             OneofUint32 = input.ReadUInt32();
   3210             break;
   3211           }
   3212           case 898: {
   3213             global::Conformance.TestAllTypes.Types.NestedMessage subBuilder = new global::Conformance.TestAllTypes.Types.NestedMessage();
   3214             if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) {
   3215               subBuilder.MergeFrom(OneofNestedMessage);
   3216             }
   3217             input.ReadMessage(subBuilder);
   3218             OneofNestedMessage = subBuilder;
   3219             break;
   3220           }
   3221           case 906: {
   3222             OneofString = input.ReadString();
   3223             break;
   3224           }
   3225           case 914: {
   3226             OneofBytes = input.ReadBytes();
   3227             break;
   3228           }
   3229           case 1610: {
   3230             bool? value = _single_optionalBoolWrapper_codec.Read(input);
   3231             if (optionalBoolWrapper_ == null || value != false) {
   3232               OptionalBoolWrapper = value;
   3233             }
   3234             break;
   3235           }
   3236           case 1618: {
   3237             int? value = _single_optionalInt32Wrapper_codec.Read(input);
   3238             if (optionalInt32Wrapper_ == null || value != 0) {
   3239               OptionalInt32Wrapper = value;
   3240             }
   3241             break;
   3242           }
   3243           case 1626: {
   3244             long? value = _single_optionalInt64Wrapper_codec.Read(input);
   3245             if (optionalInt64Wrapper_ == null || value != 0L) {
   3246               OptionalInt64Wrapper = value;
   3247             }
   3248             break;
   3249           }
   3250           case 1634: {
   3251             uint? value = _single_optionalUint32Wrapper_codec.Read(input);
   3252             if (optionalUint32Wrapper_ == null || value != 0) {
   3253               OptionalUint32Wrapper = value;
   3254             }
   3255             break;
   3256           }
   3257           case 1642: {
   3258             ulong? value = _single_optionalUint64Wrapper_codec.Read(input);
   3259             if (optionalUint64Wrapper_ == null || value != 0UL) {
   3260               OptionalUint64Wrapper = value;
   3261             }
   3262             break;
   3263           }
   3264           case 1650: {
   3265             float? value = _single_optionalFloatWrapper_codec.Read(input);
   3266             if (optionalFloatWrapper_ == null || value != 0F) {
   3267               OptionalFloatWrapper = value;
   3268             }
   3269             break;
   3270           }
   3271           case 1658: {
   3272             double? value = _single_optionalDoubleWrapper_codec.Read(input);
   3273             if (optionalDoubleWrapper_ == null || value != 0D) {
   3274               OptionalDoubleWrapper = value;
   3275             }
   3276             break;
   3277           }
   3278           case 1666: {
   3279             string value = _single_optionalStringWrapper_codec.Read(input);
   3280             if (optionalStringWrapper_ == null || value != "") {
   3281               OptionalStringWrapper = value;
   3282             }
   3283             break;
   3284           }
   3285           case 1674: {
   3286             pb::ByteString value = _single_optionalBytesWrapper_codec.Read(input);
   3287             if (optionalBytesWrapper_ == null || value != pb::ByteString.Empty) {
   3288               OptionalBytesWrapper = value;
   3289             }
   3290             break;
   3291           }
   3292           case 1690: {
   3293             repeatedBoolWrapper_.AddEntriesFrom(input, _repeated_repeatedBoolWrapper_codec);
   3294             break;
   3295           }
   3296           case 1698: {
   3297             repeatedInt32Wrapper_.AddEntriesFrom(input, _repeated_repeatedInt32Wrapper_codec);
   3298             break;
   3299           }
   3300           case 1706: {
   3301             repeatedInt64Wrapper_.AddEntriesFrom(input, _repeated_repeatedInt64Wrapper_codec);
   3302             break;
   3303           }
   3304           case 1714: {
   3305             repeatedUint32Wrapper_.AddEntriesFrom(input, _repeated_repeatedUint32Wrapper_codec);
   3306             break;
   3307           }
   3308           case 1722: {
   3309             repeatedUint64Wrapper_.AddEntriesFrom(input, _repeated_repeatedUint64Wrapper_codec);
   3310             break;
   3311           }
   3312           case 1730: {
   3313             repeatedFloatWrapper_.AddEntriesFrom(input, _repeated_repeatedFloatWrapper_codec);
   3314             break;
   3315           }
   3316           case 1738: {
   3317             repeatedDoubleWrapper_.AddEntriesFrom(input, _repeated_repeatedDoubleWrapper_codec);
   3318             break;
   3319           }
   3320           case 1746: {
   3321             repeatedStringWrapper_.AddEntriesFrom(input, _repeated_repeatedStringWrapper_codec);
   3322             break;
   3323           }
   3324           case 1754: {
   3325             repeatedBytesWrapper_.AddEntriesFrom(input, _repeated_repeatedBytesWrapper_codec);
   3326             break;
   3327           }
   3328           case 2410: {
   3329             if (optionalDuration_ == null) {
   3330               optionalDuration_ = new global::Google.Protobuf.WellKnownTypes.Duration();
   3331             }
   3332             input.ReadMessage(optionalDuration_);
   3333             break;
   3334           }
   3335           case 2418: {
   3336             if (optionalTimestamp_ == null) {
   3337               optionalTimestamp_ = new global::Google.Protobuf.WellKnownTypes.Timestamp();
   3338             }
   3339             input.ReadMessage(optionalTimestamp_);
   3340             break;
   3341           }
   3342           case 2426: {
   3343             if (optionalFieldMask_ == null) {
   3344               optionalFieldMask_ = new global::Google.Protobuf.WellKnownTypes.FieldMask();
   3345             }
   3346             input.ReadMessage(optionalFieldMask_);
   3347             break;
   3348           }
   3349           case 2434: {
   3350             if (optionalStruct_ == null) {
   3351               optionalStruct_ = new global::Google.Protobuf.WellKnownTypes.Struct();
   3352             }
   3353             input.ReadMessage(optionalStruct_);
   3354             break;
   3355           }
   3356           case 2442: {
   3357             if (optionalAny_ == null) {
   3358               optionalAny_ = new global::Google.Protobuf.WellKnownTypes.Any();
   3359             }
   3360             input.ReadMessage(optionalAny_);
   3361             break;
   3362           }
   3363           case 2450: {
   3364             if (optionalValue_ == null) {
   3365               optionalValue_ = new global::Google.Protobuf.WellKnownTypes.Value();
   3366             }
   3367             input.ReadMessage(optionalValue_);
   3368             break;
   3369           }
   3370           case 2490: {
   3371             repeatedDuration_.AddEntriesFrom(input, _repeated_repeatedDuration_codec);
   3372             break;
   3373           }
   3374           case 2498: {
   3375             repeatedTimestamp_.AddEntriesFrom(input, _repeated_repeatedTimestamp_codec);
   3376             break;
   3377           }
   3378           case 2506: {
   3379             repeatedFieldmask_.AddEntriesFrom(input, _repeated_repeatedFieldmask_codec);
   3380             break;
   3381           }
   3382           case 2522: {
   3383             repeatedAny_.AddEntriesFrom(input, _repeated_repeatedAny_codec);
   3384             break;
   3385           }
   3386           case 2530: {
   3387             repeatedValue_.AddEntriesFrom(input, _repeated_repeatedValue_codec);
   3388             break;
   3389           }
   3390           case 2594: {
   3391             repeatedStruct_.AddEntriesFrom(input, _repeated_repeatedStruct_codec);
   3392             break;
   3393           }
   3394           case 3208: {
   3395             Fieldname1 = input.ReadInt32();
   3396             break;
   3397           }
   3398           case 3216: {
   3399             FieldName2 = input.ReadInt32();
   3400             break;
   3401           }
   3402           case 3224: {
   3403             FieldName3 = input.ReadInt32();
   3404             break;
   3405           }
   3406           case 3232: {
   3407             FieldName4 = input.ReadInt32();
   3408             break;
   3409           }
   3410           case 3240: {
   3411             Field0Name5 = input.ReadInt32();
   3412             break;
   3413           }
   3414           case 3248: {
   3415             Field0Name6 = input.ReadInt32();
   3416             break;
   3417           }
   3418           case 3256: {
   3419             FieldName7 = input.ReadInt32();
   3420             break;
   3421           }
   3422           case 3264: {
   3423             FieldName8 = input.ReadInt32();
   3424             break;
   3425           }
   3426           case 3272: {
   3427             FieldName9 = input.ReadInt32();
   3428             break;
   3429           }
   3430           case 3280: {
   3431             FieldName10 = input.ReadInt32();
   3432             break;
   3433           }
   3434           case 3288: {
   3435             FIELDNAME11 = input.ReadInt32();
   3436             break;
   3437           }
   3438           case 3296: {
   3439             FIELDName12 = input.ReadInt32();
   3440             break;
   3441           }
   3442         }
   3443       }
   3444     }
   3445 
   3446     #region Nested types
   3447     /// <summary>Container for nested types declared in the TestAllTypes message type.</summary>
   3448     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
   3449     public static partial class Types {
   3450       public enum NestedEnum {
   3451         [pbr::OriginalName("FOO")] Foo = 0,
   3452         [pbr::OriginalName("BAR")] Bar = 1,
   3453         [pbr::OriginalName("BAZ")] Baz = 2,
   3454         /// <summary>
   3455         ///  Intentionally negative.
   3456         /// </summary>
   3457         [pbr::OriginalName("NEG")] Neg = -1,
   3458       }
   3459 
   3460       [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
   3461       public sealed partial class NestedMessage : pb::IMessage<NestedMessage> {
   3462         private static readonly pb::MessageParser<NestedMessage> _parser = new pb::MessageParser<NestedMessage>(() => new NestedMessage());
   3463         public static pb::MessageParser<NestedMessage> Parser { get { return _parser; } }
   3464 
   3465         public static pbr::MessageDescriptor Descriptor {
   3466           get { return global::Conformance.TestAllTypes.Descriptor.NestedTypes[0]; }
   3467         }
   3468 
   3469         pbr::MessageDescriptor pb::IMessage.Descriptor {
   3470           get { return Descriptor; }
   3471         }
   3472 
   3473         public NestedMessage() {
   3474           OnConstruction();
   3475         }
   3476 
   3477         partial void OnConstruction();
   3478 
   3479         public NestedMessage(NestedMessage other) : this() {
   3480           a_ = other.a_;
   3481           Corecursive = other.corecursive_ != null ? other.Corecursive.Clone() : null;
   3482         }
   3483 
   3484         public NestedMessage Clone() {
   3485           return new NestedMessage(this);
   3486         }
   3487 
   3488         /// <summary>Field number for the "a" field.</summary>
   3489         public const int AFieldNumber = 1;
   3490         private int a_;
   3491         public int A {
   3492           get { return a_; }
   3493           set {
   3494             a_ = value;
   3495           }
   3496         }
   3497 
   3498         /// <summary>Field number for the "corecursive" field.</summary>
   3499         public const int CorecursiveFieldNumber = 2;
   3500         private global::Conformance.TestAllTypes corecursive_;
   3501         public global::Conformance.TestAllTypes Corecursive {
   3502           get { return corecursive_; }
   3503           set {
   3504             corecursive_ = value;
   3505           }
   3506         }
   3507 
   3508         public override bool Equals(object other) {
   3509           return Equals(other as NestedMessage);
   3510         }
   3511 
   3512         public bool Equals(NestedMessage other) {
   3513           if (ReferenceEquals(other, null)) {
   3514             return false;
   3515           }
   3516           if (ReferenceEquals(other, this)) {
   3517             return true;
   3518           }
   3519           if (A != other.A) return false;
   3520           if (!object.Equals(Corecursive, other.Corecursive)) return false;
   3521           return true;
   3522         }
   3523 
   3524         public override int GetHashCode() {
   3525           int hash = 1;
   3526           if (A != 0) hash ^= A.GetHashCode();
   3527           if (corecursive_ != null) hash ^= Corecursive.GetHashCode();
   3528           return hash;
   3529         }
   3530 
   3531         public override string ToString() {
   3532           return pb::JsonFormatter.ToDiagnosticString(this);
   3533         }
   3534 
   3535         public void WriteTo(pb::CodedOutputStream output) {
   3536           if (A != 0) {
   3537             output.WriteRawTag(8);
   3538             output.WriteInt32(A);
   3539           }
   3540           if (corecursive_ != null) {
   3541             output.WriteRawTag(18);
   3542             output.WriteMessage(Corecursive);
   3543           }
   3544         }
   3545 
   3546         public int CalculateSize() {
   3547           int size = 0;
   3548           if (A != 0) {
   3549             size += 1 + pb::CodedOutputStream.ComputeInt32Size(A);
   3550           }
   3551           if (corecursive_ != null) {
   3552             size += 1 + pb::CodedOutputStream.ComputeMessageSize(Corecursive);
   3553           }
   3554           return size;
   3555         }
   3556 
   3557         public void MergeFrom(NestedMessage other) {
   3558           if (other == null) {
   3559             return;
   3560           }
   3561           if (other.A != 0) {
   3562             A = other.A;
   3563           }
   3564           if (other.corecursive_ != null) {
   3565             if (corecursive_ == null) {
   3566               corecursive_ = new global::Conformance.TestAllTypes();
   3567             }
   3568             Corecursive.MergeFrom(other.Corecursive);
   3569           }
   3570         }
   3571 
   3572         public void MergeFrom(pb::CodedInputStream input) {
   3573           uint tag;
   3574           while ((tag = input.ReadTag()) != 0) {
   3575             switch(tag) {
   3576               default:
   3577                 input.SkipLastField();
   3578                 break;
   3579               case 8: {
   3580                 A = input.ReadInt32();
   3581                 break;
   3582               }
   3583               case 18: {
   3584                 if (corecursive_ == null) {
   3585                   corecursive_ = new global::Conformance.TestAllTypes();
   3586                 }
   3587                 input.ReadMessage(corecursive_);
   3588                 break;
   3589               }
   3590             }
   3591           }
   3592         }
   3593 
   3594       }
   3595 
   3596     }
   3597     #endregion
   3598 
   3599   }
   3600 
   3601   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
   3602   public sealed partial class ForeignMessage : pb::IMessage<ForeignMessage> {
   3603     private static readonly pb::MessageParser<ForeignMessage> _parser = new pb::MessageParser<ForeignMessage>(() => new ForeignMessage());
   3604     public static pb::MessageParser<ForeignMessage> Parser { get { return _parser; } }
   3605 
   3606     public static pbr::MessageDescriptor Descriptor {
   3607       get { return global::Conformance.ConformanceReflection.Descriptor.MessageTypes[3]; }
   3608     }
   3609 
   3610     pbr::MessageDescriptor pb::IMessage.Descriptor {
   3611       get { return Descriptor; }
   3612     }
   3613 
   3614     public ForeignMessage() {
   3615       OnConstruction();
   3616     }
   3617 
   3618     partial void OnConstruction();
   3619 
   3620     public ForeignMessage(ForeignMessage other) : this() {
   3621       c_ = other.c_;
   3622     }
   3623 
   3624     public ForeignMessage Clone() {
   3625       return new ForeignMessage(this);
   3626     }
   3627 
   3628     /// <summary>Field number for the "c" field.</summary>
   3629     public const int CFieldNumber = 1;
   3630     private int c_;
   3631     public int C {
   3632       get { return c_; }
   3633       set {
   3634         c_ = value;
   3635       }
   3636     }
   3637 
   3638     public override bool Equals(object other) {
   3639       return Equals(other as ForeignMessage);
   3640     }
   3641 
   3642     public bool Equals(ForeignMessage other) {
   3643       if (ReferenceEquals(other, null)) {
   3644         return false;
   3645       }
   3646       if (ReferenceEquals(other, this)) {
   3647         return true;
   3648       }
   3649       if (C != other.C) return false;
   3650       return true;
   3651     }
   3652 
   3653     public override int GetHashCode() {
   3654       int hash = 1;
   3655       if (C != 0) hash ^= C.GetHashCode();
   3656       return hash;
   3657     }
   3658 
   3659     public override string ToString() {
   3660       return pb::JsonFormatter.ToDiagnosticString(this);
   3661     }
   3662 
   3663     public void WriteTo(pb::CodedOutputStream output) {
   3664       if (C != 0) {
   3665         output.WriteRawTag(8);
   3666         output.WriteInt32(C);
   3667       }
   3668     }
   3669 
   3670     public int CalculateSize() {
   3671       int size = 0;
   3672       if (C != 0) {
   3673         size += 1 + pb::CodedOutputStream.ComputeInt32Size(C);
   3674       }
   3675       return size;
   3676     }
   3677 
   3678     public void MergeFrom(ForeignMessage other) {
   3679       if (other == null) {
   3680         return;
   3681       }
   3682       if (other.C != 0) {
   3683         C = other.C;
   3684       }
   3685     }
   3686 
   3687     public void MergeFrom(pb::CodedInputStream input) {
   3688       uint tag;
   3689       while ((tag = input.ReadTag()) != 0) {
   3690         switch(tag) {
   3691           default:
   3692             input.SkipLastField();
   3693             break;
   3694           case 8: {
   3695             C = input.ReadInt32();
   3696             break;
   3697           }
   3698         }
   3699       }
   3700     }
   3701 
   3702   }
   3703 
   3704   #endregion
   3705 
   3706 }
   3707 
   3708 #endregion Designer generated code
   3709