| 
					
				 | 
			
			
				@@ -0,0 +1,5830 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// Generated by the protocol buffer compiler.  DO NOT EDIT! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// source: google/protobuf/unittest_proto3.proto 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#pragma warning disable 1591, 0612, 3021 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#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 Google.Protobuf.TestProtos { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public static partial class UnittestProto3 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #region Descriptor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::FileDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static pbr::FileDescriptor descriptor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    static UnittestProto3() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      byte[] descriptorData = global::System.Convert.FromBase64String( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          string.Concat( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "CiVnb29nbGUvcHJvdG9idWYvdW5pdHRlc3RfcHJvdG8zLnByb3RvEhFwcm90",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "b2J1Zl91bml0dGVzdBosZ29vZ2xlL3Byb3RvYnVmL3VuaXR0ZXN0X2ltcG9y",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "dF9wcm90bzMucHJvdG8i8A8KDFRlc3RBbGxUeXBlcxIUCgxzaW5nbGVfaW50",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "MzIYASABKAUSFAoMc2luZ2xlX2ludDY0GAIgASgDEhUKDXNpbmdsZV91aW50",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "MzIYAyABKA0SFQoNc2luZ2xlX3VpbnQ2NBgEIAEoBBIVCg1zaW5nbGVfc2lu",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "dDMyGAUgASgREhUKDXNpbmdsZV9zaW50NjQYBiABKBISFgoOc2luZ2xlX2Zp",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "eGVkMzIYByABKAcSFgoOc2luZ2xlX2ZpeGVkNjQYCCABKAYSFwoPc2luZ2xl",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "X3NmaXhlZDMyGAkgASgPEhcKD3NpbmdsZV9zZml4ZWQ2NBgKIAEoEBIUCgxz",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "aW5nbGVfZmxvYXQYCyABKAISFQoNc2luZ2xlX2RvdWJsZRgMIAEoARITCgtz",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "aW5nbGVfYm9vbBgNIAEoCBIVCg1zaW5nbGVfc3RyaW5nGA4gASgJEhQKDHNp",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "bmdsZV9ieXRlcxgPIAEoDBJMChVzaW5nbGVfbmVzdGVkX21lc3NhZ2UYEiAB",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "KAsyLS5wcm90b2J1Zl91bml0dGVzdC5UZXN0QWxsVHlwZXMuTmVzdGVkTWVz",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "c2FnZRJBChZzaW5nbGVfZm9yZWlnbl9tZXNzYWdlGBMgASgLMiEucHJvdG9i",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "dWZfdW5pdHRlc3QuRm9yZWlnbk1lc3NhZ2USRgoVc2luZ2xlX2ltcG9ydF9t",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ZXNzYWdlGBQgASgLMicucHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0LkltcG9y",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "dE1lc3NhZ2USRgoSc2luZ2xlX25lc3RlZF9lbnVtGBUgASgOMioucHJvdG9i",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "dWZfdW5pdHRlc3QuVGVzdEFsbFR5cGVzLk5lc3RlZEVudW0SOwoTc2luZ2xl",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "X2ZvcmVpZ25fZW51bRgWIAEoDjIeLnByb3RvYnVmX3VuaXR0ZXN0LkZvcmVp",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "Z25FbnVtEkAKEnNpbmdsZV9pbXBvcnRfZW51bRgXIAEoDjIkLnByb3RvYnVm",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "X3VuaXR0ZXN0X2ltcG9ydC5JbXBvcnRFbnVtElMKHHNpbmdsZV9wdWJsaWNf",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "aW1wb3J0X21lc3NhZ2UYGiABKAsyLS5wcm90b2J1Zl91bml0dGVzdF9pbXBv",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "cnQuUHVibGljSW1wb3J0TWVzc2FnZRIWCg5yZXBlYXRlZF9pbnQzMhgfIAMo",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "BRIWCg5yZXBlYXRlZF9pbnQ2NBggIAMoAxIXCg9yZXBlYXRlZF91aW50MzIY",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ISADKA0SFwoPcmVwZWF0ZWRfdWludDY0GCIgAygEEhcKD3JlcGVhdGVkX3Np",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "bnQzMhgjIAMoERIXCg9yZXBlYXRlZF9zaW50NjQYJCADKBISGAoQcmVwZWF0",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ZWRfZml4ZWQzMhglIAMoBxIYChByZXBlYXRlZF9maXhlZDY0GCYgAygGEhkK",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "EXJlcGVhdGVkX3NmaXhlZDMyGCcgAygPEhkKEXJlcGVhdGVkX3NmaXhlZDY0",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "GCggAygQEhYKDnJlcGVhdGVkX2Zsb2F0GCkgAygCEhcKD3JlcGVhdGVkX2Rv",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "dWJsZRgqIAMoARIVCg1yZXBlYXRlZF9ib29sGCsgAygIEhcKD3JlcGVhdGVk",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "X3N0cmluZxgsIAMoCRIWCg5yZXBlYXRlZF9ieXRlcxgtIAMoDBJOChdyZXBl",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "YXRlZF9uZXN0ZWRfbWVzc2FnZRgwIAMoCzItLnByb3RvYnVmX3VuaXR0ZXN0",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "LlRlc3RBbGxUeXBlcy5OZXN0ZWRNZXNzYWdlEkMKGHJlcGVhdGVkX2ZvcmVp",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "Z25fbWVzc2FnZRgxIAMoCzIhLnByb3RvYnVmX3VuaXR0ZXN0LkZvcmVpZ25N",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ZXNzYWdlEkgKF3JlcGVhdGVkX2ltcG9ydF9tZXNzYWdlGDIgAygLMicucHJv",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "dG9idWZfdW5pdHRlc3RfaW1wb3J0LkltcG9ydE1lc3NhZ2USSAoUcmVwZWF0",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ZWRfbmVzdGVkX2VudW0YMyADKA4yKi5wcm90b2J1Zl91bml0dGVzdC5UZXN0",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "QWxsVHlwZXMuTmVzdGVkRW51bRI9ChVyZXBlYXRlZF9mb3JlaWduX2VudW0Y",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "NCADKA4yHi5wcm90b2J1Zl91bml0dGVzdC5Gb3JlaWduRW51bRJCChRyZXBl",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "YXRlZF9pbXBvcnRfZW51bRg1IAMoDjIkLnByb3RvYnVmX3VuaXR0ZXN0X2lt",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "cG9ydC5JbXBvcnRFbnVtElUKHnJlcGVhdGVkX3B1YmxpY19pbXBvcnRfbWVz",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "c2FnZRg2IAMoCzItLnByb3RvYnVmX3VuaXR0ZXN0X2ltcG9ydC5QdWJsaWNJ",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "bXBvcnRNZXNzYWdlEhYKDG9uZW9mX3VpbnQzMhhvIAEoDUgAEk0KFG9uZW9m",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "X25lc3RlZF9tZXNzYWdlGHAgASgLMi0ucHJvdG9idWZfdW5pdHRlc3QuVGVz",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "dEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2VIABIWCgxvbmVvZl9zdHJpbmcYcSAB",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "KAlIABIVCgtvbmVvZl9ieXRlcxhyIAEoDEgAGhsKDU5lc3RlZE1lc3NhZ2US",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "CgoCYmIYASABKAUiVgoKTmVzdGVkRW51bRIbChdORVNURURfRU5VTV9VTlNQ",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "RUNJRklFRBAAEgcKA0ZPTxABEgcKA0JBUhACEgcKA0JBWhADEhAKA05FRxD/",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "//////////8BQg0KC29uZW9mX2ZpZWxkIrsBChJOZXN0ZWRUZXN0QWxsVHlw",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ZXMSNAoFY2hpbGQYASABKAsyJS5wcm90b2J1Zl91bml0dGVzdC5OZXN0ZWRU",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ZXN0QWxsVHlwZXMSMAoHcGF5bG9hZBgCIAEoCzIfLnByb3RvYnVmX3VuaXR0",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ZXN0LlRlc3RBbGxUeXBlcxI9Cg5yZXBlYXRlZF9jaGlsZBgDIAMoCzIlLnBy",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "b3RvYnVmX3VuaXR0ZXN0Lk5lc3RlZFRlc3RBbGxUeXBlcyI0ChRUZXN0RGVw",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "cmVjYXRlZEZpZWxkcxIcChBkZXByZWNhdGVkX2ludDMyGAEgASgFQgIYASIb",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "Cg5Gb3JlaWduTWVzc2FnZRIJCgFjGAEgASgFIjAKElRlc3RSZXNlcnZlZEZp",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ZWxkc0oECAIQA0oECA8QEEoECAkQDFIDYmFyUgNiYXoiWgoRVGVzdEZvcmVp",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "Z25OZXN0ZWQSRQoOZm9yZWlnbl9uZXN0ZWQYASABKAsyLS5wcm90b2J1Zl91",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "bml0dGVzdC5UZXN0QWxsVHlwZXMuTmVzdGVkTWVzc2FnZSI0ChhUZXN0UmVh",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "bGx5TGFyZ2VUYWdOdW1iZXISCQoBYRgBIAEoBRINCgJiYhj///9/IAEoBSJV",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ChRUZXN0UmVjdXJzaXZlTWVzc2FnZRIyCgFhGAEgASgLMicucHJvdG9idWZf",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "dW5pdHRlc3QuVGVzdFJlY3Vyc2l2ZU1lc3NhZ2USCQoBaRgCIAEoBSJLChRU",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ZXN0TXV0dWFsUmVjdXJzaW9uQRIzCgJiYhgBIAEoCzInLnByb3RvYnVmX3Vu",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "aXR0ZXN0LlRlc3RNdXR1YWxSZWN1cnNpb25CImIKFFRlc3RNdXR1YWxSZWN1",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "cnNpb25CEjIKAWEYASABKAsyJy5wcm90b2J1Zl91bml0dGVzdC5UZXN0TXV0",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "dWFsUmVjdXJzaW9uQRIWCg5vcHRpb25hbF9pbnQzMhgCIAEoBSLrAgoXVGVz",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "dENhbWVsQ2FzZUZpZWxkTmFtZXMSFgoOUHJpbWl0aXZlRmllbGQYASABKAUS",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "EwoLU3RyaW5nRmllbGQYAiABKAkSMQoJRW51bUZpZWxkGAMgASgOMh4ucHJv",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "dG9idWZfdW5pdHRlc3QuRm9yZWlnbkVudW0SNwoMTWVzc2FnZUZpZWxkGAQg",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ASgLMiEucHJvdG9idWZfdW5pdHRlc3QuRm9yZWlnbk1lc3NhZ2USHgoWUmVw",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ZWF0ZWRQcmltaXRpdmVGaWVsZBgHIAMoBRIbChNSZXBlYXRlZFN0cmluZ0Zp",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ZWxkGAggAygJEjkKEVJlcGVhdGVkRW51bUZpZWxkGAkgAygOMh4ucHJvdG9i",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "dWZfdW5pdHRlc3QuRm9yZWlnbkVudW0SPwoUUmVwZWF0ZWRNZXNzYWdlRmll",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "bGQYCiADKAsyIS5wcm90b2J1Zl91bml0dGVzdC5Gb3JlaWduTWVzc2FnZSLH",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "AQoSVGVzdEZpZWxkT3JkZXJpbmdzEhEKCW15X3N0cmluZxgLIAEoCRIOCgZt",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "eV9pbnQYASABKAMSEAoIbXlfZmxvYXQYZSABKAISUwoVc2luZ2xlX25lc3Rl",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ZF9tZXNzYWdlGMgBIAEoCzIzLnByb3RvYnVmX3VuaXR0ZXN0LlRlc3RGaWVs",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ZE9yZGVyaW5ncy5OZXN0ZWRNZXNzYWdlGicKDU5lc3RlZE1lc3NhZ2USCgoC",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "b28YAiABKAMSCgoCYmIYASABKAUiSwoRU3BhcnNlRW51bU1lc3NhZ2USNgoL",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "c3BhcnNlX2VudW0YASABKA4yIS5wcm90b2J1Zl91bml0dGVzdC5UZXN0U3Bh",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "cnNlRW51bSIZCglPbmVTdHJpbmcSDAoEZGF0YRgBIAEoCSIaCgpNb3JlU3Ry",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "aW5nEgwKBGRhdGEYASADKAkiGAoIT25lQnl0ZXMSDAoEZGF0YRgBIAEoDCIZ",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "CglNb3JlQnl0ZXMSDAoEZGF0YRgBIAEoDCIcCgxJbnQzMk1lc3NhZ2USDAoE",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ZGF0YRgBIAEoBSIdCg1VaW50MzJNZXNzYWdlEgwKBGRhdGEYASABKA0iHAoM",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "SW50NjRNZXNzYWdlEgwKBGRhdGEYASABKAMiHQoNVWludDY0TWVzc2FnZRIM",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "CgRkYXRhGAEgASgEIhsKC0Jvb2xNZXNzYWdlEgwKBGRhdGEYASABKAgicwoJ",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "VGVzdE9uZW9mEhEKB2Zvb19pbnQYASABKAVIABIUCgpmb29fc3RyaW5nGAIg",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ASgJSAASNgoLZm9vX21lc3NhZ2UYAyABKAsyHy5wcm90b2J1Zl91bml0dGVz",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "dC5UZXN0QWxsVHlwZXNIAEIFCgNmb28iqgMKD1Rlc3RQYWNrZWRUeXBlcxIY",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "CgxwYWNrZWRfaW50MzIYWiADKAVCAhABEhgKDHBhY2tlZF9pbnQ2NBhbIAMo",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "A0ICEAESGQoNcGFja2VkX3VpbnQzMhhcIAMoDUICEAESGQoNcGFja2VkX3Vp",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "bnQ2NBhdIAMoBEICEAESGQoNcGFja2VkX3NpbnQzMhheIAMoEUICEAESGQoN",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "cGFja2VkX3NpbnQ2NBhfIAMoEkICEAESGgoOcGFja2VkX2ZpeGVkMzIYYCAD",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "KAdCAhABEhoKDnBhY2tlZF9maXhlZDY0GGEgAygGQgIQARIbCg9wYWNrZWRf",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "c2ZpeGVkMzIYYiADKA9CAhABEhsKD3BhY2tlZF9zZml4ZWQ2NBhjIAMoEEIC",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "EAESGAoMcGFja2VkX2Zsb2F0GGQgAygCQgIQARIZCg1wYWNrZWRfZG91Ymxl",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "GGUgAygBQgIQARIXCgtwYWNrZWRfYm9vbBhmIAMoCEICEAESNwoLcGFja2Vk",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "X2VudW0YZyADKA4yHi5wcm90b2J1Zl91bml0dGVzdC5Gb3JlaWduRW51bUIC",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "EAEiyAMKEVRlc3RVbnBhY2tlZFR5cGVzEhoKDnVucGFja2VkX2ludDMyGFog",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "AygFQgIQABIaCg51bnBhY2tlZF9pbnQ2NBhbIAMoA0ICEAASGwoPdW5wYWNr",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ZWRfdWludDMyGFwgAygNQgIQABIbCg91bnBhY2tlZF91aW50NjQYXSADKARC",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "AhAAEhsKD3VucGFja2VkX3NpbnQzMhheIAMoEUICEAASGwoPdW5wYWNrZWRf",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "c2ludDY0GF8gAygSQgIQABIcChB1bnBhY2tlZF9maXhlZDMyGGAgAygHQgIQ",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ABIcChB1bnBhY2tlZF9maXhlZDY0GGEgAygGQgIQABIdChF1bnBhY2tlZF9z",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "Zml4ZWQzMhhiIAMoD0ICEAASHQoRdW5wYWNrZWRfc2ZpeGVkNjQYYyADKBBC",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "AhAAEhoKDnVucGFja2VkX2Zsb2F0GGQgAygCQgIQABIbCg91bnBhY2tlZF9k",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "b3VibGUYZSADKAFCAhAAEhkKDXVucGFja2VkX2Jvb2wYZiADKAhCAhAAEjkK",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "DXVucGFja2VkX2VudW0YZyADKA4yHi5wcm90b2J1Zl91bml0dGVzdC5Gb3Jl",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "aWduRW51bUICEAAiwAEKI1Rlc3RSZXBlYXRlZFNjYWxhckRpZmZlcmVudFRh",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "Z1NpemVzEhgKEHJlcGVhdGVkX2ZpeGVkMzIYDCADKAcSFgoOcmVwZWF0ZWRf",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "aW50MzIYDSADKAUSGQoQcmVwZWF0ZWRfZml4ZWQ2NBj+DyADKAYSFwoOcmVw",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ZWF0ZWRfaW50NjQY/w8gAygDEhgKDnJlcGVhdGVkX2Zsb2F0GP7/DyADKAIS",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "GQoPcmVwZWF0ZWRfdWludDY0GP//DyADKAQiKAobVGVzdENvbW1lbnRJbmpl",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "Y3Rpb25NZXNzYWdlEgkKAWEYASABKAkiDAoKRm9vUmVxdWVzdCINCgtGb29S",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "ZXNwb25zZSISChBGb29DbGllbnRNZXNzYWdlIhIKEEZvb1NlcnZlck1lc3Nh",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "Z2UiDAoKQmFyUmVxdWVzdCINCgtCYXJSZXNwb25zZSpZCgtGb3JlaWduRW51",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "bRIXChNGT1JFSUdOX1VOU1BFQ0lGSUVEEAASDwoLRk9SRUlHTl9GT08QBBIP",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "CgtGT1JFSUdOX0JBUhAFEg8KC0ZPUkVJR05fQkFaEAYqdQoUVGVzdEVudW1X",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "aXRoRHVwVmFsdWUSKAokVEVTVF9FTlVNX1dJVEhfRFVQX1ZBTFVFX1VOU1BF",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "Q0lGSUVEEAASCAoERk9PMRABEggKBEJBUjEQAhIHCgNCQVoQAxIICgRGT08y",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "EAESCAoEQkFSMhACGgIQASqdAQoOVGVzdFNwYXJzZUVudW0SIAocVEVTVF9T",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "UEFSU0VfRU5VTV9VTlNQRUNJRklFRBAAEgwKCFNQQVJTRV9BEHsSDgoIU1BB",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "UlNFX0IQpucDEg8KCFNQQVJTRV9DELKxgAYSFQoIU1BBUlNFX0QQ8f//////",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "////ARIVCghTUEFSU0VfRRC03vz///////8BEgwKCFNQQVJTRV9HEAIymQEK",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "C1Rlc3RTZXJ2aWNlEkQKA0ZvbxIdLnByb3RvYnVmX3VuaXR0ZXN0LkZvb1Jl",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "cXVlc3QaHi5wcm90b2J1Zl91bml0dGVzdC5Gb29SZXNwb25zZRJECgNCYXIS",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "HS5wcm90b2J1Zl91bml0dGVzdC5CYXJSZXF1ZXN0Gh4ucHJvdG9idWZfdW5p",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "dHRlc3QuQmFyUmVzcG9uc2VCOkINVW5pdHRlc3RQcm90b0gBgAEBiAEBkAEB",  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "+AEBqgIaR29vZ2xlLlByb3RvYnVmLlRlc3RQcm90b3NiBnByb3RvMw==")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      descriptor = pbr::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          new pbr::FileDescriptor[] { global::Google.Protobuf.TestProtos.UnittestImportProto3.Descriptor, }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          new pbr::GeneratedCodeInfo(new[] {typeof(global::Google.Protobuf.TestProtos.ForeignEnum), typeof(global::Google.Protobuf.TestProtos.TestEnumWithDupValue), typeof(global::Google.Protobuf.TestProtos.TestSparseEnum), }, new pbr::GeneratedCodeInfo[] { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.TestAllTypes), new[]{ "SingleInt32", "SingleInt64", "SingleUint32", "SingleUint64", "SingleSint32", "SingleSint64", "SingleFixed32", "SingleFixed64", "SingleSfixed32", "SingleSfixed64", "SingleFloat", "SingleDouble", "SingleBool", "SingleString", "SingleBytes", "SingleNestedMessage", "SingleForeignMessage", "SingleImportMessage", "SingleNestedEnum", "SingleForeignEnum", "SingleImportEnum", "SinglePublicImportMessage", "RepeatedInt32", "RepeatedInt64", "RepeatedUint32", "RepeatedUint64", "RepeatedSint32", "RepeatedSint64", "RepeatedFixed32", "RepeatedFixed64", "RepeatedSfixed32", "RepeatedSfixed64", "RepeatedFloat", "RepeatedDouble", "RepeatedBool", "RepeatedString", "RepeatedBytes", "RepeatedNestedMessage", "RepeatedForeignMessage", "RepeatedImportMessage", "RepeatedNestedEnum", "RepeatedForeignEnum", "RepeatedImportEnum", "RepeatedPublicImportMessage", "OneofUint32", "OneofNestedMessage", "OneofString", "OneofBytes" }, new[]{ "OneofField" }, new[]{ typeof(global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedEnum) }, new pbr::GeneratedCodeInfo[] { new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage), new[]{ "Bb" }, null, null, null)}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.NestedTestAllTypes), new[]{ "Child", "Payload", "RepeatedChild" }, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.TestDeprecatedFields), new[]{ "DeprecatedInt32" }, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.ForeignMessage), new[]{ "C" }, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.TestReservedFields), null, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.TestForeignNested), new[]{ "ForeignNested" }, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.TestReallyLargeTagNumber), new[]{ "A", "Bb" }, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.TestRecursiveMessage), new[]{ "A", "I" }, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.TestMutualRecursionA), new[]{ "Bb" }, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.TestMutualRecursionB), new[]{ "A", "OptionalInt32" }, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.TestCamelCaseFieldNames), new[]{ "PrimitiveField", "StringField", "EnumField", "MessageField", "RepeatedPrimitiveField", "RepeatedStringField", "RepeatedEnumField", "RepeatedMessageField" }, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.TestFieldOrderings), new[]{ "MyString", "MyInt", "MyFloat", "SingleNestedMessage" }, null, null, new pbr::GeneratedCodeInfo[] { new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.TestFieldOrderings.Types.NestedMessage), new[]{ "Oo", "Bb" }, null, null, null)}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.SparseEnumMessage), new[]{ "SparseEnum" }, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.OneString), new[]{ "Data" }, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.MoreString), new[]{ "Data" }, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.OneBytes), new[]{ "Data" }, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.MoreBytes), new[]{ "Data" }, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.Int32Message), new[]{ "Data" }, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.Uint32Message), new[]{ "Data" }, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.Int64Message), new[]{ "Data" }, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.Uint64Message), new[]{ "Data" }, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.BoolMessage), new[]{ "Data" }, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.TestOneof), new[]{ "FooInt", "FooString", "FooMessage" }, new[]{ "Foo" }, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.TestPackedTypes), new[]{ "PackedInt32", "PackedInt64", "PackedUint32", "PackedUint64", "PackedSint32", "PackedSint64", "PackedFixed32", "PackedFixed64", "PackedSfixed32", "PackedSfixed64", "PackedFloat", "PackedDouble", "PackedBool", "PackedEnum" }, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.TestUnpackedTypes), new[]{ "UnpackedInt32", "UnpackedInt64", "UnpackedUint32", "UnpackedUint64", "UnpackedSint32", "UnpackedSint64", "UnpackedFixed32", "UnpackedFixed64", "UnpackedSfixed32", "UnpackedSfixed64", "UnpackedFloat", "UnpackedDouble", "UnpackedBool", "UnpackedEnum" }, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.TestRepeatedScalarDifferentTagSizes), new[]{ "RepeatedFixed32", "RepeatedInt32", "RepeatedFixed64", "RepeatedInt64", "RepeatedFloat", "RepeatedUint64" }, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.TestCommentInjectionMessage), new[]{ "A" }, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.FooRequest), null, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.FooResponse), null, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.FooClientMessage), null, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.FooServerMessage), null, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.BarRequest), null, null, null, null), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            new pbr::GeneratedCodeInfo(typeof(global::Google.Protobuf.TestProtos.BarResponse), null, null, null, null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          })); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #endregion 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  #region Enums 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public enum ForeignEnum { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    FOREIGN_UNSPECIFIED = 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    FOREIGN_FOO = 4, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    FOREIGN_BAR = 5, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    FOREIGN_BAZ = 6, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public enum TestEnumWithDupValue { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TEST_ENUM_WITH_DUP_VALUE_UNSPECIFIED = 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    FOO1 = 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    BAR1 = 2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    BAZ = 3, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    FOO2 = 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    BAR2 = 2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public enum TestSparseEnum { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TEST_SPARSE_ENUM_UNSPECIFIED = 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    SPARSE_A = 123, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    SPARSE_B = 62374, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    SPARSE_C = 12589234, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    SPARSE_D = -15, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    SPARSE_E = -53452, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    SPARSE_G = 2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  #endregion 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  #region Messages 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class TestAllTypes : pb::IMessage<TestAllTypes> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<TestAllTypes> _parser = new pb::MessageParser<TestAllTypes>(() => new TestAllTypes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<TestAllTypes> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[0]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestAllTypes() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestAllTypes(TestAllTypes other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      singleInt32_ = other.singleInt32_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      singleInt64_ = other.singleInt64_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      singleUint32_ = other.singleUint32_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      singleUint64_ = other.singleUint64_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      singleSint32_ = other.singleSint32_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      singleSint64_ = other.singleSint64_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      singleFixed32_ = other.singleFixed32_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      singleFixed64_ = other.singleFixed64_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      singleSfixed32_ = other.singleSfixed32_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      singleSfixed64_ = other.singleSfixed64_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      singleFloat_ = other.singleFloat_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      singleDouble_ = other.singleDouble_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      singleBool_ = other.singleBool_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      singleString_ = other.singleString_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      singleBytes_ = other.singleBytes_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      SingleNestedMessage = other.singleNestedMessage_ != null ? other.SingleNestedMessage.Clone() : null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      SingleForeignMessage = other.singleForeignMessage_ != null ? other.SingleForeignMessage.Clone() : null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      SingleImportMessage = other.singleImportMessage_ != null ? other.SingleImportMessage.Clone() : null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      singleNestedEnum_ = other.singleNestedEnum_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      singleForeignEnum_ = other.singleForeignEnum_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      singleImportEnum_ = other.singleImportEnum_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      SinglePublicImportMessage = other.singlePublicImportMessage_ != null ? other.SinglePublicImportMessage.Clone() : null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedInt32_ = other.repeatedInt32_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedInt64_ = other.repeatedInt64_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedUint32_ = other.repeatedUint32_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedUint64_ = other.repeatedUint64_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedSint32_ = other.repeatedSint32_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedSint64_ = other.repeatedSint64_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedFixed32_ = other.repeatedFixed32_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedFixed64_ = other.repeatedFixed64_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedSfixed32_ = other.repeatedSfixed32_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedSfixed64_ = other.repeatedSfixed64_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedFloat_ = other.repeatedFloat_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedDouble_ = other.repeatedDouble_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedBool_ = other.repeatedBool_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedString_ = other.repeatedString_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedBytes_ = other.repeatedBytes_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedNestedMessage_ = other.repeatedNestedMessage_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedForeignMessage_ = other.repeatedForeignMessage_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedImportMessage_ = other.repeatedImportMessage_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedNestedEnum_ = other.repeatedNestedEnum_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedForeignEnum_ = other.repeatedForeignEnum_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedImportEnum_ = other.repeatedImportEnum_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedPublicImportMessage_ = other.repeatedPublicImportMessage_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      switch (other.OneofFieldCase) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        case OneofFieldOneofCase.OneofUint32: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          OneofUint32 = other.OneofUint32; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        case OneofFieldOneofCase.OneofNestedMessage: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          OneofNestedMessage = other.OneofNestedMessage.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        case OneofFieldOneofCase.OneofString: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          OneofString = other.OneofString; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        case OneofFieldOneofCase.OneofBytes: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          OneofBytes = other.OneofBytes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestAllTypes Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new TestAllTypes(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int SingleInt32FieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private int singleInt32_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int SingleInt32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return singleInt32_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        singleInt32_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int SingleInt64FieldNumber = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private long singleInt64_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public long SingleInt64 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return singleInt64_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        singleInt64_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int SingleUint32FieldNumber = 3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private uint singleUint32_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public uint SingleUint32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return singleUint32_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        singleUint32_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int SingleUint64FieldNumber = 4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private ulong singleUint64_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public ulong SingleUint64 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return singleUint64_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        singleUint64_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int SingleSint32FieldNumber = 5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private int singleSint32_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int SingleSint32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return singleSint32_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        singleSint32_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int SingleSint64FieldNumber = 6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private long singleSint64_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public long SingleSint64 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return singleSint64_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        singleSint64_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int SingleFixed32FieldNumber = 7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private uint singleFixed32_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public uint SingleFixed32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return singleFixed32_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        singleFixed32_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int SingleFixed64FieldNumber = 8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private ulong singleFixed64_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public ulong SingleFixed64 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return singleFixed64_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        singleFixed64_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int SingleSfixed32FieldNumber = 9; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private int singleSfixed32_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int SingleSfixed32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return singleSfixed32_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        singleSfixed32_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int SingleSfixed64FieldNumber = 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private long singleSfixed64_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public long SingleSfixed64 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return singleSfixed64_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        singleSfixed64_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int SingleFloatFieldNumber = 11; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private float singleFloat_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public float SingleFloat { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return singleFloat_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        singleFloat_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int SingleDoubleFieldNumber = 12; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private double singleDouble_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public double SingleDouble { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return singleDouble_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        singleDouble_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int SingleBoolFieldNumber = 13; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private bool singleBool_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool SingleBool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return singleBool_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        singleBool_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int SingleStringFieldNumber = 14; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private string singleString_ = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public string SingleString { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return singleString_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        singleString_ = pb::Preconditions.CheckNotNull(value, "value"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int SingleBytesFieldNumber = 15; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private pb::ByteString singleBytes_ = pb::ByteString.Empty; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pb::ByteString SingleBytes { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return singleBytes_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        singleBytes_ = pb::Preconditions.CheckNotNull(value, "value"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int SingleNestedMessageFieldNumber = 18; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage singleNestedMessage_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage SingleNestedMessage { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return singleNestedMessage_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        singleNestedMessage_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int SingleForeignMessageFieldNumber = 19; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private global::Google.Protobuf.TestProtos.ForeignMessage singleForeignMessage_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public global::Google.Protobuf.TestProtos.ForeignMessage SingleForeignMessage { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return singleForeignMessage_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        singleForeignMessage_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int SingleImportMessageFieldNumber = 20; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private global::Google.Protobuf.TestProtos.ImportMessage singleImportMessage_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public global::Google.Protobuf.TestProtos.ImportMessage SingleImportMessage { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return singleImportMessage_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        singleImportMessage_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int SingleNestedEnumFieldNumber = 21; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedEnum singleNestedEnum_ = global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedEnum.NESTED_ENUM_UNSPECIFIED; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedEnum SingleNestedEnum { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return singleNestedEnum_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        singleNestedEnum_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int SingleForeignEnumFieldNumber = 22; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private global::Google.Protobuf.TestProtos.ForeignEnum singleForeignEnum_ = global::Google.Protobuf.TestProtos.ForeignEnum.FOREIGN_UNSPECIFIED; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public global::Google.Protobuf.TestProtos.ForeignEnum SingleForeignEnum { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return singleForeignEnum_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        singleForeignEnum_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int SingleImportEnumFieldNumber = 23; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private global::Google.Protobuf.TestProtos.ImportEnum singleImportEnum_ = global::Google.Protobuf.TestProtos.ImportEnum.IMPORT_ENUM_UNSPECIFIED; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public global::Google.Protobuf.TestProtos.ImportEnum SingleImportEnum { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return singleImportEnum_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        singleImportEnum_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int SinglePublicImportMessageFieldNumber = 26; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private global::Google.Protobuf.TestProtos.PublicImportMessage singlePublicImportMessage_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public global::Google.Protobuf.TestProtos.PublicImportMessage SinglePublicImportMessage { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return singlePublicImportMessage_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        singlePublicImportMessage_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedInt32FieldNumber = 31; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<int> _repeated_repeatedInt32_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForInt32(250); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<int> repeatedInt32_ = new pbc::RepeatedField<int>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<int> RepeatedInt32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedInt32_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedInt64FieldNumber = 32; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<long> _repeated_repeatedInt64_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForInt64(258); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<long> repeatedInt64_ = new pbc::RepeatedField<long>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<long> RepeatedInt64 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedInt64_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedUint32FieldNumber = 33; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<uint> _repeated_repeatedUint32_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForUInt32(266); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<uint> repeatedUint32_ = new pbc::RepeatedField<uint>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<uint> RepeatedUint32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedUint32_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedUint64FieldNumber = 34; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<ulong> _repeated_repeatedUint64_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForUInt64(274); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<ulong> repeatedUint64_ = new pbc::RepeatedField<ulong>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<ulong> RepeatedUint64 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedUint64_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedSint32FieldNumber = 35; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<int> _repeated_repeatedSint32_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForSInt32(282); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<int> repeatedSint32_ = new pbc::RepeatedField<int>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<int> RepeatedSint32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedSint32_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedSint64FieldNumber = 36; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<long> _repeated_repeatedSint64_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForSInt64(290); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<long> repeatedSint64_ = new pbc::RepeatedField<long>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<long> RepeatedSint64 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedSint64_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedFixed32FieldNumber = 37; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<uint> _repeated_repeatedFixed32_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForFixed32(298); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<uint> repeatedFixed32_ = new pbc::RepeatedField<uint>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<uint> RepeatedFixed32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedFixed32_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedFixed64FieldNumber = 38; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<ulong> _repeated_repeatedFixed64_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForFixed64(306); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<ulong> repeatedFixed64_ = new pbc::RepeatedField<ulong>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<ulong> RepeatedFixed64 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedFixed64_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedSfixed32FieldNumber = 39; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<int> _repeated_repeatedSfixed32_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForSFixed32(314); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<int> repeatedSfixed32_ = new pbc::RepeatedField<int>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<int> RepeatedSfixed32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedSfixed32_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedSfixed64FieldNumber = 40; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<long> _repeated_repeatedSfixed64_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForSFixed64(322); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<long> repeatedSfixed64_ = new pbc::RepeatedField<long>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<long> RepeatedSfixed64 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedSfixed64_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedFloatFieldNumber = 41; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<float> _repeated_repeatedFloat_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForFloat(330); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<float> repeatedFloat_ = new pbc::RepeatedField<float>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<float> RepeatedFloat { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedFloat_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedDoubleFieldNumber = 42; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<double> _repeated_repeatedDouble_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForDouble(338); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<double> repeatedDouble_ = new pbc::RepeatedField<double>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<double> RepeatedDouble { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedDouble_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedBoolFieldNumber = 43; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<bool> _repeated_repeatedBool_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForBool(346); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<bool> repeatedBool_ = new pbc::RepeatedField<bool>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<bool> RepeatedBool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedBool_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedStringFieldNumber = 44; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<string> _repeated_repeatedString_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForString(354); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<string> repeatedString_ = new pbc::RepeatedField<string>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<string> RepeatedString { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedString_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedBytesFieldNumber = 45; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<pb::ByteString> _repeated_repeatedBytes_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForBytes(362); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<pb::ByteString> repeatedBytes_ = new pbc::RepeatedField<pb::ByteString>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<pb::ByteString> RepeatedBytes { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedBytes_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedNestedMessageFieldNumber = 48; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage> _repeated_repeatedNestedMessage_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForMessage(386, global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage.Parser); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage> repeatedNestedMessage_ = new pbc::RepeatedField<global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage> RepeatedNestedMessage { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedNestedMessage_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedForeignMessageFieldNumber = 49; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<global::Google.Protobuf.TestProtos.ForeignMessage> _repeated_repeatedForeignMessage_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForMessage(394, global::Google.Protobuf.TestProtos.ForeignMessage.Parser); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignMessage> repeatedForeignMessage_ = new pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignMessage>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignMessage> RepeatedForeignMessage { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedForeignMessage_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedImportMessageFieldNumber = 50; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<global::Google.Protobuf.TestProtos.ImportMessage> _repeated_repeatedImportMessage_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForMessage(402, global::Google.Protobuf.TestProtos.ImportMessage.Parser); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<global::Google.Protobuf.TestProtos.ImportMessage> repeatedImportMessage_ = new pbc::RepeatedField<global::Google.Protobuf.TestProtos.ImportMessage>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<global::Google.Protobuf.TestProtos.ImportMessage> RepeatedImportMessage { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedImportMessage_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedNestedEnumFieldNumber = 51; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedEnum> _repeated_repeatedNestedEnum_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForEnum(410, x => (int) x, x => (global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedEnum) x); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedEnum> repeatedNestedEnum_ = new pbc::RepeatedField<global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedEnum>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedEnum> RepeatedNestedEnum { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedNestedEnum_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedForeignEnumFieldNumber = 52; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<global::Google.Protobuf.TestProtos.ForeignEnum> _repeated_repeatedForeignEnum_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForEnum(418, x => (int) x, x => (global::Google.Protobuf.TestProtos.ForeignEnum) x); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignEnum> repeatedForeignEnum_ = new pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignEnum>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignEnum> RepeatedForeignEnum { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedForeignEnum_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedImportEnumFieldNumber = 53; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<global::Google.Protobuf.TestProtos.ImportEnum> _repeated_repeatedImportEnum_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForEnum(426, x => (int) x, x => (global::Google.Protobuf.TestProtos.ImportEnum) x); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<global::Google.Protobuf.TestProtos.ImportEnum> repeatedImportEnum_ = new pbc::RepeatedField<global::Google.Protobuf.TestProtos.ImportEnum>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<global::Google.Protobuf.TestProtos.ImportEnum> RepeatedImportEnum { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedImportEnum_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedPublicImportMessageFieldNumber = 54; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<global::Google.Protobuf.TestProtos.PublicImportMessage> _repeated_repeatedPublicImportMessage_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForMessage(434, global::Google.Protobuf.TestProtos.PublicImportMessage.Parser); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<global::Google.Protobuf.TestProtos.PublicImportMessage> repeatedPublicImportMessage_ = new pbc::RepeatedField<global::Google.Protobuf.TestProtos.PublicImportMessage>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<global::Google.Protobuf.TestProtos.PublicImportMessage> RepeatedPublicImportMessage { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedPublicImportMessage_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int OneofUint32FieldNumber = 111; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public uint OneofUint32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return oneofFieldCase_ == OneofFieldOneofCase.OneofUint32 ? (uint) oneofField_ : 0; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        oneofField_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        oneofFieldCase_ = OneofFieldOneofCase.OneofUint32; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int OneofNestedMessageFieldNumber = 112; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage OneofNestedMessage { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage ? (global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage) oneofField_ : null; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        oneofField_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        oneofFieldCase_ = value == null ? OneofFieldOneofCase.None : OneofFieldOneofCase.OneofNestedMessage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int OneofStringFieldNumber = 113; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public string OneofString { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return oneofFieldCase_ == OneofFieldOneofCase.OneofString ? (string) oneofField_ : ""; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        oneofField_ = pb::Preconditions.CheckNotNull(value, "value"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        oneofFieldCase_ = OneofFieldOneofCase.OneofString; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int OneofBytesFieldNumber = 114; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pb::ByteString OneofBytes { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return oneofFieldCase_ == OneofFieldOneofCase.OneofBytes ? (pb::ByteString) oneofField_ : pb::ByteString.Empty; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        oneofField_ = pb::Preconditions.CheckNotNull(value, "value"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        oneofFieldCase_ = OneofFieldOneofCase.OneofBytes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private object oneofField_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public enum OneofFieldOneofCase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      None = 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OneofUint32 = 111, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OneofNestedMessage = 112, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OneofString = 113, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OneofBytes = 114, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private OneofFieldOneofCase oneofFieldCase_ = OneofFieldOneofCase.None; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public OneofFieldOneofCase OneofFieldCase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return oneofFieldCase_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void ClearOneofField() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      oneofFieldCase_ = OneofFieldOneofCase.None; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      oneofField_ = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as TestAllTypes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(TestAllTypes other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleInt32 != other.SingleInt32) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleInt64 != other.SingleInt64) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleUint32 != other.SingleUint32) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleUint64 != other.SingleUint64) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleSint32 != other.SingleSint32) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleSint64 != other.SingleSint64) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleFixed32 != other.SingleFixed32) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleFixed64 != other.SingleFixed64) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleSfixed32 != other.SingleSfixed32) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleSfixed64 != other.SingleSfixed64) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleFloat != other.SingleFloat) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleDouble != other.SingleDouble) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleBool != other.SingleBool) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleString != other.SingleString) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleBytes != other.SingleBytes) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!object.Equals(SingleNestedMessage, other.SingleNestedMessage)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!object.Equals(SingleForeignMessage, other.SingleForeignMessage)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!object.Equals(SingleImportMessage, other.SingleImportMessage)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleNestedEnum != other.SingleNestedEnum) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleForeignEnum != other.SingleForeignEnum) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleImportEnum != other.SingleImportEnum) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!object.Equals(SinglePublicImportMessage, other.SinglePublicImportMessage)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedInt32_.Equals(other.repeatedInt32_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedInt64_.Equals(other.repeatedInt64_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedUint32_.Equals(other.repeatedUint32_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedUint64_.Equals(other.repeatedUint64_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedSint32_.Equals(other.repeatedSint32_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedSint64_.Equals(other.repeatedSint64_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedFixed32_.Equals(other.repeatedFixed32_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedFixed64_.Equals(other.repeatedFixed64_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedSfixed32_.Equals(other.repeatedSfixed32_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedSfixed64_.Equals(other.repeatedSfixed64_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedFloat_.Equals(other.repeatedFloat_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedDouble_.Equals(other.repeatedDouble_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedBool_.Equals(other.repeatedBool_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedString_.Equals(other.repeatedString_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedBytes_.Equals(other.repeatedBytes_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedNestedMessage_.Equals(other.repeatedNestedMessage_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedForeignMessage_.Equals(other.repeatedForeignMessage_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedImportMessage_.Equals(other.repeatedImportMessage_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedNestedEnum_.Equals(other.repeatedNestedEnum_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedForeignEnum_.Equals(other.repeatedForeignEnum_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedImportEnum_.Equals(other.repeatedImportEnum_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedPublicImportMessage_.Equals(other.repeatedPublicImportMessage_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (OneofUint32 != other.OneofUint32) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!object.Equals(OneofNestedMessage, other.OneofNestedMessage)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (OneofString != other.OneofString) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (OneofBytes != other.OneofBytes) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleInt32 != 0) hash ^= SingleInt32.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleInt64 != 0L) hash ^= SingleInt64.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleUint32 != 0) hash ^= SingleUint32.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleUint64 != 0UL) hash ^= SingleUint64.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleSint32 != 0) hash ^= SingleSint32.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleSint64 != 0L) hash ^= SingleSint64.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleFixed32 != 0) hash ^= SingleFixed32.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleFixed64 != 0UL) hash ^= SingleFixed64.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleSfixed32 != 0) hash ^= SingleSfixed32.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleSfixed64 != 0L) hash ^= SingleSfixed64.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleFloat != 0F) hash ^= SingleFloat.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleDouble != 0D) hash ^= SingleDouble.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleBool != false) hash ^= SingleBool.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleString.Length != 0) hash ^= SingleString.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleBytes.Length != 0) hash ^= SingleBytes.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (singleNestedMessage_ != null) hash ^= SingleNestedMessage.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (singleForeignMessage_ != null) hash ^= SingleForeignMessage.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (singleImportMessage_ != null) hash ^= SingleImportMessage.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleNestedEnum != global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedEnum.NESTED_ENUM_UNSPECIFIED) hash ^= SingleNestedEnum.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleForeignEnum != global::Google.Protobuf.TestProtos.ForeignEnum.FOREIGN_UNSPECIFIED) hash ^= SingleForeignEnum.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleImportEnum != global::Google.Protobuf.TestProtos.ImportEnum.IMPORT_ENUM_UNSPECIFIED) hash ^= SingleImportEnum.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (singlePublicImportMessage_ != null) hash ^= SinglePublicImportMessage.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedInt32_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedInt64_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedUint32_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedUint64_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedSint32_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedSint64_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedFixed32_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedFixed64_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedSfixed32_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedSfixed64_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedFloat_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedDouble_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedBool_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedString_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedBytes_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedNestedMessage_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedForeignMessage_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedImportMessage_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedNestedEnum_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedForeignEnum_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedImportEnum_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedPublicImportMessage_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (oneofFieldCase_ == OneofFieldOneofCase.OneofUint32) hash ^= OneofUint32.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) hash ^= OneofNestedMessage.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (oneofFieldCase_ == OneofFieldOneofCase.OneofString) hash ^= OneofString.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (oneofFieldCase_ == OneofFieldOneofCase.OneofBytes) hash ^= OneofBytes.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleInt32 != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteInt32(SingleInt32); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleInt64 != 0L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(16); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteInt64(SingleInt64); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleUint32 != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(24); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteUInt32(SingleUint32); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleUint64 != 0UL) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(32); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteUInt64(SingleUint64); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleSint32 != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(40); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteSInt32(SingleSint32); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleSint64 != 0L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(48); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteSInt64(SingleSint64); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleFixed32 != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(61); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteFixed32(SingleFixed32); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleFixed64 != 0UL) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(65); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteFixed64(SingleFixed64); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleSfixed32 != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(77); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteSFixed32(SingleSfixed32); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleSfixed64 != 0L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(81); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteSFixed64(SingleSfixed64); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleFloat != 0F) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(93); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteFloat(SingleFloat); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleDouble != 0D) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(97); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteDouble(SingleDouble); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleBool != false) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(104); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteBool(SingleBool); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleString.Length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(114); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteString(SingleString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleBytes.Length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(122); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteBytes(SingleBytes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (singleNestedMessage_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(146, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteMessage(SingleNestedMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (singleForeignMessage_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(154, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteMessage(SingleForeignMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (singleImportMessage_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(162, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteMessage(SingleImportMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleNestedEnum != global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedEnum.NESTED_ENUM_UNSPECIFIED) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(168, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteEnum((int) SingleNestedEnum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleForeignEnum != global::Google.Protobuf.TestProtos.ForeignEnum.FOREIGN_UNSPECIFIED) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(176, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteEnum((int) SingleForeignEnum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleImportEnum != global::Google.Protobuf.TestProtos.ImportEnum.IMPORT_ENUM_UNSPECIFIED) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(184, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteEnum((int) SingleImportEnum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (singlePublicImportMessage_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(210, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteMessage(SinglePublicImportMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedInt32_.WriteTo(output, _repeated_repeatedInt32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedInt64_.WriteTo(output, _repeated_repeatedInt64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedUint32_.WriteTo(output, _repeated_repeatedUint32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedUint64_.WriteTo(output, _repeated_repeatedUint64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedSint32_.WriteTo(output, _repeated_repeatedSint32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedSint64_.WriteTo(output, _repeated_repeatedSint64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedFixed32_.WriteTo(output, _repeated_repeatedFixed32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedFixed64_.WriteTo(output, _repeated_repeatedFixed64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedSfixed32_.WriteTo(output, _repeated_repeatedSfixed32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedSfixed64_.WriteTo(output, _repeated_repeatedSfixed64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedFloat_.WriteTo(output, _repeated_repeatedFloat_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedDouble_.WriteTo(output, _repeated_repeatedDouble_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedBool_.WriteTo(output, _repeated_repeatedBool_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedString_.WriteTo(output, _repeated_repeatedString_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedBytes_.WriteTo(output, _repeated_repeatedBytes_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedNestedMessage_.WriteTo(output, _repeated_repeatedNestedMessage_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedForeignMessage_.WriteTo(output, _repeated_repeatedForeignMessage_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedImportMessage_.WriteTo(output, _repeated_repeatedImportMessage_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedNestedEnum_.WriteTo(output, _repeated_repeatedNestedEnum_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedForeignEnum_.WriteTo(output, _repeated_repeatedForeignEnum_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedImportEnum_.WriteTo(output, _repeated_repeatedImportEnum_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedPublicImportMessage_.WriteTo(output, _repeated_repeatedPublicImportMessage_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (oneofFieldCase_ == OneofFieldOneofCase.OneofUint32) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(248, 6); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteUInt32(OneofUint32); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(130, 7); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteMessage(OneofNestedMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (oneofFieldCase_ == OneofFieldOneofCase.OneofString) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(138, 7); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteString(OneofString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (oneofFieldCase_ == OneofFieldOneofCase.OneofBytes) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(146, 7); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteBytes(OneofBytes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleInt32 != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SingleInt32); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleInt64 != 0L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeInt64Size(SingleInt64); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleUint32 != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(SingleUint32); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleUint64 != 0UL) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeUInt64Size(SingleUint64); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleSint32 != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeSInt32Size(SingleSint32); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleSint64 != 0L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeSInt64Size(SingleSint64); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleFixed32 != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + 4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleFixed64 != 0UL) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + 8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleSfixed32 != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + 4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleSfixed64 != 0L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + 8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleFloat != 0F) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + 4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleDouble != 0D) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + 8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleBool != false) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleString.Length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeStringSize(SingleString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleBytes.Length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeBytesSize(SingleBytes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (singleNestedMessage_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 2 + pb::CodedOutputStream.ComputeMessageSize(SingleNestedMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (singleForeignMessage_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 2 + pb::CodedOutputStream.ComputeMessageSize(SingleForeignMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (singleImportMessage_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 2 + pb::CodedOutputStream.ComputeMessageSize(SingleImportMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleNestedEnum != global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedEnum.NESTED_ENUM_UNSPECIFIED) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) SingleNestedEnum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleForeignEnum != global::Google.Protobuf.TestProtos.ForeignEnum.FOREIGN_UNSPECIFIED) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) SingleForeignEnum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SingleImportEnum != global::Google.Protobuf.TestProtos.ImportEnum.IMPORT_ENUM_UNSPECIFIED) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) SingleImportEnum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (singlePublicImportMessage_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 2 + pb::CodedOutputStream.ComputeMessageSize(SinglePublicImportMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedInt32_.CalculateSize(_repeated_repeatedInt32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedInt64_.CalculateSize(_repeated_repeatedInt64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedUint32_.CalculateSize(_repeated_repeatedUint32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedUint64_.CalculateSize(_repeated_repeatedUint64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedSint32_.CalculateSize(_repeated_repeatedSint32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedSint64_.CalculateSize(_repeated_repeatedSint64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedFixed32_.CalculateSize(_repeated_repeatedFixed32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedFixed64_.CalculateSize(_repeated_repeatedFixed64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedSfixed32_.CalculateSize(_repeated_repeatedSfixed32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedSfixed64_.CalculateSize(_repeated_repeatedSfixed64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedFloat_.CalculateSize(_repeated_repeatedFloat_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedDouble_.CalculateSize(_repeated_repeatedDouble_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedBool_.CalculateSize(_repeated_repeatedBool_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedString_.CalculateSize(_repeated_repeatedString_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedBytes_.CalculateSize(_repeated_repeatedBytes_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedNestedMessage_.CalculateSize(_repeated_repeatedNestedMessage_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedForeignMessage_.CalculateSize(_repeated_repeatedForeignMessage_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedImportMessage_.CalculateSize(_repeated_repeatedImportMessage_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedNestedEnum_.CalculateSize(_repeated_repeatedNestedEnum_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedForeignEnum_.CalculateSize(_repeated_repeatedForeignEnum_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedImportEnum_.CalculateSize(_repeated_repeatedImportEnum_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedPublicImportMessage_.CalculateSize(_repeated_repeatedPublicImportMessage_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (oneofFieldCase_ == OneofFieldOneofCase.OneofUint32) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 2 + pb::CodedOutputStream.ComputeUInt32Size(OneofUint32); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 2 + pb::CodedOutputStream.ComputeMessageSize(OneofNestedMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (oneofFieldCase_ == OneofFieldOneofCase.OneofString) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 2 + pb::CodedOutputStream.ComputeStringSize(OneofString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (oneofFieldCase_ == OneofFieldOneofCase.OneofBytes) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 2 + pb::CodedOutputStream.ComputeBytesSize(OneofBytes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(TestAllTypes other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.SingleInt32 != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SingleInt32 = other.SingleInt32; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.SingleInt64 != 0L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SingleInt64 = other.SingleInt64; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.SingleUint32 != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SingleUint32 = other.SingleUint32; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.SingleUint64 != 0UL) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SingleUint64 = other.SingleUint64; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.SingleSint32 != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SingleSint32 = other.SingleSint32; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.SingleSint64 != 0L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SingleSint64 = other.SingleSint64; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.SingleFixed32 != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SingleFixed32 = other.SingleFixed32; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.SingleFixed64 != 0UL) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SingleFixed64 = other.SingleFixed64; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.SingleSfixed32 != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SingleSfixed32 = other.SingleSfixed32; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.SingleSfixed64 != 0L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SingleSfixed64 = other.SingleSfixed64; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.SingleFloat != 0F) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SingleFloat = other.SingleFloat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.SingleDouble != 0D) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SingleDouble = other.SingleDouble; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.SingleBool != false) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SingleBool = other.SingleBool; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.SingleString.Length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SingleString = other.SingleString; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.SingleBytes.Length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SingleBytes = other.SingleBytes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.singleNestedMessage_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (singleNestedMessage_ == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          singleNestedMessage_ = new global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SingleNestedMessage.MergeFrom(other.SingleNestedMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.singleForeignMessage_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (singleForeignMessage_ == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          singleForeignMessage_ = new global::Google.Protobuf.TestProtos.ForeignMessage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SingleForeignMessage.MergeFrom(other.SingleForeignMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.singleImportMessage_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (singleImportMessage_ == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          singleImportMessage_ = new global::Google.Protobuf.TestProtos.ImportMessage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SingleImportMessage.MergeFrom(other.SingleImportMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.SingleNestedEnum != global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedEnum.NESTED_ENUM_UNSPECIFIED) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SingleNestedEnum = other.SingleNestedEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.SingleForeignEnum != global::Google.Protobuf.TestProtos.ForeignEnum.FOREIGN_UNSPECIFIED) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SingleForeignEnum = other.SingleForeignEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.SingleImportEnum != global::Google.Protobuf.TestProtos.ImportEnum.IMPORT_ENUM_UNSPECIFIED) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SingleImportEnum = other.SingleImportEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.singlePublicImportMessage_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (singlePublicImportMessage_ == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          singlePublicImportMessage_ = new global::Google.Protobuf.TestProtos.PublicImportMessage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SinglePublicImportMessage.MergeFrom(other.SinglePublicImportMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedInt32_.Add(other.repeatedInt32_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedInt64_.Add(other.repeatedInt64_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedUint32_.Add(other.repeatedUint32_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedUint64_.Add(other.repeatedUint64_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedSint32_.Add(other.repeatedSint32_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedSint64_.Add(other.repeatedSint64_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedFixed32_.Add(other.repeatedFixed32_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedFixed64_.Add(other.repeatedFixed64_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedSfixed32_.Add(other.repeatedSfixed32_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedSfixed64_.Add(other.repeatedSfixed64_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedFloat_.Add(other.repeatedFloat_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedDouble_.Add(other.repeatedDouble_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedBool_.Add(other.repeatedBool_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedString_.Add(other.repeatedString_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedBytes_.Add(other.repeatedBytes_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedNestedMessage_.Add(other.repeatedNestedMessage_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedForeignMessage_.Add(other.repeatedForeignMessage_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedImportMessage_.Add(other.repeatedImportMessage_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedNestedEnum_.Add(other.repeatedNestedEnum_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedForeignEnum_.Add(other.repeatedForeignEnum_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedImportEnum_.Add(other.repeatedImportEnum_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedPublicImportMessage_.Add(other.repeatedPublicImportMessage_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      switch (other.OneofFieldCase) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        case OneofFieldOneofCase.OneofUint32: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          OneofUint32 = other.OneofUint32; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        case OneofFieldOneofCase.OneofNestedMessage: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          OneofNestedMessage = other.OneofNestedMessage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        case OneofFieldOneofCase.OneofString: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          OneofString = other.OneofString; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        case OneofFieldOneofCase.OneofBytes: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          OneofBytes = other.OneofBytes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 8: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SingleInt32 = input.ReadInt32(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 16: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SingleInt64 = input.ReadInt64(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 24: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SingleUint32 = input.ReadUInt32(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 32: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SingleUint64 = input.ReadUInt64(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 40: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SingleSint32 = input.ReadSInt32(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 48: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SingleSint64 = input.ReadSInt64(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 61: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SingleFixed32 = input.ReadFixed32(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 65: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SingleFixed64 = input.ReadFixed64(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 77: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SingleSfixed32 = input.ReadSFixed32(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 81: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SingleSfixed64 = input.ReadSFixed64(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 93: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SingleFloat = input.ReadFloat(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 97: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SingleDouble = input.ReadDouble(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 104: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SingleBool = input.ReadBool(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 114: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SingleString = input.ReadString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 122: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SingleBytes = input.ReadBytes(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 146: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (singleNestedMessage_ == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              singleNestedMessage_ = new global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.ReadMessage(singleNestedMessage_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 154: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (singleForeignMessage_ == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              singleForeignMessage_ = new global::Google.Protobuf.TestProtos.ForeignMessage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.ReadMessage(singleForeignMessage_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 162: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (singleImportMessage_ == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              singleImportMessage_ = new global::Google.Protobuf.TestProtos.ImportMessage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.ReadMessage(singleImportMessage_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 168: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            singleNestedEnum_ = (global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedEnum) input.ReadEnum(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 176: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            singleForeignEnum_ = (global::Google.Protobuf.TestProtos.ForeignEnum) input.ReadEnum(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 184: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            singleImportEnum_ = (global::Google.Protobuf.TestProtos.ImportEnum) input.ReadEnum(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 210: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (singlePublicImportMessage_ == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              singlePublicImportMessage_ = new global::Google.Protobuf.TestProtos.PublicImportMessage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.ReadMessage(singlePublicImportMessage_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 250: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 248: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedInt32_.AddEntriesFrom(input, _repeated_repeatedInt32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 258: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 256: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedInt64_.AddEntriesFrom(input, _repeated_repeatedInt64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 266: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 264: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedUint32_.AddEntriesFrom(input, _repeated_repeatedUint32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 274: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 272: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedUint64_.AddEntriesFrom(input, _repeated_repeatedUint64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 282: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 280: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedSint32_.AddEntriesFrom(input, _repeated_repeatedSint32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 290: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 288: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedSint64_.AddEntriesFrom(input, _repeated_repeatedSint64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 298: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 301: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedFixed32_.AddEntriesFrom(input, _repeated_repeatedFixed32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 306: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 305: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedFixed64_.AddEntriesFrom(input, _repeated_repeatedFixed64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 314: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 317: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedSfixed32_.AddEntriesFrom(input, _repeated_repeatedSfixed32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 322: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 321: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedSfixed64_.AddEntriesFrom(input, _repeated_repeatedSfixed64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 330: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 333: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedFloat_.AddEntriesFrom(input, _repeated_repeatedFloat_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 338: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 337: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedDouble_.AddEntriesFrom(input, _repeated_repeatedDouble_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 346: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 344: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedBool_.AddEntriesFrom(input, _repeated_repeatedBool_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 354: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedString_.AddEntriesFrom(input, _repeated_repeatedString_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 362: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedBytes_.AddEntriesFrom(input, _repeated_repeatedBytes_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 386: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedNestedMessage_.AddEntriesFrom(input, _repeated_repeatedNestedMessage_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 394: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedForeignMessage_.AddEntriesFrom(input, _repeated_repeatedForeignMessage_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 402: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedImportMessage_.AddEntriesFrom(input, _repeated_repeatedImportMessage_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 410: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 408: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedNestedEnum_.AddEntriesFrom(input, _repeated_repeatedNestedEnum_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 418: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 416: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedForeignEnum_.AddEntriesFrom(input, _repeated_repeatedForeignEnum_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 426: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 424: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedImportEnum_.AddEntriesFrom(input, _repeated_repeatedImportEnum_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 434: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedPublicImportMessage_.AddEntriesFrom(input, _repeated_repeatedPublicImportMessage_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 888: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            OneofUint32 = input.ReadUInt32(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 898: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage subBuilder = new global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (oneofFieldCase_ == OneofFieldOneofCase.OneofNestedMessage) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              subBuilder.MergeFrom(OneofNestedMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.ReadMessage(subBuilder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            OneofNestedMessage = subBuilder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 906: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            OneofString = input.ReadString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 914: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            OneofBytes = input.ReadBytes(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #region Nested types 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static partial class Types { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      public enum NestedEnum { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        NESTED_ENUM_UNSPECIFIED = 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        FOO = 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        BAR = 2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        BAZ = 3, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        NEG = -1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      public sealed partial class NestedMessage : pb::IMessage<NestedMessage> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private static readonly pb::MessageParser<NestedMessage> _parser = new pb::MessageParser<NestedMessage>(() => new NestedMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public static pb::MessageParser<NestedMessage> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          get { return global::Google.Protobuf.TestProtos.TestAllTypes.Descriptor.NestedTypes[0]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public NestedMessage() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public NestedMessage(NestedMessage other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          bb_ = other.bb_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public NestedMessage Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return new NestedMessage(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public const int BbFieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private int bb_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public int Bb { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          get { return bb_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            bb_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return Equals(other as NestedMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public bool Equals(NestedMessage other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (Bb != other.Bb) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (Bb != 0) hash ^= Bb.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (Bb != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            output.WriteRawTag(8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            output.WriteInt32(Bb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (Bb != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            size += 1 + pb::CodedOutputStream.ComputeInt32Size(Bb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public void MergeFrom(NestedMessage other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (other.Bb != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Bb = other.Bb; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              case 8: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Bb = input.ReadInt32(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #endregion 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class NestedTestAllTypes : pb::IMessage<NestedTestAllTypes> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<NestedTestAllTypes> _parser = new pb::MessageParser<NestedTestAllTypes>(() => new NestedTestAllTypes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<NestedTestAllTypes> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[1]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public NestedTestAllTypes() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public NestedTestAllTypes(NestedTestAllTypes other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Child = other.child_ != null ? other.Child.Clone() : null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Payload = other.payload_ != null ? other.Payload.Clone() : null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedChild_ = other.repeatedChild_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public NestedTestAllTypes Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new NestedTestAllTypes(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int ChildFieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private global::Google.Protobuf.TestProtos.NestedTestAllTypes child_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public global::Google.Protobuf.TestProtos.NestedTestAllTypes Child { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return child_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        child_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int PayloadFieldNumber = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private global::Google.Protobuf.TestProtos.TestAllTypes payload_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public global::Google.Protobuf.TestProtos.TestAllTypes Payload { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return payload_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        payload_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedChildFieldNumber = 3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<global::Google.Protobuf.TestProtos.NestedTestAllTypes> _repeated_repeatedChild_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForMessage(26, global::Google.Protobuf.TestProtos.NestedTestAllTypes.Parser); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<global::Google.Protobuf.TestProtos.NestedTestAllTypes> repeatedChild_ = new pbc::RepeatedField<global::Google.Protobuf.TestProtos.NestedTestAllTypes>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<global::Google.Protobuf.TestProtos.NestedTestAllTypes> RepeatedChild { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedChild_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as NestedTestAllTypes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(NestedTestAllTypes other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!object.Equals(Child, other.Child)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!object.Equals(Payload, other.Payload)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedChild_.Equals(other.repeatedChild_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (child_ != null) hash ^= Child.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (payload_ != null) hash ^= Payload.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedChild_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (child_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteMessage(Child); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (payload_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(18); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteMessage(Payload); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedChild_.WriteTo(output, _repeated_repeatedChild_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (child_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Child); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (payload_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Payload); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedChild_.CalculateSize(_repeated_repeatedChild_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(NestedTestAllTypes other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.child_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (child_ == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          child_ = new global::Google.Protobuf.TestProtos.NestedTestAllTypes(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Child.MergeFrom(other.Child); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.payload_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (payload_ == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          payload_ = new global::Google.Protobuf.TestProtos.TestAllTypes(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Payload.MergeFrom(other.Payload); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedChild_.Add(other.repeatedChild_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 10: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (child_ == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              child_ = new global::Google.Protobuf.TestProtos.NestedTestAllTypes(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.ReadMessage(child_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 18: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (payload_ == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              payload_ = new global::Google.Protobuf.TestProtos.TestAllTypes(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.ReadMessage(payload_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 26: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedChild_.AddEntriesFrom(input, _repeated_repeatedChild_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class TestDeprecatedFields : pb::IMessage<TestDeprecatedFields> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<TestDeprecatedFields> _parser = new pb::MessageParser<TestDeprecatedFields>(() => new TestDeprecatedFields()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<TestDeprecatedFields> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[2]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestDeprecatedFields() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestDeprecatedFields(TestDeprecatedFields other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      deprecatedInt32_ = other.deprecatedInt32_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestDeprecatedFields Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new TestDeprecatedFields(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int DeprecatedInt32FieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private int deprecatedInt32_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    [global::System.ObsoleteAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int DeprecatedInt32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return deprecatedInt32_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        deprecatedInt32_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as TestDeprecatedFields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(TestDeprecatedFields other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (DeprecatedInt32 != other.DeprecatedInt32) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (DeprecatedInt32 != 0) hash ^= DeprecatedInt32.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (DeprecatedInt32 != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteInt32(DeprecatedInt32); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (DeprecatedInt32 != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DeprecatedInt32); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(TestDeprecatedFields other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.DeprecatedInt32 != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        DeprecatedInt32 = other.DeprecatedInt32; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 8: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            DeprecatedInt32 = input.ReadInt32(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class ForeignMessage : pb::IMessage<ForeignMessage> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<ForeignMessage> _parser = new pb::MessageParser<ForeignMessage>(() => new ForeignMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<ForeignMessage> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[3]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public ForeignMessage() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public ForeignMessage(ForeignMessage other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      c_ = other.c_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public ForeignMessage Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new ForeignMessage(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int CFieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private int c_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int C { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return c_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        c_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as ForeignMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(ForeignMessage other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (C != other.C) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (C != 0) hash ^= C.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (C != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteInt32(C); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (C != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(C); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(ForeignMessage other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.C != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        C = other.C; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 8: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            C = input.ReadInt32(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class TestReservedFields : pb::IMessage<TestReservedFields> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<TestReservedFields> _parser = new pb::MessageParser<TestReservedFields>(() => new TestReservedFields()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<TestReservedFields> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[4]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestReservedFields() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestReservedFields(TestReservedFields other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestReservedFields Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new TestReservedFields(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as TestReservedFields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(TestReservedFields other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(TestReservedFields other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class TestForeignNested : pb::IMessage<TestForeignNested> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<TestForeignNested> _parser = new pb::MessageParser<TestForeignNested>(() => new TestForeignNested()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<TestForeignNested> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[5]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestForeignNested() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestForeignNested(TestForeignNested other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ForeignNested = other.foreignNested_ != null ? other.ForeignNested.Clone() : null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestForeignNested Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new TestForeignNested(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int ForeignNestedFieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage foreignNested_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage ForeignNested { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return foreignNested_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        foreignNested_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as TestForeignNested); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(TestForeignNested other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!object.Equals(ForeignNested, other.ForeignNested)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (foreignNested_ != null) hash ^= ForeignNested.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (foreignNested_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteMessage(ForeignNested); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (foreignNested_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeMessageSize(ForeignNested); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(TestForeignNested other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.foreignNested_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (foreignNested_ == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          foreignNested_ = new global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ForeignNested.MergeFrom(other.ForeignNested); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 10: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (foreignNested_ == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              foreignNested_ = new global::Google.Protobuf.TestProtos.TestAllTypes.Types.NestedMessage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.ReadMessage(foreignNested_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class TestReallyLargeTagNumber : pb::IMessage<TestReallyLargeTagNumber> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<TestReallyLargeTagNumber> _parser = new pb::MessageParser<TestReallyLargeTagNumber>(() => new TestReallyLargeTagNumber()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<TestReallyLargeTagNumber> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[6]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestReallyLargeTagNumber() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestReallyLargeTagNumber(TestReallyLargeTagNumber other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      a_ = other.a_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bb_ = other.bb_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestReallyLargeTagNumber Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new TestReallyLargeTagNumber(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int AFieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private int a_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int A { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return a_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        a_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int BbFieldNumber = 268435455; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private int bb_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int Bb { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return bb_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        bb_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as TestReallyLargeTagNumber); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(TestReallyLargeTagNumber other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (A != other.A) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Bb != other.Bb) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (A != 0) hash ^= A.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Bb != 0) hash ^= Bb.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (A != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteInt32(A); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Bb != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(248, 255, 255, 255, 7); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteInt32(Bb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (A != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(A); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Bb != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 5 + pb::CodedOutputStream.ComputeInt32Size(Bb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(TestReallyLargeTagNumber other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.A != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        A = other.A; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.Bb != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Bb = other.Bb; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 8: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            A = input.ReadInt32(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 2147483640: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Bb = input.ReadInt32(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class TestRecursiveMessage : pb::IMessage<TestRecursiveMessage> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<TestRecursiveMessage> _parser = new pb::MessageParser<TestRecursiveMessage>(() => new TestRecursiveMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<TestRecursiveMessage> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[7]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestRecursiveMessage() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestRecursiveMessage(TestRecursiveMessage other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      A = other.a_ != null ? other.A.Clone() : null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      i_ = other.i_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestRecursiveMessage Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new TestRecursiveMessage(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int AFieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private global::Google.Protobuf.TestProtos.TestRecursiveMessage a_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public global::Google.Protobuf.TestProtos.TestRecursiveMessage A { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return a_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        a_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int IFieldNumber = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private int i_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int I { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return i_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        i_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as TestRecursiveMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(TestRecursiveMessage other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!object.Equals(A, other.A)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (I != other.I) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (a_ != null) hash ^= A.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (I != 0) hash ^= I.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (a_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteMessage(A); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (I != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(16); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteInt32(I); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (a_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeMessageSize(A); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (I != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(I); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(TestRecursiveMessage other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.a_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (a_ == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          a_ = new global::Google.Protobuf.TestProtos.TestRecursiveMessage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        A.MergeFrom(other.A); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.I != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        I = other.I; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 10: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (a_ == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              a_ = new global::Google.Protobuf.TestProtos.TestRecursiveMessage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.ReadMessage(a_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 16: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            I = input.ReadInt32(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class TestMutualRecursionA : pb::IMessage<TestMutualRecursionA> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<TestMutualRecursionA> _parser = new pb::MessageParser<TestMutualRecursionA>(() => new TestMutualRecursionA()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<TestMutualRecursionA> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[8]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestMutualRecursionA() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestMutualRecursionA(TestMutualRecursionA other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Bb = other.bb_ != null ? other.Bb.Clone() : null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestMutualRecursionA Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new TestMutualRecursionA(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int BbFieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private global::Google.Protobuf.TestProtos.TestMutualRecursionB bb_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public global::Google.Protobuf.TestProtos.TestMutualRecursionB Bb { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return bb_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        bb_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as TestMutualRecursionA); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(TestMutualRecursionA other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!object.Equals(Bb, other.Bb)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (bb_ != null) hash ^= Bb.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (bb_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteMessage(Bb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (bb_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Bb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(TestMutualRecursionA other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.bb_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (bb_ == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          bb_ = new global::Google.Protobuf.TestProtos.TestMutualRecursionB(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Bb.MergeFrom(other.Bb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 10: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (bb_ == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              bb_ = new global::Google.Protobuf.TestProtos.TestMutualRecursionB(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.ReadMessage(bb_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class TestMutualRecursionB : pb::IMessage<TestMutualRecursionB> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<TestMutualRecursionB> _parser = new pb::MessageParser<TestMutualRecursionB>(() => new TestMutualRecursionB()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<TestMutualRecursionB> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[9]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestMutualRecursionB() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestMutualRecursionB(TestMutualRecursionB other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      A = other.a_ != null ? other.A.Clone() : null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      optionalInt32_ = other.optionalInt32_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestMutualRecursionB Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new TestMutualRecursionB(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int AFieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private global::Google.Protobuf.TestProtos.TestMutualRecursionA a_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public global::Google.Protobuf.TestProtos.TestMutualRecursionA A { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return a_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        a_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int OptionalInt32FieldNumber = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private int optionalInt32_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int OptionalInt32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return optionalInt32_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        optionalInt32_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as TestMutualRecursionB); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(TestMutualRecursionB other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!object.Equals(A, other.A)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (OptionalInt32 != other.OptionalInt32) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (a_ != null) hash ^= A.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (OptionalInt32 != 0) hash ^= OptionalInt32.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (a_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteMessage(A); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (OptionalInt32 != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(16); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteInt32(OptionalInt32); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (a_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeMessageSize(A); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (OptionalInt32 != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(OptionalInt32); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(TestMutualRecursionB other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.a_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (a_ == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          a_ = new global::Google.Protobuf.TestProtos.TestMutualRecursionA(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        A.MergeFrom(other.A); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.OptionalInt32 != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        OptionalInt32 = other.OptionalInt32; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 10: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (a_ == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              a_ = new global::Google.Protobuf.TestProtos.TestMutualRecursionA(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.ReadMessage(a_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 16: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            OptionalInt32 = input.ReadInt32(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class TestCamelCaseFieldNames : pb::IMessage<TestCamelCaseFieldNames> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<TestCamelCaseFieldNames> _parser = new pb::MessageParser<TestCamelCaseFieldNames>(() => new TestCamelCaseFieldNames()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<TestCamelCaseFieldNames> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[10]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestCamelCaseFieldNames() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestCamelCaseFieldNames(TestCamelCaseFieldNames other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      primitiveField_ = other.primitiveField_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      stringField_ = other.stringField_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      enumField_ = other.enumField_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      MessageField = other.messageField_ != null ? other.MessageField.Clone() : null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedPrimitiveField_ = other.repeatedPrimitiveField_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedStringField_ = other.repeatedStringField_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedEnumField_ = other.repeatedEnumField_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedMessageField_ = other.repeatedMessageField_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestCamelCaseFieldNames Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new TestCamelCaseFieldNames(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int PrimitiveFieldFieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private int primitiveField_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int PrimitiveField { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return primitiveField_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        primitiveField_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int StringFieldFieldNumber = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private string stringField_ = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public string StringField { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return stringField_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        stringField_ = pb::Preconditions.CheckNotNull(value, "value"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int EnumFieldFieldNumber = 3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private global::Google.Protobuf.TestProtos.ForeignEnum enumField_ = global::Google.Protobuf.TestProtos.ForeignEnum.FOREIGN_UNSPECIFIED; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public global::Google.Protobuf.TestProtos.ForeignEnum EnumField { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return enumField_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enumField_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int MessageFieldFieldNumber = 4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private global::Google.Protobuf.TestProtos.ForeignMessage messageField_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public global::Google.Protobuf.TestProtos.ForeignMessage MessageField { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return messageField_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        messageField_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedPrimitiveFieldFieldNumber = 7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<int> _repeated_repeatedPrimitiveField_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForInt32(58); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<int> repeatedPrimitiveField_ = new pbc::RepeatedField<int>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<int> RepeatedPrimitiveField { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedPrimitiveField_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedStringFieldFieldNumber = 8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<string> _repeated_repeatedStringField_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForString(66); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<string> repeatedStringField_ = new pbc::RepeatedField<string>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<string> RepeatedStringField { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedStringField_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedEnumFieldFieldNumber = 9; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<global::Google.Protobuf.TestProtos.ForeignEnum> _repeated_repeatedEnumField_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForEnum(74, x => (int) x, x => (global::Google.Protobuf.TestProtos.ForeignEnum) x); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignEnum> repeatedEnumField_ = new pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignEnum>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignEnum> RepeatedEnumField { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedEnumField_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedMessageFieldFieldNumber = 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<global::Google.Protobuf.TestProtos.ForeignMessage> _repeated_repeatedMessageField_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForMessage(82, global::Google.Protobuf.TestProtos.ForeignMessage.Parser); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignMessage> repeatedMessageField_ = new pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignMessage>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignMessage> RepeatedMessageField { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedMessageField_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as TestCamelCaseFieldNames); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(TestCamelCaseFieldNames other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (PrimitiveField != other.PrimitiveField) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (StringField != other.StringField) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (EnumField != other.EnumField) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!object.Equals(MessageField, other.MessageField)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedPrimitiveField_.Equals(other.repeatedPrimitiveField_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedStringField_.Equals(other.repeatedStringField_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedEnumField_.Equals(other.repeatedEnumField_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedMessageField_.Equals(other.repeatedMessageField_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (PrimitiveField != 0) hash ^= PrimitiveField.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (StringField.Length != 0) hash ^= StringField.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (EnumField != global::Google.Protobuf.TestProtos.ForeignEnum.FOREIGN_UNSPECIFIED) hash ^= EnumField.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (messageField_ != null) hash ^= MessageField.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedPrimitiveField_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedStringField_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedEnumField_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedMessageField_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (PrimitiveField != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteInt32(PrimitiveField); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (StringField.Length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(18); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteString(StringField); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (EnumField != global::Google.Protobuf.TestProtos.ForeignEnum.FOREIGN_UNSPECIFIED) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(24); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteEnum((int) EnumField); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (messageField_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(34); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteMessage(MessageField); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedPrimitiveField_.WriteTo(output, _repeated_repeatedPrimitiveField_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedStringField_.WriteTo(output, _repeated_repeatedStringField_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedEnumField_.WriteTo(output, _repeated_repeatedEnumField_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedMessageField_.WriteTo(output, _repeated_repeatedMessageField_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (PrimitiveField != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PrimitiveField); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (StringField.Length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeStringSize(StringField); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (EnumField != global::Google.Protobuf.TestProtos.ForeignEnum.FOREIGN_UNSPECIFIED) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) EnumField); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (messageField_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeMessageSize(MessageField); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedPrimitiveField_.CalculateSize(_repeated_repeatedPrimitiveField_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedStringField_.CalculateSize(_repeated_repeatedStringField_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedEnumField_.CalculateSize(_repeated_repeatedEnumField_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedMessageField_.CalculateSize(_repeated_repeatedMessageField_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(TestCamelCaseFieldNames other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.PrimitiveField != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        PrimitiveField = other.PrimitiveField; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.StringField.Length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        StringField = other.StringField; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.EnumField != global::Google.Protobuf.TestProtos.ForeignEnum.FOREIGN_UNSPECIFIED) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        EnumField = other.EnumField; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.messageField_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (messageField_ == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          messageField_ = new global::Google.Protobuf.TestProtos.ForeignMessage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MessageField.MergeFrom(other.MessageField); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedPrimitiveField_.Add(other.repeatedPrimitiveField_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedStringField_.Add(other.repeatedStringField_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedEnumField_.Add(other.repeatedEnumField_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedMessageField_.Add(other.repeatedMessageField_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 8: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            PrimitiveField = input.ReadInt32(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 18: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            StringField = input.ReadString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 24: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            enumField_ = (global::Google.Protobuf.TestProtos.ForeignEnum) input.ReadEnum(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 34: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (messageField_ == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              messageField_ = new global::Google.Protobuf.TestProtos.ForeignMessage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.ReadMessage(messageField_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 58: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 56: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedPrimitiveField_.AddEntriesFrom(input, _repeated_repeatedPrimitiveField_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 66: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedStringField_.AddEntriesFrom(input, _repeated_repeatedStringField_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 74: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 72: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedEnumField_.AddEntriesFrom(input, _repeated_repeatedEnumField_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 82: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedMessageField_.AddEntriesFrom(input, _repeated_repeatedMessageField_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class TestFieldOrderings : pb::IMessage<TestFieldOrderings> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<TestFieldOrderings> _parser = new pb::MessageParser<TestFieldOrderings>(() => new TestFieldOrderings()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<TestFieldOrderings> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[11]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestFieldOrderings() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestFieldOrderings(TestFieldOrderings other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      myString_ = other.myString_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      myInt_ = other.myInt_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      myFloat_ = other.myFloat_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      SingleNestedMessage = other.singleNestedMessage_ != null ? other.SingleNestedMessage.Clone() : null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestFieldOrderings Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new TestFieldOrderings(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int MyStringFieldNumber = 11; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private string myString_ = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public string MyString { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return myString_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        myString_ = pb::Preconditions.CheckNotNull(value, "value"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int MyIntFieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private long myInt_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public long MyInt { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return myInt_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        myInt_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int MyFloatFieldNumber = 101; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private float myFloat_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public float MyFloat { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return myFloat_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        myFloat_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int SingleNestedMessageFieldNumber = 200; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private global::Google.Protobuf.TestProtos.TestFieldOrderings.Types.NestedMessage singleNestedMessage_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public global::Google.Protobuf.TestProtos.TestFieldOrderings.Types.NestedMessage SingleNestedMessage { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return singleNestedMessage_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        singleNestedMessage_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as TestFieldOrderings); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(TestFieldOrderings other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (MyString != other.MyString) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (MyInt != other.MyInt) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (MyFloat != other.MyFloat) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!object.Equals(SingleNestedMessage, other.SingleNestedMessage)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (MyString.Length != 0) hash ^= MyString.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (MyInt != 0L) hash ^= MyInt.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (MyFloat != 0F) hash ^= MyFloat.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (singleNestedMessage_ != null) hash ^= SingleNestedMessage.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (MyInt != 0L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteInt64(MyInt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (MyString.Length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(90); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteString(MyString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (MyFloat != 0F) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(173, 6); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteFloat(MyFloat); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (singleNestedMessage_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(194, 12); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteMessage(SingleNestedMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (MyString.Length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeStringSize(MyString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (MyInt != 0L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeInt64Size(MyInt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (MyFloat != 0F) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 2 + 4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (singleNestedMessage_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 2 + pb::CodedOutputStream.ComputeMessageSize(SingleNestedMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(TestFieldOrderings other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.MyString.Length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MyString = other.MyString; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.MyInt != 0L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MyInt = other.MyInt; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.MyFloat != 0F) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        MyFloat = other.MyFloat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.singleNestedMessage_ != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (singleNestedMessage_ == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          singleNestedMessage_ = new global::Google.Protobuf.TestProtos.TestFieldOrderings.Types.NestedMessage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SingleNestedMessage.MergeFrom(other.SingleNestedMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 8: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            MyInt = input.ReadInt64(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 90: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            MyString = input.ReadString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 813: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            MyFloat = input.ReadFloat(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 1602: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (singleNestedMessage_ == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              singleNestedMessage_ = new global::Google.Protobuf.TestProtos.TestFieldOrderings.Types.NestedMessage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.ReadMessage(singleNestedMessage_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #region Nested types 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static partial class Types { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      public sealed partial class NestedMessage : pb::IMessage<NestedMessage> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private static readonly pb::MessageParser<NestedMessage> _parser = new pb::MessageParser<NestedMessage>(() => new NestedMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public static pb::MessageParser<NestedMessage> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          get { return global::Google.Protobuf.TestProtos.TestFieldOrderings.Descriptor.NestedTypes[0]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public NestedMessage() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public NestedMessage(NestedMessage other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          oo_ = other.oo_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          bb_ = other.bb_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public NestedMessage Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return new NestedMessage(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public const int OoFieldNumber = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private long oo_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public long Oo { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          get { return oo_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            oo_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public const int BbFieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private int bb_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public int Bb { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          get { return bb_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            bb_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return Equals(other as NestedMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public bool Equals(NestedMessage other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (Oo != other.Oo) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (Bb != other.Bb) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (Oo != 0L) hash ^= Oo.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (Bb != 0) hash ^= Bb.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (Bb != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            output.WriteRawTag(8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            output.WriteInt32(Bb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (Oo != 0L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            output.WriteRawTag(16); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            output.WriteInt64(Oo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (Oo != 0L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            size += 1 + pb::CodedOutputStream.ComputeInt64Size(Oo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (Bb != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            size += 1 + pb::CodedOutputStream.ComputeInt32Size(Bb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public void MergeFrom(NestedMessage other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (other.Oo != 0L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Oo = other.Oo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (other.Bb != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Bb = other.Bb; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              case 8: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Bb = input.ReadInt32(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              case 16: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Oo = input.ReadInt64(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #endregion 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class SparseEnumMessage : pb::IMessage<SparseEnumMessage> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<SparseEnumMessage> _parser = new pb::MessageParser<SparseEnumMessage>(() => new SparseEnumMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<SparseEnumMessage> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[12]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public SparseEnumMessage() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public SparseEnumMessage(SparseEnumMessage other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      sparseEnum_ = other.sparseEnum_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public SparseEnumMessage Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new SparseEnumMessage(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int SparseEnumFieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private global::Google.Protobuf.TestProtos.TestSparseEnum sparseEnum_ = global::Google.Protobuf.TestProtos.TestSparseEnum.TEST_SPARSE_ENUM_UNSPECIFIED; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public global::Google.Protobuf.TestProtos.TestSparseEnum SparseEnum { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return sparseEnum_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sparseEnum_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as SparseEnumMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(SparseEnumMessage other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SparseEnum != other.SparseEnum) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SparseEnum != global::Google.Protobuf.TestProtos.TestSparseEnum.TEST_SPARSE_ENUM_UNSPECIFIED) hash ^= SparseEnum.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SparseEnum != global::Google.Protobuf.TestProtos.TestSparseEnum.TEST_SPARSE_ENUM_UNSPECIFIED) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteEnum((int) SparseEnum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (SparseEnum != global::Google.Protobuf.TestProtos.TestSparseEnum.TEST_SPARSE_ENUM_UNSPECIFIED) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) SparseEnum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(SparseEnumMessage other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.SparseEnum != global::Google.Protobuf.TestProtos.TestSparseEnum.TEST_SPARSE_ENUM_UNSPECIFIED) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SparseEnum = other.SparseEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 8: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sparseEnum_ = (global::Google.Protobuf.TestProtos.TestSparseEnum) input.ReadEnum(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class OneString : pb::IMessage<OneString> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<OneString> _parser = new pb::MessageParser<OneString>(() => new OneString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<OneString> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[13]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public OneString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public OneString(OneString other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data_ = other.data_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public OneString Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new OneString(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int DataFieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private string data_ = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public string Data { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return data_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data_ = pb::Preconditions.CheckNotNull(value, "value"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as OneString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(OneString other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data != other.Data) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data.Length != 0) hash ^= Data.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data.Length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteString(Data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data.Length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeStringSize(Data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(OneString other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.Data.Length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Data = other.Data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 10: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Data = input.ReadString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class MoreString : pb::IMessage<MoreString> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<MoreString> _parser = new pb::MessageParser<MoreString>(() => new MoreString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<MoreString> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[14]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public MoreString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public MoreString(MoreString other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data_ = other.data_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public MoreString Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new MoreString(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int DataFieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<string> _repeated_data_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForString(10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<string> data_ = new pbc::RepeatedField<string>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<string> Data { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return data_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as MoreString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(MoreString other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!data_.Equals(other.data_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= data_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data_.WriteTo(output, _repeated_data_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += data_.CalculateSize(_repeated_data_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(MoreString other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data_.Add(other.data_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 10: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            data_.AddEntriesFrom(input, _repeated_data_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class OneBytes : pb::IMessage<OneBytes> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<OneBytes> _parser = new pb::MessageParser<OneBytes>(() => new OneBytes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<OneBytes> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[15]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public OneBytes() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public OneBytes(OneBytes other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data_ = other.data_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public OneBytes Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new OneBytes(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int DataFieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private pb::ByteString data_ = pb::ByteString.Empty; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pb::ByteString Data { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return data_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data_ = pb::Preconditions.CheckNotNull(value, "value"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as OneBytes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(OneBytes other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data != other.Data) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data.Length != 0) hash ^= Data.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data.Length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteBytes(Data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data.Length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeBytesSize(Data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(OneBytes other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.Data.Length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Data = other.Data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 10: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Data = input.ReadBytes(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class MoreBytes : pb::IMessage<MoreBytes> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<MoreBytes> _parser = new pb::MessageParser<MoreBytes>(() => new MoreBytes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<MoreBytes> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[16]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public MoreBytes() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public MoreBytes(MoreBytes other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data_ = other.data_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public MoreBytes Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new MoreBytes(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int DataFieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private pb::ByteString data_ = pb::ByteString.Empty; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pb::ByteString Data { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return data_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data_ = pb::Preconditions.CheckNotNull(value, "value"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as MoreBytes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(MoreBytes other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data != other.Data) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data.Length != 0) hash ^= Data.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data.Length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteBytes(Data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data.Length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeBytesSize(Data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(MoreBytes other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.Data.Length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Data = other.Data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 10: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Data = input.ReadBytes(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class Int32Message : pb::IMessage<Int32Message> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<Int32Message> _parser = new pb::MessageParser<Int32Message>(() => new Int32Message()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<Int32Message> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[17]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Int32Message() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Int32Message(Int32Message other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data_ = other.data_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Int32Message Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new Int32Message(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int DataFieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private int data_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int Data { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return data_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as Int32Message); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(Int32Message other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data != other.Data) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data != 0) hash ^= Data.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteInt32(Data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(Int32Message other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.Data != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Data = other.Data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 8: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Data = input.ReadInt32(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class Uint32Message : pb::IMessage<Uint32Message> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<Uint32Message> _parser = new pb::MessageParser<Uint32Message>(() => new Uint32Message()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<Uint32Message> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[18]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Uint32Message() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Uint32Message(Uint32Message other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data_ = other.data_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Uint32Message Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new Uint32Message(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int DataFieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private uint data_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public uint Data { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return data_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as Uint32Message); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(Uint32Message other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data != other.Data) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data != 0) hash ^= Data.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteUInt32(Data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(Uint32Message other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.Data != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Data = other.Data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 8: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Data = input.ReadUInt32(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class Int64Message : pb::IMessage<Int64Message> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<Int64Message> _parser = new pb::MessageParser<Int64Message>(() => new Int64Message()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<Int64Message> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[19]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Int64Message() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Int64Message(Int64Message other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data_ = other.data_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Int64Message Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new Int64Message(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int DataFieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private long data_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public long Data { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return data_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as Int64Message); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(Int64Message other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data != other.Data) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data != 0L) hash ^= Data.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data != 0L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteInt64(Data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data != 0L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(Int64Message other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.Data != 0L) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Data = other.Data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 8: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Data = input.ReadInt64(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class Uint64Message : pb::IMessage<Uint64Message> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<Uint64Message> _parser = new pb::MessageParser<Uint64Message>(() => new Uint64Message()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<Uint64Message> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[20]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Uint64Message() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Uint64Message(Uint64Message other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data_ = other.data_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Uint64Message Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new Uint64Message(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int DataFieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private ulong data_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public ulong Data { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return data_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as Uint64Message); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(Uint64Message other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data != other.Data) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data != 0UL) hash ^= Data.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data != 0UL) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteUInt64(Data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data != 0UL) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeUInt64Size(Data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(Uint64Message other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.Data != 0UL) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Data = other.Data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 8: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Data = input.ReadUInt64(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class BoolMessage : pb::IMessage<BoolMessage> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<BoolMessage> _parser = new pb::MessageParser<BoolMessage>(() => new BoolMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<BoolMessage> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[21]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public BoolMessage() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public BoolMessage(BoolMessage other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data_ = other.data_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public BoolMessage Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new BoolMessage(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int DataFieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private bool data_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Data { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return data_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as BoolMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(BoolMessage other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data != other.Data) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data != false) hash ^= Data.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data != false) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteBool(Data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (Data != false) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(BoolMessage other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.Data != false) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Data = other.Data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 8: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Data = input.ReadBool(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class TestOneof : pb::IMessage<TestOneof> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<TestOneof> _parser = new pb::MessageParser<TestOneof>(() => new TestOneof()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<TestOneof> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[22]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestOneof() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestOneof(TestOneof other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      switch (other.FooCase) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        case FooOneofCase.FooInt: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          FooInt = other.FooInt; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        case FooOneofCase.FooString: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          FooString = other.FooString; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        case FooOneofCase.FooMessage: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          FooMessage = other.FooMessage.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestOneof Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new TestOneof(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int FooIntFieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int FooInt { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return fooCase_ == FooOneofCase.FooInt ? (int) foo_ : 0; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        foo_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fooCase_ = FooOneofCase.FooInt; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int FooStringFieldNumber = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public string FooString { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return fooCase_ == FooOneofCase.FooString ? (string) foo_ : ""; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        foo_ = pb::Preconditions.CheckNotNull(value, "value"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fooCase_ = FooOneofCase.FooString; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int FooMessageFieldNumber = 3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public global::Google.Protobuf.TestProtos.TestAllTypes FooMessage { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return fooCase_ == FooOneofCase.FooMessage ? (global::Google.Protobuf.TestProtos.TestAllTypes) foo_ : null; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        foo_ = value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fooCase_ = value == null ? FooOneofCase.None : FooOneofCase.FooMessage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private object foo_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public enum FooOneofCase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      None = 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      FooInt = 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      FooString = 2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      FooMessage = 3, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private FooOneofCase fooCase_ = FooOneofCase.None; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public FooOneofCase FooCase { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return fooCase_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void ClearFoo() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      fooCase_ = FooOneofCase.None; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      foo_ = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as TestOneof); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(TestOneof other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (FooInt != other.FooInt) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (FooString != other.FooString) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!object.Equals(FooMessage, other.FooMessage)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (fooCase_ == FooOneofCase.FooInt) hash ^= FooInt.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (fooCase_ == FooOneofCase.FooString) hash ^= FooString.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (fooCase_ == FooOneofCase.FooMessage) hash ^= FooMessage.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (fooCase_ == FooOneofCase.FooInt) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteInt32(FooInt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (fooCase_ == FooOneofCase.FooString) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(18); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteString(FooString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (fooCase_ == FooOneofCase.FooMessage) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(26); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteMessage(FooMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (fooCase_ == FooOneofCase.FooInt) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FooInt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (fooCase_ == FooOneofCase.FooString) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeStringSize(FooString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (fooCase_ == FooOneofCase.FooMessage) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeMessageSize(FooMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(TestOneof other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      switch (other.FooCase) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        case FooOneofCase.FooInt: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          FooInt = other.FooInt; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        case FooOneofCase.FooString: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          FooString = other.FooString; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        case FooOneofCase.FooMessage: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          FooMessage = other.FooMessage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 8: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            FooInt = input.ReadInt32(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 18: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            FooString = input.ReadString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 26: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            global::Google.Protobuf.TestProtos.TestAllTypes subBuilder = new global::Google.Protobuf.TestProtos.TestAllTypes(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (fooCase_ == FooOneofCase.FooMessage) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              subBuilder.MergeFrom(FooMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.ReadMessage(subBuilder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            FooMessage = subBuilder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class TestPackedTypes : pb::IMessage<TestPackedTypes> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<TestPackedTypes> _parser = new pb::MessageParser<TestPackedTypes>(() => new TestPackedTypes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<TestPackedTypes> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[23]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestPackedTypes() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestPackedTypes(TestPackedTypes other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedInt32_ = other.packedInt32_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedInt64_ = other.packedInt64_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedUint32_ = other.packedUint32_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedUint64_ = other.packedUint64_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedSint32_ = other.packedSint32_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedSint64_ = other.packedSint64_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedFixed32_ = other.packedFixed32_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedFixed64_ = other.packedFixed64_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedSfixed32_ = other.packedSfixed32_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedSfixed64_ = other.packedSfixed64_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedFloat_ = other.packedFloat_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedDouble_ = other.packedDouble_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedBool_ = other.packedBool_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedEnum_ = other.packedEnum_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestPackedTypes Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new TestPackedTypes(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int PackedInt32FieldNumber = 90; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<int> _repeated_packedInt32_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForInt32(722); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<int> packedInt32_ = new pbc::RepeatedField<int>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<int> PackedInt32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return packedInt32_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int PackedInt64FieldNumber = 91; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<long> _repeated_packedInt64_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForInt64(730); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<long> packedInt64_ = new pbc::RepeatedField<long>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<long> PackedInt64 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return packedInt64_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int PackedUint32FieldNumber = 92; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<uint> _repeated_packedUint32_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForUInt32(738); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<uint> packedUint32_ = new pbc::RepeatedField<uint>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<uint> PackedUint32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return packedUint32_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int PackedUint64FieldNumber = 93; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<ulong> _repeated_packedUint64_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForUInt64(746); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<ulong> packedUint64_ = new pbc::RepeatedField<ulong>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<ulong> PackedUint64 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return packedUint64_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int PackedSint32FieldNumber = 94; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<int> _repeated_packedSint32_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForSInt32(754); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<int> packedSint32_ = new pbc::RepeatedField<int>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<int> PackedSint32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return packedSint32_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int PackedSint64FieldNumber = 95; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<long> _repeated_packedSint64_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForSInt64(762); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<long> packedSint64_ = new pbc::RepeatedField<long>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<long> PackedSint64 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return packedSint64_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int PackedFixed32FieldNumber = 96; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<uint> _repeated_packedFixed32_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForFixed32(770); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<uint> packedFixed32_ = new pbc::RepeatedField<uint>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<uint> PackedFixed32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return packedFixed32_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int PackedFixed64FieldNumber = 97; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<ulong> _repeated_packedFixed64_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForFixed64(778); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<ulong> packedFixed64_ = new pbc::RepeatedField<ulong>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<ulong> PackedFixed64 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return packedFixed64_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int PackedSfixed32FieldNumber = 98; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<int> _repeated_packedSfixed32_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForSFixed32(786); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<int> packedSfixed32_ = new pbc::RepeatedField<int>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<int> PackedSfixed32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return packedSfixed32_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int PackedSfixed64FieldNumber = 99; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<long> _repeated_packedSfixed64_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForSFixed64(794); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<long> packedSfixed64_ = new pbc::RepeatedField<long>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<long> PackedSfixed64 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return packedSfixed64_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int PackedFloatFieldNumber = 100; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<float> _repeated_packedFloat_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForFloat(802); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<float> packedFloat_ = new pbc::RepeatedField<float>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<float> PackedFloat { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return packedFloat_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int PackedDoubleFieldNumber = 101; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<double> _repeated_packedDouble_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForDouble(810); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<double> packedDouble_ = new pbc::RepeatedField<double>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<double> PackedDouble { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return packedDouble_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int PackedBoolFieldNumber = 102; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<bool> _repeated_packedBool_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForBool(818); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<bool> packedBool_ = new pbc::RepeatedField<bool>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<bool> PackedBool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return packedBool_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int PackedEnumFieldNumber = 103; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<global::Google.Protobuf.TestProtos.ForeignEnum> _repeated_packedEnum_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForEnum(826, x => (int) x, x => (global::Google.Protobuf.TestProtos.ForeignEnum) x); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignEnum> packedEnum_ = new pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignEnum>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignEnum> PackedEnum { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return packedEnum_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as TestPackedTypes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(TestPackedTypes other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!packedInt32_.Equals(other.packedInt32_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!packedInt64_.Equals(other.packedInt64_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!packedUint32_.Equals(other.packedUint32_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!packedUint64_.Equals(other.packedUint64_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!packedSint32_.Equals(other.packedSint32_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!packedSint64_.Equals(other.packedSint64_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!packedFixed32_.Equals(other.packedFixed32_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!packedFixed64_.Equals(other.packedFixed64_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!packedSfixed32_.Equals(other.packedSfixed32_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!packedSfixed64_.Equals(other.packedSfixed64_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!packedFloat_.Equals(other.packedFloat_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!packedDouble_.Equals(other.packedDouble_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!packedBool_.Equals(other.packedBool_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!packedEnum_.Equals(other.packedEnum_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= packedInt32_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= packedInt64_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= packedUint32_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= packedUint64_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= packedSint32_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= packedSint64_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= packedFixed32_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= packedFixed64_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= packedSfixed32_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= packedSfixed64_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= packedFloat_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= packedDouble_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= packedBool_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= packedEnum_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedInt32_.WriteTo(output, _repeated_packedInt32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedInt64_.WriteTo(output, _repeated_packedInt64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedUint32_.WriteTo(output, _repeated_packedUint32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedUint64_.WriteTo(output, _repeated_packedUint64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedSint32_.WriteTo(output, _repeated_packedSint32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedSint64_.WriteTo(output, _repeated_packedSint64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedFixed32_.WriteTo(output, _repeated_packedFixed32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedFixed64_.WriteTo(output, _repeated_packedFixed64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedSfixed32_.WriteTo(output, _repeated_packedSfixed32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedSfixed64_.WriteTo(output, _repeated_packedSfixed64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedFloat_.WriteTo(output, _repeated_packedFloat_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedDouble_.WriteTo(output, _repeated_packedDouble_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedBool_.WriteTo(output, _repeated_packedBool_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedEnum_.WriteTo(output, _repeated_packedEnum_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += packedInt32_.CalculateSize(_repeated_packedInt32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += packedInt64_.CalculateSize(_repeated_packedInt64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += packedUint32_.CalculateSize(_repeated_packedUint32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += packedUint64_.CalculateSize(_repeated_packedUint64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += packedSint32_.CalculateSize(_repeated_packedSint32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += packedSint64_.CalculateSize(_repeated_packedSint64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += packedFixed32_.CalculateSize(_repeated_packedFixed32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += packedFixed64_.CalculateSize(_repeated_packedFixed64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += packedSfixed32_.CalculateSize(_repeated_packedSfixed32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += packedSfixed64_.CalculateSize(_repeated_packedSfixed64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += packedFloat_.CalculateSize(_repeated_packedFloat_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += packedDouble_.CalculateSize(_repeated_packedDouble_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += packedBool_.CalculateSize(_repeated_packedBool_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += packedEnum_.CalculateSize(_repeated_packedEnum_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(TestPackedTypes other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedInt32_.Add(other.packedInt32_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedInt64_.Add(other.packedInt64_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedUint32_.Add(other.packedUint32_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedUint64_.Add(other.packedUint64_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedSint32_.Add(other.packedSint32_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedSint64_.Add(other.packedSint64_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedFixed32_.Add(other.packedFixed32_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedFixed64_.Add(other.packedFixed64_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedSfixed32_.Add(other.packedSfixed32_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedSfixed64_.Add(other.packedSfixed64_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedFloat_.Add(other.packedFloat_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedDouble_.Add(other.packedDouble_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedBool_.Add(other.packedBool_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      packedEnum_.Add(other.packedEnum_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 722: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 720: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            packedInt32_.AddEntriesFrom(input, _repeated_packedInt32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 730: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 728: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            packedInt64_.AddEntriesFrom(input, _repeated_packedInt64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 738: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 736: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            packedUint32_.AddEntriesFrom(input, _repeated_packedUint32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 746: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 744: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            packedUint64_.AddEntriesFrom(input, _repeated_packedUint64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 754: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 752: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            packedSint32_.AddEntriesFrom(input, _repeated_packedSint32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 762: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 760: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            packedSint64_.AddEntriesFrom(input, _repeated_packedSint64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 770: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 773: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            packedFixed32_.AddEntriesFrom(input, _repeated_packedFixed32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 778: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 777: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            packedFixed64_.AddEntriesFrom(input, _repeated_packedFixed64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 786: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 789: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            packedSfixed32_.AddEntriesFrom(input, _repeated_packedSfixed32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 794: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 793: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            packedSfixed64_.AddEntriesFrom(input, _repeated_packedSfixed64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 802: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 805: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            packedFloat_.AddEntriesFrom(input, _repeated_packedFloat_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 810: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 809: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            packedDouble_.AddEntriesFrom(input, _repeated_packedDouble_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 818: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 816: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            packedBool_.AddEntriesFrom(input, _repeated_packedBool_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 826: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 824: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            packedEnum_.AddEntriesFrom(input, _repeated_packedEnum_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class TestUnpackedTypes : pb::IMessage<TestUnpackedTypes> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<TestUnpackedTypes> _parser = new pb::MessageParser<TestUnpackedTypes>(() => new TestUnpackedTypes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<TestUnpackedTypes> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[24]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestUnpackedTypes() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestUnpackedTypes(TestUnpackedTypes other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedInt32_ = other.unpackedInt32_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedInt64_ = other.unpackedInt64_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedUint32_ = other.unpackedUint32_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedUint64_ = other.unpackedUint64_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedSint32_ = other.unpackedSint32_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedSint64_ = other.unpackedSint64_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedFixed32_ = other.unpackedFixed32_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedFixed64_ = other.unpackedFixed64_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedSfixed32_ = other.unpackedSfixed32_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedSfixed64_ = other.unpackedSfixed64_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedFloat_ = other.unpackedFloat_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedDouble_ = other.unpackedDouble_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedBool_ = other.unpackedBool_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedEnum_ = other.unpackedEnum_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestUnpackedTypes Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new TestUnpackedTypes(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int UnpackedInt32FieldNumber = 90; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<int> _repeated_unpackedInt32_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForInt32(720); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<int> unpackedInt32_ = new pbc::RepeatedField<int>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<int> UnpackedInt32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return unpackedInt32_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int UnpackedInt64FieldNumber = 91; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<long> _repeated_unpackedInt64_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForInt64(728); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<long> unpackedInt64_ = new pbc::RepeatedField<long>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<long> UnpackedInt64 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return unpackedInt64_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int UnpackedUint32FieldNumber = 92; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<uint> _repeated_unpackedUint32_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForUInt32(736); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<uint> unpackedUint32_ = new pbc::RepeatedField<uint>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<uint> UnpackedUint32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return unpackedUint32_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int UnpackedUint64FieldNumber = 93; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<ulong> _repeated_unpackedUint64_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForUInt64(744); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<ulong> unpackedUint64_ = new pbc::RepeatedField<ulong>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<ulong> UnpackedUint64 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return unpackedUint64_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int UnpackedSint32FieldNumber = 94; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<int> _repeated_unpackedSint32_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForSInt32(752); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<int> unpackedSint32_ = new pbc::RepeatedField<int>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<int> UnpackedSint32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return unpackedSint32_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int UnpackedSint64FieldNumber = 95; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<long> _repeated_unpackedSint64_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForSInt64(760); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<long> unpackedSint64_ = new pbc::RepeatedField<long>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<long> UnpackedSint64 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return unpackedSint64_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int UnpackedFixed32FieldNumber = 96; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<uint> _repeated_unpackedFixed32_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForFixed32(773); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<uint> unpackedFixed32_ = new pbc::RepeatedField<uint>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<uint> UnpackedFixed32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return unpackedFixed32_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int UnpackedFixed64FieldNumber = 97; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<ulong> _repeated_unpackedFixed64_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForFixed64(777); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<ulong> unpackedFixed64_ = new pbc::RepeatedField<ulong>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<ulong> UnpackedFixed64 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return unpackedFixed64_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int UnpackedSfixed32FieldNumber = 98; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<int> _repeated_unpackedSfixed32_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForSFixed32(789); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<int> unpackedSfixed32_ = new pbc::RepeatedField<int>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<int> UnpackedSfixed32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return unpackedSfixed32_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int UnpackedSfixed64FieldNumber = 99; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<long> _repeated_unpackedSfixed64_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForSFixed64(793); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<long> unpackedSfixed64_ = new pbc::RepeatedField<long>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<long> UnpackedSfixed64 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return unpackedSfixed64_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int UnpackedFloatFieldNumber = 100; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<float> _repeated_unpackedFloat_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForFloat(805); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<float> unpackedFloat_ = new pbc::RepeatedField<float>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<float> UnpackedFloat { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return unpackedFloat_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int UnpackedDoubleFieldNumber = 101; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<double> _repeated_unpackedDouble_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForDouble(809); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<double> unpackedDouble_ = new pbc::RepeatedField<double>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<double> UnpackedDouble { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return unpackedDouble_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int UnpackedBoolFieldNumber = 102; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<bool> _repeated_unpackedBool_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForBool(816); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<bool> unpackedBool_ = new pbc::RepeatedField<bool>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<bool> UnpackedBool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return unpackedBool_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int UnpackedEnumFieldNumber = 103; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<global::Google.Protobuf.TestProtos.ForeignEnum> _repeated_unpackedEnum_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForEnum(824, x => (int) x, x => (global::Google.Protobuf.TestProtos.ForeignEnum) x); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignEnum> unpackedEnum_ = new pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignEnum>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<global::Google.Protobuf.TestProtos.ForeignEnum> UnpackedEnum { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return unpackedEnum_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as TestUnpackedTypes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(TestUnpackedTypes other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!unpackedInt32_.Equals(other.unpackedInt32_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!unpackedInt64_.Equals(other.unpackedInt64_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!unpackedUint32_.Equals(other.unpackedUint32_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!unpackedUint64_.Equals(other.unpackedUint64_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!unpackedSint32_.Equals(other.unpackedSint32_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!unpackedSint64_.Equals(other.unpackedSint64_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!unpackedFixed32_.Equals(other.unpackedFixed32_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!unpackedFixed64_.Equals(other.unpackedFixed64_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!unpackedSfixed32_.Equals(other.unpackedSfixed32_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!unpackedSfixed64_.Equals(other.unpackedSfixed64_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!unpackedFloat_.Equals(other.unpackedFloat_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!unpackedDouble_.Equals(other.unpackedDouble_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!unpackedBool_.Equals(other.unpackedBool_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!unpackedEnum_.Equals(other.unpackedEnum_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= unpackedInt32_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= unpackedInt64_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= unpackedUint32_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= unpackedUint64_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= unpackedSint32_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= unpackedSint64_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= unpackedFixed32_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= unpackedFixed64_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= unpackedSfixed32_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= unpackedSfixed64_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= unpackedFloat_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= unpackedDouble_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= unpackedBool_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= unpackedEnum_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedInt32_.WriteTo(output, _repeated_unpackedInt32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedInt64_.WriteTo(output, _repeated_unpackedInt64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedUint32_.WriteTo(output, _repeated_unpackedUint32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedUint64_.WriteTo(output, _repeated_unpackedUint64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedSint32_.WriteTo(output, _repeated_unpackedSint32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedSint64_.WriteTo(output, _repeated_unpackedSint64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedFixed32_.WriteTo(output, _repeated_unpackedFixed32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedFixed64_.WriteTo(output, _repeated_unpackedFixed64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedSfixed32_.WriteTo(output, _repeated_unpackedSfixed32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedSfixed64_.WriteTo(output, _repeated_unpackedSfixed64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedFloat_.WriteTo(output, _repeated_unpackedFloat_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedDouble_.WriteTo(output, _repeated_unpackedDouble_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedBool_.WriteTo(output, _repeated_unpackedBool_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedEnum_.WriteTo(output, _repeated_unpackedEnum_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += unpackedInt32_.CalculateSize(_repeated_unpackedInt32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += unpackedInt64_.CalculateSize(_repeated_unpackedInt64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += unpackedUint32_.CalculateSize(_repeated_unpackedUint32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += unpackedUint64_.CalculateSize(_repeated_unpackedUint64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += unpackedSint32_.CalculateSize(_repeated_unpackedSint32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += unpackedSint64_.CalculateSize(_repeated_unpackedSint64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += unpackedFixed32_.CalculateSize(_repeated_unpackedFixed32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += unpackedFixed64_.CalculateSize(_repeated_unpackedFixed64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += unpackedSfixed32_.CalculateSize(_repeated_unpackedSfixed32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += unpackedSfixed64_.CalculateSize(_repeated_unpackedSfixed64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += unpackedFloat_.CalculateSize(_repeated_unpackedFloat_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += unpackedDouble_.CalculateSize(_repeated_unpackedDouble_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += unpackedBool_.CalculateSize(_repeated_unpackedBool_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += unpackedEnum_.CalculateSize(_repeated_unpackedEnum_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(TestUnpackedTypes other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedInt32_.Add(other.unpackedInt32_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedInt64_.Add(other.unpackedInt64_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedUint32_.Add(other.unpackedUint32_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedUint64_.Add(other.unpackedUint64_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedSint32_.Add(other.unpackedSint32_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedSint64_.Add(other.unpackedSint64_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedFixed32_.Add(other.unpackedFixed32_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedFixed64_.Add(other.unpackedFixed64_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedSfixed32_.Add(other.unpackedSfixed32_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedSfixed64_.Add(other.unpackedSfixed64_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedFloat_.Add(other.unpackedFloat_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedDouble_.Add(other.unpackedDouble_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedBool_.Add(other.unpackedBool_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unpackedEnum_.Add(other.unpackedEnum_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 722: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 720: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            unpackedInt32_.AddEntriesFrom(input, _repeated_unpackedInt32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 730: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 728: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            unpackedInt64_.AddEntriesFrom(input, _repeated_unpackedInt64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 738: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 736: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            unpackedUint32_.AddEntriesFrom(input, _repeated_unpackedUint32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 746: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 744: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            unpackedUint64_.AddEntriesFrom(input, _repeated_unpackedUint64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 754: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 752: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            unpackedSint32_.AddEntriesFrom(input, _repeated_unpackedSint32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 762: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 760: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            unpackedSint64_.AddEntriesFrom(input, _repeated_unpackedSint64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 770: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 773: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            unpackedFixed32_.AddEntriesFrom(input, _repeated_unpackedFixed32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 778: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 777: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            unpackedFixed64_.AddEntriesFrom(input, _repeated_unpackedFixed64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 786: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 789: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            unpackedSfixed32_.AddEntriesFrom(input, _repeated_unpackedSfixed32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 794: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 793: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            unpackedSfixed64_.AddEntriesFrom(input, _repeated_unpackedSfixed64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 802: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 805: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            unpackedFloat_.AddEntriesFrom(input, _repeated_unpackedFloat_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 810: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 809: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            unpackedDouble_.AddEntriesFrom(input, _repeated_unpackedDouble_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 818: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 816: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            unpackedBool_.AddEntriesFrom(input, _repeated_unpackedBool_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 826: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 824: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            unpackedEnum_.AddEntriesFrom(input, _repeated_unpackedEnum_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class TestRepeatedScalarDifferentTagSizes : pb::IMessage<TestRepeatedScalarDifferentTagSizes> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<TestRepeatedScalarDifferentTagSizes> _parser = new pb::MessageParser<TestRepeatedScalarDifferentTagSizes>(() => new TestRepeatedScalarDifferentTagSizes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<TestRepeatedScalarDifferentTagSizes> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[25]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestRepeatedScalarDifferentTagSizes() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestRepeatedScalarDifferentTagSizes(TestRepeatedScalarDifferentTagSizes other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedFixed32_ = other.repeatedFixed32_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedInt32_ = other.repeatedInt32_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedFixed64_ = other.repeatedFixed64_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedInt64_ = other.repeatedInt64_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedFloat_ = other.repeatedFloat_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedUint64_ = other.repeatedUint64_.Clone(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestRepeatedScalarDifferentTagSizes Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new TestRepeatedScalarDifferentTagSizes(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedFixed32FieldNumber = 12; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<uint> _repeated_repeatedFixed32_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForFixed32(98); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<uint> repeatedFixed32_ = new pbc::RepeatedField<uint>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<uint> RepeatedFixed32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedFixed32_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedInt32FieldNumber = 13; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<int> _repeated_repeatedInt32_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForInt32(106); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<int> repeatedInt32_ = new pbc::RepeatedField<int>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<int> RepeatedInt32 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedInt32_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedFixed64FieldNumber = 2046; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<ulong> _repeated_repeatedFixed64_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForFixed64(16370); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<ulong> repeatedFixed64_ = new pbc::RepeatedField<ulong>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<ulong> RepeatedFixed64 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedFixed64_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedInt64FieldNumber = 2047; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<long> _repeated_repeatedInt64_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForInt64(16378); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<long> repeatedInt64_ = new pbc::RepeatedField<long>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<long> RepeatedInt64 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedInt64_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedFloatFieldNumber = 262142; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<float> _repeated_repeatedFloat_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForFloat(2097138); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<float> repeatedFloat_ = new pbc::RepeatedField<float>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<float> RepeatedFloat { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedFloat_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int RepeatedUint64FieldNumber = 262143; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::FieldCodec<ulong> _repeated_repeatedUint64_codec 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        = pb::FieldCodec.ForUInt64(2097146); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private readonly pbc::RepeatedField<ulong> repeatedUint64_ = new pbc::RepeatedField<ulong>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public pbc::RepeatedField<ulong> RepeatedUint64 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return repeatedUint64_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as TestRepeatedScalarDifferentTagSizes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(TestRepeatedScalarDifferentTagSizes other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedFixed32_.Equals(other.repeatedFixed32_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedInt32_.Equals(other.repeatedInt32_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedFixed64_.Equals(other.repeatedFixed64_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedInt64_.Equals(other.repeatedInt64_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedFloat_.Equals(other.repeatedFloat_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(!repeatedUint64_.Equals(other.repeatedUint64_)) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedFixed32_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedInt32_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedFixed64_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedInt64_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedFloat_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      hash ^= repeatedUint64_.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedFixed32_.WriteTo(output, _repeated_repeatedFixed32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedInt32_.WriteTo(output, _repeated_repeatedInt32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedFixed64_.WriteTo(output, _repeated_repeatedFixed64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedInt64_.WriteTo(output, _repeated_repeatedInt64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedFloat_.WriteTo(output, _repeated_repeatedFloat_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedUint64_.WriteTo(output, _repeated_repeatedUint64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedFixed32_.CalculateSize(_repeated_repeatedFixed32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedInt32_.CalculateSize(_repeated_repeatedInt32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedFixed64_.CalculateSize(_repeated_repeatedFixed64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedInt64_.CalculateSize(_repeated_repeatedInt64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedFloat_.CalculateSize(_repeated_repeatedFloat_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size += repeatedUint64_.CalculateSize(_repeated_repeatedUint64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(TestRepeatedScalarDifferentTagSizes other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedFixed32_.Add(other.repeatedFixed32_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedInt32_.Add(other.repeatedInt32_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedFixed64_.Add(other.repeatedFixed64_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedInt64_.Add(other.repeatedInt64_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedFloat_.Add(other.repeatedFloat_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      repeatedUint64_.Add(other.repeatedUint64_); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 98: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 101: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedFixed32_.AddEntriesFrom(input, _repeated_repeatedFixed32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 106: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 104: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedInt32_.AddEntriesFrom(input, _repeated_repeatedInt32_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 16370: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 16369: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedFixed64_.AddEntriesFrom(input, _repeated_repeatedFixed64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 16378: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 16376: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedInt64_.AddEntriesFrom(input, _repeated_repeatedInt64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 2097138: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 2097141: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedFloat_.AddEntriesFrom(input, _repeated_repeatedFloat_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 2097146: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 2097144: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            repeatedUint64_.AddEntriesFrom(input, _repeated_repeatedUint64_codec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class TestCommentInjectionMessage : pb::IMessage<TestCommentInjectionMessage> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<TestCommentInjectionMessage> _parser = new pb::MessageParser<TestCommentInjectionMessage>(() => new TestCommentInjectionMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<TestCommentInjectionMessage> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[26]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestCommentInjectionMessage() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestCommentInjectionMessage(TestCommentInjectionMessage other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      a_ = other.a_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public TestCommentInjectionMessage Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new TestCommentInjectionMessage(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public const int AFieldNumber = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private string a_ = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public string A { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return a_; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        a_ = pb::Preconditions.CheckNotNull(value, "value"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as TestCommentInjectionMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(TestCommentInjectionMessage other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (A != other.A) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (A.Length != 0) hash ^= A.GetHashCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (A.Length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteRawTag(10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output.WriteString(A); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (A.Length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size += 1 + pb::CodedOutputStream.ComputeStringSize(A); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(TestCommentInjectionMessage other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other.A.Length != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        A = other.A; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          case 10: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            A = input.ReadString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class FooRequest : pb::IMessage<FooRequest> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<FooRequest> _parser = new pb::MessageParser<FooRequest>(() => new FooRequest()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<FooRequest> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[27]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public FooRequest() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public FooRequest(FooRequest other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public FooRequest Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new FooRequest(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as FooRequest); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(FooRequest other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(FooRequest other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class FooResponse : pb::IMessage<FooResponse> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<FooResponse> _parser = new pb::MessageParser<FooResponse>(() => new FooResponse()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<FooResponse> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[28]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public FooResponse() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public FooResponse(FooResponse other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public FooResponse Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new FooResponse(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as FooResponse); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(FooResponse other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(FooResponse other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class FooClientMessage : pb::IMessage<FooClientMessage> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<FooClientMessage> _parser = new pb::MessageParser<FooClientMessage>(() => new FooClientMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<FooClientMessage> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[29]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public FooClientMessage() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public FooClientMessage(FooClientMessage other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public FooClientMessage Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new FooClientMessage(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as FooClientMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(FooClientMessage other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(FooClientMessage other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class FooServerMessage : pb::IMessage<FooServerMessage> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<FooServerMessage> _parser = new pb::MessageParser<FooServerMessage>(() => new FooServerMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<FooServerMessage> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[30]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public FooServerMessage() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public FooServerMessage(FooServerMessage other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public FooServerMessage Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new FooServerMessage(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as FooServerMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(FooServerMessage other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(FooServerMessage other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class BarRequest : pb::IMessage<BarRequest> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<BarRequest> _parser = new pb::MessageParser<BarRequest>(() => new BarRequest()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<BarRequest> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[31]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public BarRequest() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public BarRequest(BarRequest other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public BarRequest Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new BarRequest(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as BarRequest); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(BarRequest other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(BarRequest other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public sealed partial class BarResponse : pb::IMessage<BarResponse> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private static readonly pb::MessageParser<BarResponse> _parser = new pb::MessageParser<BarResponse>(() => new BarResponse()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pb::MessageParser<BarResponse> Parser { get { return _parser; } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public static pbr::MessageDescriptor Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return global::Google.Protobuf.TestProtos.UnittestProto3.Descriptor.MessageTypes[32]; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pbr::MessageDescriptor pb::IMessage.Descriptor { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      get { return Descriptor; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public BarResponse() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    partial void OnConstruction(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public BarResponse(BarResponse other) : this() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public BarResponse Clone() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return new BarResponse(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override bool Equals(object other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Equals(other as BarResponse); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public bool Equals(BarResponse other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, null)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (ReferenceEquals(other, this)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override int GetHashCode() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int hash = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return hash; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public override string ToString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return pb::JsonFormatter.Default.Format(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void WriteTo(pb::CodedOutputStream output) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public int CalculateSize() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      int size = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(BarResponse other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (other == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void MergeFrom(pb::CodedInputStream input) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      uint tag; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while ((tag = input.ReadTag()) != 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        switch(tag) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            input.SkipLastField(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  #endregion 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#endregion Designer generated code 
			 |