|  | // <auto-generated> | 
|  | //     Generated by the protocol buffer compiler.  DO NOT EDIT! | 
|  | //     source: csharp/protos/unittest_custom_options_proto3.proto | 
|  | // </auto-generated> | 
|  | #pragma warning disable 1591, 0612, 3021, 8981 | 
|  | #region Designer generated code | 
|  |  | 
|  | using pb = global::Google.Protobuf; | 
|  | using pbc = global::Google.Protobuf.Collections; | 
|  | using pbr = global::Google.Protobuf.Reflection; | 
|  | using scg = global::System.Collections.Generic; | 
|  | namespace UnitTest.Issues.TestProtos { | 
|  |  | 
|  | /// <summary>Holder for reflection information generated from csharp/protos/unittest_custom_options_proto3.proto</summary> | 
|  | public static partial class UnittestCustomOptionsProto3Reflection { | 
|  |  | 
|  | #region Descriptor | 
|  | /// <summary>File descriptor for csharp/protos/unittest_custom_options_proto3.proto</summary> | 
|  | public static pbr::FileDescriptor Descriptor { | 
|  | get { return descriptor; } | 
|  | } | 
|  | private static pbr::FileDescriptor descriptor; | 
|  |  | 
|  | static UnittestCustomOptionsProto3Reflection() { | 
|  | byte[] descriptorData = global::System.Convert.FromBase64String( | 
|  | string.Concat( | 
|  | "CjJjc2hhcnAvcHJvdG9zL3VuaXR0ZXN0X2N1c3RvbV9vcHRpb25zX3Byb3Rv", | 
|  | "My5wcm90bxIRcHJvdG9idWZfdW5pdHRlc3QaIGdvb2dsZS9wcm90b2J1Zi9k", | 
|  | "ZXNjcmlwdG9yLnByb3RvItcBChxUZXN0TWVzc2FnZVdpdGhDdXN0b21PcHRp", | 
|  | "b25zEh4KBmZpZWxkMRgBIAEoCUIOCAHB4MMdLeF1CgIAAAASFQoLb25lb2Zf", | 
|  | "ZmllbGQYAiABKAVIACJTCgZBbkVudW0SFgoSQU5FTlVNX1VOU1BFQ0lGSUVE", | 
|  | "EAASDwoLQU5FTlVNX1ZBTDEQARIWCgtBTkVOVU1fVkFMMhACGgWwhvoFexoI", | 
|  | "xfbJHev8//86EAgA4OnCHcj//////////wFCGQoHQW5PbmVvZhIO+KzDHZ3/", | 
|  | "/////////wEiGAoWQ3VzdG9tT3B0aW9uRm9vUmVxdWVzdCIZChdDdXN0b21P", | 
|  | "cHRpb25Gb29SZXNwb25zZSIeChxDdXN0b21PcHRpb25Gb29DbGllbnRNZXNz", | 
|  | "YWdlIh4KHEN1c3RvbU9wdGlvbkZvb1NlcnZlck1lc3NhZ2UijwEKGkR1bW15", | 
|  | "TWVzc2FnZUNvbnRhaW5pbmdFbnVtInEKDFRlc3RFbnVtVHlwZRIgChxURVNU", | 
|  | "X09QVElPTl9FTlVNX1VOU1BFQ0lGSUVEEAASGgoWVEVTVF9PUFRJT05fRU5V", | 
|  | "TV9UWVBFMRAWEiMKFlRFU1RfT1BUSU9OX0VOVU1fVFlQRTIQ6f//////////", | 
|  | "ASIhCh9EdW1teU1lc3NhZ2VJbnZhbGlkQXNPcHRpb25UeXBlIooBChxDdXN0", | 
|  | "b21PcHRpb25NaW5JbnRlZ2VyVmFsdWVzOmqZ1qgdAAAAAAAAAICtja8dAAAA", | 
|  | "gJHurx0AAAAAAAAAAJ31rx0AAAAA+JewHf///////////wGAxLAd/////w/4", | 
|  | "9bAdAICTsh0AsLyyHYCAgICAgICAgAHoxrIdgICAgPj/////AdDesh0AIpEB", | 
|  | "ChxDdXN0b21PcHRpb25NYXhJbnRlZ2VyVmFsdWVzOnGZ1qgd/////////3+t", | 
|  | "ja8d////f5Hurx3//////////531rx3/////+JewHf7//////////wGAxLAd", | 
|  | "/v///w/49bAd////////////AYCTsh3/////D7C8sh3//////////3/oxrId", | 
|  | "/////wfQ3rIdASJuChdDdXN0b21PcHRpb25PdGhlclZhbHVlczpTiNmiHen/", | 
|  | "/////////wGy2aIdC0hlbGxvAFdvcmxkqtyiHQ5IZWxsbywgIldvcmxkIunc", | 
|  | "oh37WYxCysDzP/Xfox3nh0VB6MayHZz//////////wEiNAocU2V0dGluZ1Jl", | 
|  | "YWxzRnJvbVBvc2l0aXZlSW50czoU6dyiHQAAAAAAQGNA9d+jHQAAQEEiNAoc", | 
|  | "U2V0dGluZ1JlYWxzRnJvbU5lZ2F0aXZlSW50czoU6dyiHQAAAAAAQGPA9d+j", | 
|  | "HQAAQMEiSwoSQ29tcGxleE9wdGlvblR5cGUxEgsKA2ZvbxgBIAEoBRIMCgRm", | 
|  | "b28yGAIgASgFEgwKBGZvbzMYAyABKAUSDAoEZm9vNBgEIAMoBSKBAwoSQ29t", | 
|  | "cGxleE9wdGlvblR5cGUyEjIKA2JhchgBIAEoCzIlLnByb3RvYnVmX3VuaXR0", | 
|  | "ZXN0LkNvbXBsZXhPcHRpb25UeXBlMRILCgNiYXoYAiABKAUSRgoEZnJlZBgD", | 
|  | "IAEoCzI4LnByb3RvYnVmX3VuaXR0ZXN0LkNvbXBsZXhPcHRpb25UeXBlMi5D", | 
|  | "b21wbGV4T3B0aW9uVHlwZTQSSAoGYmFybmV5GAQgAygLMjgucHJvdG9idWZf", | 
|  | "dW5pdHRlc3QuQ29tcGxleE9wdGlvblR5cGUyLkNvbXBsZXhPcHRpb25UeXBl", | 
|  | "NBqXAQoSQ29tcGxleE9wdGlvblR5cGU0Eg0KBXdhbGRvGAEgASgFMnIKDGNv", | 
|  | "bXBsZXhfb3B0NBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxiK", | 
|  | "9dEDIAEoCzI4LnByb3RvYnVmX3VuaXR0ZXN0LkNvbXBsZXhPcHRpb25UeXBl", | 
|  | "Mi5Db21wbGV4T3B0aW9uVHlwZTQiIQoSQ29tcGxleE9wdGlvblR5cGUzEgsK", | 
|  | "A3F1eBgBIAEoBSJOChVWYXJpb3VzQ29tcGxleE9wdGlvbnM6NdKojx0DCLMP", | 
|  | "+t6QHQIICar9kB0WCgMI5wUQ2wcaAwjBAiICCGUiAwjUAaLilR0GCCoiAmNY", | 
|  | "IkwKCUFnZ3JlZ2F0ZRIJCgFpGAEgASgFEgkKAXMYAiABKAkSKQoDc3ViGAMg", | 
|  | "ASgLMhwucHJvdG9idWZfdW5pdHRlc3QuQWdncmVnYXRlIlkKEEFnZ3JlZ2F0", | 
|  | "ZU1lc3NhZ2USKQoJZmllbGRuYW1lGAEgASgFQhbyoYc7ERIPRmllbGRBbm5v", | 
|  | "dGF0aW9uOhrC0YY7FQhlEhFNZXNzYWdlQW5ub3RhdGlvbiKXAQoQTmVzdGVk", | 
|  | "T3B0aW9uVHlwZRo7Cg1OZXN0ZWRNZXNzYWdlEiIKDG5lc3RlZF9maWVsZBgB", | 
|  | "IAEoBUIMweDDHeoDAAAAAAAAOgbg6cId6QciRgoKTmVzdGVkRW51bRIPCgtV", | 
|  | "TlNQRUNJRklFRBAAEh0KEU5FU1RFRF9FTlVNX1ZBTFVFEAEaBrCG+gXsBxoI", | 
|  | "xfbJHesDAAAqUgoKTWV0aG9kT3B0MRIaChZNRVRIT0RPUFQxX1VOU1BFQ0lG", | 
|  | "SUVEEAASEwoPTUVUSE9ET1BUMV9WQUwxEAESEwoPTUVUSE9ET1BUMV9WQUwy", | 
|  | "EAIqXgoNQWdncmVnYXRlRW51bRIPCgtVTlNQRUNJRklFRBAAEiUKBVZBTFVF", | 
|  | "EAEaGsr8iTsVEhNFbnVtVmFsdWVBbm5vdGF0aW9uGhWSlYg7EBIORW51bUFu", | 
|  | "bm90YXRpb24yjgEKHFRlc3RTZXJ2aWNlV2l0aEN1c3RvbU9wdGlvbnMSYwoD", | 
|  | "Rm9vEikucHJvdG9idWZfdW5pdHRlc3QuQ3VzdG9tT3B0aW9uRm9vUmVxdWVz", | 
|  | "dBoqLnByb3RvYnVmX3VuaXR0ZXN0LkN1c3RvbU9wdGlvbkZvb1Jlc3BvbnNl", | 
|  | "IgXg+oweAhoJkLKLHtPbgMtJMpkBChBBZ2dyZWdhdGVTZXJ2aWNlEmsKBk1l", | 
|  | "dGhvZBIjLnByb3RvYnVmX3VuaXR0ZXN0LkFnZ3JlZ2F0ZU1lc3NhZ2UaIy5w", | 
|  | "cm90b2J1Zl91bml0dGVzdC5BZ2dyZWdhdGVNZXNzYWdlIhfKyJY7EhIQTWV0", | 
|  | "aG9kQW5ub3RhdGlvbhoYyvuOOxMSEVNlcnZpY2VBbm5vdGF0aW9uOjIKCWZp", | 
|  | "bGVfb3B0MRIcLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9ucxiOndgDIAEo", | 
|  | "BDo4CgxtZXNzYWdlX29wdDESHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9w", | 
|  | "dGlvbnMYnK3YAyABKAU6NAoKZmllbGRfb3B0MRIdLmdvb2dsZS5wcm90b2J1", | 
|  | "Zi5GaWVsZE9wdGlvbnMYiLzYAyABKAY6NAoKb25lb2Zfb3B0MRIdLmdvb2ds", | 
|  | "ZS5wcm90b2J1Zi5PbmVvZk9wdGlvbnMYz7XYAyABKAU6MgoJZW51bV9vcHQx", | 
|  | "EhwuZ29vZ2xlLnByb3RvYnVmLkVudW1PcHRpb25zGOie2QMgASgPOjwKD2Vu", | 
|  | "dW1fdmFsdWVfb3B0MRIhLmdvb2dsZS5wcm90b2J1Zi5FbnVtVmFsdWVPcHRp", | 
|  | "b25zGOagXyABKAU6OAoMc2VydmljZV9vcHQxEh8uZ29vZ2xlLnByb3RvYnVm", | 
|  | "LlNlcnZpY2VPcHRpb25zGKK24QMgASgSOlUKC21ldGhvZF9vcHQxEh4uZ29v", | 
|  | "Z2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMYrM/hAyABKA4yHS5wcm90b2J1", | 
|  | "Zl91bml0dGVzdC5NZXRob2RPcHQxOjQKCGJvb2xfb3B0Eh8uZ29vZ2xlLnBy", | 
|  | "b3RvYnVmLk1lc3NhZ2VPcHRpb25zGOqr1gMgASgIOjUKCWludDMyX29wdBIf", | 
|  | "Lmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxjtqNYDIAEoBTo1Cglp", | 
|  | "bnQ2NF9vcHQSHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYxqfW", | 
|  | "AyABKAM6NgoKdWludDMyX29wdBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdl", | 
|  | "T3B0aW9ucxiwotYDIAEoDTo2Cgp1aW50NjRfb3B0Eh8uZ29vZ2xlLnByb3Rv", | 
|  | "YnVmLk1lc3NhZ2VPcHRpb25zGN+O1gMgASgEOjYKCnNpbnQzMl9vcHQSHy5n", | 
|  | "b29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYwIjWAyABKBE6NgoKc2lu", | 
|  | "dDY0X29wdBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxj/gtYD", | 
|  | "IAEoEjo3CgtmaXhlZDMyX29wdBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdl", | 
|  | "T3B0aW9ucxjT/tUDIAEoBzo3CgtmaXhlZDY0X29wdBIfLmdvb2dsZS5wcm90", | 
|  | "b2J1Zi5NZXNzYWdlT3B0aW9ucxji/dUDIAEoBjo4CgxzZml4ZWQzMl9vcHQS", | 
|  | "Hy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMY1fHVAyABKA86OAoM", | 
|  | "c2ZpeGVkNjRfb3B0Eh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25z", | 
|  | "GOOK1QMgASgQOjUKCWZsb2F0X29wdBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNz", | 
|  | "YWdlT3B0aW9ucxj+u9QDIAEoAjo2Cgpkb3VibGVfb3B0Eh8uZ29vZ2xlLnBy", | 
|  | "b3RvYnVmLk1lc3NhZ2VPcHRpb25zGM2r1AMgASgBOjYKCnN0cmluZ19vcHQS", | 
|  | "Hy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYxavUAyABKAk6NQoJ", | 
|  | "Ynl0ZXNfb3B0Eh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGJar", | 
|  | "1AMgASgMOnAKCGVudW1fb3B0Eh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VP", | 
|  | "cHRpb25zGJGr1AMgASgOMjoucHJvdG9idWZfdW5pdHRlc3QuRHVtbXlNZXNz", | 
|  | "YWdlQ29udGFpbmluZ0VudW0uVGVzdEVudW1UeXBlOnAKEG1lc3NhZ2VfdHlw", | 
|  | "ZV9vcHQSHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYr/LTAyAB", | 
|  | "KAsyMi5wcm90b2J1Zl91bml0dGVzdC5EdW1teU1lc3NhZ2VJbnZhbGlkQXNP", | 
|  | "cHRpb25UeXBlOl8KDGNvbXBsZXhfb3B0MRIfLmdvb2dsZS5wcm90b2J1Zi5N", | 
|  | "ZXNzYWdlT3B0aW9ucxik3NIDIAEoCzIlLnByb3RvYnVmX3VuaXR0ZXN0LkNv", | 
|  | "bXBsZXhPcHRpb25UeXBlMTpfCgxjb21wbGV4X29wdDISHy5nb29nbGUucHJv", | 
|  | "dG9idWYuTWVzc2FnZU9wdGlvbnMY1Y/SAyABKAsyJS5wcm90b2J1Zl91bml0", | 
|  | "dGVzdC5Db21wbGV4T3B0aW9uVHlwZTI6XwoMY29tcGxleF9vcHQzEh8uZ29v", | 
|  | "Z2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGO+L0gMgASgLMiUucHJvdG9i", | 
|  | "dWZfdW5pdHRlc3QuQ29tcGxleE9wdGlvblR5cGUzOk4KB2ZpbGVvcHQSHC5n", | 
|  | "b29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMYz92wByABKAsyHC5wcm90b2J1", | 
|  | "Zl91bml0dGVzdC5BZ2dyZWdhdGU6UAoGbXNnb3B0Eh8uZ29vZ2xlLnByb3Rv", | 
|  | "YnVmLk1lc3NhZ2VPcHRpb25zGJjqsAcgASgLMhwucHJvdG9idWZfdW5pdHRl", | 
|  | "c3QuQWdncmVnYXRlOlAKCGZpZWxkb3B0Eh0uZ29vZ2xlLnByb3RvYnVmLkZp", | 
|  | "ZWxkT3B0aW9ucxie9LAHIAEoCzIcLnByb3RvYnVmX3VuaXR0ZXN0LkFnZ3Jl", | 
|  | "Z2F0ZTpOCgdlbnVtb3B0EhwuZ29vZ2xlLnByb3RvYnVmLkVudW1PcHRpb25z", | 
|  | "GNKCsQcgASgLMhwucHJvdG9idWZfdW5pdHRlc3QuQWdncmVnYXRlOlYKCmVu", | 
|  | "dW12YWxvcHQSIS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlT3B0aW9ucxjJ", | 
|  | "n7EHIAEoCzIcLnByb3RvYnVmX3VuaXR0ZXN0LkFnZ3JlZ2F0ZTpUCgpzZXJ2", | 
|  | "aWNlb3B0Eh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zGLnvsQcg", | 
|  | "ASgLMhwucHJvdG9idWZfdW5pdHRlc3QuQWdncmVnYXRlOlIKCW1ldGhvZG9w", | 
|  | "dBIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGInpsgcgASgLMhwu", | 
|  | "cHJvdG9idWZfdW5pdHRlc3QuQWdncmVnYXRlQlWqAhpVbml0VGVzdC5Jc3N1", | 
|  | "ZXMuVGVzdFByb3Rvc/DowR3qrcDlJPrshTsqCGQSDkZpbGVBbm5vdGF0aW9u", | 
|  | "GhYSFE5lc3RlZEZpbGVBbm5vdGF0aW9uYgZwcm90bzM=")); | 
|  | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, | 
|  | new pbr::FileDescriptor[] { global::Google.Protobuf.Reflection.DescriptorReflection.Descriptor, }, | 
|  | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::UnitTest.Issues.TestProtos.MethodOpt1), typeof(global::UnitTest.Issues.TestProtos.AggregateEnum), }, new pb::Extension[] { UnittestCustomOptionsProto3Extensions.FileOpt1, UnittestCustomOptionsProto3Extensions.MessageOpt1, UnittestCustomOptionsProto3Extensions.FieldOpt1, UnittestCustomOptionsProto3Extensions.OneofOpt1, UnittestCustomOptionsProto3Extensions.EnumOpt1, UnittestCustomOptionsProto3Extensions.EnumValueOpt1, UnittestCustomOptionsProto3Extensions.ServiceOpt1, UnittestCustomOptionsProto3Extensions.MethodOpt1, UnittestCustomOptionsProto3Extensions.BoolOpt, UnittestCustomOptionsProto3Extensions.Int32Opt, UnittestCustomOptionsProto3Extensions.Int64Opt, UnittestCustomOptionsProto3Extensions.Uint32Opt, UnittestCustomOptionsProto3Extensions.Uint64Opt, UnittestCustomOptionsProto3Extensions.Sint32Opt, UnittestCustomOptionsProto3Extensions.Sint64Opt, UnittestCustomOptionsProto3Extensions.Fixed32Opt, UnittestCustomOptionsProto3Extensions.Fixed64Opt, UnittestCustomOptionsProto3Extensions.Sfixed32Opt, UnittestCustomOptionsProto3Extensions.Sfixed64Opt, UnittestCustomOptionsProto3Extensions.FloatOpt, UnittestCustomOptionsProto3Extensions.DoubleOpt, UnittestCustomOptionsProto3Extensions.StringOpt, UnittestCustomOptionsProto3Extensions.BytesOpt, UnittestCustomOptionsProto3Extensions.EnumOpt, UnittestCustomOptionsProto3Extensions.MessageTypeOpt, UnittestCustomOptionsProto3Extensions.ComplexOpt1, UnittestCustomOptionsProto3Extensions.ComplexOpt2, UnittestCustomOptionsProto3Extensions.ComplexOpt3, UnittestCustomOptionsProto3Extensions.Fileopt, UnittestCustomOptionsProto3Extensions.Msgopt, UnittestCustomOptionsProto3Extensions.Fieldopt, UnittestCustomOptionsProto3Extensions.Enumopt, UnittestCustomOptionsProto3Extensions.Enumvalopt, UnittestCustomOptionsProto3Extensions.Serviceopt, UnittestCustomOptionsProto3Extensions.Methodopt }, new pbr::GeneratedClrTypeInfo[] { | 
|  | new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.TestMessageWithCustomOptions), global::UnitTest.Issues.TestProtos.TestMessageWithCustomOptions.Parser, new[]{ "Field1", "OneofField" }, new[]{ "AnOneof" }, new[]{ typeof(global::UnitTest.Issues.TestProtos.TestMessageWithCustomOptions.Types.AnEnum) }, null, null), | 
|  | new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.CustomOptionFooRequest), global::UnitTest.Issues.TestProtos.CustomOptionFooRequest.Parser, null, null, null, null, null), | 
|  | new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.CustomOptionFooResponse), global::UnitTest.Issues.TestProtos.CustomOptionFooResponse.Parser, null, null, null, null, null), | 
|  | new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.CustomOptionFooClientMessage), global::UnitTest.Issues.TestProtos.CustomOptionFooClientMessage.Parser, null, null, null, null, null), | 
|  | new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.CustomOptionFooServerMessage), global::UnitTest.Issues.TestProtos.CustomOptionFooServerMessage.Parser, null, null, null, null, null), | 
|  | new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.DummyMessageContainingEnum), global::UnitTest.Issues.TestProtos.DummyMessageContainingEnum.Parser, null, null, new[]{ typeof(global::UnitTest.Issues.TestProtos.DummyMessageContainingEnum.Types.TestEnumType) }, null, null), | 
|  | new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.DummyMessageInvalidAsOptionType), global::UnitTest.Issues.TestProtos.DummyMessageInvalidAsOptionType.Parser, null, null, null, null, null), | 
|  | new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.CustomOptionMinIntegerValues), global::UnitTest.Issues.TestProtos.CustomOptionMinIntegerValues.Parser, null, null, null, null, null), | 
|  | new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.CustomOptionMaxIntegerValues), global::UnitTest.Issues.TestProtos.CustomOptionMaxIntegerValues.Parser, null, null, null, null, null), | 
|  | new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.CustomOptionOtherValues), global::UnitTest.Issues.TestProtos.CustomOptionOtherValues.Parser, null, null, null, null, null), | 
|  | new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.SettingRealsFromPositiveInts), global::UnitTest.Issues.TestProtos.SettingRealsFromPositiveInts.Parser, null, null, null, null, null), | 
|  | new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.SettingRealsFromNegativeInts), global::UnitTest.Issues.TestProtos.SettingRealsFromNegativeInts.Parser, null, null, null, null, null), | 
|  | new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.ComplexOptionType1), global::UnitTest.Issues.TestProtos.ComplexOptionType1.Parser, new[]{ "Foo", "Foo2", "Foo3", "Foo4" }, null, null, null, null), | 
|  | new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.ComplexOptionType2), global::UnitTest.Issues.TestProtos.ComplexOptionType2.Parser, new[]{ "Bar", "Baz", "Fred", "Barney" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4), global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4.Parser, new[]{ "Waldo" }, null, null, new pb::Extension[] { global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4.Extensions.ComplexOpt4 }, null)}), | 
|  | new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.ComplexOptionType3), global::UnitTest.Issues.TestProtos.ComplexOptionType3.Parser, new[]{ "Qux" }, null, null, null, null), | 
|  | new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.VariousComplexOptions), global::UnitTest.Issues.TestProtos.VariousComplexOptions.Parser, null, null, null, null, null), | 
|  | new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.Aggregate), global::UnitTest.Issues.TestProtos.Aggregate.Parser, new[]{ "I", "S", "Sub" }, null, null, null, null), | 
|  | new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.AggregateMessage), global::UnitTest.Issues.TestProtos.AggregateMessage.Parser, new[]{ "Fieldname" }, null, null, null, null), | 
|  | new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.NestedOptionType), global::UnitTest.Issues.TestProtos.NestedOptionType.Parser, null, null, new[]{ typeof(global::UnitTest.Issues.TestProtos.NestedOptionType.Types.NestedEnum) }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.NestedOptionType.Types.NestedMessage), global::UnitTest.Issues.TestProtos.NestedOptionType.Types.NestedMessage.Parser, new[]{ "NestedField" }, null, null, null, null)}) | 
|  | })); | 
|  | } | 
|  | #endregion | 
|  |  | 
|  | } | 
|  | /// <summary>Holder for extension identifiers generated from the top level of csharp/protos/unittest_custom_options_proto3.proto</summary> | 
|  | public static partial class UnittestCustomOptionsProto3Extensions { | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.FileOptions, ulong> FileOpt1 = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.FileOptions, ulong>(7736974, pb::FieldCodec.ForUInt64(61895792, 0UL)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, int> MessageOpt1 = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, int>(7739036, pb::FieldCodec.ForInt32(61912288, 0)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.FieldOptions, ulong> FieldOpt1 = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.FieldOptions, ulong>(7740936, pb::FieldCodec.ForFixed64(61927489, 0UL)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.OneofOptions, int> OneofOpt1 = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.OneofOptions, int>(7740111, pb::FieldCodec.ForInt32(61920888, 0)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.EnumOptions, int> EnumOpt1 = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.EnumOptions, int>(7753576, pb::FieldCodec.ForSFixed32(62028613, 0)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.EnumValueOptions, int> EnumValueOpt1 = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.EnumValueOptions, int>(1560678, pb::FieldCodec.ForInt32(12485424, 0)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.ServiceOptions, long> ServiceOpt1 = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.ServiceOptions, long>(7887650, pb::FieldCodec.ForSInt64(63101200, 0L)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MethodOptions, global::UnitTest.Issues.TestProtos.MethodOpt1> MethodOpt1 = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MethodOptions, global::UnitTest.Issues.TestProtos.MethodOpt1>(7890860, pb::FieldCodec.ForEnum(63126880, x => (int) x, x => (global::UnitTest.Issues.TestProtos.MethodOpt1) x, global::UnitTest.Issues.TestProtos.MethodOpt1.Unspecified)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, bool> BoolOpt = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, bool>(7706090, pb::FieldCodec.ForBool(61648720, false)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, int> Int32Opt = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, int>(7705709, pb::FieldCodec.ForInt32(61645672, 0)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, long> Int64Opt = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, long>(7705542, pb::FieldCodec.ForInt64(61644336, 0L)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, uint> Uint32Opt = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, uint>(7704880, pb::FieldCodec.ForUInt32(61639040, 0)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, ulong> Uint64Opt = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, ulong>(7702367, pb::FieldCodec.ForUInt64(61618936, 0UL)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, int> Sint32Opt = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, int>(7701568, pb::FieldCodec.ForSInt32(61612544, 0)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, long> Sint64Opt = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, long>(7700863, pb::FieldCodec.ForSInt64(61606904, 0L)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, uint> Fixed32Opt = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, uint>(7700307, pb::FieldCodec.ForFixed32(61602461, 0)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, ulong> Fixed64Opt = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, ulong>(7700194, pb::FieldCodec.ForFixed64(61601553, 0UL)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, int> Sfixed32Opt = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, int>(7698645, pb::FieldCodec.ForSFixed32(61589165, 0)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, long> Sfixed64Opt = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, long>(7685475, pb::FieldCodec.ForSFixed64(61483801, 0L)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, float> FloatOpt = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, float>(7675390, pb::FieldCodec.ForFloat(61403125, 0F)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, double> DoubleOpt = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, double>(7673293, pb::FieldCodec.ForDouble(61386345, 0D)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, string> StringOpt = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, string>(7673285, pb::FieldCodec.ForString(61386282, "")); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, pb::ByteString> BytesOpt = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, pb::ByteString>(7673238, pb::FieldCodec.ForBytes(61385906, pb::ByteString.Empty)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.DummyMessageContainingEnum.Types.TestEnumType> EnumOpt = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.DummyMessageContainingEnum.Types.TestEnumType>(7673233, pb::FieldCodec.ForEnum(61385864, x => (int) x, x => (global::UnitTest.Issues.TestProtos.DummyMessageContainingEnum.Types.TestEnumType) x, global::UnitTest.Issues.TestProtos.DummyMessageContainingEnum.Types.TestEnumType.TestOptionEnumUnspecified)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.DummyMessageInvalidAsOptionType> MessageTypeOpt = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.DummyMessageInvalidAsOptionType>(7665967, pb::FieldCodec.ForMessage(61327738, global::UnitTest.Issues.TestProtos.DummyMessageInvalidAsOptionType.Parser)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.ComplexOptionType1> ComplexOpt1 = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.ComplexOptionType1>(7646756, pb::FieldCodec.ForMessage(61174050, global::UnitTest.Issues.TestProtos.ComplexOptionType1.Parser)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.ComplexOptionType2> ComplexOpt2 = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.ComplexOptionType2>(7636949, pb::FieldCodec.ForMessage(61095594, global::UnitTest.Issues.TestProtos.ComplexOptionType2.Parser)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.ComplexOptionType3> ComplexOpt3 = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.ComplexOptionType3>(7636463, pb::FieldCodec.ForMessage(61091706, global::UnitTest.Issues.TestProtos.ComplexOptionType3.Parser)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.FileOptions, global::UnitTest.Issues.TestProtos.Aggregate> Fileopt = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.FileOptions, global::UnitTest.Issues.TestProtos.Aggregate>(15478479, pb::FieldCodec.ForMessage(123827834, global::UnitTest.Issues.TestProtos.Aggregate.Parser)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.Aggregate> Msgopt = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.Aggregate>(15480088, pb::FieldCodec.ForMessage(123840706, global::UnitTest.Issues.TestProtos.Aggregate.Parser)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.FieldOptions, global::UnitTest.Issues.TestProtos.Aggregate> Fieldopt = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.FieldOptions, global::UnitTest.Issues.TestProtos.Aggregate>(15481374, pb::FieldCodec.ForMessage(123850994, global::UnitTest.Issues.TestProtos.Aggregate.Parser)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.EnumOptions, global::UnitTest.Issues.TestProtos.Aggregate> Enumopt = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.EnumOptions, global::UnitTest.Issues.TestProtos.Aggregate>(15483218, pb::FieldCodec.ForMessage(123865746, global::UnitTest.Issues.TestProtos.Aggregate.Parser)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.EnumValueOptions, global::UnitTest.Issues.TestProtos.Aggregate> Enumvalopt = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.EnumValueOptions, global::UnitTest.Issues.TestProtos.Aggregate>(15486921, pb::FieldCodec.ForMessage(123895370, global::UnitTest.Issues.TestProtos.Aggregate.Parser)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.ServiceOptions, global::UnitTest.Issues.TestProtos.Aggregate> Serviceopt = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.ServiceOptions, global::UnitTest.Issues.TestProtos.Aggregate>(15497145, pb::FieldCodec.ForMessage(123977162, global::UnitTest.Issues.TestProtos.Aggregate.Parser)); | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MethodOptions, global::UnitTest.Issues.TestProtos.Aggregate> Methodopt = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MethodOptions, global::UnitTest.Issues.TestProtos.Aggregate>(15512713, pb::FieldCodec.ForMessage(124101706, global::UnitTest.Issues.TestProtos.Aggregate.Parser)); | 
|  | } | 
|  |  | 
|  | #region Enums | 
|  | public enum MethodOpt1 { | 
|  | [pbr::OriginalName("METHODOPT1_UNSPECIFIED")] Unspecified = 0, | 
|  | [pbr::OriginalName("METHODOPT1_VAL1")] Val1 = 1, | 
|  | [pbr::OriginalName("METHODOPT1_VAL2")] Val2 = 2, | 
|  | } | 
|  |  | 
|  | public enum AggregateEnum { | 
|  | [pbr::OriginalName("UNSPECIFIED")] Unspecified = 0, | 
|  | [pbr::OriginalName("VALUE")] Value = 1, | 
|  | } | 
|  |  | 
|  | #endregion | 
|  |  | 
|  | #region Messages | 
|  | /// <summary> | 
|  | /// A test message with custom options at all possible locations (and also some | 
|  | /// regular options, to make sure they interact nicely). | 
|  | /// </summary> | 
|  | [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
|  | public sealed partial class TestMessageWithCustomOptions : pb::IMessage<TestMessageWithCustomOptions> | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | , pb::IBufferMessage | 
|  | #endif | 
|  | { | 
|  | private static readonly pb::MessageParser<TestMessageWithCustomOptions> _parser = new pb::MessageParser<TestMessageWithCustomOptions>(() => new TestMessageWithCustomOptions()); | 
|  | private pb::UnknownFieldSet _unknownFields; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pb::MessageParser<TestMessageWithCustomOptions> Parser { get { return _parser; } } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pbr::MessageDescriptor Descriptor { | 
|  | get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[0]; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | pbr::MessageDescriptor pb::IMessage.Descriptor { | 
|  | get { return Descriptor; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public TestMessageWithCustomOptions() { | 
|  | OnConstruction(); | 
|  | } | 
|  |  | 
|  | partial void OnConstruction(); | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public TestMessageWithCustomOptions(TestMessageWithCustomOptions other) : this() { | 
|  | field1_ = other.field1_; | 
|  | switch (other.AnOneofCase) { | 
|  | case AnOneofOneofCase.OneofField: | 
|  | OneofField = other.OneofField; | 
|  | break; | 
|  | } | 
|  |  | 
|  | _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public TestMessageWithCustomOptions Clone() { | 
|  | return new TestMessageWithCustomOptions(this); | 
|  | } | 
|  |  | 
|  | /// <summary>Field number for the "field1" field.</summary> | 
|  | public const int Field1FieldNumber = 1; | 
|  | private string field1_ = ""; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public string Field1 { | 
|  | get { return field1_; } | 
|  | set { | 
|  | field1_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); | 
|  | } | 
|  | } | 
|  |  | 
|  | /// <summary>Field number for the "oneof_field" field.</summary> | 
|  | public const int OneofFieldFieldNumber = 2; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int OneofField { | 
|  | get { return HasOneofField ? (int) anOneof_ : 0; } | 
|  | set { | 
|  | anOneof_ = value; | 
|  | anOneofCase_ = AnOneofOneofCase.OneofField; | 
|  | } | 
|  | } | 
|  | /// <summary>Gets whether the "oneof_field" field is set</summary> | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public bool HasOneofField { | 
|  | get { return anOneofCase_ == AnOneofOneofCase.OneofField; } | 
|  | } | 
|  | /// <summary> Clears the value of the oneof if it's currently set to "oneof_field" </summary> | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void ClearOneofField() { | 
|  | if (HasOneofField) { | 
|  | ClearAnOneof(); | 
|  | } | 
|  | } | 
|  |  | 
|  | private object anOneof_; | 
|  | /// <summary>Enum of possible cases for the "AnOneof" oneof.</summary> | 
|  | public enum AnOneofOneofCase { | 
|  | None = 0, | 
|  | OneofField = 2, | 
|  | } | 
|  | private AnOneofOneofCase anOneofCase_ = AnOneofOneofCase.None; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public AnOneofOneofCase AnOneofCase { | 
|  | get { return anOneofCase_; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void ClearAnOneof() { | 
|  | anOneofCase_ = AnOneofOneofCase.None; | 
|  | anOneof_ = null; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override bool Equals(object other) { | 
|  | return Equals(other as TestMessageWithCustomOptions); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public bool Equals(TestMessageWithCustomOptions other) { | 
|  | if (ReferenceEquals(other, null)) { | 
|  | return false; | 
|  | } | 
|  | if (ReferenceEquals(other, this)) { | 
|  | return true; | 
|  | } | 
|  | if (Field1 != other.Field1) return false; | 
|  | if (OneofField != other.OneofField) return false; | 
|  | if (AnOneofCase != other.AnOneofCase) return false; | 
|  | return Equals(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override int GetHashCode() { | 
|  | int hash = 1; | 
|  | if (Field1.Length != 0) hash ^= Field1.GetHashCode(); | 
|  | if (HasOneofField) hash ^= OneofField.GetHashCode(); | 
|  | hash ^= (int) anOneofCase_; | 
|  | if (_unknownFields != null) { | 
|  | hash ^= _unknownFields.GetHashCode(); | 
|  | } | 
|  | return hash; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override string ToString() { | 
|  | return pb::JsonFormatter.ToDiagnosticString(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void WriteTo(pb::CodedOutputStream output) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | output.WriteRawMessage(this); | 
|  | #else | 
|  | if (Field1.Length != 0) { | 
|  | output.WriteRawTag(10); | 
|  | output.WriteString(Field1); | 
|  | } | 
|  | if (HasOneofField) { | 
|  | output.WriteRawTag(16); | 
|  | output.WriteInt32(OneofField); | 
|  | } | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(output); | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
|  | if (Field1.Length != 0) { | 
|  | output.WriteRawTag(10); | 
|  | output.WriteString(Field1); | 
|  | } | 
|  | if (HasOneofField) { | 
|  | output.WriteRawTag(16); | 
|  | output.WriteInt32(OneofField); | 
|  | } | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(ref output); | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int CalculateSize() { | 
|  | int size = 0; | 
|  | if (Field1.Length != 0) { | 
|  | size += 1 + pb::CodedOutputStream.ComputeStringSize(Field1); | 
|  | } | 
|  | if (HasOneofField) { | 
|  | size += 1 + pb::CodedOutputStream.ComputeInt32Size(OneofField); | 
|  | } | 
|  | if (_unknownFields != null) { | 
|  | size += _unknownFields.CalculateSize(); | 
|  | } | 
|  | return size; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(TestMessageWithCustomOptions other) { | 
|  | if (other == null) { | 
|  | return; | 
|  | } | 
|  | if (other.Field1.Length != 0) { | 
|  | Field1 = other.Field1; | 
|  | } | 
|  | switch (other.AnOneofCase) { | 
|  | case AnOneofOneofCase.OneofField: | 
|  | OneofField = other.OneofField; | 
|  | break; | 
|  | } | 
|  |  | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(pb::CodedInputStream input) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | input.ReadRawMessage(this); | 
|  | #else | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
|  | break; | 
|  | case 10: { | 
|  | Field1 = input.ReadString(); | 
|  | break; | 
|  | } | 
|  | case 16: { | 
|  | OneofField = input.ReadInt32(); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
|  | break; | 
|  | case 10: { | 
|  | Field1 = input.ReadString(); | 
|  | break; | 
|  | } | 
|  | case 16: { | 
|  | OneofField = input.ReadInt32(); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #region Nested types | 
|  | /// <summary>Container for nested types declared in the TestMessageWithCustomOptions message type.</summary> | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static partial class Types { | 
|  | public enum AnEnum { | 
|  | [pbr::OriginalName("ANENUM_UNSPECIFIED")] Unspecified = 0, | 
|  | [pbr::OriginalName("ANENUM_VAL1")] Val1 = 1, | 
|  | [pbr::OriginalName("ANENUM_VAL2")] Val2 = 2, | 
|  | } | 
|  |  | 
|  | } | 
|  | #endregion | 
|  |  | 
|  | } | 
|  |  | 
|  | /// <summary> | 
|  | /// A test RPC service with custom options at all possible locations (and also | 
|  | /// some regular options, to make sure they interact nicely). | 
|  | /// </summary> | 
|  | [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
|  | public sealed partial class CustomOptionFooRequest : pb::IMessage<CustomOptionFooRequest> | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | , pb::IBufferMessage | 
|  | #endif | 
|  | { | 
|  | private static readonly pb::MessageParser<CustomOptionFooRequest> _parser = new pb::MessageParser<CustomOptionFooRequest>(() => new CustomOptionFooRequest()); | 
|  | private pb::UnknownFieldSet _unknownFields; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pb::MessageParser<CustomOptionFooRequest> Parser { get { return _parser; } } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pbr::MessageDescriptor Descriptor { | 
|  | get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[1]; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | pbr::MessageDescriptor pb::IMessage.Descriptor { | 
|  | get { return Descriptor; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public CustomOptionFooRequest() { | 
|  | OnConstruction(); | 
|  | } | 
|  |  | 
|  | partial void OnConstruction(); | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public CustomOptionFooRequest(CustomOptionFooRequest other) : this() { | 
|  | _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public CustomOptionFooRequest Clone() { | 
|  | return new CustomOptionFooRequest(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override bool Equals(object other) { | 
|  | return Equals(other as CustomOptionFooRequest); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public bool Equals(CustomOptionFooRequest other) { | 
|  | if (ReferenceEquals(other, null)) { | 
|  | return false; | 
|  | } | 
|  | if (ReferenceEquals(other, this)) { | 
|  | return true; | 
|  | } | 
|  | return Equals(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override int GetHashCode() { | 
|  | int hash = 1; | 
|  | if (_unknownFields != null) { | 
|  | hash ^= _unknownFields.GetHashCode(); | 
|  | } | 
|  | return hash; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override string ToString() { | 
|  | return pb::JsonFormatter.ToDiagnosticString(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void WriteTo(pb::CodedOutputStream output) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | output.WriteRawMessage(this); | 
|  | #else | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(output); | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(ref output); | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int CalculateSize() { | 
|  | int size = 0; | 
|  | if (_unknownFields != null) { | 
|  | size += _unknownFields.CalculateSize(); | 
|  | } | 
|  | return size; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(CustomOptionFooRequest other) { | 
|  | if (other == null) { | 
|  | return; | 
|  | } | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(pb::CodedInputStream input) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | input.ReadRawMessage(this); | 
|  | #else | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
|  | public sealed partial class CustomOptionFooResponse : pb::IMessage<CustomOptionFooResponse> | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | , pb::IBufferMessage | 
|  | #endif | 
|  | { | 
|  | private static readonly pb::MessageParser<CustomOptionFooResponse> _parser = new pb::MessageParser<CustomOptionFooResponse>(() => new CustomOptionFooResponse()); | 
|  | private pb::UnknownFieldSet _unknownFields; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pb::MessageParser<CustomOptionFooResponse> Parser { get { return _parser; } } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pbr::MessageDescriptor Descriptor { | 
|  | get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[2]; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | pbr::MessageDescriptor pb::IMessage.Descriptor { | 
|  | get { return Descriptor; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public CustomOptionFooResponse() { | 
|  | OnConstruction(); | 
|  | } | 
|  |  | 
|  | partial void OnConstruction(); | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public CustomOptionFooResponse(CustomOptionFooResponse other) : this() { | 
|  | _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public CustomOptionFooResponse Clone() { | 
|  | return new CustomOptionFooResponse(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override bool Equals(object other) { | 
|  | return Equals(other as CustomOptionFooResponse); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public bool Equals(CustomOptionFooResponse other) { | 
|  | if (ReferenceEquals(other, null)) { | 
|  | return false; | 
|  | } | 
|  | if (ReferenceEquals(other, this)) { | 
|  | return true; | 
|  | } | 
|  | return Equals(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override int GetHashCode() { | 
|  | int hash = 1; | 
|  | if (_unknownFields != null) { | 
|  | hash ^= _unknownFields.GetHashCode(); | 
|  | } | 
|  | return hash; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override string ToString() { | 
|  | return pb::JsonFormatter.ToDiagnosticString(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void WriteTo(pb::CodedOutputStream output) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | output.WriteRawMessage(this); | 
|  | #else | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(output); | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(ref output); | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int CalculateSize() { | 
|  | int size = 0; | 
|  | if (_unknownFields != null) { | 
|  | size += _unknownFields.CalculateSize(); | 
|  | } | 
|  | return size; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(CustomOptionFooResponse other) { | 
|  | if (other == null) { | 
|  | return; | 
|  | } | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(pb::CodedInputStream input) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | input.ReadRawMessage(this); | 
|  | #else | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
|  | public sealed partial class CustomOptionFooClientMessage : pb::IMessage<CustomOptionFooClientMessage> | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | , pb::IBufferMessage | 
|  | #endif | 
|  | { | 
|  | private static readonly pb::MessageParser<CustomOptionFooClientMessage> _parser = new pb::MessageParser<CustomOptionFooClientMessage>(() => new CustomOptionFooClientMessage()); | 
|  | private pb::UnknownFieldSet _unknownFields; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pb::MessageParser<CustomOptionFooClientMessage> Parser { get { return _parser; } } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pbr::MessageDescriptor Descriptor { | 
|  | get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[3]; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | pbr::MessageDescriptor pb::IMessage.Descriptor { | 
|  | get { return Descriptor; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public CustomOptionFooClientMessage() { | 
|  | OnConstruction(); | 
|  | } | 
|  |  | 
|  | partial void OnConstruction(); | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public CustomOptionFooClientMessage(CustomOptionFooClientMessage other) : this() { | 
|  | _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public CustomOptionFooClientMessage Clone() { | 
|  | return new CustomOptionFooClientMessage(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override bool Equals(object other) { | 
|  | return Equals(other as CustomOptionFooClientMessage); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public bool Equals(CustomOptionFooClientMessage other) { | 
|  | if (ReferenceEquals(other, null)) { | 
|  | return false; | 
|  | } | 
|  | if (ReferenceEquals(other, this)) { | 
|  | return true; | 
|  | } | 
|  | return Equals(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override int GetHashCode() { | 
|  | int hash = 1; | 
|  | if (_unknownFields != null) { | 
|  | hash ^= _unknownFields.GetHashCode(); | 
|  | } | 
|  | return hash; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override string ToString() { | 
|  | return pb::JsonFormatter.ToDiagnosticString(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void WriteTo(pb::CodedOutputStream output) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | output.WriteRawMessage(this); | 
|  | #else | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(output); | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(ref output); | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int CalculateSize() { | 
|  | int size = 0; | 
|  | if (_unknownFields != null) { | 
|  | size += _unknownFields.CalculateSize(); | 
|  | } | 
|  | return size; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(CustomOptionFooClientMessage other) { | 
|  | if (other == null) { | 
|  | return; | 
|  | } | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(pb::CodedInputStream input) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | input.ReadRawMessage(this); | 
|  | #else | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
|  | public sealed partial class CustomOptionFooServerMessage : pb::IMessage<CustomOptionFooServerMessage> | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | , pb::IBufferMessage | 
|  | #endif | 
|  | { | 
|  | private static readonly pb::MessageParser<CustomOptionFooServerMessage> _parser = new pb::MessageParser<CustomOptionFooServerMessage>(() => new CustomOptionFooServerMessage()); | 
|  | private pb::UnknownFieldSet _unknownFields; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pb::MessageParser<CustomOptionFooServerMessage> Parser { get { return _parser; } } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pbr::MessageDescriptor Descriptor { | 
|  | get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[4]; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | pbr::MessageDescriptor pb::IMessage.Descriptor { | 
|  | get { return Descriptor; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public CustomOptionFooServerMessage() { | 
|  | OnConstruction(); | 
|  | } | 
|  |  | 
|  | partial void OnConstruction(); | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public CustomOptionFooServerMessage(CustomOptionFooServerMessage other) : this() { | 
|  | _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public CustomOptionFooServerMessage Clone() { | 
|  | return new CustomOptionFooServerMessage(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override bool Equals(object other) { | 
|  | return Equals(other as CustomOptionFooServerMessage); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public bool Equals(CustomOptionFooServerMessage other) { | 
|  | if (ReferenceEquals(other, null)) { | 
|  | return false; | 
|  | } | 
|  | if (ReferenceEquals(other, this)) { | 
|  | return true; | 
|  | } | 
|  | return Equals(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override int GetHashCode() { | 
|  | int hash = 1; | 
|  | if (_unknownFields != null) { | 
|  | hash ^= _unknownFields.GetHashCode(); | 
|  | } | 
|  | return hash; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override string ToString() { | 
|  | return pb::JsonFormatter.ToDiagnosticString(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void WriteTo(pb::CodedOutputStream output) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | output.WriteRawMessage(this); | 
|  | #else | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(output); | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(ref output); | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int CalculateSize() { | 
|  | int size = 0; | 
|  | if (_unknownFields != null) { | 
|  | size += _unknownFields.CalculateSize(); | 
|  | } | 
|  | return size; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(CustomOptionFooServerMessage other) { | 
|  | if (other == null) { | 
|  | return; | 
|  | } | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(pb::CodedInputStream input) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | input.ReadRawMessage(this); | 
|  | #else | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
|  | public sealed partial class DummyMessageContainingEnum : pb::IMessage<DummyMessageContainingEnum> | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | , pb::IBufferMessage | 
|  | #endif | 
|  | { | 
|  | private static readonly pb::MessageParser<DummyMessageContainingEnum> _parser = new pb::MessageParser<DummyMessageContainingEnum>(() => new DummyMessageContainingEnum()); | 
|  | private pb::UnknownFieldSet _unknownFields; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pb::MessageParser<DummyMessageContainingEnum> Parser { get { return _parser; } } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pbr::MessageDescriptor Descriptor { | 
|  | get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[5]; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | pbr::MessageDescriptor pb::IMessage.Descriptor { | 
|  | get { return Descriptor; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public DummyMessageContainingEnum() { | 
|  | OnConstruction(); | 
|  | } | 
|  |  | 
|  | partial void OnConstruction(); | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public DummyMessageContainingEnum(DummyMessageContainingEnum other) : this() { | 
|  | _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public DummyMessageContainingEnum Clone() { | 
|  | return new DummyMessageContainingEnum(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override bool Equals(object other) { | 
|  | return Equals(other as DummyMessageContainingEnum); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public bool Equals(DummyMessageContainingEnum other) { | 
|  | if (ReferenceEquals(other, null)) { | 
|  | return false; | 
|  | } | 
|  | if (ReferenceEquals(other, this)) { | 
|  | return true; | 
|  | } | 
|  | return Equals(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override int GetHashCode() { | 
|  | int hash = 1; | 
|  | if (_unknownFields != null) { | 
|  | hash ^= _unknownFields.GetHashCode(); | 
|  | } | 
|  | return hash; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override string ToString() { | 
|  | return pb::JsonFormatter.ToDiagnosticString(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void WriteTo(pb::CodedOutputStream output) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | output.WriteRawMessage(this); | 
|  | #else | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(output); | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(ref output); | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int CalculateSize() { | 
|  | int size = 0; | 
|  | if (_unknownFields != null) { | 
|  | size += _unknownFields.CalculateSize(); | 
|  | } | 
|  | return size; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(DummyMessageContainingEnum other) { | 
|  | if (other == null) { | 
|  | return; | 
|  | } | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(pb::CodedInputStream input) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | input.ReadRawMessage(this); | 
|  | #else | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #region Nested types | 
|  | /// <summary>Container for nested types declared in the DummyMessageContainingEnum message type.</summary> | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static partial class Types { | 
|  | public enum TestEnumType { | 
|  | [pbr::OriginalName("TEST_OPTION_ENUM_UNSPECIFIED")] TestOptionEnumUnspecified = 0, | 
|  | [pbr::OriginalName("TEST_OPTION_ENUM_TYPE1")] TestOptionEnumType1 = 22, | 
|  | [pbr::OriginalName("TEST_OPTION_ENUM_TYPE2")] TestOptionEnumType2 = -23, | 
|  | } | 
|  |  | 
|  | } | 
|  | #endregion | 
|  |  | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
|  | public sealed partial class DummyMessageInvalidAsOptionType : pb::IMessage<DummyMessageInvalidAsOptionType> | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | , pb::IBufferMessage | 
|  | #endif | 
|  | { | 
|  | private static readonly pb::MessageParser<DummyMessageInvalidAsOptionType> _parser = new pb::MessageParser<DummyMessageInvalidAsOptionType>(() => new DummyMessageInvalidAsOptionType()); | 
|  | private pb::UnknownFieldSet _unknownFields; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pb::MessageParser<DummyMessageInvalidAsOptionType> Parser { get { return _parser; } } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pbr::MessageDescriptor Descriptor { | 
|  | get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[6]; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | pbr::MessageDescriptor pb::IMessage.Descriptor { | 
|  | get { return Descriptor; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public DummyMessageInvalidAsOptionType() { | 
|  | OnConstruction(); | 
|  | } | 
|  |  | 
|  | partial void OnConstruction(); | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public DummyMessageInvalidAsOptionType(DummyMessageInvalidAsOptionType other) : this() { | 
|  | _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public DummyMessageInvalidAsOptionType Clone() { | 
|  | return new DummyMessageInvalidAsOptionType(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override bool Equals(object other) { | 
|  | return Equals(other as DummyMessageInvalidAsOptionType); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public bool Equals(DummyMessageInvalidAsOptionType other) { | 
|  | if (ReferenceEquals(other, null)) { | 
|  | return false; | 
|  | } | 
|  | if (ReferenceEquals(other, this)) { | 
|  | return true; | 
|  | } | 
|  | return Equals(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override int GetHashCode() { | 
|  | int hash = 1; | 
|  | if (_unknownFields != null) { | 
|  | hash ^= _unknownFields.GetHashCode(); | 
|  | } | 
|  | return hash; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override string ToString() { | 
|  | return pb::JsonFormatter.ToDiagnosticString(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void WriteTo(pb::CodedOutputStream output) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | output.WriteRawMessage(this); | 
|  | #else | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(output); | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(ref output); | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int CalculateSize() { | 
|  | int size = 0; | 
|  | if (_unknownFields != null) { | 
|  | size += _unknownFields.CalculateSize(); | 
|  | } | 
|  | return size; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(DummyMessageInvalidAsOptionType other) { | 
|  | if (other == null) { | 
|  | return; | 
|  | } | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(pb::CodedInputStream input) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | input.ReadRawMessage(this); | 
|  | #else | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
|  | public sealed partial class CustomOptionMinIntegerValues : pb::IMessage<CustomOptionMinIntegerValues> | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | , pb::IBufferMessage | 
|  | #endif | 
|  | { | 
|  | private static readonly pb::MessageParser<CustomOptionMinIntegerValues> _parser = new pb::MessageParser<CustomOptionMinIntegerValues>(() => new CustomOptionMinIntegerValues()); | 
|  | private pb::UnknownFieldSet _unknownFields; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pb::MessageParser<CustomOptionMinIntegerValues> Parser { get { return _parser; } } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pbr::MessageDescriptor Descriptor { | 
|  | get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[7]; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | pbr::MessageDescriptor pb::IMessage.Descriptor { | 
|  | get { return Descriptor; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public CustomOptionMinIntegerValues() { | 
|  | OnConstruction(); | 
|  | } | 
|  |  | 
|  | partial void OnConstruction(); | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public CustomOptionMinIntegerValues(CustomOptionMinIntegerValues other) : this() { | 
|  | _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public CustomOptionMinIntegerValues Clone() { | 
|  | return new CustomOptionMinIntegerValues(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override bool Equals(object other) { | 
|  | return Equals(other as CustomOptionMinIntegerValues); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public bool Equals(CustomOptionMinIntegerValues other) { | 
|  | if (ReferenceEquals(other, null)) { | 
|  | return false; | 
|  | } | 
|  | if (ReferenceEquals(other, this)) { | 
|  | return true; | 
|  | } | 
|  | return Equals(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override int GetHashCode() { | 
|  | int hash = 1; | 
|  | if (_unknownFields != null) { | 
|  | hash ^= _unknownFields.GetHashCode(); | 
|  | } | 
|  | return hash; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override string ToString() { | 
|  | return pb::JsonFormatter.ToDiagnosticString(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void WriteTo(pb::CodedOutputStream output) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | output.WriteRawMessage(this); | 
|  | #else | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(output); | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(ref output); | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int CalculateSize() { | 
|  | int size = 0; | 
|  | if (_unknownFields != null) { | 
|  | size += _unknownFields.CalculateSize(); | 
|  | } | 
|  | return size; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(CustomOptionMinIntegerValues other) { | 
|  | if (other == null) { | 
|  | return; | 
|  | } | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(pb::CodedInputStream input) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | input.ReadRawMessage(this); | 
|  | #else | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
|  | public sealed partial class CustomOptionMaxIntegerValues : pb::IMessage<CustomOptionMaxIntegerValues> | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | , pb::IBufferMessage | 
|  | #endif | 
|  | { | 
|  | private static readonly pb::MessageParser<CustomOptionMaxIntegerValues> _parser = new pb::MessageParser<CustomOptionMaxIntegerValues>(() => new CustomOptionMaxIntegerValues()); | 
|  | private pb::UnknownFieldSet _unknownFields; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pb::MessageParser<CustomOptionMaxIntegerValues> Parser { get { return _parser; } } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pbr::MessageDescriptor Descriptor { | 
|  | get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[8]; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | pbr::MessageDescriptor pb::IMessage.Descriptor { | 
|  | get { return Descriptor; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public CustomOptionMaxIntegerValues() { | 
|  | OnConstruction(); | 
|  | } | 
|  |  | 
|  | partial void OnConstruction(); | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public CustomOptionMaxIntegerValues(CustomOptionMaxIntegerValues other) : this() { | 
|  | _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public CustomOptionMaxIntegerValues Clone() { | 
|  | return new CustomOptionMaxIntegerValues(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override bool Equals(object other) { | 
|  | return Equals(other as CustomOptionMaxIntegerValues); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public bool Equals(CustomOptionMaxIntegerValues other) { | 
|  | if (ReferenceEquals(other, null)) { | 
|  | return false; | 
|  | } | 
|  | if (ReferenceEquals(other, this)) { | 
|  | return true; | 
|  | } | 
|  | return Equals(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override int GetHashCode() { | 
|  | int hash = 1; | 
|  | if (_unknownFields != null) { | 
|  | hash ^= _unknownFields.GetHashCode(); | 
|  | } | 
|  | return hash; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override string ToString() { | 
|  | return pb::JsonFormatter.ToDiagnosticString(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void WriteTo(pb::CodedOutputStream output) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | output.WriteRawMessage(this); | 
|  | #else | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(output); | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(ref output); | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int CalculateSize() { | 
|  | int size = 0; | 
|  | if (_unknownFields != null) { | 
|  | size += _unknownFields.CalculateSize(); | 
|  | } | 
|  | return size; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(CustomOptionMaxIntegerValues other) { | 
|  | if (other == null) { | 
|  | return; | 
|  | } | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(pb::CodedInputStream input) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | input.ReadRawMessage(this); | 
|  | #else | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
|  | public sealed partial class CustomOptionOtherValues : pb::IMessage<CustomOptionOtherValues> | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | , pb::IBufferMessage | 
|  | #endif | 
|  | { | 
|  | private static readonly pb::MessageParser<CustomOptionOtherValues> _parser = new pb::MessageParser<CustomOptionOtherValues>(() => new CustomOptionOtherValues()); | 
|  | private pb::UnknownFieldSet _unknownFields; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pb::MessageParser<CustomOptionOtherValues> Parser { get { return _parser; } } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pbr::MessageDescriptor Descriptor { | 
|  | get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[9]; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | pbr::MessageDescriptor pb::IMessage.Descriptor { | 
|  | get { return Descriptor; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public CustomOptionOtherValues() { | 
|  | OnConstruction(); | 
|  | } | 
|  |  | 
|  | partial void OnConstruction(); | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public CustomOptionOtherValues(CustomOptionOtherValues other) : this() { | 
|  | _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public CustomOptionOtherValues Clone() { | 
|  | return new CustomOptionOtherValues(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override bool Equals(object other) { | 
|  | return Equals(other as CustomOptionOtherValues); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public bool Equals(CustomOptionOtherValues other) { | 
|  | if (ReferenceEquals(other, null)) { | 
|  | return false; | 
|  | } | 
|  | if (ReferenceEquals(other, this)) { | 
|  | return true; | 
|  | } | 
|  | return Equals(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override int GetHashCode() { | 
|  | int hash = 1; | 
|  | if (_unknownFields != null) { | 
|  | hash ^= _unknownFields.GetHashCode(); | 
|  | } | 
|  | return hash; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override string ToString() { | 
|  | return pb::JsonFormatter.ToDiagnosticString(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void WriteTo(pb::CodedOutputStream output) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | output.WriteRawMessage(this); | 
|  | #else | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(output); | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(ref output); | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int CalculateSize() { | 
|  | int size = 0; | 
|  | if (_unknownFields != null) { | 
|  | size += _unknownFields.CalculateSize(); | 
|  | } | 
|  | return size; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(CustomOptionOtherValues other) { | 
|  | if (other == null) { | 
|  | return; | 
|  | } | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(pb::CodedInputStream input) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | input.ReadRawMessage(this); | 
|  | #else | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
|  | public sealed partial class SettingRealsFromPositiveInts : pb::IMessage<SettingRealsFromPositiveInts> | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | , pb::IBufferMessage | 
|  | #endif | 
|  | { | 
|  | private static readonly pb::MessageParser<SettingRealsFromPositiveInts> _parser = new pb::MessageParser<SettingRealsFromPositiveInts>(() => new SettingRealsFromPositiveInts()); | 
|  | private pb::UnknownFieldSet _unknownFields; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pb::MessageParser<SettingRealsFromPositiveInts> Parser { get { return _parser; } } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pbr::MessageDescriptor Descriptor { | 
|  | get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[10]; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | pbr::MessageDescriptor pb::IMessage.Descriptor { | 
|  | get { return Descriptor; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public SettingRealsFromPositiveInts() { | 
|  | OnConstruction(); | 
|  | } | 
|  |  | 
|  | partial void OnConstruction(); | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public SettingRealsFromPositiveInts(SettingRealsFromPositiveInts other) : this() { | 
|  | _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public SettingRealsFromPositiveInts Clone() { | 
|  | return new SettingRealsFromPositiveInts(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override bool Equals(object other) { | 
|  | return Equals(other as SettingRealsFromPositiveInts); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public bool Equals(SettingRealsFromPositiveInts other) { | 
|  | if (ReferenceEquals(other, null)) { | 
|  | return false; | 
|  | } | 
|  | if (ReferenceEquals(other, this)) { | 
|  | return true; | 
|  | } | 
|  | return Equals(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override int GetHashCode() { | 
|  | int hash = 1; | 
|  | if (_unknownFields != null) { | 
|  | hash ^= _unknownFields.GetHashCode(); | 
|  | } | 
|  | return hash; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override string ToString() { | 
|  | return pb::JsonFormatter.ToDiagnosticString(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void WriteTo(pb::CodedOutputStream output) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | output.WriteRawMessage(this); | 
|  | #else | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(output); | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(ref output); | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int CalculateSize() { | 
|  | int size = 0; | 
|  | if (_unknownFields != null) { | 
|  | size += _unknownFields.CalculateSize(); | 
|  | } | 
|  | return size; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(SettingRealsFromPositiveInts other) { | 
|  | if (other == null) { | 
|  | return; | 
|  | } | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(pb::CodedInputStream input) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | input.ReadRawMessage(this); | 
|  | #else | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
|  | public sealed partial class SettingRealsFromNegativeInts : pb::IMessage<SettingRealsFromNegativeInts> | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | , pb::IBufferMessage | 
|  | #endif | 
|  | { | 
|  | private static readonly pb::MessageParser<SettingRealsFromNegativeInts> _parser = new pb::MessageParser<SettingRealsFromNegativeInts>(() => new SettingRealsFromNegativeInts()); | 
|  | private pb::UnknownFieldSet _unknownFields; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pb::MessageParser<SettingRealsFromNegativeInts> Parser { get { return _parser; } } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pbr::MessageDescriptor Descriptor { | 
|  | get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[11]; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | pbr::MessageDescriptor pb::IMessage.Descriptor { | 
|  | get { return Descriptor; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public SettingRealsFromNegativeInts() { | 
|  | OnConstruction(); | 
|  | } | 
|  |  | 
|  | partial void OnConstruction(); | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public SettingRealsFromNegativeInts(SettingRealsFromNegativeInts other) : this() { | 
|  | _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public SettingRealsFromNegativeInts Clone() { | 
|  | return new SettingRealsFromNegativeInts(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override bool Equals(object other) { | 
|  | return Equals(other as SettingRealsFromNegativeInts); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public bool Equals(SettingRealsFromNegativeInts other) { | 
|  | if (ReferenceEquals(other, null)) { | 
|  | return false; | 
|  | } | 
|  | if (ReferenceEquals(other, this)) { | 
|  | return true; | 
|  | } | 
|  | return Equals(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override int GetHashCode() { | 
|  | int hash = 1; | 
|  | if (_unknownFields != null) { | 
|  | hash ^= _unknownFields.GetHashCode(); | 
|  | } | 
|  | return hash; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override string ToString() { | 
|  | return pb::JsonFormatter.ToDiagnosticString(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void WriteTo(pb::CodedOutputStream output) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | output.WriteRawMessage(this); | 
|  | #else | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(output); | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(ref output); | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int CalculateSize() { | 
|  | int size = 0; | 
|  | if (_unknownFields != null) { | 
|  | size += _unknownFields.CalculateSize(); | 
|  | } | 
|  | return size; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(SettingRealsFromNegativeInts other) { | 
|  | if (other == null) { | 
|  | return; | 
|  | } | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(pb::CodedInputStream input) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | input.ReadRawMessage(this); | 
|  | #else | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
|  | public sealed partial class ComplexOptionType1 : pb::IMessage<ComplexOptionType1> | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | , pb::IBufferMessage | 
|  | #endif | 
|  | { | 
|  | private static readonly pb::MessageParser<ComplexOptionType1> _parser = new pb::MessageParser<ComplexOptionType1>(() => new ComplexOptionType1()); | 
|  | private pb::UnknownFieldSet _unknownFields; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pb::MessageParser<ComplexOptionType1> Parser { get { return _parser; } } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pbr::MessageDescriptor Descriptor { | 
|  | get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[12]; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | pbr::MessageDescriptor pb::IMessage.Descriptor { | 
|  | get { return Descriptor; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public ComplexOptionType1() { | 
|  | OnConstruction(); | 
|  | } | 
|  |  | 
|  | partial void OnConstruction(); | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public ComplexOptionType1(ComplexOptionType1 other) : this() { | 
|  | foo_ = other.foo_; | 
|  | foo2_ = other.foo2_; | 
|  | foo3_ = other.foo3_; | 
|  | foo4_ = other.foo4_.Clone(); | 
|  | _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public ComplexOptionType1 Clone() { | 
|  | return new ComplexOptionType1(this); | 
|  | } | 
|  |  | 
|  | /// <summary>Field number for the "foo" field.</summary> | 
|  | public const int FooFieldNumber = 1; | 
|  | private int foo_; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int Foo { | 
|  | get { return foo_; } | 
|  | set { | 
|  | foo_ = value; | 
|  | } | 
|  | } | 
|  |  | 
|  | /// <summary>Field number for the "foo2" field.</summary> | 
|  | public const int Foo2FieldNumber = 2; | 
|  | private int foo2_; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int Foo2 { | 
|  | get { return foo2_; } | 
|  | set { | 
|  | foo2_ = value; | 
|  | } | 
|  | } | 
|  |  | 
|  | /// <summary>Field number for the "foo3" field.</summary> | 
|  | public const int Foo3FieldNumber = 3; | 
|  | private int foo3_; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int Foo3 { | 
|  | get { return foo3_; } | 
|  | set { | 
|  | foo3_ = value; | 
|  | } | 
|  | } | 
|  |  | 
|  | /// <summary>Field number for the "foo4" field.</summary> | 
|  | public const int Foo4FieldNumber = 4; | 
|  | private static readonly pb::FieldCodec<int> _repeated_foo4_codec | 
|  | = pb::FieldCodec.ForInt32(34); | 
|  | private readonly pbc::RepeatedField<int> foo4_ = new pbc::RepeatedField<int>(); | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public pbc::RepeatedField<int> Foo4 { | 
|  | get { return foo4_; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override bool Equals(object other) { | 
|  | return Equals(other as ComplexOptionType1); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public bool Equals(ComplexOptionType1 other) { | 
|  | if (ReferenceEquals(other, null)) { | 
|  | return false; | 
|  | } | 
|  | if (ReferenceEquals(other, this)) { | 
|  | return true; | 
|  | } | 
|  | if (Foo != other.Foo) return false; | 
|  | if (Foo2 != other.Foo2) return false; | 
|  | if (Foo3 != other.Foo3) return false; | 
|  | if(!foo4_.Equals(other.foo4_)) return false; | 
|  | return Equals(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override int GetHashCode() { | 
|  | int hash = 1; | 
|  | if (Foo != 0) hash ^= Foo.GetHashCode(); | 
|  | if (Foo2 != 0) hash ^= Foo2.GetHashCode(); | 
|  | if (Foo3 != 0) hash ^= Foo3.GetHashCode(); | 
|  | hash ^= foo4_.GetHashCode(); | 
|  | if (_unknownFields != null) { | 
|  | hash ^= _unknownFields.GetHashCode(); | 
|  | } | 
|  | return hash; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override string ToString() { | 
|  | return pb::JsonFormatter.ToDiagnosticString(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void WriteTo(pb::CodedOutputStream output) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | output.WriteRawMessage(this); | 
|  | #else | 
|  | if (Foo != 0) { | 
|  | output.WriteRawTag(8); | 
|  | output.WriteInt32(Foo); | 
|  | } | 
|  | if (Foo2 != 0) { | 
|  | output.WriteRawTag(16); | 
|  | output.WriteInt32(Foo2); | 
|  | } | 
|  | if (Foo3 != 0) { | 
|  | output.WriteRawTag(24); | 
|  | output.WriteInt32(Foo3); | 
|  | } | 
|  | foo4_.WriteTo(output, _repeated_foo4_codec); | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(output); | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
|  | if (Foo != 0) { | 
|  | output.WriteRawTag(8); | 
|  | output.WriteInt32(Foo); | 
|  | } | 
|  | if (Foo2 != 0) { | 
|  | output.WriteRawTag(16); | 
|  | output.WriteInt32(Foo2); | 
|  | } | 
|  | if (Foo3 != 0) { | 
|  | output.WriteRawTag(24); | 
|  | output.WriteInt32(Foo3); | 
|  | } | 
|  | foo4_.WriteTo(ref output, _repeated_foo4_codec); | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(ref output); | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int CalculateSize() { | 
|  | int size = 0; | 
|  | if (Foo != 0) { | 
|  | size += 1 + pb::CodedOutputStream.ComputeInt32Size(Foo); | 
|  | } | 
|  | if (Foo2 != 0) { | 
|  | size += 1 + pb::CodedOutputStream.ComputeInt32Size(Foo2); | 
|  | } | 
|  | if (Foo3 != 0) { | 
|  | size += 1 + pb::CodedOutputStream.ComputeInt32Size(Foo3); | 
|  | } | 
|  | size += foo4_.CalculateSize(_repeated_foo4_codec); | 
|  | if (_unknownFields != null) { | 
|  | size += _unknownFields.CalculateSize(); | 
|  | } | 
|  | return size; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(ComplexOptionType1 other) { | 
|  | if (other == null) { | 
|  | return; | 
|  | } | 
|  | if (other.Foo != 0) { | 
|  | Foo = other.Foo; | 
|  | } | 
|  | if (other.Foo2 != 0) { | 
|  | Foo2 = other.Foo2; | 
|  | } | 
|  | if (other.Foo3 != 0) { | 
|  | Foo3 = other.Foo3; | 
|  | } | 
|  | foo4_.Add(other.foo4_); | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(pb::CodedInputStream input) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | input.ReadRawMessage(this); | 
|  | #else | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
|  | break; | 
|  | case 8: { | 
|  | Foo = input.ReadInt32(); | 
|  | break; | 
|  | } | 
|  | case 16: { | 
|  | Foo2 = input.ReadInt32(); | 
|  | break; | 
|  | } | 
|  | case 24: { | 
|  | Foo3 = input.ReadInt32(); | 
|  | break; | 
|  | } | 
|  | case 34: | 
|  | case 32: { | 
|  | foo4_.AddEntriesFrom(input, _repeated_foo4_codec); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
|  | break; | 
|  | case 8: { | 
|  | Foo = input.ReadInt32(); | 
|  | break; | 
|  | } | 
|  | case 16: { | 
|  | Foo2 = input.ReadInt32(); | 
|  | break; | 
|  | } | 
|  | case 24: { | 
|  | Foo3 = input.ReadInt32(); | 
|  | break; | 
|  | } | 
|  | case 34: | 
|  | case 32: { | 
|  | foo4_.AddEntriesFrom(ref input, _repeated_foo4_codec); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
|  | public sealed partial class ComplexOptionType2 : pb::IMessage<ComplexOptionType2> | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | , pb::IBufferMessage | 
|  | #endif | 
|  | { | 
|  | private static readonly pb::MessageParser<ComplexOptionType2> _parser = new pb::MessageParser<ComplexOptionType2>(() => new ComplexOptionType2()); | 
|  | private pb::UnknownFieldSet _unknownFields; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pb::MessageParser<ComplexOptionType2> Parser { get { return _parser; } } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pbr::MessageDescriptor Descriptor { | 
|  | get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[13]; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | pbr::MessageDescriptor pb::IMessage.Descriptor { | 
|  | get { return Descriptor; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public ComplexOptionType2() { | 
|  | OnConstruction(); | 
|  | } | 
|  |  | 
|  | partial void OnConstruction(); | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public ComplexOptionType2(ComplexOptionType2 other) : this() { | 
|  | bar_ = other.bar_ != null ? other.bar_.Clone() : null; | 
|  | baz_ = other.baz_; | 
|  | fred_ = other.fred_ != null ? other.fred_.Clone() : null; | 
|  | barney_ = other.barney_.Clone(); | 
|  | _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public ComplexOptionType2 Clone() { | 
|  | return new ComplexOptionType2(this); | 
|  | } | 
|  |  | 
|  | /// <summary>Field number for the "bar" field.</summary> | 
|  | public const int BarFieldNumber = 1; | 
|  | private global::UnitTest.Issues.TestProtos.ComplexOptionType1 bar_; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public global::UnitTest.Issues.TestProtos.ComplexOptionType1 Bar { | 
|  | get { return bar_; } | 
|  | set { | 
|  | bar_ = value; | 
|  | } | 
|  | } | 
|  |  | 
|  | /// <summary>Field number for the "baz" field.</summary> | 
|  | public const int BazFieldNumber = 2; | 
|  | private int baz_; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int Baz { | 
|  | get { return baz_; } | 
|  | set { | 
|  | baz_ = value; | 
|  | } | 
|  | } | 
|  |  | 
|  | /// <summary>Field number for the "fred" field.</summary> | 
|  | public const int FredFieldNumber = 3; | 
|  | private global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4 fred_; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4 Fred { | 
|  | get { return fred_; } | 
|  | set { | 
|  | fred_ = value; | 
|  | } | 
|  | } | 
|  |  | 
|  | /// <summary>Field number for the "barney" field.</summary> | 
|  | public const int BarneyFieldNumber = 4; | 
|  | private static readonly pb::FieldCodec<global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4> _repeated_barney_codec | 
|  | = pb::FieldCodec.ForMessage(34, global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4.Parser); | 
|  | private readonly pbc::RepeatedField<global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4> barney_ = new pbc::RepeatedField<global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4>(); | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public pbc::RepeatedField<global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4> Barney { | 
|  | get { return barney_; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override bool Equals(object other) { | 
|  | return Equals(other as ComplexOptionType2); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public bool Equals(ComplexOptionType2 other) { | 
|  | if (ReferenceEquals(other, null)) { | 
|  | return false; | 
|  | } | 
|  | if (ReferenceEquals(other, this)) { | 
|  | return true; | 
|  | } | 
|  | if (!object.Equals(Bar, other.Bar)) return false; | 
|  | if (Baz != other.Baz) return false; | 
|  | if (!object.Equals(Fred, other.Fred)) return false; | 
|  | if(!barney_.Equals(other.barney_)) return false; | 
|  | return Equals(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override int GetHashCode() { | 
|  | int hash = 1; | 
|  | if (bar_ != null) hash ^= Bar.GetHashCode(); | 
|  | if (Baz != 0) hash ^= Baz.GetHashCode(); | 
|  | if (fred_ != null) hash ^= Fred.GetHashCode(); | 
|  | hash ^= barney_.GetHashCode(); | 
|  | if (_unknownFields != null) { | 
|  | hash ^= _unknownFields.GetHashCode(); | 
|  | } | 
|  | return hash; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override string ToString() { | 
|  | return pb::JsonFormatter.ToDiagnosticString(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void WriteTo(pb::CodedOutputStream output) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | output.WriteRawMessage(this); | 
|  | #else | 
|  | if (bar_ != null) { | 
|  | output.WriteRawTag(10); | 
|  | output.WriteMessage(Bar); | 
|  | } | 
|  | if (Baz != 0) { | 
|  | output.WriteRawTag(16); | 
|  | output.WriteInt32(Baz); | 
|  | } | 
|  | if (fred_ != null) { | 
|  | output.WriteRawTag(26); | 
|  | output.WriteMessage(Fred); | 
|  | } | 
|  | barney_.WriteTo(output, _repeated_barney_codec); | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(output); | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
|  | if (bar_ != null) { | 
|  | output.WriteRawTag(10); | 
|  | output.WriteMessage(Bar); | 
|  | } | 
|  | if (Baz != 0) { | 
|  | output.WriteRawTag(16); | 
|  | output.WriteInt32(Baz); | 
|  | } | 
|  | if (fred_ != null) { | 
|  | output.WriteRawTag(26); | 
|  | output.WriteMessage(Fred); | 
|  | } | 
|  | barney_.WriteTo(ref output, _repeated_barney_codec); | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(ref output); | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int CalculateSize() { | 
|  | int size = 0; | 
|  | if (bar_ != null) { | 
|  | size += 1 + pb::CodedOutputStream.ComputeMessageSize(Bar); | 
|  | } | 
|  | if (Baz != 0) { | 
|  | size += 1 + pb::CodedOutputStream.ComputeInt32Size(Baz); | 
|  | } | 
|  | if (fred_ != null) { | 
|  | size += 1 + pb::CodedOutputStream.ComputeMessageSize(Fred); | 
|  | } | 
|  | size += barney_.CalculateSize(_repeated_barney_codec); | 
|  | if (_unknownFields != null) { | 
|  | size += _unknownFields.CalculateSize(); | 
|  | } | 
|  | return size; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(ComplexOptionType2 other) { | 
|  | if (other == null) { | 
|  | return; | 
|  | } | 
|  | if (other.bar_ != null) { | 
|  | if (bar_ == null) { | 
|  | Bar = new global::UnitTest.Issues.TestProtos.ComplexOptionType1(); | 
|  | } | 
|  | Bar.MergeFrom(other.Bar); | 
|  | } | 
|  | if (other.Baz != 0) { | 
|  | Baz = other.Baz; | 
|  | } | 
|  | if (other.fred_ != null) { | 
|  | if (fred_ == null) { | 
|  | Fred = new global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4(); | 
|  | } | 
|  | Fred.MergeFrom(other.Fred); | 
|  | } | 
|  | barney_.Add(other.barney_); | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(pb::CodedInputStream input) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | input.ReadRawMessage(this); | 
|  | #else | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
|  | break; | 
|  | case 10: { | 
|  | if (bar_ == null) { | 
|  | Bar = new global::UnitTest.Issues.TestProtos.ComplexOptionType1(); | 
|  | } | 
|  | input.ReadMessage(Bar); | 
|  | break; | 
|  | } | 
|  | case 16: { | 
|  | Baz = input.ReadInt32(); | 
|  | break; | 
|  | } | 
|  | case 26: { | 
|  | if (fred_ == null) { | 
|  | Fred = new global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4(); | 
|  | } | 
|  | input.ReadMessage(Fred); | 
|  | break; | 
|  | } | 
|  | case 34: { | 
|  | barney_.AddEntriesFrom(input, _repeated_barney_codec); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
|  | break; | 
|  | case 10: { | 
|  | if (bar_ == null) { | 
|  | Bar = new global::UnitTest.Issues.TestProtos.ComplexOptionType1(); | 
|  | } | 
|  | input.ReadMessage(Bar); | 
|  | break; | 
|  | } | 
|  | case 16: { | 
|  | Baz = input.ReadInt32(); | 
|  | break; | 
|  | } | 
|  | case 26: { | 
|  | if (fred_ == null) { | 
|  | Fred = new global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4(); | 
|  | } | 
|  | input.ReadMessage(Fred); | 
|  | break; | 
|  | } | 
|  | case 34: { | 
|  | barney_.AddEntriesFrom(ref input, _repeated_barney_codec); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #region Nested types | 
|  | /// <summary>Container for nested types declared in the ComplexOptionType2 message type.</summary> | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static partial class Types { | 
|  | [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
|  | public sealed partial class ComplexOptionType4 : pb::IMessage<ComplexOptionType4> | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | , pb::IBufferMessage | 
|  | #endif | 
|  | { | 
|  | private static readonly pb::MessageParser<ComplexOptionType4> _parser = new pb::MessageParser<ComplexOptionType4>(() => new ComplexOptionType4()); | 
|  | private pb::UnknownFieldSet _unknownFields; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pb::MessageParser<ComplexOptionType4> Parser { get { return _parser; } } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pbr::MessageDescriptor Descriptor { | 
|  | get { return global::UnitTest.Issues.TestProtos.ComplexOptionType2.Descriptor.NestedTypes[0]; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | pbr::MessageDescriptor pb::IMessage.Descriptor { | 
|  | get { return Descriptor; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public ComplexOptionType4() { | 
|  | OnConstruction(); | 
|  | } | 
|  |  | 
|  | partial void OnConstruction(); | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public ComplexOptionType4(ComplexOptionType4 other) : this() { | 
|  | waldo_ = other.waldo_; | 
|  | _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public ComplexOptionType4 Clone() { | 
|  | return new ComplexOptionType4(this); | 
|  | } | 
|  |  | 
|  | /// <summary>Field number for the "waldo" field.</summary> | 
|  | public const int WaldoFieldNumber = 1; | 
|  | private int waldo_; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int Waldo { | 
|  | get { return waldo_; } | 
|  | set { | 
|  | waldo_ = value; | 
|  | } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override bool Equals(object other) { | 
|  | return Equals(other as ComplexOptionType4); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public bool Equals(ComplexOptionType4 other) { | 
|  | if (ReferenceEquals(other, null)) { | 
|  | return false; | 
|  | } | 
|  | if (ReferenceEquals(other, this)) { | 
|  | return true; | 
|  | } | 
|  | if (Waldo != other.Waldo) return false; | 
|  | return Equals(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override int GetHashCode() { | 
|  | int hash = 1; | 
|  | if (Waldo != 0) hash ^= Waldo.GetHashCode(); | 
|  | if (_unknownFields != null) { | 
|  | hash ^= _unknownFields.GetHashCode(); | 
|  | } | 
|  | return hash; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override string ToString() { | 
|  | return pb::JsonFormatter.ToDiagnosticString(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void WriteTo(pb::CodedOutputStream output) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | output.WriteRawMessage(this); | 
|  | #else | 
|  | if (Waldo != 0) { | 
|  | output.WriteRawTag(8); | 
|  | output.WriteInt32(Waldo); | 
|  | } | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(output); | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
|  | if (Waldo != 0) { | 
|  | output.WriteRawTag(8); | 
|  | output.WriteInt32(Waldo); | 
|  | } | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(ref output); | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int CalculateSize() { | 
|  | int size = 0; | 
|  | if (Waldo != 0) { | 
|  | size += 1 + pb::CodedOutputStream.ComputeInt32Size(Waldo); | 
|  | } | 
|  | if (_unknownFields != null) { | 
|  | size += _unknownFields.CalculateSize(); | 
|  | } | 
|  | return size; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(ComplexOptionType4 other) { | 
|  | if (other == null) { | 
|  | return; | 
|  | } | 
|  | if (other.Waldo != 0) { | 
|  | Waldo = other.Waldo; | 
|  | } | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(pb::CodedInputStream input) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | input.ReadRawMessage(this); | 
|  | #else | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
|  | break; | 
|  | case 8: { | 
|  | Waldo = input.ReadInt32(); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
|  | break; | 
|  | case 8: { | 
|  | Waldo = input.ReadInt32(); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #region Extensions | 
|  | /// <summary>Container for extensions for other messages declared in the ComplexOptionType4 message type.</summary> | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static partial class Extensions { | 
|  | public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4> ComplexOpt4 = | 
|  | new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4>(7633546, pb::FieldCodec.ForMessage(61068370, global::UnitTest.Issues.TestProtos.ComplexOptionType2.Types.ComplexOptionType4.Parser)); | 
|  | } | 
|  | #endregion | 
|  |  | 
|  | } | 
|  |  | 
|  | } | 
|  | #endregion | 
|  |  | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
|  | public sealed partial class ComplexOptionType3 : pb::IMessage<ComplexOptionType3> | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | , pb::IBufferMessage | 
|  | #endif | 
|  | { | 
|  | private static readonly pb::MessageParser<ComplexOptionType3> _parser = new pb::MessageParser<ComplexOptionType3>(() => new ComplexOptionType3()); | 
|  | private pb::UnknownFieldSet _unknownFields; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pb::MessageParser<ComplexOptionType3> Parser { get { return _parser; } } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pbr::MessageDescriptor Descriptor { | 
|  | get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[14]; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | pbr::MessageDescriptor pb::IMessage.Descriptor { | 
|  | get { return Descriptor; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public ComplexOptionType3() { | 
|  | OnConstruction(); | 
|  | } | 
|  |  | 
|  | partial void OnConstruction(); | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public ComplexOptionType3(ComplexOptionType3 other) : this() { | 
|  | qux_ = other.qux_; | 
|  | _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public ComplexOptionType3 Clone() { | 
|  | return new ComplexOptionType3(this); | 
|  | } | 
|  |  | 
|  | /// <summary>Field number for the "qux" field.</summary> | 
|  | public const int QuxFieldNumber = 1; | 
|  | private int qux_; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int Qux { | 
|  | get { return qux_; } | 
|  | set { | 
|  | qux_ = value; | 
|  | } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override bool Equals(object other) { | 
|  | return Equals(other as ComplexOptionType3); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public bool Equals(ComplexOptionType3 other) { | 
|  | if (ReferenceEquals(other, null)) { | 
|  | return false; | 
|  | } | 
|  | if (ReferenceEquals(other, this)) { | 
|  | return true; | 
|  | } | 
|  | if (Qux != other.Qux) return false; | 
|  | return Equals(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override int GetHashCode() { | 
|  | int hash = 1; | 
|  | if (Qux != 0) hash ^= Qux.GetHashCode(); | 
|  | if (_unknownFields != null) { | 
|  | hash ^= _unknownFields.GetHashCode(); | 
|  | } | 
|  | return hash; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override string ToString() { | 
|  | return pb::JsonFormatter.ToDiagnosticString(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void WriteTo(pb::CodedOutputStream output) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | output.WriteRawMessage(this); | 
|  | #else | 
|  | if (Qux != 0) { | 
|  | output.WriteRawTag(8); | 
|  | output.WriteInt32(Qux); | 
|  | } | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(output); | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
|  | if (Qux != 0) { | 
|  | output.WriteRawTag(8); | 
|  | output.WriteInt32(Qux); | 
|  | } | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(ref output); | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int CalculateSize() { | 
|  | int size = 0; | 
|  | if (Qux != 0) { | 
|  | size += 1 + pb::CodedOutputStream.ComputeInt32Size(Qux); | 
|  | } | 
|  | if (_unknownFields != null) { | 
|  | size += _unknownFields.CalculateSize(); | 
|  | } | 
|  | return size; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(ComplexOptionType3 other) { | 
|  | if (other == null) { | 
|  | return; | 
|  | } | 
|  | if (other.Qux != 0) { | 
|  | Qux = other.Qux; | 
|  | } | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(pb::CodedInputStream input) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | input.ReadRawMessage(this); | 
|  | #else | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
|  | break; | 
|  | case 8: { | 
|  | Qux = input.ReadInt32(); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
|  | break; | 
|  | case 8: { | 
|  | Qux = input.ReadInt32(); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | } | 
|  |  | 
|  | /// <summary> | 
|  | /// Note that we try various different ways of naming the same extension. | 
|  | /// </summary> | 
|  | [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
|  | public sealed partial class VariousComplexOptions : pb::IMessage<VariousComplexOptions> | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | , pb::IBufferMessage | 
|  | #endif | 
|  | { | 
|  | private static readonly pb::MessageParser<VariousComplexOptions> _parser = new pb::MessageParser<VariousComplexOptions>(() => new VariousComplexOptions()); | 
|  | private pb::UnknownFieldSet _unknownFields; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pb::MessageParser<VariousComplexOptions> Parser { get { return _parser; } } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pbr::MessageDescriptor Descriptor { | 
|  | get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[15]; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | pbr::MessageDescriptor pb::IMessage.Descriptor { | 
|  | get { return Descriptor; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public VariousComplexOptions() { | 
|  | OnConstruction(); | 
|  | } | 
|  |  | 
|  | partial void OnConstruction(); | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public VariousComplexOptions(VariousComplexOptions other) : this() { | 
|  | _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public VariousComplexOptions Clone() { | 
|  | return new VariousComplexOptions(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override bool Equals(object other) { | 
|  | return Equals(other as VariousComplexOptions); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public bool Equals(VariousComplexOptions other) { | 
|  | if (ReferenceEquals(other, null)) { | 
|  | return false; | 
|  | } | 
|  | if (ReferenceEquals(other, this)) { | 
|  | return true; | 
|  | } | 
|  | return Equals(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override int GetHashCode() { | 
|  | int hash = 1; | 
|  | if (_unknownFields != null) { | 
|  | hash ^= _unknownFields.GetHashCode(); | 
|  | } | 
|  | return hash; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override string ToString() { | 
|  | return pb::JsonFormatter.ToDiagnosticString(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void WriteTo(pb::CodedOutputStream output) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | output.WriteRawMessage(this); | 
|  | #else | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(output); | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(ref output); | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int CalculateSize() { | 
|  | int size = 0; | 
|  | if (_unknownFields != null) { | 
|  | size += _unknownFields.CalculateSize(); | 
|  | } | 
|  | return size; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(VariousComplexOptions other) { | 
|  | if (other == null) { | 
|  | return; | 
|  | } | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(pb::CodedInputStream input) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | input.ReadRawMessage(this); | 
|  | #else | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | } | 
|  |  | 
|  | /// <summary> | 
|  | /// A helper type used to test aggregate option parsing | 
|  | /// </summary> | 
|  | [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
|  | public sealed partial class Aggregate : pb::IMessage<Aggregate> | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | , pb::IBufferMessage | 
|  | #endif | 
|  | { | 
|  | private static readonly pb::MessageParser<Aggregate> _parser = new pb::MessageParser<Aggregate>(() => new Aggregate()); | 
|  | private pb::UnknownFieldSet _unknownFields; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pb::MessageParser<Aggregate> Parser { get { return _parser; } } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pbr::MessageDescriptor Descriptor { | 
|  | get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[16]; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | pbr::MessageDescriptor pb::IMessage.Descriptor { | 
|  | get { return Descriptor; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public Aggregate() { | 
|  | OnConstruction(); | 
|  | } | 
|  |  | 
|  | partial void OnConstruction(); | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public Aggregate(Aggregate other) : this() { | 
|  | i_ = other.i_; | 
|  | s_ = other.s_; | 
|  | sub_ = other.sub_ != null ? other.sub_.Clone() : null; | 
|  | _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public Aggregate Clone() { | 
|  | return new Aggregate(this); | 
|  | } | 
|  |  | 
|  | /// <summary>Field number for the "i" field.</summary> | 
|  | public const int IFieldNumber = 1; | 
|  | private int i_; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int I { | 
|  | get { return i_; } | 
|  | set { | 
|  | i_ = value; | 
|  | } | 
|  | } | 
|  |  | 
|  | /// <summary>Field number for the "s" field.</summary> | 
|  | public const int SFieldNumber = 2; | 
|  | private string s_ = ""; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public string S { | 
|  | get { return s_; } | 
|  | set { | 
|  | s_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); | 
|  | } | 
|  | } | 
|  |  | 
|  | /// <summary>Field number for the "sub" field.</summary> | 
|  | public const int SubFieldNumber = 3; | 
|  | private global::UnitTest.Issues.TestProtos.Aggregate sub_; | 
|  | /// <summary> | 
|  | /// A nested object | 
|  | /// </summary> | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public global::UnitTest.Issues.TestProtos.Aggregate Sub { | 
|  | get { return sub_; } | 
|  | set { | 
|  | sub_ = value; | 
|  | } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override bool Equals(object other) { | 
|  | return Equals(other as Aggregate); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public bool Equals(Aggregate other) { | 
|  | if (ReferenceEquals(other, null)) { | 
|  | return false; | 
|  | } | 
|  | if (ReferenceEquals(other, this)) { | 
|  | return true; | 
|  | } | 
|  | if (I != other.I) return false; | 
|  | if (S != other.S) return false; | 
|  | if (!object.Equals(Sub, other.Sub)) return false; | 
|  | return Equals(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override int GetHashCode() { | 
|  | int hash = 1; | 
|  | if (I != 0) hash ^= I.GetHashCode(); | 
|  | if (S.Length != 0) hash ^= S.GetHashCode(); | 
|  | if (sub_ != null) hash ^= Sub.GetHashCode(); | 
|  | if (_unknownFields != null) { | 
|  | hash ^= _unknownFields.GetHashCode(); | 
|  | } | 
|  | return hash; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override string ToString() { | 
|  | return pb::JsonFormatter.ToDiagnosticString(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void WriteTo(pb::CodedOutputStream output) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | output.WriteRawMessage(this); | 
|  | #else | 
|  | if (I != 0) { | 
|  | output.WriteRawTag(8); | 
|  | output.WriteInt32(I); | 
|  | } | 
|  | if (S.Length != 0) { | 
|  | output.WriteRawTag(18); | 
|  | output.WriteString(S); | 
|  | } | 
|  | if (sub_ != null) { | 
|  | output.WriteRawTag(26); | 
|  | output.WriteMessage(Sub); | 
|  | } | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(output); | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
|  | if (I != 0) { | 
|  | output.WriteRawTag(8); | 
|  | output.WriteInt32(I); | 
|  | } | 
|  | if (S.Length != 0) { | 
|  | output.WriteRawTag(18); | 
|  | output.WriteString(S); | 
|  | } | 
|  | if (sub_ != null) { | 
|  | output.WriteRawTag(26); | 
|  | output.WriteMessage(Sub); | 
|  | } | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(ref output); | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int CalculateSize() { | 
|  | int size = 0; | 
|  | if (I != 0) { | 
|  | size += 1 + pb::CodedOutputStream.ComputeInt32Size(I); | 
|  | } | 
|  | if (S.Length != 0) { | 
|  | size += 1 + pb::CodedOutputStream.ComputeStringSize(S); | 
|  | } | 
|  | if (sub_ != null) { | 
|  | size += 1 + pb::CodedOutputStream.ComputeMessageSize(Sub); | 
|  | } | 
|  | if (_unknownFields != null) { | 
|  | size += _unknownFields.CalculateSize(); | 
|  | } | 
|  | return size; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(Aggregate other) { | 
|  | if (other == null) { | 
|  | return; | 
|  | } | 
|  | if (other.I != 0) { | 
|  | I = other.I; | 
|  | } | 
|  | if (other.S.Length != 0) { | 
|  | S = other.S; | 
|  | } | 
|  | if (other.sub_ != null) { | 
|  | if (sub_ == null) { | 
|  | Sub = new global::UnitTest.Issues.TestProtos.Aggregate(); | 
|  | } | 
|  | Sub.MergeFrom(other.Sub); | 
|  | } | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(pb::CodedInputStream input) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | input.ReadRawMessage(this); | 
|  | #else | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
|  | break; | 
|  | case 8: { | 
|  | I = input.ReadInt32(); | 
|  | break; | 
|  | } | 
|  | case 18: { | 
|  | S = input.ReadString(); | 
|  | break; | 
|  | } | 
|  | case 26: { | 
|  | if (sub_ == null) { | 
|  | Sub = new global::UnitTest.Issues.TestProtos.Aggregate(); | 
|  | } | 
|  | input.ReadMessage(Sub); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
|  | break; | 
|  | case 8: { | 
|  | I = input.ReadInt32(); | 
|  | break; | 
|  | } | 
|  | case 18: { | 
|  | S = input.ReadString(); | 
|  | break; | 
|  | } | 
|  | case 26: { | 
|  | if (sub_ == null) { | 
|  | Sub = new global::UnitTest.Issues.TestProtos.Aggregate(); | 
|  | } | 
|  | input.ReadMessage(Sub); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
|  | public sealed partial class AggregateMessage : pb::IMessage<AggregateMessage> | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | , pb::IBufferMessage | 
|  | #endif | 
|  | { | 
|  | private static readonly pb::MessageParser<AggregateMessage> _parser = new pb::MessageParser<AggregateMessage>(() => new AggregateMessage()); | 
|  | private pb::UnknownFieldSet _unknownFields; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pb::MessageParser<AggregateMessage> Parser { get { return _parser; } } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pbr::MessageDescriptor Descriptor { | 
|  | get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[17]; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | pbr::MessageDescriptor pb::IMessage.Descriptor { | 
|  | get { return Descriptor; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public AggregateMessage() { | 
|  | OnConstruction(); | 
|  | } | 
|  |  | 
|  | partial void OnConstruction(); | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public AggregateMessage(AggregateMessage other) : this() { | 
|  | fieldname_ = other.fieldname_; | 
|  | _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public AggregateMessage Clone() { | 
|  | return new AggregateMessage(this); | 
|  | } | 
|  |  | 
|  | /// <summary>Field number for the "fieldname" field.</summary> | 
|  | public const int FieldnameFieldNumber = 1; | 
|  | private int fieldname_; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int Fieldname { | 
|  | get { return fieldname_; } | 
|  | set { | 
|  | fieldname_ = value; | 
|  | } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override bool Equals(object other) { | 
|  | return Equals(other as AggregateMessage); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public bool Equals(AggregateMessage other) { | 
|  | if (ReferenceEquals(other, null)) { | 
|  | return false; | 
|  | } | 
|  | if (ReferenceEquals(other, this)) { | 
|  | return true; | 
|  | } | 
|  | if (Fieldname != other.Fieldname) return false; | 
|  | return Equals(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override int GetHashCode() { | 
|  | int hash = 1; | 
|  | if (Fieldname != 0) hash ^= Fieldname.GetHashCode(); | 
|  | if (_unknownFields != null) { | 
|  | hash ^= _unknownFields.GetHashCode(); | 
|  | } | 
|  | return hash; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override string ToString() { | 
|  | return pb::JsonFormatter.ToDiagnosticString(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void WriteTo(pb::CodedOutputStream output) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | output.WriteRawMessage(this); | 
|  | #else | 
|  | if (Fieldname != 0) { | 
|  | output.WriteRawTag(8); | 
|  | output.WriteInt32(Fieldname); | 
|  | } | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(output); | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
|  | if (Fieldname != 0) { | 
|  | output.WriteRawTag(8); | 
|  | output.WriteInt32(Fieldname); | 
|  | } | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(ref output); | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int CalculateSize() { | 
|  | int size = 0; | 
|  | if (Fieldname != 0) { | 
|  | size += 1 + pb::CodedOutputStream.ComputeInt32Size(Fieldname); | 
|  | } | 
|  | if (_unknownFields != null) { | 
|  | size += _unknownFields.CalculateSize(); | 
|  | } | 
|  | return size; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(AggregateMessage other) { | 
|  | if (other == null) { | 
|  | return; | 
|  | } | 
|  | if (other.Fieldname != 0) { | 
|  | Fieldname = other.Fieldname; | 
|  | } | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(pb::CodedInputStream input) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | input.ReadRawMessage(this); | 
|  | #else | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
|  | break; | 
|  | case 8: { | 
|  | Fieldname = input.ReadInt32(); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
|  | break; | 
|  | case 8: { | 
|  | Fieldname = input.ReadInt32(); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | } | 
|  |  | 
|  | /// <summary> | 
|  | /// Test custom options for nested type. | 
|  | /// </summary> | 
|  | [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
|  | public sealed partial class NestedOptionType : pb::IMessage<NestedOptionType> | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | , pb::IBufferMessage | 
|  | #endif | 
|  | { | 
|  | private static readonly pb::MessageParser<NestedOptionType> _parser = new pb::MessageParser<NestedOptionType>(() => new NestedOptionType()); | 
|  | private pb::UnknownFieldSet _unknownFields; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pb::MessageParser<NestedOptionType> Parser { get { return _parser; } } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pbr::MessageDescriptor Descriptor { | 
|  | get { return global::UnitTest.Issues.TestProtos.UnittestCustomOptionsProto3Reflection.Descriptor.MessageTypes[18]; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | pbr::MessageDescriptor pb::IMessage.Descriptor { | 
|  | get { return Descriptor; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public NestedOptionType() { | 
|  | OnConstruction(); | 
|  | } | 
|  |  | 
|  | partial void OnConstruction(); | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public NestedOptionType(NestedOptionType other) : this() { | 
|  | _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public NestedOptionType Clone() { | 
|  | return new NestedOptionType(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override bool Equals(object other) { | 
|  | return Equals(other as NestedOptionType); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public bool Equals(NestedOptionType other) { | 
|  | if (ReferenceEquals(other, null)) { | 
|  | return false; | 
|  | } | 
|  | if (ReferenceEquals(other, this)) { | 
|  | return true; | 
|  | } | 
|  | return Equals(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override int GetHashCode() { | 
|  | int hash = 1; | 
|  | if (_unknownFields != null) { | 
|  | hash ^= _unknownFields.GetHashCode(); | 
|  | } | 
|  | return hash; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override string ToString() { | 
|  | return pb::JsonFormatter.ToDiagnosticString(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void WriteTo(pb::CodedOutputStream output) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | output.WriteRawMessage(this); | 
|  | #else | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(output); | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(ref output); | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int CalculateSize() { | 
|  | int size = 0; | 
|  | if (_unknownFields != null) { | 
|  | size += _unknownFields.CalculateSize(); | 
|  | } | 
|  | return size; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(NestedOptionType other) { | 
|  | if (other == null) { | 
|  | return; | 
|  | } | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(pb::CodedInputStream input) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | input.ReadRawMessage(this); | 
|  | #else | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #region Nested types | 
|  | /// <summary>Container for nested types declared in the NestedOptionType message type.</summary> | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static partial class Types { | 
|  | public enum NestedEnum { | 
|  | [pbr::OriginalName("UNSPECIFIED")] Unspecified = 0, | 
|  | [pbr::OriginalName("NESTED_ENUM_VALUE")] Value = 1, | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")] | 
|  | public sealed partial class NestedMessage : pb::IMessage<NestedMessage> | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | , pb::IBufferMessage | 
|  | #endif | 
|  | { | 
|  | private static readonly pb::MessageParser<NestedMessage> _parser = new pb::MessageParser<NestedMessage>(() => new NestedMessage()); | 
|  | private pb::UnknownFieldSet _unknownFields; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pb::MessageParser<NestedMessage> Parser { get { return _parser; } } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public static pbr::MessageDescriptor Descriptor { | 
|  | get { return global::UnitTest.Issues.TestProtos.NestedOptionType.Descriptor.NestedTypes[0]; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | pbr::MessageDescriptor pb::IMessage.Descriptor { | 
|  | get { return Descriptor; } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public NestedMessage() { | 
|  | OnConstruction(); | 
|  | } | 
|  |  | 
|  | partial void OnConstruction(); | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public NestedMessage(NestedMessage other) : this() { | 
|  | nestedField_ = other.nestedField_; | 
|  | _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public NestedMessage Clone() { | 
|  | return new NestedMessage(this); | 
|  | } | 
|  |  | 
|  | /// <summary>Field number for the "nested_field" field.</summary> | 
|  | public const int NestedFieldFieldNumber = 1; | 
|  | private int nestedField_; | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int NestedField { | 
|  | get { return nestedField_; } | 
|  | set { | 
|  | nestedField_ = value; | 
|  | } | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override bool Equals(object other) { | 
|  | return Equals(other as NestedMessage); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public bool Equals(NestedMessage other) { | 
|  | if (ReferenceEquals(other, null)) { | 
|  | return false; | 
|  | } | 
|  | if (ReferenceEquals(other, this)) { | 
|  | return true; | 
|  | } | 
|  | if (NestedField != other.NestedField) return false; | 
|  | return Equals(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override int GetHashCode() { | 
|  | int hash = 1; | 
|  | if (NestedField != 0) hash ^= NestedField.GetHashCode(); | 
|  | if (_unknownFields != null) { | 
|  | hash ^= _unknownFields.GetHashCode(); | 
|  | } | 
|  | return hash; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public override string ToString() { | 
|  | return pb::JsonFormatter.ToDiagnosticString(this); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void WriteTo(pb::CodedOutputStream output) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | output.WriteRawMessage(this); | 
|  | #else | 
|  | if (NestedField != 0) { | 
|  | output.WriteRawTag(8); | 
|  | output.WriteInt32(NestedField); | 
|  | } | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(output); | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { | 
|  | if (NestedField != 0) { | 
|  | output.WriteRawTag(8); | 
|  | output.WriteInt32(NestedField); | 
|  | } | 
|  | if (_unknownFields != null) { | 
|  | _unknownFields.WriteTo(ref output); | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public int CalculateSize() { | 
|  | int size = 0; | 
|  | if (NestedField != 0) { | 
|  | size += 1 + pb::CodedOutputStream.ComputeInt32Size(NestedField); | 
|  | } | 
|  | if (_unknownFields != null) { | 
|  | size += _unknownFields.CalculateSize(); | 
|  | } | 
|  | return size; | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(NestedMessage other) { | 
|  | if (other == null) { | 
|  | return; | 
|  | } | 
|  | if (other.NestedField != 0) { | 
|  | NestedField = other.NestedField; | 
|  | } | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | 
|  | } | 
|  |  | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | public void MergeFrom(pb::CodedInputStream input) { | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | input.ReadRawMessage(this); | 
|  | #else | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | 
|  | break; | 
|  | case 8: { | 
|  | NestedField = input.ReadInt32(); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  | } | 
|  |  | 
|  | #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE | 
|  | [global::System.Diagnostics.DebuggerNonUserCodeAttribute] | 
|  | [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] | 
|  | void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { | 
|  | uint tag; | 
|  | while ((tag = input.ReadTag()) != 0) { | 
|  | if ((tag & 7) == 4) { | 
|  | // Abort on any end group tag. | 
|  | return; | 
|  | } | 
|  | switch(tag) { | 
|  | default: | 
|  | _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); | 
|  | break; | 
|  | case 8: { | 
|  | NestedField = input.ReadInt32(); | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  | } | 
|  | #endif | 
|  |  | 
|  | } | 
|  |  | 
|  | } | 
|  | #endregion | 
|  |  | 
|  | } | 
|  |  | 
|  | #endregion | 
|  |  | 
|  | } | 
|  |  | 
|  | #endregion Designer generated code |