Add missing new-lines at end of file
diff --git a/src/csharp/GrpcApi/Empty.cs b/src/csharp/GrpcApi/Empty.cs
index dadfd15..7169ee2 100644
--- a/src/csharp/GrpcApi/Empty.cs
+++ b/src/csharp/GrpcApi/Empty.cs
@@ -7,12 +7,12 @@
 using pbd = global::Google.ProtocolBuffers.Descriptors;
 using scg = global::System.Collections.Generic;
 namespace grpc.testing {
-  
+
   namespace Proto {
-    
+
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     public static partial class Empty {
-    
+
       #region Extension registration
       public static void RegisterAllExtensions(pb::ExtensionRegistry registry) {
       }
@@ -26,7 +26,7 @@
         get { return descriptor; }
       }
       private static pbd::FileDescriptor descriptor;
-      
+
       static Empty() {
         byte[] descriptorData = global::System.Convert.FromBase64String(
             string.Concat(
@@ -34,7 +34,7 @@
         pbd::FileDescriptor.InternalDescriptorAssigner assigner = delegate(pbd::FileDescriptor root) {
           descriptor = root;
           internal__static_grpc_testing_Empty__Descriptor = Descriptor.MessageTypes[0];
-          internal__static_grpc_testing_Empty__FieldAccessorTable = 
+          internal__static_grpc_testing_Empty__FieldAccessorTable =
               new pb::FieldAccess.FieldAccessorTable<global::grpc.testing.Empty, global::grpc.testing.Empty.Builder>(internal__static_grpc_testing_Empty__Descriptor,
                   new string[] { });
           return null;
@@ -44,7 +44,7 @@
             }, assigner);
       }
       #endregion
-      
+
     }
   }
   #region Messages
@@ -57,48 +57,48 @@
     public static Empty DefaultInstance {
       get { return defaultInstance; }
     }
-    
+
     public override Empty DefaultInstanceForType {
       get { return DefaultInstance; }
     }
-    
+
     protected override Empty ThisMessage {
       get { return this; }
     }
-    
+
     public static pbd::MessageDescriptor Descriptor {
       get { return global::grpc.testing.Proto.Empty.internal__static_grpc_testing_Empty__Descriptor; }
     }
-    
+
     protected override pb::FieldAccess.FieldAccessorTable<Empty, Empty.Builder> InternalFieldAccessors {
       get { return global::grpc.testing.Proto.Empty.internal__static_grpc_testing_Empty__FieldAccessorTable; }
     }
-    
+
     public override bool IsInitialized {
       get {
         return true;
       }
     }
-    
+
     public override void WriteTo(pb::ICodedOutputStream output) {
       int size = SerializedSize;
       string[] field_names = _emptyFieldNames;
       UnknownFields.WriteTo(output);
     }
-    
+
     private int memoizedSerializedSize = -1;
     public override int SerializedSize {
       get {
         int size = memoizedSerializedSize;
         if (size != -1) return size;
-        
+
         size = 0;
         size += UnknownFields.SerializedSize;
         memoizedSerializedSize = size;
         return size;
       }
     }
-    
+
     public static Empty ParseFrom(pb::ByteString data) {
       return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
     }
@@ -132,14 +132,14 @@
     private Empty MakeReadOnly() {
       return this;
     }
-    
+
     public static Builder CreateBuilder() { return new Builder(); }
     public override Builder ToBuilder() { return CreateBuilder(this); }
     public override Builder CreateBuilderForType() { return new Builder(); }
     public static Builder CreateBuilder(Empty prototype) {
       return new Builder(prototype);
     }
-    
+
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     public sealed partial class Builder : pb::GeneratedBuilder<Empty, Builder> {
       protected override Builder ThisBuilder {
@@ -153,10 +153,10 @@
         result = cloneFrom;
         resultIsReadOnly = true;
       }
-      
+
       private bool resultIsReadOnly;
       private Empty result;
-      
+
       private Empty PrepareBuilder() {
         if (resultIsReadOnly) {
           Empty original = result;
@@ -166,21 +166,21 @@
         }
         return result;
       }
-      
+
       public override bool IsInitialized {
         get { return result.IsInitialized; }
       }
-      
+
       protected override Empty MessageBeingBuilt {
         get { return PrepareBuilder(); }
       }
-      
+
       public override Builder Clear() {
         result = DefaultInstance;
         resultIsReadOnly = true;
         return this;
       }
-      
+
       public override Builder Clone() {
         if (resultIsReadOnly) {
           return new Builder(result);
@@ -188,15 +188,15 @@
           return new Builder().MergeFrom(result);
         }
       }
-      
+
       public override pbd::MessageDescriptor DescriptorForType {
         get { return global::grpc.testing.Empty.Descriptor; }
       }
-      
+
       public override Empty DefaultInstanceForType {
         get { return global::grpc.testing.Empty.DefaultInstance; }
       }
-      
+
       public override Empty BuildPartial() {
         if (resultIsReadOnly) {
           return result;
@@ -204,7 +204,7 @@
         resultIsReadOnly = true;
         return result.MakeReadOnly();
       }
-      
+
       public override Builder MergeFrom(pb::IMessage other) {
         if (other is Empty) {
           return MergeFrom((Empty) other);
@@ -213,18 +213,18 @@
           return this;
         }
       }
-      
+
       public override Builder MergeFrom(Empty other) {
         if (other == global::grpc.testing.Empty.DefaultInstance) return this;
         PrepareBuilder();
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input) {
         return MergeFrom(input, pb::ExtensionRegistry.Empty);
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
         PrepareBuilder();
         pb::UnknownFieldSet.Builder unknownFields = null;
@@ -262,21 +262,21 @@
             }
           }
         }
-        
+
         if (unknownFields != null) {
           this.UnknownFields = unknownFields.Build();
         }
         return this;
       }
-      
+
     }
     static Empty() {
       object.ReferenceEquals(global::grpc.testing.Proto.Empty.Descriptor, null);
     }
   }
-  
+
   #endregion
-  
+
 }
 
 #endregion Designer generated code
diff --git a/src/csharp/GrpcApi/Math.cs b/src/csharp/GrpcApi/Math.cs
index 2d70033..75b1e9d 100644
--- a/src/csharp/GrpcApi/Math.cs
+++ b/src/csharp/GrpcApi/Math.cs
@@ -7,12 +7,12 @@
 using pbd = global::Google.ProtocolBuffers.Descriptors;
 using scg = global::System.Collections.Generic;
 namespace math {
-  
+
   namespace Proto {
-    
+
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     public static partial class Math {
-    
+
       #region Extension registration
       public static void RegisterAllExtensions(pb::ExtensionRegistry registry) {
       }
@@ -34,38 +34,38 @@
         get { return descriptor; }
       }
       private static pbd::FileDescriptor descriptor;
-      
+
       static Math() {
         byte[] descriptorData = global::System.Convert.FromBase64String(
             string.Concat(
-              "CgptYXRoLnByb3RvEgRtYXRoIiwKB0RpdkFyZ3MSEAoIZGl2aWRlbmQYASAB", 
-              "KAMSDwoHZGl2aXNvchgCIAEoAyIvCghEaXZSZXBseRIQCghxdW90aWVudBgB", 
-              "IAEoAxIRCglyZW1haW5kZXIYAiABKAMiGAoHRmliQXJncxINCgVsaW1pdBgB", 
-              "IAEoAyISCgNOdW0SCwoDbnVtGAEgASgDIhkKCEZpYlJlcGx5Eg0KBWNvdW50", 
-              "GAEgASgDMqQBCgRNYXRoEiYKA0RpdhINLm1hdGguRGl2QXJncxoOLm1hdGgu", 
-              "RGl2UmVwbHkiABIuCgdEaXZNYW55Eg0ubWF0aC5EaXZBcmdzGg4ubWF0aC5E", 
-              "aXZSZXBseSIAKAEwARIjCgNGaWISDS5tYXRoLkZpYkFyZ3MaCS5tYXRoLk51", 
+              "CgptYXRoLnByb3RvEgRtYXRoIiwKB0RpdkFyZ3MSEAoIZGl2aWRlbmQYASAB",
+              "KAMSDwoHZGl2aXNvchgCIAEoAyIvCghEaXZSZXBseRIQCghxdW90aWVudBgB",
+              "IAEoAxIRCglyZW1haW5kZXIYAiABKAMiGAoHRmliQXJncxINCgVsaW1pdBgB",
+              "IAEoAyISCgNOdW0SCwoDbnVtGAEgASgDIhkKCEZpYlJlcGx5Eg0KBWNvdW50",
+              "GAEgASgDMqQBCgRNYXRoEiYKA0RpdhINLm1hdGguRGl2QXJncxoOLm1hdGgu",
+              "RGl2UmVwbHkiABIuCgdEaXZNYW55Eg0ubWF0aC5EaXZBcmdzGg4ubWF0aC5E",
+              "aXZSZXBseSIAKAEwARIjCgNGaWISDS5tYXRoLkZpYkFyZ3MaCS5tYXRoLk51",
             "bSIAMAESHwoDU3VtEgkubWF0aC5OdW0aCS5tYXRoLk51bSIAKAE="));
         pbd::FileDescriptor.InternalDescriptorAssigner assigner = delegate(pbd::FileDescriptor root) {
           descriptor = root;
           internal__static_math_DivArgs__Descriptor = Descriptor.MessageTypes[0];
-          internal__static_math_DivArgs__FieldAccessorTable = 
+          internal__static_math_DivArgs__FieldAccessorTable =
               new pb::FieldAccess.FieldAccessorTable<global::math.DivArgs, global::math.DivArgs.Builder>(internal__static_math_DivArgs__Descriptor,
                   new string[] { "Dividend", "Divisor", });
           internal__static_math_DivReply__Descriptor = Descriptor.MessageTypes[1];
-          internal__static_math_DivReply__FieldAccessorTable = 
+          internal__static_math_DivReply__FieldAccessorTable =
               new pb::FieldAccess.FieldAccessorTable<global::math.DivReply, global::math.DivReply.Builder>(internal__static_math_DivReply__Descriptor,
                   new string[] { "Quotient", "Remainder", });
           internal__static_math_FibArgs__Descriptor = Descriptor.MessageTypes[2];
-          internal__static_math_FibArgs__FieldAccessorTable = 
+          internal__static_math_FibArgs__FieldAccessorTable =
               new pb::FieldAccess.FieldAccessorTable<global::math.FibArgs, global::math.FibArgs.Builder>(internal__static_math_FibArgs__Descriptor,
                   new string[] { "Limit", });
           internal__static_math_Num__Descriptor = Descriptor.MessageTypes[3];
-          internal__static_math_Num__FieldAccessorTable = 
+          internal__static_math_Num__FieldAccessorTable =
               new pb::FieldAccess.FieldAccessorTable<global::math.Num, global::math.Num.Builder>(internal__static_math_Num__Descriptor,
                   new string[] { "Num_", });
           internal__static_math_FibReply__Descriptor = Descriptor.MessageTypes[4];
-          internal__static_math_FibReply__FieldAccessorTable = 
+          internal__static_math_FibReply__FieldAccessorTable =
               new pb::FieldAccess.FieldAccessorTable<global::math.FibReply, global::math.FibReply.Builder>(internal__static_math_FibReply__Descriptor,
                   new string[] { "Count", });
           pb::ExtensionRegistry registry = pb::ExtensionRegistry.CreateInstance();
@@ -77,7 +77,7 @@
             }, assigner);
       }
       #endregion
-      
+
     }
   }
   #region Messages
@@ -90,23 +90,23 @@
     public static DivArgs DefaultInstance {
       get { return defaultInstance; }
     }
-    
+
     public override DivArgs DefaultInstanceForType {
       get { return DefaultInstance; }
     }
-    
+
     protected override DivArgs ThisMessage {
       get { return this; }
     }
-    
+
     public static pbd::MessageDescriptor Descriptor {
       get { return global::math.Proto.Math.internal__static_math_DivArgs__Descriptor; }
     }
-    
+
     protected override pb::FieldAccess.FieldAccessorTable<DivArgs, DivArgs.Builder> InternalFieldAccessors {
       get { return global::math.Proto.Math.internal__static_math_DivArgs__FieldAccessorTable; }
     }
-    
+
     public const int DividendFieldNumber = 1;
     private bool hasDividend;
     private long dividend_;
@@ -116,7 +116,7 @@
     public long Dividend {
       get { return dividend_; }
     }
-    
+
     public const int DivisorFieldNumber = 2;
     private bool hasDivisor;
     private long divisor_;
@@ -126,13 +126,13 @@
     public long Divisor {
       get { return divisor_; }
     }
-    
+
     public override bool IsInitialized {
       get {
         return true;
       }
     }
-    
+
     public override void WriteTo(pb::ICodedOutputStream output) {
       int size = SerializedSize;
       string[] field_names = _divArgsFieldNames;
@@ -144,13 +144,13 @@
       }
       UnknownFields.WriteTo(output);
     }
-    
+
     private int memoizedSerializedSize = -1;
     public override int SerializedSize {
       get {
         int size = memoizedSerializedSize;
         if (size != -1) return size;
-        
+
         size = 0;
         if (hasDividend) {
           size += pb::CodedOutputStream.ComputeInt64Size(1, Dividend);
@@ -163,7 +163,7 @@
         return size;
       }
     }
-    
+
     public static DivArgs ParseFrom(pb::ByteString data) {
       return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
     }
@@ -197,14 +197,14 @@
     private DivArgs MakeReadOnly() {
       return this;
     }
-    
+
     public static Builder CreateBuilder() { return new Builder(); }
     public override Builder ToBuilder() { return CreateBuilder(this); }
     public override Builder CreateBuilderForType() { return new Builder(); }
     public static Builder CreateBuilder(DivArgs prototype) {
       return new Builder(prototype);
     }
-    
+
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     public sealed partial class Builder : pb::GeneratedBuilder<DivArgs, Builder> {
       protected override Builder ThisBuilder {
@@ -218,10 +218,10 @@
         result = cloneFrom;
         resultIsReadOnly = true;
       }
-      
+
       private bool resultIsReadOnly;
       private DivArgs result;
-      
+
       private DivArgs PrepareBuilder() {
         if (resultIsReadOnly) {
           DivArgs original = result;
@@ -231,21 +231,21 @@
         }
         return result;
       }
-      
+
       public override bool IsInitialized {
         get { return result.IsInitialized; }
       }
-      
+
       protected override DivArgs MessageBeingBuilt {
         get { return PrepareBuilder(); }
       }
-      
+
       public override Builder Clear() {
         result = DefaultInstance;
         resultIsReadOnly = true;
         return this;
       }
-      
+
       public override Builder Clone() {
         if (resultIsReadOnly) {
           return new Builder(result);
@@ -253,15 +253,15 @@
           return new Builder().MergeFrom(result);
         }
       }
-      
+
       public override pbd::MessageDescriptor DescriptorForType {
         get { return global::math.DivArgs.Descriptor; }
       }
-      
+
       public override DivArgs DefaultInstanceForType {
         get { return global::math.DivArgs.DefaultInstance; }
       }
-      
+
       public override DivArgs BuildPartial() {
         if (resultIsReadOnly) {
           return result;
@@ -269,7 +269,7 @@
         resultIsReadOnly = true;
         return result.MakeReadOnly();
       }
-      
+
       public override Builder MergeFrom(pb::IMessage other) {
         if (other is DivArgs) {
           return MergeFrom((DivArgs) other);
@@ -278,7 +278,7 @@
           return this;
         }
       }
-      
+
       public override Builder MergeFrom(DivArgs other) {
         if (other == global::math.DivArgs.DefaultInstance) return this;
         PrepareBuilder();
@@ -291,11 +291,11 @@
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input) {
         return MergeFrom(input, pb::ExtensionRegistry.Empty);
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
         PrepareBuilder();
         pb::UnknownFieldSet.Builder unknownFields = null;
@@ -341,14 +341,14 @@
             }
           }
         }
-        
+
         if (unknownFields != null) {
           this.UnknownFields = unknownFields.Build();
         }
         return this;
       }
-      
-      
+
+
       public bool HasDividend {
         get { return result.hasDividend; }
       }
@@ -368,7 +368,7 @@
         result.dividend_ = 0L;
         return this;
       }
-      
+
       public bool HasDivisor {
         get { return result.hasDivisor; }
       }
@@ -393,7 +393,7 @@
       object.ReferenceEquals(global::math.Proto.Math.Descriptor, null);
     }
   }
-  
+
   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
   public sealed partial class DivReply : pb::GeneratedMessage<DivReply, DivReply.Builder> {
     private DivReply() { }
@@ -403,23 +403,23 @@
     public static DivReply DefaultInstance {
       get { return defaultInstance; }
     }
-    
+
     public override DivReply DefaultInstanceForType {
       get { return DefaultInstance; }
     }
-    
+
     protected override DivReply ThisMessage {
       get { return this; }
     }
-    
+
     public static pbd::MessageDescriptor Descriptor {
       get { return global::math.Proto.Math.internal__static_math_DivReply__Descriptor; }
     }
-    
+
     protected override pb::FieldAccess.FieldAccessorTable<DivReply, DivReply.Builder> InternalFieldAccessors {
       get { return global::math.Proto.Math.internal__static_math_DivReply__FieldAccessorTable; }
     }
-    
+
     public const int QuotientFieldNumber = 1;
     private bool hasQuotient;
     private long quotient_;
@@ -429,7 +429,7 @@
     public long Quotient {
       get { return quotient_; }
     }
-    
+
     public const int RemainderFieldNumber = 2;
     private bool hasRemainder;
     private long remainder_;
@@ -439,13 +439,13 @@
     public long Remainder {
       get { return remainder_; }
     }
-    
+
     public override bool IsInitialized {
       get {
         return true;
       }
     }
-    
+
     public override void WriteTo(pb::ICodedOutputStream output) {
       int size = SerializedSize;
       string[] field_names = _divReplyFieldNames;
@@ -457,13 +457,13 @@
       }
       UnknownFields.WriteTo(output);
     }
-    
+
     private int memoizedSerializedSize = -1;
     public override int SerializedSize {
       get {
         int size = memoizedSerializedSize;
         if (size != -1) return size;
-        
+
         size = 0;
         if (hasQuotient) {
           size += pb::CodedOutputStream.ComputeInt64Size(1, Quotient);
@@ -476,7 +476,7 @@
         return size;
       }
     }
-    
+
     public static DivReply ParseFrom(pb::ByteString data) {
       return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
     }
@@ -510,14 +510,14 @@
     private DivReply MakeReadOnly() {
       return this;
     }
-    
+
     public static Builder CreateBuilder() { return new Builder(); }
     public override Builder ToBuilder() { return CreateBuilder(this); }
     public override Builder CreateBuilderForType() { return new Builder(); }
     public static Builder CreateBuilder(DivReply prototype) {
       return new Builder(prototype);
     }
-    
+
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     public sealed partial class Builder : pb::GeneratedBuilder<DivReply, Builder> {
       protected override Builder ThisBuilder {
@@ -531,10 +531,10 @@
         result = cloneFrom;
         resultIsReadOnly = true;
       }
-      
+
       private bool resultIsReadOnly;
       private DivReply result;
-      
+
       private DivReply PrepareBuilder() {
         if (resultIsReadOnly) {
           DivReply original = result;
@@ -544,21 +544,21 @@
         }
         return result;
       }
-      
+
       public override bool IsInitialized {
         get { return result.IsInitialized; }
       }
-      
+
       protected override DivReply MessageBeingBuilt {
         get { return PrepareBuilder(); }
       }
-      
+
       public override Builder Clear() {
         result = DefaultInstance;
         resultIsReadOnly = true;
         return this;
       }
-      
+
       public override Builder Clone() {
         if (resultIsReadOnly) {
           return new Builder(result);
@@ -566,15 +566,15 @@
           return new Builder().MergeFrom(result);
         }
       }
-      
+
       public override pbd::MessageDescriptor DescriptorForType {
         get { return global::math.DivReply.Descriptor; }
       }
-      
+
       public override DivReply DefaultInstanceForType {
         get { return global::math.DivReply.DefaultInstance; }
       }
-      
+
       public override DivReply BuildPartial() {
         if (resultIsReadOnly) {
           return result;
@@ -582,7 +582,7 @@
         resultIsReadOnly = true;
         return result.MakeReadOnly();
       }
-      
+
       public override Builder MergeFrom(pb::IMessage other) {
         if (other is DivReply) {
           return MergeFrom((DivReply) other);
@@ -591,7 +591,7 @@
           return this;
         }
       }
-      
+
       public override Builder MergeFrom(DivReply other) {
         if (other == global::math.DivReply.DefaultInstance) return this;
         PrepareBuilder();
@@ -604,11 +604,11 @@
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input) {
         return MergeFrom(input, pb::ExtensionRegistry.Empty);
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
         PrepareBuilder();
         pb::UnknownFieldSet.Builder unknownFields = null;
@@ -654,14 +654,14 @@
             }
           }
         }
-        
+
         if (unknownFields != null) {
           this.UnknownFields = unknownFields.Build();
         }
         return this;
       }
-      
-      
+
+
       public bool HasQuotient {
         get { return result.hasQuotient; }
       }
@@ -681,7 +681,7 @@
         result.quotient_ = 0L;
         return this;
       }
-      
+
       public bool HasRemainder {
         get { return result.hasRemainder; }
       }
@@ -706,7 +706,7 @@
       object.ReferenceEquals(global::math.Proto.Math.Descriptor, null);
     }
   }
-  
+
   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
   public sealed partial class FibArgs : pb::GeneratedMessage<FibArgs, FibArgs.Builder> {
     private FibArgs() { }
@@ -716,23 +716,23 @@
     public static FibArgs DefaultInstance {
       get { return defaultInstance; }
     }
-    
+
     public override FibArgs DefaultInstanceForType {
       get { return DefaultInstance; }
     }
-    
+
     protected override FibArgs ThisMessage {
       get { return this; }
     }
-    
+
     public static pbd::MessageDescriptor Descriptor {
       get { return global::math.Proto.Math.internal__static_math_FibArgs__Descriptor; }
     }
-    
+
     protected override pb::FieldAccess.FieldAccessorTable<FibArgs, FibArgs.Builder> InternalFieldAccessors {
       get { return global::math.Proto.Math.internal__static_math_FibArgs__FieldAccessorTable; }
     }
-    
+
     public const int LimitFieldNumber = 1;
     private bool hasLimit;
     private long limit_;
@@ -742,13 +742,13 @@
     public long Limit {
       get { return limit_; }
     }
-    
+
     public override bool IsInitialized {
       get {
         return true;
       }
     }
-    
+
     public override void WriteTo(pb::ICodedOutputStream output) {
       int size = SerializedSize;
       string[] field_names = _fibArgsFieldNames;
@@ -757,13 +757,13 @@
       }
       UnknownFields.WriteTo(output);
     }
-    
+
     private int memoizedSerializedSize = -1;
     public override int SerializedSize {
       get {
         int size = memoizedSerializedSize;
         if (size != -1) return size;
-        
+
         size = 0;
         if (hasLimit) {
           size += pb::CodedOutputStream.ComputeInt64Size(1, Limit);
@@ -773,7 +773,7 @@
         return size;
       }
     }
-    
+
     public static FibArgs ParseFrom(pb::ByteString data) {
       return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
     }
@@ -807,14 +807,14 @@
     private FibArgs MakeReadOnly() {
       return this;
     }
-    
+
     public static Builder CreateBuilder() { return new Builder(); }
     public override Builder ToBuilder() { return CreateBuilder(this); }
     public override Builder CreateBuilderForType() { return new Builder(); }
     public static Builder CreateBuilder(FibArgs prototype) {
       return new Builder(prototype);
     }
-    
+
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     public sealed partial class Builder : pb::GeneratedBuilder<FibArgs, Builder> {
       protected override Builder ThisBuilder {
@@ -828,10 +828,10 @@
         result = cloneFrom;
         resultIsReadOnly = true;
       }
-      
+
       private bool resultIsReadOnly;
       private FibArgs result;
-      
+
       private FibArgs PrepareBuilder() {
         if (resultIsReadOnly) {
           FibArgs original = result;
@@ -841,21 +841,21 @@
         }
         return result;
       }
-      
+
       public override bool IsInitialized {
         get { return result.IsInitialized; }
       }
-      
+
       protected override FibArgs MessageBeingBuilt {
         get { return PrepareBuilder(); }
       }
-      
+
       public override Builder Clear() {
         result = DefaultInstance;
         resultIsReadOnly = true;
         return this;
       }
-      
+
       public override Builder Clone() {
         if (resultIsReadOnly) {
           return new Builder(result);
@@ -863,15 +863,15 @@
           return new Builder().MergeFrom(result);
         }
       }
-      
+
       public override pbd::MessageDescriptor DescriptorForType {
         get { return global::math.FibArgs.Descriptor; }
       }
-      
+
       public override FibArgs DefaultInstanceForType {
         get { return global::math.FibArgs.DefaultInstance; }
       }
-      
+
       public override FibArgs BuildPartial() {
         if (resultIsReadOnly) {
           return result;
@@ -879,7 +879,7 @@
         resultIsReadOnly = true;
         return result.MakeReadOnly();
       }
-      
+
       public override Builder MergeFrom(pb::IMessage other) {
         if (other is FibArgs) {
           return MergeFrom((FibArgs) other);
@@ -888,7 +888,7 @@
           return this;
         }
       }
-      
+
       public override Builder MergeFrom(FibArgs other) {
         if (other == global::math.FibArgs.DefaultInstance) return this;
         PrepareBuilder();
@@ -898,11 +898,11 @@
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input) {
         return MergeFrom(input, pb::ExtensionRegistry.Empty);
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
         PrepareBuilder();
         pb::UnknownFieldSet.Builder unknownFields = null;
@@ -944,14 +944,14 @@
             }
           }
         }
-        
+
         if (unknownFields != null) {
           this.UnknownFields = unknownFields.Build();
         }
         return this;
       }
-      
-      
+
+
       public bool HasLimit {
         get { return result.hasLimit; }
       }
@@ -976,7 +976,7 @@
       object.ReferenceEquals(global::math.Proto.Math.Descriptor, null);
     }
   }
-  
+
   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
   public sealed partial class Num : pb::GeneratedMessage<Num, Num.Builder> {
     private Num() { }
@@ -986,23 +986,23 @@
     public static Num DefaultInstance {
       get { return defaultInstance; }
     }
-    
+
     public override Num DefaultInstanceForType {
       get { return DefaultInstance; }
     }
-    
+
     protected override Num ThisMessage {
       get { return this; }
     }
-    
+
     public static pbd::MessageDescriptor Descriptor {
       get { return global::math.Proto.Math.internal__static_math_Num__Descriptor; }
     }
-    
+
     protected override pb::FieldAccess.FieldAccessorTable<Num, Num.Builder> InternalFieldAccessors {
       get { return global::math.Proto.Math.internal__static_math_Num__FieldAccessorTable; }
     }
-    
+
     public const int Num_FieldNumber = 1;
     private bool hasNum_;
     private long num_;
@@ -1012,13 +1012,13 @@
     public long Num_ {
       get { return num_; }
     }
-    
+
     public override bool IsInitialized {
       get {
         return true;
       }
     }
-    
+
     public override void WriteTo(pb::ICodedOutputStream output) {
       int size = SerializedSize;
       string[] field_names = _numFieldNames;
@@ -1027,13 +1027,13 @@
       }
       UnknownFields.WriteTo(output);
     }
-    
+
     private int memoizedSerializedSize = -1;
     public override int SerializedSize {
       get {
         int size = memoizedSerializedSize;
         if (size != -1) return size;
-        
+
         size = 0;
         if (hasNum_) {
           size += pb::CodedOutputStream.ComputeInt64Size(1, Num_);
@@ -1043,7 +1043,7 @@
         return size;
       }
     }
-    
+
     public static Num ParseFrom(pb::ByteString data) {
       return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
     }
@@ -1077,14 +1077,14 @@
     private Num MakeReadOnly() {
       return this;
     }
-    
+
     public static Builder CreateBuilder() { return new Builder(); }
     public override Builder ToBuilder() { return CreateBuilder(this); }
     public override Builder CreateBuilderForType() { return new Builder(); }
     public static Builder CreateBuilder(Num prototype) {
       return new Builder(prototype);
     }
-    
+
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     public sealed partial class Builder : pb::GeneratedBuilder<Num, Builder> {
       protected override Builder ThisBuilder {
@@ -1098,10 +1098,10 @@
         result = cloneFrom;
         resultIsReadOnly = true;
       }
-      
+
       private bool resultIsReadOnly;
       private Num result;
-      
+
       private Num PrepareBuilder() {
         if (resultIsReadOnly) {
           Num original = result;
@@ -1111,21 +1111,21 @@
         }
         return result;
       }
-      
+
       public override bool IsInitialized {
         get { return result.IsInitialized; }
       }
-      
+
       protected override Num MessageBeingBuilt {
         get { return PrepareBuilder(); }
       }
-      
+
       public override Builder Clear() {
         result = DefaultInstance;
         resultIsReadOnly = true;
         return this;
       }
-      
+
       public override Builder Clone() {
         if (resultIsReadOnly) {
           return new Builder(result);
@@ -1133,15 +1133,15 @@
           return new Builder().MergeFrom(result);
         }
       }
-      
+
       public override pbd::MessageDescriptor DescriptorForType {
         get { return global::math.Num.Descriptor; }
       }
-      
+
       public override Num DefaultInstanceForType {
         get { return global::math.Num.DefaultInstance; }
       }
-      
+
       public override Num BuildPartial() {
         if (resultIsReadOnly) {
           return result;
@@ -1149,7 +1149,7 @@
         resultIsReadOnly = true;
         return result.MakeReadOnly();
       }
-      
+
       public override Builder MergeFrom(pb::IMessage other) {
         if (other is Num) {
           return MergeFrom((Num) other);
@@ -1158,7 +1158,7 @@
           return this;
         }
       }
-      
+
       public override Builder MergeFrom(Num other) {
         if (other == global::math.Num.DefaultInstance) return this;
         PrepareBuilder();
@@ -1168,11 +1168,11 @@
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input) {
         return MergeFrom(input, pb::ExtensionRegistry.Empty);
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
         PrepareBuilder();
         pb::UnknownFieldSet.Builder unknownFields = null;
@@ -1214,14 +1214,14 @@
             }
           }
         }
-        
+
         if (unknownFields != null) {
           this.UnknownFields = unknownFields.Build();
         }
         return this;
       }
-      
-      
+
+
       public bool HasNum_ {
         get { return result.hasNum_; }
       }
@@ -1246,7 +1246,7 @@
       object.ReferenceEquals(global::math.Proto.Math.Descriptor, null);
     }
   }
-  
+
   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
   public sealed partial class FibReply : pb::GeneratedMessage<FibReply, FibReply.Builder> {
     private FibReply() { }
@@ -1256,23 +1256,23 @@
     public static FibReply DefaultInstance {
       get { return defaultInstance; }
     }
-    
+
     public override FibReply DefaultInstanceForType {
       get { return DefaultInstance; }
     }
-    
+
     protected override FibReply ThisMessage {
       get { return this; }
     }
-    
+
     public static pbd::MessageDescriptor Descriptor {
       get { return global::math.Proto.Math.internal__static_math_FibReply__Descriptor; }
     }
-    
+
     protected override pb::FieldAccess.FieldAccessorTable<FibReply, FibReply.Builder> InternalFieldAccessors {
       get { return global::math.Proto.Math.internal__static_math_FibReply__FieldAccessorTable; }
     }
-    
+
     public const int CountFieldNumber = 1;
     private bool hasCount;
     private long count_;
@@ -1282,13 +1282,13 @@
     public long Count {
       get { return count_; }
     }
-    
+
     public override bool IsInitialized {
       get {
         return true;
       }
     }
-    
+
     public override void WriteTo(pb::ICodedOutputStream output) {
       int size = SerializedSize;
       string[] field_names = _fibReplyFieldNames;
@@ -1297,13 +1297,13 @@
       }
       UnknownFields.WriteTo(output);
     }
-    
+
     private int memoizedSerializedSize = -1;
     public override int SerializedSize {
       get {
         int size = memoizedSerializedSize;
         if (size != -1) return size;
-        
+
         size = 0;
         if (hasCount) {
           size += pb::CodedOutputStream.ComputeInt64Size(1, Count);
@@ -1313,7 +1313,7 @@
         return size;
       }
     }
-    
+
     public static FibReply ParseFrom(pb::ByteString data) {
       return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
     }
@@ -1347,14 +1347,14 @@
     private FibReply MakeReadOnly() {
       return this;
     }
-    
+
     public static Builder CreateBuilder() { return new Builder(); }
     public override Builder ToBuilder() { return CreateBuilder(this); }
     public override Builder CreateBuilderForType() { return new Builder(); }
     public static Builder CreateBuilder(FibReply prototype) {
       return new Builder(prototype);
     }
-    
+
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     public sealed partial class Builder : pb::GeneratedBuilder<FibReply, Builder> {
       protected override Builder ThisBuilder {
@@ -1368,10 +1368,10 @@
         result = cloneFrom;
         resultIsReadOnly = true;
       }
-      
+
       private bool resultIsReadOnly;
       private FibReply result;
-      
+
       private FibReply PrepareBuilder() {
         if (resultIsReadOnly) {
           FibReply original = result;
@@ -1381,21 +1381,21 @@
         }
         return result;
       }
-      
+
       public override bool IsInitialized {
         get { return result.IsInitialized; }
       }
-      
+
       protected override FibReply MessageBeingBuilt {
         get { return PrepareBuilder(); }
       }
-      
+
       public override Builder Clear() {
         result = DefaultInstance;
         resultIsReadOnly = true;
         return this;
       }
-      
+
       public override Builder Clone() {
         if (resultIsReadOnly) {
           return new Builder(result);
@@ -1403,15 +1403,15 @@
           return new Builder().MergeFrom(result);
         }
       }
-      
+
       public override pbd::MessageDescriptor DescriptorForType {
         get { return global::math.FibReply.Descriptor; }
       }
-      
+
       public override FibReply DefaultInstanceForType {
         get { return global::math.FibReply.DefaultInstance; }
       }
-      
+
       public override FibReply BuildPartial() {
         if (resultIsReadOnly) {
           return result;
@@ -1419,7 +1419,7 @@
         resultIsReadOnly = true;
         return result.MakeReadOnly();
       }
-      
+
       public override Builder MergeFrom(pb::IMessage other) {
         if (other is FibReply) {
           return MergeFrom((FibReply) other);
@@ -1428,7 +1428,7 @@
           return this;
         }
       }
-      
+
       public override Builder MergeFrom(FibReply other) {
         if (other == global::math.FibReply.DefaultInstance) return this;
         PrepareBuilder();
@@ -1438,11 +1438,11 @@
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input) {
         return MergeFrom(input, pb::ExtensionRegistry.Empty);
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
         PrepareBuilder();
         pb::UnknownFieldSet.Builder unknownFields = null;
@@ -1484,14 +1484,14 @@
             }
           }
         }
-        
+
         if (unknownFields != null) {
           this.UnknownFields = unknownFields.Build();
         }
         return this;
       }
-      
-      
+
+
       public bool HasCount {
         get { return result.hasCount; }
       }
@@ -1516,16 +1516,16 @@
       object.ReferenceEquals(global::math.Proto.Math.Descriptor, null);
     }
   }
-  
+
   #endregion
-  
+
   #region Services
   /*
   * Service generation is now disabled by default, use the following option to enable:
   * option (google.protobuf.csharp_file_options).service_generator_type = GENERIC;
   */
   #endregion
-  
+
 }
 
 #endregion Designer generated code
diff --git a/src/csharp/GrpcApi/MathExamples.cs b/src/csharp/GrpcApi/MathExamples.cs
index 07bcc9c..2202c52 100644
--- a/src/csharp/GrpcApi/MathExamples.cs
+++ b/src/csharp/GrpcApi/MathExamples.cs
@@ -2,11 +2,11 @@
 
 // Copyright 2015, Google Inc.
 // All rights reserved.
-// 
+//
 // Redistribution and use in source and binary forms, with or without
 // modification, are permitted provided that the following conditions are
 // met:
-// 
+//
 //     * Redistributions of source code must retain the above copyright
 // notice, this list of conditions and the following disclaimer.
 //     * Redistributions in binary form must reproduce the above
@@ -16,7 +16,7 @@
 //     * Neither the name of Google Inc. nor the names of its
 // contributors may be used to endorse or promote products derived from
 // this software without specific prior written permission.
-// 
+//
 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@@ -72,10 +72,10 @@
 
 		public static void SumExample(MathGrpc.IMathServiceClient stub)
 		{
-			List<Num> numbers = new List<Num>{new Num.Builder { Num_ = 1 }.Build(), 
+			List<Num> numbers = new List<Num>{new Num.Builder { Num_ = 1 }.Build(),
 				new Num.Builder { Num_ = 2 }.Build(),
 				new Num.Builder { Num_ = 3 }.Build()};
-			
+
             var res = stub.Sum();
             foreach (var num in numbers) {
                 res.Inputs.OnNext(num);
@@ -94,7 +94,7 @@
 			};
 
             var recorder = new RecordingObserver<DivReply>();
-			
+
             var inputs = stub.DivMany(recorder);
             foreach (var input in divArgsList)
             {
@@ -108,14 +108,14 @@
 		public static void DependendRequestsExample(MathGrpc.IMathServiceClient stub)
 		{
 			var numberList = new List<Num>
-			{ new Num.Builder{ Num_ = 1 }.Build(), 
+			{ new Num.Builder{ Num_ = 1 }.Build(),
 				new Num.Builder{ Num_ = 2 }.Build(), new Num.Builder{ Num_ = 3 }.Build()
 			};
 
 			numberList.ToObservable();
 
 			//IObserver<Num> numbers;
-			//Task<Num> call = stub.Sum(out numbers);            
+			//Task<Num> call = stub.Sum(out numbers);
 			//foreach (var num in numberList)
 			//{
 			//	numbers.OnNext(num);
diff --git a/src/csharp/GrpcApi/MathGrpc.cs b/src/csharp/GrpcApi/MathGrpc.cs
index 606e7f0..caea160 100644
--- a/src/csharp/GrpcApi/MathGrpc.cs
+++ b/src/csharp/GrpcApi/MathGrpc.cs
@@ -2,11 +2,11 @@
 
 // Copyright 2015, Google Inc.
 // All rights reserved.
-// 
+//
 // Redistribution and use in source and binary forms, with or without
 // modification, are permitted provided that the following conditions are
 // met:
-// 
+//
 //     * Redistributions of source code must retain the above copyright
 // notice, this list of conditions and the following disclaimer.
 //     * Redistributions in binary form must reproduce the above
@@ -16,7 +16,7 @@
 //     * Neither the name of Google Inc. nor the names of its
 // contributors may be used to endorse or promote products derived from
 // this software without specific prior written permission.
-// 
+//
 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@@ -154,4 +154,4 @@
             return new MathServiceClientStub(channel);
         }
     }
-}
\ No newline at end of file
+}
diff --git a/src/csharp/GrpcApi/MathServiceImpl.cs b/src/csharp/GrpcApi/MathServiceImpl.cs
index ffd794d..1a2f98f 100644
--- a/src/csharp/GrpcApi/MathServiceImpl.cs
+++ b/src/csharp/GrpcApi/MathServiceImpl.cs
@@ -2,11 +2,11 @@
 
 // Copyright 2015, Google Inc.
 // All rights reserved.
-// 
+//
 // Redistribution and use in source and binary forms, with or without
 // modification, are permitted provided that the following conditions are
 // met:
-// 
+//
 //     * Redistributions of source code must retain the above copyright
 // notice, this list of conditions and the following disclaimer.
 //     * Redistributions in binary form must reproduce the above
@@ -16,7 +16,7 @@
 //     * Neither the name of Google Inc. nor the names of its
 // contributors may be used to endorse or promote products derived from
 // this software without specific prior written permission.
-// 
+//
 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@@ -59,7 +59,7 @@
                 // TODO: support cancellation....
                 throw new NotImplementedException("Not implemented yet");
             }
-                                  
+
             if (request.Limit > 0)
             {
                 foreach (var num in FibInternal(request.Limit))
@@ -124,7 +124,7 @@
             {
                 this.responseObserver = responseObserver;
             }
-            
+
             public void OnCompleted()
             {
                 Task.Factory.StartNew(() =>
@@ -143,7 +143,7 @@
                 // callback is called from grpc threadpool which
                 // currently only has one thread.
                 // Same story for OnCompleted().
-                Task.Factory.StartNew(() => 
+                Task.Factory.StartNew(() =>
                 responseObserver.OnNext(DivInternal(value)));
             }
         }
diff --git a/src/csharp/GrpcApi/Messages.cs b/src/csharp/GrpcApi/Messages.cs
index 78e3404..386f377 100644
--- a/src/csharp/GrpcApi/Messages.cs
+++ b/src/csharp/GrpcApi/Messages.cs
@@ -7,10 +7,10 @@
 using pbd = global::Google.ProtocolBuffers.Descriptors;
 using scg = global::System.Collections.Generic;
 namespace grpc.testing {
-  
+
   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
   public static partial class Messages {
-  
+
     #region Extension registration
     public static void RegisterAllExtensions(pb::ExtensionRegistry registry) {
     }
@@ -38,62 +38,62 @@
       get { return descriptor; }
     }
     private static pbd::FileDescriptor descriptor;
-    
+
     static Messages() {
       byte[] descriptorData = global::System.Convert.FromBase64String(
           string.Concat(
-            "Cg5tZXNzYWdlcy5wcm90bxIMZ3JwYy50ZXN0aW5nIkAKB1BheWxvYWQSJwoE", 
-            "dHlwZRgBIAEoDjIZLmdycGMudGVzdGluZy5QYXlsb2FkVHlwZRIMCgRib2R5", 
-            "GAIgASgMIrEBCg1TaW1wbGVSZXF1ZXN0EjAKDXJlc3BvbnNlX3R5cGUYASAB", 
-            "KA4yGS5ncnBjLnRlc3RpbmcuUGF5bG9hZFR5cGUSFQoNcmVzcG9uc2Vfc2l6", 
-            "ZRgCIAEoBRImCgdwYXlsb2FkGAMgASgLMhUuZ3JwYy50ZXN0aW5nLlBheWxv", 
-            "YWQSFQoNZmlsbF91c2VybmFtZRgEIAEoCBIYChBmaWxsX29hdXRoX3Njb3Bl", 
-            "GAUgASgIIl8KDlNpbXBsZVJlc3BvbnNlEiYKB3BheWxvYWQYASABKAsyFS5n", 
-            "cnBjLnRlc3RpbmcuUGF5bG9hZBIQCgh1c2VybmFtZRgCIAEoCRITCgtvYXV0", 
-            "aF9zY29wZRgDIAEoCSJDChlTdHJlYW1pbmdJbnB1dENhbGxSZXF1ZXN0EiYK", 
-            "B3BheWxvYWQYASABKAsyFS5ncnBjLnRlc3RpbmcuUGF5bG9hZCI9ChpTdHJl", 
-            "YW1pbmdJbnB1dENhbGxSZXNwb25zZRIfChdhZ2dyZWdhdGVkX3BheWxvYWRf", 
-            "c2l6ZRgBIAEoBSI3ChJSZXNwb25zZVBhcmFtZXRlcnMSDAoEc2l6ZRgBIAEo", 
-            "BRITCgtpbnRlcnZhbF91cxgCIAEoBSK1AQoaU3RyZWFtaW5nT3V0cHV0Q2Fs", 
-            "bFJlcXVlc3QSMAoNcmVzcG9uc2VfdHlwZRgBIAEoDjIZLmdycGMudGVzdGlu", 
-            "Zy5QYXlsb2FkVHlwZRI9ChNyZXNwb25zZV9wYXJhbWV0ZXJzGAIgAygLMiAu", 
-            "Z3JwYy50ZXN0aW5nLlJlc3BvbnNlUGFyYW1ldGVycxImCgdwYXlsb2FkGAMg", 
-            "ASgLMhUuZ3JwYy50ZXN0aW5nLlBheWxvYWQiRQobU3RyZWFtaW5nT3V0cHV0", 
-            "Q2FsbFJlc3BvbnNlEiYKB3BheWxvYWQYASABKAsyFS5ncnBjLnRlc3Rpbmcu", 
-            "UGF5bG9hZCo/CgtQYXlsb2FkVHlwZRIQCgxDT01QUkVTU0FCTEUQABISCg5V", 
+            "Cg5tZXNzYWdlcy5wcm90bxIMZ3JwYy50ZXN0aW5nIkAKB1BheWxvYWQSJwoE",
+            "dHlwZRgBIAEoDjIZLmdycGMudGVzdGluZy5QYXlsb2FkVHlwZRIMCgRib2R5",
+            "GAIgASgMIrEBCg1TaW1wbGVSZXF1ZXN0EjAKDXJlc3BvbnNlX3R5cGUYASAB",
+            "KA4yGS5ncnBjLnRlc3RpbmcuUGF5bG9hZFR5cGUSFQoNcmVzcG9uc2Vfc2l6",
+            "ZRgCIAEoBRImCgdwYXlsb2FkGAMgASgLMhUuZ3JwYy50ZXN0aW5nLlBheWxv",
+            "YWQSFQoNZmlsbF91c2VybmFtZRgEIAEoCBIYChBmaWxsX29hdXRoX3Njb3Bl",
+            "GAUgASgIIl8KDlNpbXBsZVJlc3BvbnNlEiYKB3BheWxvYWQYASABKAsyFS5n",
+            "cnBjLnRlc3RpbmcuUGF5bG9hZBIQCgh1c2VybmFtZRgCIAEoCRITCgtvYXV0",
+            "aF9zY29wZRgDIAEoCSJDChlTdHJlYW1pbmdJbnB1dENhbGxSZXF1ZXN0EiYK",
+            "B3BheWxvYWQYASABKAsyFS5ncnBjLnRlc3RpbmcuUGF5bG9hZCI9ChpTdHJl",
+            "YW1pbmdJbnB1dENhbGxSZXNwb25zZRIfChdhZ2dyZWdhdGVkX3BheWxvYWRf",
+            "c2l6ZRgBIAEoBSI3ChJSZXNwb25zZVBhcmFtZXRlcnMSDAoEc2l6ZRgBIAEo",
+            "BRITCgtpbnRlcnZhbF91cxgCIAEoBSK1AQoaU3RyZWFtaW5nT3V0cHV0Q2Fs",
+            "bFJlcXVlc3QSMAoNcmVzcG9uc2VfdHlwZRgBIAEoDjIZLmdycGMudGVzdGlu",
+            "Zy5QYXlsb2FkVHlwZRI9ChNyZXNwb25zZV9wYXJhbWV0ZXJzGAIgAygLMiAu",
+            "Z3JwYy50ZXN0aW5nLlJlc3BvbnNlUGFyYW1ldGVycxImCgdwYXlsb2FkGAMg",
+            "ASgLMhUuZ3JwYy50ZXN0aW5nLlBheWxvYWQiRQobU3RyZWFtaW5nT3V0cHV0",
+            "Q2FsbFJlc3BvbnNlEiYKB3BheWxvYWQYASABKAsyFS5ncnBjLnRlc3Rpbmcu",
+            "UGF5bG9hZCo/CgtQYXlsb2FkVHlwZRIQCgxDT01QUkVTU0FCTEUQABISCg5V",
           "TkNPTVBSRVNTQUJMRRABEgoKBlJBTkRPTRAC"));
       pbd::FileDescriptor.InternalDescriptorAssigner assigner = delegate(pbd::FileDescriptor root) {
         descriptor = root;
         internal__static_grpc_testing_Payload__Descriptor = Descriptor.MessageTypes[0];
-        internal__static_grpc_testing_Payload__FieldAccessorTable = 
+        internal__static_grpc_testing_Payload__FieldAccessorTable =
             new pb::FieldAccess.FieldAccessorTable<global::grpc.testing.Payload, global::grpc.testing.Payload.Builder>(internal__static_grpc_testing_Payload__Descriptor,
                 new string[] { "Type", "Body", });
         internal__static_grpc_testing_SimpleRequest__Descriptor = Descriptor.MessageTypes[1];
-        internal__static_grpc_testing_SimpleRequest__FieldAccessorTable = 
+        internal__static_grpc_testing_SimpleRequest__FieldAccessorTable =
             new pb::FieldAccess.FieldAccessorTable<global::grpc.testing.SimpleRequest, global::grpc.testing.SimpleRequest.Builder>(internal__static_grpc_testing_SimpleRequest__Descriptor,
                 new string[] { "ResponseType", "ResponseSize", "Payload", "FillUsername", "FillOauthScope", });
         internal__static_grpc_testing_SimpleResponse__Descriptor = Descriptor.MessageTypes[2];
-        internal__static_grpc_testing_SimpleResponse__FieldAccessorTable = 
+        internal__static_grpc_testing_SimpleResponse__FieldAccessorTable =
             new pb::FieldAccess.FieldAccessorTable<global::grpc.testing.SimpleResponse, global::grpc.testing.SimpleResponse.Builder>(internal__static_grpc_testing_SimpleResponse__Descriptor,
                 new string[] { "Payload", "Username", "OauthScope", });
         internal__static_grpc_testing_StreamingInputCallRequest__Descriptor = Descriptor.MessageTypes[3];
-        internal__static_grpc_testing_StreamingInputCallRequest__FieldAccessorTable = 
+        internal__static_grpc_testing_StreamingInputCallRequest__FieldAccessorTable =
             new pb::FieldAccess.FieldAccessorTable<global::grpc.testing.StreamingInputCallRequest, global::grpc.testing.StreamingInputCallRequest.Builder>(internal__static_grpc_testing_StreamingInputCallRequest__Descriptor,
                 new string[] { "Payload", });
         internal__static_grpc_testing_StreamingInputCallResponse__Descriptor = Descriptor.MessageTypes[4];
-        internal__static_grpc_testing_StreamingInputCallResponse__FieldAccessorTable = 
+        internal__static_grpc_testing_StreamingInputCallResponse__FieldAccessorTable =
             new pb::FieldAccess.FieldAccessorTable<global::grpc.testing.StreamingInputCallResponse, global::grpc.testing.StreamingInputCallResponse.Builder>(internal__static_grpc_testing_StreamingInputCallResponse__Descriptor,
                 new string[] { "AggregatedPayloadSize", });
         internal__static_grpc_testing_ResponseParameters__Descriptor = Descriptor.MessageTypes[5];
-        internal__static_grpc_testing_ResponseParameters__FieldAccessorTable = 
+        internal__static_grpc_testing_ResponseParameters__FieldAccessorTable =
             new pb::FieldAccess.FieldAccessorTable<global::grpc.testing.ResponseParameters, global::grpc.testing.ResponseParameters.Builder>(internal__static_grpc_testing_ResponseParameters__Descriptor,
                 new string[] { "Size", "IntervalUs", });
         internal__static_grpc_testing_StreamingOutputCallRequest__Descriptor = Descriptor.MessageTypes[6];
-        internal__static_grpc_testing_StreamingOutputCallRequest__FieldAccessorTable = 
+        internal__static_grpc_testing_StreamingOutputCallRequest__FieldAccessorTable =
             new pb::FieldAccess.FieldAccessorTable<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallRequest.Builder>(internal__static_grpc_testing_StreamingOutputCallRequest__Descriptor,
                 new string[] { "ResponseType", "ResponseParameters", "Payload", });
         internal__static_grpc_testing_StreamingOutputCallResponse__Descriptor = Descriptor.MessageTypes[7];
-        internal__static_grpc_testing_StreamingOutputCallResponse__FieldAccessorTable = 
+        internal__static_grpc_testing_StreamingOutputCallResponse__FieldAccessorTable =
             new pb::FieldAccess.FieldAccessorTable<global::grpc.testing.StreamingOutputCallResponse, global::grpc.testing.StreamingOutputCallResponse.Builder>(internal__static_grpc_testing_StreamingOutputCallResponse__Descriptor,
                 new string[] { "Payload", });
         return null;
@@ -103,7 +103,7 @@
           }, assigner);
     }
     #endregion
-    
+
   }
   #region Enums
   public enum PayloadType {
@@ -111,9 +111,9 @@
     UNCOMPRESSABLE = 1,
     RANDOM = 2,
   }
-  
+
   #endregion
-  
+
   #region Messages
   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
   public sealed partial class Payload : pb::GeneratedMessage<Payload, Payload.Builder> {
@@ -124,23 +124,23 @@
     public static Payload DefaultInstance {
       get { return defaultInstance; }
     }
-    
+
     public override Payload DefaultInstanceForType {
       get { return DefaultInstance; }
     }
-    
+
     protected override Payload ThisMessage {
       get { return this; }
     }
-    
+
     public static pbd::MessageDescriptor Descriptor {
       get { return global::grpc.testing.Messages.internal__static_grpc_testing_Payload__Descriptor; }
     }
-    
+
     protected override pb::FieldAccess.FieldAccessorTable<Payload, Payload.Builder> InternalFieldAccessors {
       get { return global::grpc.testing.Messages.internal__static_grpc_testing_Payload__FieldAccessorTable; }
     }
-    
+
     public const int TypeFieldNumber = 1;
     private bool hasType;
     private global::grpc.testing.PayloadType type_ = global::grpc.testing.PayloadType.COMPRESSABLE;
@@ -150,7 +150,7 @@
     public global::grpc.testing.PayloadType Type {
       get { return type_; }
     }
-    
+
     public const int BodyFieldNumber = 2;
     private bool hasBody;
     private pb::ByteString body_ = pb::ByteString.Empty;
@@ -160,13 +160,13 @@
     public pb::ByteString Body {
       get { return body_; }
     }
-    
+
     public override bool IsInitialized {
       get {
         return true;
       }
     }
-    
+
     public override void WriteTo(pb::ICodedOutputStream output) {
       int size = SerializedSize;
       string[] field_names = _payloadFieldNames;
@@ -178,13 +178,13 @@
       }
       UnknownFields.WriteTo(output);
     }
-    
+
     private int memoizedSerializedSize = -1;
     public override int SerializedSize {
       get {
         int size = memoizedSerializedSize;
         if (size != -1) return size;
-        
+
         size = 0;
         if (hasType) {
           size += pb::CodedOutputStream.ComputeEnumSize(1, (int) Type);
@@ -197,7 +197,7 @@
         return size;
       }
     }
-    
+
     public static Payload ParseFrom(pb::ByteString data) {
       return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
     }
@@ -231,14 +231,14 @@
     private Payload MakeReadOnly() {
       return this;
     }
-    
+
     public static Builder CreateBuilder() { return new Builder(); }
     public override Builder ToBuilder() { return CreateBuilder(this); }
     public override Builder CreateBuilderForType() { return new Builder(); }
     public static Builder CreateBuilder(Payload prototype) {
       return new Builder(prototype);
     }
-    
+
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     public sealed partial class Builder : pb::GeneratedBuilder<Payload, Builder> {
       protected override Builder ThisBuilder {
@@ -252,10 +252,10 @@
         result = cloneFrom;
         resultIsReadOnly = true;
       }
-      
+
       private bool resultIsReadOnly;
       private Payload result;
-      
+
       private Payload PrepareBuilder() {
         if (resultIsReadOnly) {
           Payload original = result;
@@ -265,21 +265,21 @@
         }
         return result;
       }
-      
+
       public override bool IsInitialized {
         get { return result.IsInitialized; }
       }
-      
+
       protected override Payload MessageBeingBuilt {
         get { return PrepareBuilder(); }
       }
-      
+
       public override Builder Clear() {
         result = DefaultInstance;
         resultIsReadOnly = true;
         return this;
       }
-      
+
       public override Builder Clone() {
         if (resultIsReadOnly) {
           return new Builder(result);
@@ -287,15 +287,15 @@
           return new Builder().MergeFrom(result);
         }
       }
-      
+
       public override pbd::MessageDescriptor DescriptorForType {
         get { return global::grpc.testing.Payload.Descriptor; }
       }
-      
+
       public override Payload DefaultInstanceForType {
         get { return global::grpc.testing.Payload.DefaultInstance; }
       }
-      
+
       public override Payload BuildPartial() {
         if (resultIsReadOnly) {
           return result;
@@ -303,7 +303,7 @@
         resultIsReadOnly = true;
         return result.MakeReadOnly();
       }
-      
+
       public override Builder MergeFrom(pb::IMessage other) {
         if (other is Payload) {
           return MergeFrom((Payload) other);
@@ -312,7 +312,7 @@
           return this;
         }
       }
-      
+
       public override Builder MergeFrom(Payload other) {
         if (other == global::grpc.testing.Payload.DefaultInstance) return this;
         PrepareBuilder();
@@ -325,11 +325,11 @@
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input) {
         return MergeFrom(input, pb::ExtensionRegistry.Empty);
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
         PrepareBuilder();
         pb::UnknownFieldSet.Builder unknownFields = null;
@@ -383,14 +383,14 @@
             }
           }
         }
-        
+
         if (unknownFields != null) {
           this.UnknownFields = unknownFields.Build();
         }
         return this;
       }
-      
-      
+
+
       public bool HasType {
        get { return result.hasType; }
       }
@@ -410,7 +410,7 @@
         result.type_ = global::grpc.testing.PayloadType.COMPRESSABLE;
         return this;
       }
-      
+
       public bool HasBody {
         get { return result.hasBody; }
       }
@@ -436,7 +436,7 @@
       object.ReferenceEquals(global::grpc.testing.Messages.Descriptor, null);
     }
   }
-  
+
   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
   public sealed partial class SimpleRequest : pb::GeneratedMessage<SimpleRequest, SimpleRequest.Builder> {
     private SimpleRequest() { }
@@ -446,23 +446,23 @@
     public static SimpleRequest DefaultInstance {
       get { return defaultInstance; }
     }
-    
+
     public override SimpleRequest DefaultInstanceForType {
       get { return DefaultInstance; }
     }
-    
+
     protected override SimpleRequest ThisMessage {
       get { return this; }
     }
-    
+
     public static pbd::MessageDescriptor Descriptor {
       get { return global::grpc.testing.Messages.internal__static_grpc_testing_SimpleRequest__Descriptor; }
     }
-    
+
     protected override pb::FieldAccess.FieldAccessorTable<SimpleRequest, SimpleRequest.Builder> InternalFieldAccessors {
       get { return global::grpc.testing.Messages.internal__static_grpc_testing_SimpleRequest__FieldAccessorTable; }
     }
-    
+
     public const int ResponseTypeFieldNumber = 1;
     private bool hasResponseType;
     private global::grpc.testing.PayloadType responseType_ = global::grpc.testing.PayloadType.COMPRESSABLE;
@@ -472,7 +472,7 @@
     public global::grpc.testing.PayloadType ResponseType {
       get { return responseType_; }
     }
-    
+
     public const int ResponseSizeFieldNumber = 2;
     private bool hasResponseSize;
     private int responseSize_;
@@ -482,7 +482,7 @@
     public int ResponseSize {
       get { return responseSize_; }
     }
-    
+
     public const int PayloadFieldNumber = 3;
     private bool hasPayload;
     private global::grpc.testing.Payload payload_;
@@ -492,7 +492,7 @@
     public global::grpc.testing.Payload Payload {
       get { return payload_ ?? global::grpc.testing.Payload.DefaultInstance; }
     }
-    
+
     public const int FillUsernameFieldNumber = 4;
     private bool hasFillUsername;
     private bool fillUsername_;
@@ -502,7 +502,7 @@
     public bool FillUsername {
       get { return fillUsername_; }
     }
-    
+
     public const int FillOauthScopeFieldNumber = 5;
     private bool hasFillOauthScope;
     private bool fillOauthScope_;
@@ -512,13 +512,13 @@
     public bool FillOauthScope {
       get { return fillOauthScope_; }
     }
-    
+
     public override bool IsInitialized {
       get {
         return true;
       }
     }
-    
+
     public override void WriteTo(pb::ICodedOutputStream output) {
       int size = SerializedSize;
       string[] field_names = _simpleRequestFieldNames;
@@ -539,13 +539,13 @@
       }
       UnknownFields.WriteTo(output);
     }
-    
+
     private int memoizedSerializedSize = -1;
     public override int SerializedSize {
       get {
         int size = memoizedSerializedSize;
         if (size != -1) return size;
-        
+
         size = 0;
         if (hasResponseType) {
           size += pb::CodedOutputStream.ComputeEnumSize(1, (int) ResponseType);
@@ -567,7 +567,7 @@
         return size;
       }
     }
-    
+
     public static SimpleRequest ParseFrom(pb::ByteString data) {
       return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
     }
@@ -601,14 +601,14 @@
     private SimpleRequest MakeReadOnly() {
       return this;
     }
-    
+
     public static Builder CreateBuilder() { return new Builder(); }
     public override Builder ToBuilder() { return CreateBuilder(this); }
     public override Builder CreateBuilderForType() { return new Builder(); }
     public static Builder CreateBuilder(SimpleRequest prototype) {
       return new Builder(prototype);
     }
-    
+
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     public sealed partial class Builder : pb::GeneratedBuilder<SimpleRequest, Builder> {
       protected override Builder ThisBuilder {
@@ -622,10 +622,10 @@
         result = cloneFrom;
         resultIsReadOnly = true;
       }
-      
+
       private bool resultIsReadOnly;
       private SimpleRequest result;
-      
+
       private SimpleRequest PrepareBuilder() {
         if (resultIsReadOnly) {
           SimpleRequest original = result;
@@ -635,21 +635,21 @@
         }
         return result;
       }
-      
+
       public override bool IsInitialized {
         get { return result.IsInitialized; }
       }
-      
+
       protected override SimpleRequest MessageBeingBuilt {
         get { return PrepareBuilder(); }
       }
-      
+
       public override Builder Clear() {
         result = DefaultInstance;
         resultIsReadOnly = true;
         return this;
       }
-      
+
       public override Builder Clone() {
         if (resultIsReadOnly) {
           return new Builder(result);
@@ -657,15 +657,15 @@
           return new Builder().MergeFrom(result);
         }
       }
-      
+
       public override pbd::MessageDescriptor DescriptorForType {
         get { return global::grpc.testing.SimpleRequest.Descriptor; }
       }
-      
+
       public override SimpleRequest DefaultInstanceForType {
         get { return global::grpc.testing.SimpleRequest.DefaultInstance; }
       }
-      
+
       public override SimpleRequest BuildPartial() {
         if (resultIsReadOnly) {
           return result;
@@ -673,7 +673,7 @@
         resultIsReadOnly = true;
         return result.MakeReadOnly();
       }
-      
+
       public override Builder MergeFrom(pb::IMessage other) {
         if (other is SimpleRequest) {
           return MergeFrom((SimpleRequest) other);
@@ -682,7 +682,7 @@
           return this;
         }
       }
-      
+
       public override Builder MergeFrom(SimpleRequest other) {
         if (other == global::grpc.testing.SimpleRequest.DefaultInstance) return this;
         PrepareBuilder();
@@ -704,11 +704,11 @@
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input) {
         return MergeFrom(input, pb::ExtensionRegistry.Empty);
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
         PrepareBuilder();
         pb::UnknownFieldSet.Builder unknownFields = null;
@@ -779,14 +779,14 @@
             }
           }
         }
-        
+
         if (unknownFields != null) {
           this.UnknownFields = unknownFields.Build();
         }
         return this;
       }
-      
-      
+
+
       public bool HasResponseType {
        get { return result.hasResponseType; }
       }
@@ -806,7 +806,7 @@
         result.responseType_ = global::grpc.testing.PayloadType.COMPRESSABLE;
         return this;
       }
-      
+
       public bool HasResponseSize {
         get { return result.hasResponseSize; }
       }
@@ -826,7 +826,7 @@
         result.responseSize_ = 0;
         return this;
       }
-      
+
       public bool HasPayload {
        get { return result.hasPayload; }
       }
@@ -866,7 +866,7 @@
         result.payload_ = null;
         return this;
       }
-      
+
       public bool HasFillUsername {
         get { return result.hasFillUsername; }
       }
@@ -886,7 +886,7 @@
         result.fillUsername_ = false;
         return this;
       }
-      
+
       public bool HasFillOauthScope {
         get { return result.hasFillOauthScope; }
       }
@@ -911,7 +911,7 @@
       object.ReferenceEquals(global::grpc.testing.Messages.Descriptor, null);
     }
   }
-  
+
   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
   public sealed partial class SimpleResponse : pb::GeneratedMessage<SimpleResponse, SimpleResponse.Builder> {
     private SimpleResponse() { }
@@ -921,23 +921,23 @@
     public static SimpleResponse DefaultInstance {
       get { return defaultInstance; }
     }
-    
+
     public override SimpleResponse DefaultInstanceForType {
       get { return DefaultInstance; }
     }
-    
+
     protected override SimpleResponse ThisMessage {
       get { return this; }
     }
-    
+
     public static pbd::MessageDescriptor Descriptor {
       get { return global::grpc.testing.Messages.internal__static_grpc_testing_SimpleResponse__Descriptor; }
     }
-    
+
     protected override pb::FieldAccess.FieldAccessorTable<SimpleResponse, SimpleResponse.Builder> InternalFieldAccessors {
       get { return global::grpc.testing.Messages.internal__static_grpc_testing_SimpleResponse__FieldAccessorTable; }
     }
-    
+
     public const int PayloadFieldNumber = 1;
     private bool hasPayload;
     private global::grpc.testing.Payload payload_;
@@ -947,7 +947,7 @@
     public global::grpc.testing.Payload Payload {
       get { return payload_ ?? global::grpc.testing.Payload.DefaultInstance; }
     }
-    
+
     public const int UsernameFieldNumber = 2;
     private bool hasUsername;
     private string username_ = "";
@@ -957,7 +957,7 @@
     public string Username {
       get { return username_; }
     }
-    
+
     public const int OauthScopeFieldNumber = 3;
     private bool hasOauthScope;
     private string oauthScope_ = "";
@@ -967,13 +967,13 @@
     public string OauthScope {
       get { return oauthScope_; }
     }
-    
+
     public override bool IsInitialized {
       get {
         return true;
       }
     }
-    
+
     public override void WriteTo(pb::ICodedOutputStream output) {
       int size = SerializedSize;
       string[] field_names = _simpleResponseFieldNames;
@@ -988,13 +988,13 @@
       }
       UnknownFields.WriteTo(output);
     }
-    
+
     private int memoizedSerializedSize = -1;
     public override int SerializedSize {
       get {
         int size = memoizedSerializedSize;
         if (size != -1) return size;
-        
+
         size = 0;
         if (hasPayload) {
           size += pb::CodedOutputStream.ComputeMessageSize(1, Payload);
@@ -1010,7 +1010,7 @@
         return size;
       }
     }
-    
+
     public static SimpleResponse ParseFrom(pb::ByteString data) {
       return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
     }
@@ -1044,14 +1044,14 @@
     private SimpleResponse MakeReadOnly() {
       return this;
     }
-    
+
     public static Builder CreateBuilder() { return new Builder(); }
     public override Builder ToBuilder() { return CreateBuilder(this); }
     public override Builder CreateBuilderForType() { return new Builder(); }
     public static Builder CreateBuilder(SimpleResponse prototype) {
       return new Builder(prototype);
     }
-    
+
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     public sealed partial class Builder : pb::GeneratedBuilder<SimpleResponse, Builder> {
       protected override Builder ThisBuilder {
@@ -1065,10 +1065,10 @@
         result = cloneFrom;
         resultIsReadOnly = true;
       }
-      
+
       private bool resultIsReadOnly;
       private SimpleResponse result;
-      
+
       private SimpleResponse PrepareBuilder() {
         if (resultIsReadOnly) {
           SimpleResponse original = result;
@@ -1078,21 +1078,21 @@
         }
         return result;
       }
-      
+
       public override bool IsInitialized {
         get { return result.IsInitialized; }
       }
-      
+
       protected override SimpleResponse MessageBeingBuilt {
         get { return PrepareBuilder(); }
       }
-      
+
       public override Builder Clear() {
         result = DefaultInstance;
         resultIsReadOnly = true;
         return this;
       }
-      
+
       public override Builder Clone() {
         if (resultIsReadOnly) {
           return new Builder(result);
@@ -1100,15 +1100,15 @@
           return new Builder().MergeFrom(result);
         }
       }
-      
+
       public override pbd::MessageDescriptor DescriptorForType {
         get { return global::grpc.testing.SimpleResponse.Descriptor; }
       }
-      
+
       public override SimpleResponse DefaultInstanceForType {
         get { return global::grpc.testing.SimpleResponse.DefaultInstance; }
       }
-      
+
       public override SimpleResponse BuildPartial() {
         if (resultIsReadOnly) {
           return result;
@@ -1116,7 +1116,7 @@
         resultIsReadOnly = true;
         return result.MakeReadOnly();
       }
-      
+
       public override Builder MergeFrom(pb::IMessage other) {
         if (other is SimpleResponse) {
           return MergeFrom((SimpleResponse) other);
@@ -1125,7 +1125,7 @@
           return this;
         }
       }
-      
+
       public override Builder MergeFrom(SimpleResponse other) {
         if (other == global::grpc.testing.SimpleResponse.DefaultInstance) return this;
         PrepareBuilder();
@@ -1141,11 +1141,11 @@
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input) {
         return MergeFrom(input, pb::ExtensionRegistry.Empty);
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
         PrepareBuilder();
         pb::UnknownFieldSet.Builder unknownFields = null;
@@ -1200,14 +1200,14 @@
             }
           }
         }
-        
+
         if (unknownFields != null) {
           this.UnknownFields = unknownFields.Build();
         }
         return this;
       }
-      
-      
+
+
       public bool HasPayload {
        get { return result.hasPayload; }
       }
@@ -1247,7 +1247,7 @@
         result.payload_ = null;
         return this;
       }
-      
+
       public bool HasUsername {
         get { return result.hasUsername; }
       }
@@ -1268,7 +1268,7 @@
         result.username_ = "";
         return this;
       }
-      
+
       public bool HasOauthScope {
         get { return result.hasOauthScope; }
       }
@@ -1294,7 +1294,7 @@
       object.ReferenceEquals(global::grpc.testing.Messages.Descriptor, null);
     }
   }
-  
+
   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
   public sealed partial class StreamingInputCallRequest : pb::GeneratedMessage<StreamingInputCallRequest, StreamingInputCallRequest.Builder> {
     private StreamingInputCallRequest() { }
@@ -1304,23 +1304,23 @@
     public static StreamingInputCallRequest DefaultInstance {
       get { return defaultInstance; }
     }
-    
+
     public override StreamingInputCallRequest DefaultInstanceForType {
       get { return DefaultInstance; }
     }
-    
+
     protected override StreamingInputCallRequest ThisMessage {
       get { return this; }
     }
-    
+
     public static pbd::MessageDescriptor Descriptor {
       get { return global::grpc.testing.Messages.internal__static_grpc_testing_StreamingInputCallRequest__Descriptor; }
     }
-    
+
     protected override pb::FieldAccess.FieldAccessorTable<StreamingInputCallRequest, StreamingInputCallRequest.Builder> InternalFieldAccessors {
       get { return global::grpc.testing.Messages.internal__static_grpc_testing_StreamingInputCallRequest__FieldAccessorTable; }
     }
-    
+
     public const int PayloadFieldNumber = 1;
     private bool hasPayload;
     private global::grpc.testing.Payload payload_;
@@ -1330,13 +1330,13 @@
     public global::grpc.testing.Payload Payload {
       get { return payload_ ?? global::grpc.testing.Payload.DefaultInstance; }
     }
-    
+
     public override bool IsInitialized {
       get {
         return true;
       }
     }
-    
+
     public override void WriteTo(pb::ICodedOutputStream output) {
       int size = SerializedSize;
       string[] field_names = _streamingInputCallRequestFieldNames;
@@ -1345,13 +1345,13 @@
       }
       UnknownFields.WriteTo(output);
     }
-    
+
     private int memoizedSerializedSize = -1;
     public override int SerializedSize {
       get {
         int size = memoizedSerializedSize;
         if (size != -1) return size;
-        
+
         size = 0;
         if (hasPayload) {
           size += pb::CodedOutputStream.ComputeMessageSize(1, Payload);
@@ -1361,7 +1361,7 @@
         return size;
       }
     }
-    
+
     public static StreamingInputCallRequest ParseFrom(pb::ByteString data) {
       return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
     }
@@ -1395,14 +1395,14 @@
     private StreamingInputCallRequest MakeReadOnly() {
       return this;
     }
-    
+
     public static Builder CreateBuilder() { return new Builder(); }
     public override Builder ToBuilder() { return CreateBuilder(this); }
     public override Builder CreateBuilderForType() { return new Builder(); }
     public static Builder CreateBuilder(StreamingInputCallRequest prototype) {
       return new Builder(prototype);
     }
-    
+
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     public sealed partial class Builder : pb::GeneratedBuilder<StreamingInputCallRequest, Builder> {
       protected override Builder ThisBuilder {
@@ -1416,10 +1416,10 @@
         result = cloneFrom;
         resultIsReadOnly = true;
       }
-      
+
       private bool resultIsReadOnly;
       private StreamingInputCallRequest result;
-      
+
       private StreamingInputCallRequest PrepareBuilder() {
         if (resultIsReadOnly) {
           StreamingInputCallRequest original = result;
@@ -1429,21 +1429,21 @@
         }
         return result;
       }
-      
+
       public override bool IsInitialized {
         get { return result.IsInitialized; }
       }
-      
+
       protected override StreamingInputCallRequest MessageBeingBuilt {
         get { return PrepareBuilder(); }
       }
-      
+
       public override Builder Clear() {
         result = DefaultInstance;
         resultIsReadOnly = true;
         return this;
       }
-      
+
       public override Builder Clone() {
         if (resultIsReadOnly) {
           return new Builder(result);
@@ -1451,15 +1451,15 @@
           return new Builder().MergeFrom(result);
         }
       }
-      
+
       public override pbd::MessageDescriptor DescriptorForType {
         get { return global::grpc.testing.StreamingInputCallRequest.Descriptor; }
       }
-      
+
       public override StreamingInputCallRequest DefaultInstanceForType {
         get { return global::grpc.testing.StreamingInputCallRequest.DefaultInstance; }
       }
-      
+
       public override StreamingInputCallRequest BuildPartial() {
         if (resultIsReadOnly) {
           return result;
@@ -1467,7 +1467,7 @@
         resultIsReadOnly = true;
         return result.MakeReadOnly();
       }
-      
+
       public override Builder MergeFrom(pb::IMessage other) {
         if (other is StreamingInputCallRequest) {
           return MergeFrom((StreamingInputCallRequest) other);
@@ -1476,7 +1476,7 @@
           return this;
         }
       }
-      
+
       public override Builder MergeFrom(StreamingInputCallRequest other) {
         if (other == global::grpc.testing.StreamingInputCallRequest.DefaultInstance) return this;
         PrepareBuilder();
@@ -1486,11 +1486,11 @@
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input) {
         return MergeFrom(input, pb::ExtensionRegistry.Empty);
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
         PrepareBuilder();
         pb::UnknownFieldSet.Builder unknownFields = null;
@@ -1537,14 +1537,14 @@
             }
           }
         }
-        
+
         if (unknownFields != null) {
           this.UnknownFields = unknownFields.Build();
         }
         return this;
       }
-      
-      
+
+
       public bool HasPayload {
        get { return result.hasPayload; }
       }
@@ -1589,7 +1589,7 @@
       object.ReferenceEquals(global::grpc.testing.Messages.Descriptor, null);
     }
   }
-  
+
   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
   public sealed partial class StreamingInputCallResponse : pb::GeneratedMessage<StreamingInputCallResponse, StreamingInputCallResponse.Builder> {
     private StreamingInputCallResponse() { }
@@ -1599,23 +1599,23 @@
     public static StreamingInputCallResponse DefaultInstance {
       get { return defaultInstance; }
     }
-    
+
     public override StreamingInputCallResponse DefaultInstanceForType {
       get { return DefaultInstance; }
     }
-    
+
     protected override StreamingInputCallResponse ThisMessage {
       get { return this; }
     }
-    
+
     public static pbd::MessageDescriptor Descriptor {
       get { return global::grpc.testing.Messages.internal__static_grpc_testing_StreamingInputCallResponse__Descriptor; }
     }
-    
+
     protected override pb::FieldAccess.FieldAccessorTable<StreamingInputCallResponse, StreamingInputCallResponse.Builder> InternalFieldAccessors {
       get { return global::grpc.testing.Messages.internal__static_grpc_testing_StreamingInputCallResponse__FieldAccessorTable; }
     }
-    
+
     public const int AggregatedPayloadSizeFieldNumber = 1;
     private bool hasAggregatedPayloadSize;
     private int aggregatedPayloadSize_;
@@ -1625,13 +1625,13 @@
     public int AggregatedPayloadSize {
       get { return aggregatedPayloadSize_; }
     }
-    
+
     public override bool IsInitialized {
       get {
         return true;
       }
     }
-    
+
     public override void WriteTo(pb::ICodedOutputStream output) {
       int size = SerializedSize;
       string[] field_names = _streamingInputCallResponseFieldNames;
@@ -1640,13 +1640,13 @@
       }
       UnknownFields.WriteTo(output);
     }
-    
+
     private int memoizedSerializedSize = -1;
     public override int SerializedSize {
       get {
         int size = memoizedSerializedSize;
         if (size != -1) return size;
-        
+
         size = 0;
         if (hasAggregatedPayloadSize) {
           size += pb::CodedOutputStream.ComputeInt32Size(1, AggregatedPayloadSize);
@@ -1656,7 +1656,7 @@
         return size;
       }
     }
-    
+
     public static StreamingInputCallResponse ParseFrom(pb::ByteString data) {
       return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
     }
@@ -1690,14 +1690,14 @@
     private StreamingInputCallResponse MakeReadOnly() {
       return this;
     }
-    
+
     public static Builder CreateBuilder() { return new Builder(); }
     public override Builder ToBuilder() { return CreateBuilder(this); }
     public override Builder CreateBuilderForType() { return new Builder(); }
     public static Builder CreateBuilder(StreamingInputCallResponse prototype) {
       return new Builder(prototype);
     }
-    
+
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     public sealed partial class Builder : pb::GeneratedBuilder<StreamingInputCallResponse, Builder> {
       protected override Builder ThisBuilder {
@@ -1711,10 +1711,10 @@
         result = cloneFrom;
         resultIsReadOnly = true;
       }
-      
+
       private bool resultIsReadOnly;
       private StreamingInputCallResponse result;
-      
+
       private StreamingInputCallResponse PrepareBuilder() {
         if (resultIsReadOnly) {
           StreamingInputCallResponse original = result;
@@ -1724,21 +1724,21 @@
         }
         return result;
       }
-      
+
       public override bool IsInitialized {
         get { return result.IsInitialized; }
       }
-      
+
       protected override StreamingInputCallResponse MessageBeingBuilt {
         get { return PrepareBuilder(); }
       }
-      
+
       public override Builder Clear() {
         result = DefaultInstance;
         resultIsReadOnly = true;
         return this;
       }
-      
+
       public override Builder Clone() {
         if (resultIsReadOnly) {
           return new Builder(result);
@@ -1746,15 +1746,15 @@
           return new Builder().MergeFrom(result);
         }
       }
-      
+
       public override pbd::MessageDescriptor DescriptorForType {
         get { return global::grpc.testing.StreamingInputCallResponse.Descriptor; }
       }
-      
+
       public override StreamingInputCallResponse DefaultInstanceForType {
         get { return global::grpc.testing.StreamingInputCallResponse.DefaultInstance; }
       }
-      
+
       public override StreamingInputCallResponse BuildPartial() {
         if (resultIsReadOnly) {
           return result;
@@ -1762,7 +1762,7 @@
         resultIsReadOnly = true;
         return result.MakeReadOnly();
       }
-      
+
       public override Builder MergeFrom(pb::IMessage other) {
         if (other is StreamingInputCallResponse) {
           return MergeFrom((StreamingInputCallResponse) other);
@@ -1771,7 +1771,7 @@
           return this;
         }
       }
-      
+
       public override Builder MergeFrom(StreamingInputCallResponse other) {
         if (other == global::grpc.testing.StreamingInputCallResponse.DefaultInstance) return this;
         PrepareBuilder();
@@ -1781,11 +1781,11 @@
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input) {
         return MergeFrom(input, pb::ExtensionRegistry.Empty);
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
         PrepareBuilder();
         pb::UnknownFieldSet.Builder unknownFields = null;
@@ -1827,14 +1827,14 @@
             }
           }
         }
-        
+
         if (unknownFields != null) {
           this.UnknownFields = unknownFields.Build();
         }
         return this;
       }
-      
-      
+
+
       public bool HasAggregatedPayloadSize {
         get { return result.hasAggregatedPayloadSize; }
       }
@@ -1859,7 +1859,7 @@
       object.ReferenceEquals(global::grpc.testing.Messages.Descriptor, null);
     }
   }
-  
+
   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
   public sealed partial class ResponseParameters : pb::GeneratedMessage<ResponseParameters, ResponseParameters.Builder> {
     private ResponseParameters() { }
@@ -1869,23 +1869,23 @@
     public static ResponseParameters DefaultInstance {
       get { return defaultInstance; }
     }
-    
+
     public override ResponseParameters DefaultInstanceForType {
       get { return DefaultInstance; }
     }
-    
+
     protected override ResponseParameters ThisMessage {
       get { return this; }
     }
-    
+
     public static pbd::MessageDescriptor Descriptor {
       get { return global::grpc.testing.Messages.internal__static_grpc_testing_ResponseParameters__Descriptor; }
     }
-    
+
     protected override pb::FieldAccess.FieldAccessorTable<ResponseParameters, ResponseParameters.Builder> InternalFieldAccessors {
       get { return global::grpc.testing.Messages.internal__static_grpc_testing_ResponseParameters__FieldAccessorTable; }
     }
-    
+
     public const int SizeFieldNumber = 1;
     private bool hasSize;
     private int size_;
@@ -1895,7 +1895,7 @@
     public int Size {
       get { return size_; }
     }
-    
+
     public const int IntervalUsFieldNumber = 2;
     private bool hasIntervalUs;
     private int intervalUs_;
@@ -1905,13 +1905,13 @@
     public int IntervalUs {
       get { return intervalUs_; }
     }
-    
+
     public override bool IsInitialized {
       get {
         return true;
       }
     }
-    
+
     public override void WriteTo(pb::ICodedOutputStream output) {
       int size = SerializedSize;
       string[] field_names = _responseParametersFieldNames;
@@ -1923,13 +1923,13 @@
       }
       UnknownFields.WriteTo(output);
     }
-    
+
     private int memoizedSerializedSize = -1;
     public override int SerializedSize {
       get {
         int size = memoizedSerializedSize;
         if (size != -1) return size;
-        
+
         size = 0;
         if (hasSize) {
           size += pb::CodedOutputStream.ComputeInt32Size(1, Size);
@@ -1942,7 +1942,7 @@
         return size;
       }
     }
-    
+
     public static ResponseParameters ParseFrom(pb::ByteString data) {
       return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
     }
@@ -1976,14 +1976,14 @@
     private ResponseParameters MakeReadOnly() {
       return this;
     }
-    
+
     public static Builder CreateBuilder() { return new Builder(); }
     public override Builder ToBuilder() { return CreateBuilder(this); }
     public override Builder CreateBuilderForType() { return new Builder(); }
     public static Builder CreateBuilder(ResponseParameters prototype) {
       return new Builder(prototype);
     }
-    
+
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     public sealed partial class Builder : pb::GeneratedBuilder<ResponseParameters, Builder> {
       protected override Builder ThisBuilder {
@@ -1997,10 +1997,10 @@
         result = cloneFrom;
         resultIsReadOnly = true;
       }
-      
+
       private bool resultIsReadOnly;
       private ResponseParameters result;
-      
+
       private ResponseParameters PrepareBuilder() {
         if (resultIsReadOnly) {
           ResponseParameters original = result;
@@ -2010,21 +2010,21 @@
         }
         return result;
       }
-      
+
       public override bool IsInitialized {
         get { return result.IsInitialized; }
       }
-      
+
       protected override ResponseParameters MessageBeingBuilt {
         get { return PrepareBuilder(); }
       }
-      
+
       public override Builder Clear() {
         result = DefaultInstance;
         resultIsReadOnly = true;
         return this;
       }
-      
+
       public override Builder Clone() {
         if (resultIsReadOnly) {
           return new Builder(result);
@@ -2032,15 +2032,15 @@
           return new Builder().MergeFrom(result);
         }
       }
-      
+
       public override pbd::MessageDescriptor DescriptorForType {
         get { return global::grpc.testing.ResponseParameters.Descriptor; }
       }
-      
+
       public override ResponseParameters DefaultInstanceForType {
         get { return global::grpc.testing.ResponseParameters.DefaultInstance; }
       }
-      
+
       public override ResponseParameters BuildPartial() {
         if (resultIsReadOnly) {
           return result;
@@ -2048,7 +2048,7 @@
         resultIsReadOnly = true;
         return result.MakeReadOnly();
       }
-      
+
       public override Builder MergeFrom(pb::IMessage other) {
         if (other is ResponseParameters) {
           return MergeFrom((ResponseParameters) other);
@@ -2057,7 +2057,7 @@
           return this;
         }
       }
-      
+
       public override Builder MergeFrom(ResponseParameters other) {
         if (other == global::grpc.testing.ResponseParameters.DefaultInstance) return this;
         PrepareBuilder();
@@ -2070,11 +2070,11 @@
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input) {
         return MergeFrom(input, pb::ExtensionRegistry.Empty);
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
         PrepareBuilder();
         pb::UnknownFieldSet.Builder unknownFields = null;
@@ -2120,14 +2120,14 @@
             }
           }
         }
-        
+
         if (unknownFields != null) {
           this.UnknownFields = unknownFields.Build();
         }
         return this;
       }
-      
-      
+
+
       public bool HasSize {
         get { return result.hasSize; }
       }
@@ -2147,7 +2147,7 @@
         result.size_ = 0;
         return this;
       }
-      
+
       public bool HasIntervalUs {
         get { return result.hasIntervalUs; }
       }
@@ -2172,7 +2172,7 @@
       object.ReferenceEquals(global::grpc.testing.Messages.Descriptor, null);
     }
   }
-  
+
   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
   public sealed partial class StreamingOutputCallRequest : pb::GeneratedMessage<StreamingOutputCallRequest, StreamingOutputCallRequest.Builder> {
     private StreamingOutputCallRequest() { }
@@ -2182,23 +2182,23 @@
     public static StreamingOutputCallRequest DefaultInstance {
       get { return defaultInstance; }
     }
-    
+
     public override StreamingOutputCallRequest DefaultInstanceForType {
       get { return DefaultInstance; }
     }
-    
+
     protected override StreamingOutputCallRequest ThisMessage {
       get { return this; }
     }
-    
+
     public static pbd::MessageDescriptor Descriptor {
       get { return global::grpc.testing.Messages.internal__static_grpc_testing_StreamingOutputCallRequest__Descriptor; }
     }
-    
+
     protected override pb::FieldAccess.FieldAccessorTable<StreamingOutputCallRequest, StreamingOutputCallRequest.Builder> InternalFieldAccessors {
       get { return global::grpc.testing.Messages.internal__static_grpc_testing_StreamingOutputCallRequest__FieldAccessorTable; }
     }
-    
+
     public const int ResponseTypeFieldNumber = 1;
     private bool hasResponseType;
     private global::grpc.testing.PayloadType responseType_ = global::grpc.testing.PayloadType.COMPRESSABLE;
@@ -2208,7 +2208,7 @@
     public global::grpc.testing.PayloadType ResponseType {
       get { return responseType_; }
     }
-    
+
     public const int ResponseParametersFieldNumber = 2;
     private pbc::PopsicleList<global::grpc.testing.ResponseParameters> responseParameters_ = new pbc::PopsicleList<global::grpc.testing.ResponseParameters>();
     public scg::IList<global::grpc.testing.ResponseParameters> ResponseParametersList {
@@ -2220,7 +2220,7 @@
     public global::grpc.testing.ResponseParameters GetResponseParameters(int index) {
       return responseParameters_[index];
     }
-    
+
     public const int PayloadFieldNumber = 3;
     private bool hasPayload;
     private global::grpc.testing.Payload payload_;
@@ -2230,13 +2230,13 @@
     public global::grpc.testing.Payload Payload {
       get { return payload_ ?? global::grpc.testing.Payload.DefaultInstance; }
     }
-    
+
     public override bool IsInitialized {
       get {
         return true;
       }
     }
-    
+
     public override void WriteTo(pb::ICodedOutputStream output) {
       int size = SerializedSize;
       string[] field_names = _streamingOutputCallRequestFieldNames;
@@ -2251,13 +2251,13 @@
       }
       UnknownFields.WriteTo(output);
     }
-    
+
     private int memoizedSerializedSize = -1;
     public override int SerializedSize {
       get {
         int size = memoizedSerializedSize;
         if (size != -1) return size;
-        
+
         size = 0;
         if (hasResponseType) {
           size += pb::CodedOutputStream.ComputeEnumSize(1, (int) ResponseType);
@@ -2273,7 +2273,7 @@
         return size;
       }
     }
-    
+
     public static StreamingOutputCallRequest ParseFrom(pb::ByteString data) {
       return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
     }
@@ -2308,14 +2308,14 @@
       responseParameters_.MakeReadOnly();
       return this;
     }
-    
+
     public static Builder CreateBuilder() { return new Builder(); }
     public override Builder ToBuilder() { return CreateBuilder(this); }
     public override Builder CreateBuilderForType() { return new Builder(); }
     public static Builder CreateBuilder(StreamingOutputCallRequest prototype) {
       return new Builder(prototype);
     }
-    
+
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     public sealed partial class Builder : pb::GeneratedBuilder<StreamingOutputCallRequest, Builder> {
       protected override Builder ThisBuilder {
@@ -2329,10 +2329,10 @@
         result = cloneFrom;
         resultIsReadOnly = true;
       }
-      
+
       private bool resultIsReadOnly;
       private StreamingOutputCallRequest result;
-      
+
       private StreamingOutputCallRequest PrepareBuilder() {
         if (resultIsReadOnly) {
           StreamingOutputCallRequest original = result;
@@ -2342,21 +2342,21 @@
         }
         return result;
       }
-      
+
       public override bool IsInitialized {
         get { return result.IsInitialized; }
       }
-      
+
       protected override StreamingOutputCallRequest MessageBeingBuilt {
         get { return PrepareBuilder(); }
       }
-      
+
       public override Builder Clear() {
         result = DefaultInstance;
         resultIsReadOnly = true;
         return this;
       }
-      
+
       public override Builder Clone() {
         if (resultIsReadOnly) {
           return new Builder(result);
@@ -2364,15 +2364,15 @@
           return new Builder().MergeFrom(result);
         }
       }
-      
+
       public override pbd::MessageDescriptor DescriptorForType {
         get { return global::grpc.testing.StreamingOutputCallRequest.Descriptor; }
       }
-      
+
       public override StreamingOutputCallRequest DefaultInstanceForType {
         get { return global::grpc.testing.StreamingOutputCallRequest.DefaultInstance; }
       }
-      
+
       public override StreamingOutputCallRequest BuildPartial() {
         if (resultIsReadOnly) {
           return result;
@@ -2380,7 +2380,7 @@
         resultIsReadOnly = true;
         return result.MakeReadOnly();
       }
-      
+
       public override Builder MergeFrom(pb::IMessage other) {
         if (other is StreamingOutputCallRequest) {
           return MergeFrom((StreamingOutputCallRequest) other);
@@ -2389,7 +2389,7 @@
           return this;
         }
       }
-      
+
       public override Builder MergeFrom(StreamingOutputCallRequest other) {
         if (other == global::grpc.testing.StreamingOutputCallRequest.DefaultInstance) return this;
         PrepareBuilder();
@@ -2405,11 +2405,11 @@
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input) {
         return MergeFrom(input, pb::ExtensionRegistry.Empty);
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
         PrepareBuilder();
         pb::UnknownFieldSet.Builder unknownFields = null;
@@ -2472,14 +2472,14 @@
             }
           }
         }
-        
+
         if (unknownFields != null) {
           this.UnknownFields = unknownFields.Build();
         }
         return this;
       }
-      
-      
+
+
       public bool HasResponseType {
        get { return result.hasResponseType; }
       }
@@ -2499,7 +2499,7 @@
         result.responseType_ = global::grpc.testing.PayloadType.COMPRESSABLE;
         return this;
       }
-      
+
       public pbc::IPopsicleList<global::grpc.testing.ResponseParameters> ResponseParametersList {
         get { return PrepareBuilder().responseParameters_; }
       }
@@ -2543,7 +2543,7 @@
         result.responseParameters_.Clear();
         return this;
       }
-      
+
       public bool HasPayload {
        get { return result.hasPayload; }
       }
@@ -2588,7 +2588,7 @@
       object.ReferenceEquals(global::grpc.testing.Messages.Descriptor, null);
     }
   }
-  
+
   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
   public sealed partial class StreamingOutputCallResponse : pb::GeneratedMessage<StreamingOutputCallResponse, StreamingOutputCallResponse.Builder> {
     private StreamingOutputCallResponse() { }
@@ -2598,23 +2598,23 @@
     public static StreamingOutputCallResponse DefaultInstance {
       get { return defaultInstance; }
     }
-    
+
     public override StreamingOutputCallResponse DefaultInstanceForType {
       get { return DefaultInstance; }
     }
-    
+
     protected override StreamingOutputCallResponse ThisMessage {
       get { return this; }
     }
-    
+
     public static pbd::MessageDescriptor Descriptor {
       get { return global::grpc.testing.Messages.internal__static_grpc_testing_StreamingOutputCallResponse__Descriptor; }
     }
-    
+
     protected override pb::FieldAccess.FieldAccessorTable<StreamingOutputCallResponse, StreamingOutputCallResponse.Builder> InternalFieldAccessors {
       get { return global::grpc.testing.Messages.internal__static_grpc_testing_StreamingOutputCallResponse__FieldAccessorTable; }
     }
-    
+
     public const int PayloadFieldNumber = 1;
     private bool hasPayload;
     private global::grpc.testing.Payload payload_;
@@ -2624,13 +2624,13 @@
     public global::grpc.testing.Payload Payload {
       get { return payload_ ?? global::grpc.testing.Payload.DefaultInstance; }
     }
-    
+
     public override bool IsInitialized {
       get {
         return true;
       }
     }
-    
+
     public override void WriteTo(pb::ICodedOutputStream output) {
       int size = SerializedSize;
       string[] field_names = _streamingOutputCallResponseFieldNames;
@@ -2639,13 +2639,13 @@
       }
       UnknownFields.WriteTo(output);
     }
-    
+
     private int memoizedSerializedSize = -1;
     public override int SerializedSize {
       get {
         int size = memoizedSerializedSize;
         if (size != -1) return size;
-        
+
         size = 0;
         if (hasPayload) {
           size += pb::CodedOutputStream.ComputeMessageSize(1, Payload);
@@ -2655,7 +2655,7 @@
         return size;
       }
     }
-    
+
     public static StreamingOutputCallResponse ParseFrom(pb::ByteString data) {
       return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
     }
@@ -2689,14 +2689,14 @@
     private StreamingOutputCallResponse MakeReadOnly() {
       return this;
     }
-    
+
     public static Builder CreateBuilder() { return new Builder(); }
     public override Builder ToBuilder() { return CreateBuilder(this); }
     public override Builder CreateBuilderForType() { return new Builder(); }
     public static Builder CreateBuilder(StreamingOutputCallResponse prototype) {
       return new Builder(prototype);
     }
-    
+
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     public sealed partial class Builder : pb::GeneratedBuilder<StreamingOutputCallResponse, Builder> {
       protected override Builder ThisBuilder {
@@ -2710,10 +2710,10 @@
         result = cloneFrom;
         resultIsReadOnly = true;
       }
-      
+
       private bool resultIsReadOnly;
       private StreamingOutputCallResponse result;
-      
+
       private StreamingOutputCallResponse PrepareBuilder() {
         if (resultIsReadOnly) {
           StreamingOutputCallResponse original = result;
@@ -2723,21 +2723,21 @@
         }
         return result;
       }
-      
+
       public override bool IsInitialized {
         get { return result.IsInitialized; }
       }
-      
+
       protected override StreamingOutputCallResponse MessageBeingBuilt {
         get { return PrepareBuilder(); }
       }
-      
+
       public override Builder Clear() {
         result = DefaultInstance;
         resultIsReadOnly = true;
         return this;
       }
-      
+
       public override Builder Clone() {
         if (resultIsReadOnly) {
           return new Builder(result);
@@ -2745,15 +2745,15 @@
           return new Builder().MergeFrom(result);
         }
       }
-      
+
       public override pbd::MessageDescriptor DescriptorForType {
         get { return global::grpc.testing.StreamingOutputCallResponse.Descriptor; }
       }
-      
+
       public override StreamingOutputCallResponse DefaultInstanceForType {
         get { return global::grpc.testing.StreamingOutputCallResponse.DefaultInstance; }
       }
-      
+
       public override StreamingOutputCallResponse BuildPartial() {
         if (resultIsReadOnly) {
           return result;
@@ -2761,7 +2761,7 @@
         resultIsReadOnly = true;
         return result.MakeReadOnly();
       }
-      
+
       public override Builder MergeFrom(pb::IMessage other) {
         if (other is StreamingOutputCallResponse) {
           return MergeFrom((StreamingOutputCallResponse) other);
@@ -2770,7 +2770,7 @@
           return this;
         }
       }
-      
+
       public override Builder MergeFrom(StreamingOutputCallResponse other) {
         if (other == global::grpc.testing.StreamingOutputCallResponse.DefaultInstance) return this;
         PrepareBuilder();
@@ -2780,11 +2780,11 @@
         this.MergeUnknownFields(other.UnknownFields);
         return this;
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input) {
         return MergeFrom(input, pb::ExtensionRegistry.Empty);
       }
-      
+
       public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
         PrepareBuilder();
         pb::UnknownFieldSet.Builder unknownFields = null;
@@ -2831,14 +2831,14 @@
             }
           }
         }
-        
+
         if (unknownFields != null) {
           this.UnknownFields = unknownFields.Build();
         }
         return this;
       }
-      
-      
+
+
       public bool HasPayload {
        get { return result.hasPayload; }
       }
@@ -2883,9 +2883,9 @@
       object.ReferenceEquals(global::grpc.testing.Messages.Descriptor, null);
     }
   }
-  
+
   #endregion
-  
+
 }
 
 #endregion Designer generated code
diff --git a/src/csharp/GrpcApi/Properties/AssemblyInfo.cs b/src/csharp/GrpcApi/Properties/AssemblyInfo.cs
index 725f12c..e0a8e43 100644
--- a/src/csharp/GrpcApi/Properties/AssemblyInfo.cs
+++ b/src/csharp/GrpcApi/Properties/AssemblyInfo.cs
@@ -1,7 +1,7 @@
 using System.Reflection;
 using System.Runtime.CompilerServices;
 
-// Information about this assembly is defined by the following attributes. 
+// Information about this assembly is defined by the following attributes.
 // Change them to the values specific to your project.
 [assembly: AssemblyTitle ("GrpcApi")]
 [assembly: AssemblyDescription ("")]
@@ -15,7 +15,7 @@
 // The form "{Major}.{Minor}.*" will automatically update the build and revision,
 // and "{Major}.{Minor}.{Build}.*" will update just the revision.
 [assembly: AssemblyVersion ("1.0.*")]
-// The following attributes are used to specify the signing key for the assembly, 
+// The following attributes are used to specify the signing key for the assembly,
 // if desired. See the Mono documentation for more information about signing.
 //[assembly: AssemblyDelaySign(false)]
 //[assembly: AssemblyKeyFile("")]
diff --git a/src/csharp/GrpcApi/TestServiceGrpc.cs b/src/csharp/GrpcApi/TestServiceGrpc.cs
index 067b21c..6534a44 100644
--- a/src/csharp/GrpcApi/TestServiceGrpc.cs
+++ b/src/csharp/GrpcApi/TestServiceGrpc.cs
@@ -2,11 +2,11 @@
 
 // Copyright 2015, Google Inc.
 // All rights reserved.
-// 
+//
 // Redistribution and use in source and binary forms, with or without
 // modification, are permitted provided that the following conditions are
 // met:
-// 
+//
 //     * Redistributions of source code must retain the above copyright
 // notice, this list of conditions and the following disclaimer.
 //     * Redistributions in binary form must reproduce the above
@@ -16,7 +16,7 @@
 //     * Neither the name of Google Inc. nor the names of its
 // contributors may be used to endorse or promote products derived from
 // this software without specific prior written permission.
-// 
+//
 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR